Skip to content

Releases: XRPLF/rippled

rippled Version 0.26.2

23 May 23:41
Compare
Choose a tag to compare

rippled 0.26.2 has been released. The repository tag is 0.26.2 and can be found on GitHub at: https://github.com/ripple/rippled/tree/0.26.2

Prior to building, please confirm you have the correct source tree with the git log command. The first log entry should be the change setting the version:

 commit b9454e0f0ca8dbc23844a0520d49394e10d445b1
 Author: Vinnie Falco <vinnie.falco@gmail.com>
 Date:   Mon Aug 11 15:25:44 2014 -0400

    Set version to 0.26.2

This release incorporates a small number of important bugfixes. Please refer to the Git commit history for more detailed information.

Toolchain support

The minimum supported version of GCC used to compile rippled is v4.8. Please follow these instructions if you have not upgraded already.

While it may be possible to compile rippled on (virtual) machines with 4GB of RAM, we recommend compiling on (virtual) machines with 8GB of RAM or more. If your build machine has more than one CPU (grep '^processor' /proc/cpuinfo | wc -l), you can use them to assist in the build process by compiling with the command scons -j[number of CPUs - 1].

The minimum supported version of Boost is v1.55.0. You must upgrade to this release or later to successfully compile this release of rippled. Please follow these instructions if you have not upgraded already.

New Features

  • Freeze enforcement: activates on September 15, 2014 (RIPD-399)
  • Add pubkey_node and hostid to server stream messages (RIPD-407)

Bug Fixes

  • Fix intermittent exception when closing HTTPS connections (RIPD-475)
  • Correct Pathfinder::getPaths out to handle order books (RIPD-427)
  • Detect inconsistency in PeerFinder self-connects (RIPD-411)

Experimental Features

  • Add owner_funds to client subscription data (RIPD-377)

The offer funding status feature is “experimental” in this version. Developers are able to see the field, but it is subject to change in future releases.

More information

For more information or assistance, the following resources will be of use:

rippled Version 0.26.1

23 May 23:42
Compare
Choose a tag to compare

rippled v0.26.1 has been released. The repository tag is 0.26.1 and can be found on GitHub at: https://github.com/ripple/rippled/tree/0.26.1

Prior to building, please confirm you have the correct source tree with the git log command. The first log entry should be the change setting the version:

 commit 9a0e806f78300374e20070e2573755fbafdbfd03
 Author: Vinnie Falco <vinnie.falco@gmail.com>
 Date:   Mon Jul 28 11:27:31 2014 -0700

     Set version to 0.26.1

This release incorporates a small number of important bugfixes. Please refer to the Git commit history for more detailed information.

Toolchain support

The minimum supported version of GCC used to compile rippled is v4.8. Please follow these instructions if you have not upgraded already.

While it may be possible to compile rippled on (virtual) machines with 4GB of RAM, we recommend compiling on (virtual) machines with 8GB of RAM or more. If your build machine has more than one CPU (grep '^processor' /proc/cpuinfo | wc -l), you can use them to assist in the build process by compiling with the command scons -j[number of CPUs - 1].

The minimum supported version of Boost is v1.55.0. You must upgrade to this release or later to successfully compile this release of rippled. Please follow these instructions if you have not upgraded already.

Bug Fixes

  • Enabled asynchronous handling of HTTP-RPC interactions. This fixes client handlers using RPC that periodically return blank responses to requests. (RIPD-390)
  • Fixed auth handling during OfferCreate. This fixes a regression of RIPD-256. (RIPD-414)

More information

For more information or assistance, the following resources will be of use:

rippled Version 0.26.0

23 May 23:43
Compare
Choose a tag to compare

rippled v0.26.0 has been released. The repository tag is 0.26.0 and can be found on GitHub at: https://github.com/ripple/rippled/tree/0.26.0

Prior to building, please confirm you have the correct source tree with the git log command. The first log entry should be the change setting the version:

 commit 9fa5e3987260e39dba322f218d39ac228a5b361b
 Author: Vinnie Falco <vinnie.falco@gmail.com>
 Date:   Tue Jul 22 09:59:45 2014 -0700

     Set version to 0.26.0

This release incorporates a significant number of improvements and important bugfixes. Please refer to the Git commit history for more detailed information.

