Posted 2019-07-25 to

Introducing XRP Ledger (rippled) version 1.3.1

Ripple has released version 1.3.1 of rippled, the reference implementation of the core XRP Ledger protocol. To learn more about how to build and run a rippled server, see Manage the Rippled Server.

This release supersedes version 1.3.0. Version 1.3.1 addresses deadlock conditions reported by some users late in the release cycle for 1.3.0.

Installing or Updating rippled

The installation instructions on supported platforms have changed for rippled 1.3.x.

Summary of Changes

The rippled 1.3.1 release introduces several new features and overall improvements to the codebase, including the fixMasterKeyAsRegularKey amendment, code to adjust the timing of the consensus process and support for decentralized validator domain verification. The release also includes miscellaneous improvements including in the transaction censorship detection code, transaction validation code, manifest parsing code, config file parsing code, log file rotation code, and in the build, continuous integration, testing and package building pipelines.

New and Updated Features

  • The fixMasterKeyAsRegularKey amendment which, if enabled, will correct a technical flaw that allowed setting an account's regular key to the account's master key.
  • Code that allows validators to adjust the timing of the consensus process in near-real-time to account for connection delays.
  • Support for decentralized validator domain verification by adding support for a "domain" field in manifests.

Bug Fixes

  • Improve ledger trie ancestry tracking to reduce unnecessary error messages.
  • More efficient detection of dry paths in the payment engine. Although not a transaction-breaking change, this should reduces spurious error messages in the log files.
  • Improved handling of deadlock conditions.

Test Net

This release is currently live on the XRP Ledger Test Net, with the fixMasterKeyAsRegularKey amendment active. To connect your server to the test net, please upgrade to version 1.3.1 immediately.

Upgrading

On supported platforms, see the instructions on updating rippled.

Package Type Platform Link SHA-256
RPM Linux x86-64 rippled-1.3.1-1.el7.x86_64.rpm 98ffea13716c3b37472d75cbb25870bfb6a7ee2360fe89a2b86833774174b370
DEB Linux x86-64 rippled_1.3.1-1_amd64.deb 3ecd391ba12f69060851952cef8ee1079a6f5e22ecb784bf05f50ef8f294aa92

Git commit

When compiling from source, the first log entry should be the change setting the version:

commit e1adbd7ddd5dfa9f2a9791aa3c0fcc1fdb4e8236
Author: Manoj doshi <mdoshi@ripple.com>
Date:   Wed Jul 24 15:21:56 2019 -0700

    Set version to 1.3.1