Toolchain support

The minimum supported version of GCC used to compile rippled is v4.8. Please follow these instructions if you have not upgraded already.

While it may be possible to compile rippled on (virtual) machines with 4GB of RAM, we recommend compiling on (virtual) machines with 8GB of RAM or more. If your build machine has more than one CPU (grep '^processor' /proc/cpuinfo | wc -l), you can use them to assist in the build process by compiling with the command scons -j[number of CPUs - 1].

The minimum supported version of Boost is v1.55.0. You must upgrade to this release or later to successfully compile this release of rippled. Please follow these instructions if you have not upgraded already.

Improvements

  • Updated integration tests.
  • Updated tests for account freeze functionality.
  • Implement setting the no-freeze flag on Ripple accounts (RIPD-394).
  • Improve transaction fee and execution logic (RIPD-323).
  • Implemented finding of 'sabfd' paths (RIPD-335).
  • Imposed a local limit on paths lengths (RIPD-350).
  • Documented ledger entries (RIPD-361).
  • Documented SHAMap.

Bug Fixes

  • Fixed the limit parameter on book_offers (RIPD-295).
  • Removed SHAMapNodeID from SHAMapTreeNode to fix "right data, wrong ID" bug in the tree node cache (RIPD-347).
  • Eliminated spurious SHAMap::getFetchPack failure (RIPD-379).
  • Disabled SSLv2.
  • Implemented rate-limiting of SSL client renegotiation to mitigate SCIR DoS vulnerability (RIPD-360).
  • Display unprintable or malformatted currency codes as hex digits.
  • Fix static initializers in RippleSSLContext (RIPD-375).

More information

For more information or assistance, the following resources will be of use:

rippled Version 0.25.2

23 May 23:44
Compare
Choose a tag to compare

rippled v0.25.2 has been released. The repository tag is 0.25.2 and can be found on GitHub at: https://github.com/ripple/rippled/tree/0.25.2

Prior to building, please confirm you have the correct source tree with the git log command. The first log entry should be the change setting the version:

 commit ddf68d464d74e1c76a0cfd100a08bc8e65b91fec
 Author: Mark Travis <mtravis@ripple.com>
 Date:   Mon Jul 7 11:46:15 2014 -0700

     Set version to 0.25.2

This release incorporates significant improvements which may not warrant separate entries but are incorporated into the feature changes as summary lines. Please refer to the Git commit history for more information.

Toolchain support

The minimum supported version of GCC used to compile rippled is v4.8. Please follow these instructions if you have not upgraded already.

While it may be possible to compile rippled on (virtual) machines with 4GB of RAM, we recommend build machines with 8GB of RAM.

The minimum supported version of Boost is v1.55. You must upgrade to this release or later to successfully compile this release. Please follow these instructions if you have not upgraded already.

Improvements

  • CPU utilization for certain operations has been optimized.
  • Improve serialization of public ledger blocks.
  • rippled now takes much less time to compile.
  • Additional pathfinding heuristic: increases liquidity in some cases.

Bug Fixes

  • Unprintable currency codes will be printed as hex digits.
  • Transactions with unreasonably long path lengths are rejected. The maximum is now eight (8) hops.

rippled Version 0.25.1

23 May 23:44
Compare
Choose a tag to compare

rippled v0.25.1 has been released. The repository tag is 0.25.1 and can be found on GitHub at: https://github.com/ripple/rippled/tree/0.25.1

Prior to building, please confirm you have the correct source tree with the git log command. The first log entry should be the change setting the version:

 commit b677cacb8ce0d4ef21f8c60112af1db51dce5bb4
 Author: Vinnie Falco <vinnie.falco@gmail.com>
 Date:   Thu May 15 08:27:20 2014 -0700

     Set version to 0.25.1

This release incorporates significant improvements which may not warrant separate entries but are incorporated into the feature changes as summary lines. Please refer to the Git commit history for more information.

Toolchain support

The minimum supported version of GCC used to compile rippled is v4.8. Please follow these instructions if you have not upgraded already.

A minimum of 4GB of RAM are required to successfully compile this release.

The minimum supported version of Boost is v1.55. You must upgrade to this release or later to successfully compile this release. Please follow these instructions if you have not upgraded already.

Major Features

Improvements

  • Remove redundant checkAccept call
  • Added I/O latency to output of ''server_info''.
  • Better performance handling of Fetch Packs.
  • Improved handling of modified ledger nodes.
  • Improved performance of JSON document generator.
  • Made strConcat operate in O(n) time for greater efficiency.
  • Added some new configuration options to doc/rippled-example.cfg

Bug Fixes

  • Fixed a bug in Unicode parsing of transactions.
  • Fix a blocker with tfRequireAuth
  • Merkle tree nodes that are retrieved as a result of client requests are cached locally.
  • Use the last ledger node closed for finding old paths through the network.
  • Reduced number of asynchronous fetches.

rippled Version 0.25.0

23 May 23:45
Compare
Choose a tag to compare

rippled version 0.25.0 has been released. The repository tag is 0.25.0 and can be found on GitHub at: https://github.com/ripple/rippled/tree/0.25.0

Prior to building, please confirm you have the correct source tree with the git log command. The first log entry should be the change setting the version:

 commit 29d1d5f06261a93c5e94b4011c7675ff42443b7f
 Author: Vinnie Falco <vinnie.falco@gmail.com>
 Date:   Wed May 14 09:01:44 2014 -0700

     Set version to 0.25.0

This release incorporates significant improvements which may not warrant separate entries but are incorporated into the feature changes as summary lines. Please refer to the Git commit history for more information.

Toolchain support

The minimum supported version of GCC used to compile rippled is v4.8. Please follow these instructions if you have not upgraded already.

A minimum of 4GB of RAM are required to successfully compile this release.

The minimum supported version of Boost is v1.55. You must upgrade to this release or later to successfully compile this release. Please follow these instructions if you have not upgraded already.

Major Features

Improvements

  • Remove redundant checkAccept call
  • Added I/O latency to output of server_info.
  • Better performance handling of Fetch Packs.
  • Improved handling of modified ledger nodes.
  • Improved performance of JSON document generator.
  • Made strConcat operate in O(n) time for greater efficiency.

Bug Fixes

  • Fix a blocker with tfRequireAuth
  • Merkle tree nodes that are retrieved as a result of client requests are cached locally.
  • Use the last ledger node closed for finding old paths through the network.
  • Reduced number of asynchronous fetches.

rippled Version 0.24.0

23 May 23:45
Compare
Choose a tag to compare

rippled version 0.24.0 has been released. The repository tag is 0.24.0 and can be found on GitHub at: https://github.com/ripple/rippled/tree/0.24.0

Prior to building, please confirm you have the correct source tree with the git log command. The first log entry should be the change setting the version:

 commit 3eb1c7bd6f93e5d874192197f76571184338f702
 Author: Vinnie Falco <vinnie.falco@gmail.com>
 Date:   Mon May 5 10:20:46 2014 -0700

     Set version to 0.24.0

This release incorporates significant improvements which may not warrant separate entries but are incorporated into the feature changes as summary lines. Please refer to the Git commit history for more information.

Toolchain support

The minimum supported version of GCC used to compile rippled is v4.8. Please follow these instructions if you have not upgraded already.

A minimum of 4GB of RAM are required to successfully compile this release.

The minimum supported version of Boost is v1.55. You must upgrade to this release or later to successfully compile this release. Please follow these instructions if you have not upgraded already.

Improvements

  • Implemented logic for ledger processes and features.
  • Use "high threads" for background RocksDB database writes.
  • Separately track locally-issued transactions to ensure they always appear in the open ledger.

Bug Fixes

  • Fix AccountSet for canonical transactions.
  • The RPC sign command will now sign with either an account's master or regular secret key.
  • Fixed out-of-order network initialization.
  • Improved efficiency of pathfinding for transactions.
  • Reworked timing of ledger validation and related operations to fix race condition against the network.
  • Build process enforces minimum versions of OpenSSL and BOOST for operation.

rippled Version 0.23.0

23 May 23:46
Compare
Choose a tag to compare

rippled version 0.23.0 has been released. The repository tag is 0.23.0 and can be found on GitHub at: https://github.com/ripple/rippled/tree/0.23.0

Prior to building, please confirm you have the correct source tree with the git log command. The first log entry should be the change setting the version:

 commit 29a4f61551236f70865d46d6653da2e62de1c701
 Author: Vinnie Falco <vinnie.falco@gmail.com>
 Date:   Fri Mar 14 13:01:23 2014 -0700

     Set version to 0.23.0

This release incorporates significant improvements which may not warrant separate entries but are incorporated into the feature changes as summary lines. Please refer to the Git commit history for more information.

Toolchain support

The minimum supported version of GCC used to compile rippled is v4.8. Please follow these instructions if you have not upgraded already.

A minimum of 4GB of RAM are required to successfully compile this release.

The minimum supported version of Boost is v1.55. You must upgrade to this release or later to successfully compile this release. Please follow these instructions if you have not upgraded already.

Improvements

  • Allow the word 'none' in the .cfg file to disable storing historical ledgers.
  • Clarify the initialization of hash prefixes used in the RadMap.
  • Better validation of RPC-JSON from all sources
  • Reduce spurious log output from Peers
  • Eliminated some I/O for certain operations in the RadMap.
  • Client requests for full state trees now require administrative privileges.
  • Added "MemoData" field for transaction memos.
  • Prevent the node cache from overflowing needlessly in certain cases
  • Add "ledger_data" command for retrieving entire ledgers in chunks.
  • Reduce the quantity of forwarded transactions and proposals in some cases
  • Improved diagnostics when errors occur loading SSL certificates

Bug Fixes

  • Fix rare crash when a race condition involving disconnecting sockets occurs
  • Fix a corner case with hex conversion of strings with odd character lengths
  • Fix an exception in a corner case when erroneous transactions were being logged
  • Fix the treatment of expired offers when cleaning up offers
  • Prevent a needless transactor from being created if the tx ID is not valid
  • Fix the peer action transition from "syncing" to "full"
  • Fix error reporting for unknown inner JSON fields
  • Fix source file path displayed when an assertion failure is reported
  • Fix typos in transaction engine error code identifiers

rippled Version 0.22.0

23 May 23:48
Compare
Choose a tag to compare

rippled version 0.22.0 has been released. This release is currently the tip of the develop/ branch and can be found on GitHub at: https://github.com/ripple/rippled/tree/develop The tag is 0.22.0 and can be found on GitHub at: https://github.com/ripple/rippled/tree/0.22.0

This is a critical release affecting transaction processing. All partners should update immediately.

Prior to building, please confirm you have the correct source tree with the git log command. The first log entry should be the change setting the version:

This release incorporates significant improvements which may not warrant separate entries but are incorporated into the feature changes as summary lines. Please refer to the Git commit history for more information.

Toolchain support

The minimum supported version of GCC used to compile rippled is v4.8. Please follow these instructions if you have not upgraded already.

A minimum of 4GB of RAM are required to successfully compile this release.

The minimum supported version of libBOOST is v1.55. You must upgrade to this release or later to successfully compile this release. Please follow these instructions if you have not upgraded already.

Key release features

  • PeerFinder
    • Actively guides network topology.
    • Scrubs listening advertisements based on connectivity checks.
    • Redirection for new nodes when existing nodes are full.
  • Memos
    • Transactions can optionally include a short text message, which optionally can be encrypted.
  • Database
    • Improved management of I/O resources.
    • Better performance accessing historical data.
  • PathFinding
    • More efficient search algorithm when computing paths

Major Partner Issues Fixed

  • Transactions
    • Malleability: Ability to ensure that signatures are fully canonical.
  • PathFinding
    • Less time needed to get the first path result!
  • Database
    • Eliminated "meltdowns" caused when fetching historical ledger data.

Significant Changes

  • Cleaned up logic which controls when ledgers are fetched and under what conditions.
  • Cleaned up file path calculation for database files.
  • Changed dispatcher for WebSocket requests.
  • Cleaned up multithreading mechanisms.
  • Fixed custom currency code parsing.
  • Optimized transaction node lookup circumstances in the node store.

rippled Version 0.21.0

23 May 23:49
Compare
Choose a tag to compare

rippled version 0.21.0 has been released. This release is currently the tip of the develop/ branch and can be found on GitHub at 1. The tag is 0.21.0-rc2 and can be found on GitHub at 2.

This is a critical release. All partners should update immediately.

Prior to building, please confirm you have the correct source tree with the git log command. The first log entry should be the change setting the version:

commit f295bb20a16d1d2999f606c1297c8930d8e33c40
Author: JoelKatz <DavidJoelSchwartz@GMail.com>
Date:   Fri Jan 24 11:17:16 2014 -0800

    Set version to 0.21.0.rc2

Major Partner Issues Fixed

  • Order book issues
  • Ensure all crossing offers are taken
  • Ensure order book is not left crossed
  • Added DeliveredAmount field to transaction metadata
  • Reports amount delivered in partial payments

Toolchain support

As with the previous release, the minimum supported version of GCC used to compile rippled is v4.8.

Significant Changes

  • Pairwise no-ripple
  • Permits trust lines to be protected from rippling
  • Operates on protected pairs
  • Performance improvements
  • Improve I/O latency
  • Improve fetching ledgers
  • Improve pathfinding
  • Features for robust transaction submission
  • LastLedgerSeq for transaction expiration
  • AccountTxnID for transaction chaining
  • Fix some cases where an invalid transaction would stay in limbo
  • Code cleanups
  • Better reporting of invalid parameters

Release Candidates

RC1 fixed performance problems with order book retrieval.

RC2 fixed a bug that caused crashes in order processing and a bug in parsing order book requests.

Notice

If you are upgrading from version 0.12 or earlier of rippled, these next sections apply to you because the format of the rippled.cfg file changed around that time. If you have upgraded since that time and you have applied the configuration file fixes, you can safely ignore them.

Validators

Ripple Labs is now running five validators. You can use this template for your validators.txt file (or place this in your config file):

 [validators]
 n9KPnVLn7ewVzHvn218DcEYsnWLzKerTDwhpofhk4Ym1RUq4TeGw    RIP1
 n9LFzWuhKNvXStHAuemfRKFVECLApowncMAM5chSCL9R5ECHGN4V    RIP2
 n94rSdgTyBNGvYg8pZXGuNt59Y5bGAZGxbxyvjDaqD9ceRAgD85P    RIP3
 n9LeQeDcLDMZKjx1TZtrXoLBLo5q1bR1sUQrWG7tEADFU6R27UBp    RIP4
 n9KF6RpvktjNs2MDBkmxpJbup4BKrKeMKDXPhaXkq7cKTwLmWkFr    RIP5

You should also raise your quorum to at least three by putting the following in your rippled.cfg file:

 [validation_quorum]
 3

If you are a validator, you should set your quorum to at least four.

IPs

A list of Ripple Labs server IP addresses can be found by resolving r.ripple.com. You can also add this to your rippled.cfg file to ensure you always have several peer connections to Ripple Labs servers:

 [ips]
 184.73.226.101 51235
 23.23.201.55   51235
 54.200.43.173  51235
 184.73.57.84   51235
 54.234.249.55  51235
 54.200.86.110  51235

RocksDB back end

RocksDB is based on LevelDB with improvements from Facebook and the community. Preliminary tests show that it stalls less often than HyperLevelDB for our use cases.

If you are switching over from an existing back end, you have two options. You can remove your old database and let rippled recreate it as it re-syncs, or you can import your old database into the new one.

To remove your old database, make sure the server is shut down (rippled stop). Remove the db/ledger.db and db/transaction.db files. Remove all the files in your back end store directory (db/hashnode by default). Then change your configuration file to use the RocksDB back end and restart.

To import your old database, start by shutting the server down. Then modify the configuration file by renaming your [node_db] stanza to [import_db]. Create a new [node_db] stanza and specify a RocksDB back end with a different directory. Start the server with the command rippled --import. When the import finishes gracefully stop the server (rippled stop). Please wait for rippled to stop on its own because it can take several minutes for it to shut down after an import. Remove the old database, put the new database into place, remove the [import_db] section, change the [node_db] section to refer to the final location, and restart the server.

The recommended RocksDB configuration is:

 [node_db]
 type=RocksDB
 path=db/hashnode
 open_files=1200
 filter_bits=12
 cache_mb=128
 file_size_mb=8
 file_size_mult=2

Configuring your Node DB

You need to configure the NodeBackEnd that you want the server to use. See above for an example RocksDB configuration.

  • Note: HyperLevelDB and RocksDB are not available on Windows platform.