Commits

  • e1adbd7dd Set version to 1.3.1
  • 355a7b04a Add a LogicError when a deadlock is detected
  • d3ee0df93 Add links to in-repo build-instructions
  • 7c24f7b17 Improve logging during process startup.
  • a3060516c Improve package build pipeline
  • caa5c9e22 Set version to 1.3.0
  • 846538304 Set version to 1.3.0-rc2
  • 7b7e3b675 Return WS error on closure when balance threshold exceeds
  • a988b3224 Use NuDB context with backends
  • 89b3bf079 Stabilize RPC error code values:
  • 6d8988b78 Improve handling of revoked manifests:
  • 3acbd84f1 Set proper system openssldir in package build
  • 45403b877 Set version to 1.3.0-rc1
  • f17d9bc42 Set version to 1.3.0-b6
  • ba2714fa2 Make protocol message counters more granular:
  • 2c4b3d515 Trim whitespace for all config lines
  • 59973a435 Add beast/cxx17 to install set
  • 93232ec7d Add logrotate config to rpm/deb pkgs
  • efa926676 Set version to 1.3.0-b5
  • dc24748c2 Improve locking of PeerImp member variables
  • f8365f500 Add JsonOptions enum class to contain options passed to getJSON methods
  • c2138c4e8 Fix Docker error about "FROM" macro usage
  • bfad96dbb Force snappy compression for RocksDB (remove option):
  • 0ef6d9f9a Add slack notify for approvals, remove old RPM build
  • c1a1cfe55 Pkgbld - Make approval blocking, add slack summary message
  • 773dcd1d4 Modernize base_uint:
  • de99e79bf Fix SNTPClock shutdown
  • e83d367f4 Set version to 1.3.0-b4
  • aa76b382a Document IPv6 usage in sample config:
  • 595b7b194 Improve locking:
  • 5f908ba87 Make some locks more granular:
  • adc1b8a36 Update package build env to boost 1.70
  • 73c6e47e8 Use local rippled core lib during pkg build
  • 3a780f80f Remove repo package check from update script
  • c78404e23 Pause for lagging validators.
  • 79a0cb096 Payment paths with a zero output step are dry (RIPD-1749):
  • 6f9e8dc72 Support Boost 1.70:
  • b39b0fef3 Get names of transactions and ledger types from jss
  • be139d9bd Add some missing items to help command list:
  • c6d82c722 Configure build+test matrix for GitLab CI:
  • 0c20e2eb8 Refine parseUrl regular expression (RIPD-1708):
  • 63eeb8d73 Use recursive remove and clean for apt (OPS-508)
  • 5214b3c1b Set version to 1.3.0-b3
  • 5f7a61f04 Report a peer's public key and IP address in log messages (fixes #2675)
  • c5a938de5 Disallow using the master key as the regular key:
  • 9372a587e Request RocksDB PORTABLE build option
  • 948e724df Improvements to pkg CI pipeline:
  • 06faf2bd5 Improve exit and test failure handling in CI
  • 1dd81c04f Improve jemalloc build config:
  • 56dbf70c3 Improve windows build README
  • f8a4ac6ad Use optimized OpenSSL implementations when possible
  • 61bd06177 Reserve memory before inserting into a flat set
  • 80e535a13 Arguments passed to jtx Env::operator() must be invocable:
  • 64b55c0f8 Rename JsonFields.h to jss.h:
  • afcc4ff29 Reduce likelihood of malformed SOTemplate:
  • 57fe197d3 Remove runtime inference of unrecognized SFields
  • 9279a3fee Refactor SField construction:
  • b6363289b Use Json::StaticString for field names
  • 8c1123edc Merge master (1.2.4) into develop (1.3.0-b2)
  • fa5785947 Set version to 1.3.0-b2
  • 88cb0e592 Allow manifests to include an optional 'domain' field:
  • e239eed6d Remove obsolete code
  • 504b3441d Apply resource limits to proxied clients:
  • 872478d96 Construct ErrorCodes lookup table at compile time
  • 185f2baf7 Remove unused RPC error codes:
  • 36d675894 Disallow both single- and multi-signing in RPC (RIPD-1713):
  • d8c450d27 Remove incorrectly defaulted functions:
  • 8ef5b9bab Make LedgerTrie remove work for truncated history
  • e6370a648 Add dpkg/rpm building capability:
  • b2170d016 Update travis dist/tools
  • 5c124f11c Remove the 'rocksdb' subtree
  • 2aed24a55 Build RocksDB by ExternalProject
  • 296469f5f Reduce memory allocations for RCLCensorshipDetector
  • 08371ba2c Improve shard downloader status reporting
  • 56bc2a2ad Improve SSLHTTPDownloader:
  • 1084dc6dd Set version to 1.3.0-b1
  • 8023caaa9 Correct example configuration file:
  • 8b9746628 Always use UTC to be timezone-neutral (RIPD-1659)
  • de1d10253 Allow build to support XCode 10.2
  • 1e1e8c254 Remove assert that accesses object post-dtor (RIPD-1704)
  • aa49be65a Remove conditional check for feature introduced in 0.28.1-b7
  • cd820b377 Improve the server's PING/PONG logic
  • 8d59ed5b2 Remove STValidation::isValid overload
  • e03efdbe0 Remove use of beast's detail::sec_ws_key_type
  • 4f52c2989 Remove use of beast::detail::is_invocable trait
  • 3fb13233a Provide patch for FindBoost and apply it
  • 9695fd44b Support boost 1.69
  • 1bb32134f Remove censorshipMaxWarnings

Contributions

GitHub

GitHub: Stars GitHub: Watchers

The public git repository for rippled is hosted on GitHub at https://github.com/ripple/rippled.

We welcome contributions, big and small, and invite everyone to join the community of XRP Ledger developers and help us build the Internet of Value.

Credits

The following people contributed directly to this release: