Detect paths with illegal bridging offers
Set version to 0.25.2-rc1
Tighten up some serialization checks
Restore checkpointed ledger under all paths in PathFind.
Use swapWith to save CPU; edit comment.
In JSON, output unprintable currency codes as hex
Set version to 0.25.2-rc2
Impose a local limit on path lengths
Find 'sabfd' paths
This permits USD/GW1 to be bridged to USD/GW2 by BTC/GW3 or
USD/GW1 to be bridged to BTC/GW2 by CNY/GW3. See RIPD-335.
Set version to 0.25.2
Tidy up Resource::Manager (RIPD-362):
* Style improvements
* More documentation
Remove calls to SHAMapNode::getID (RIPD-347):
Calls in SHAMap::getCache and SHAMap::canonicalize are
purposefully left in place at this time (to be removed
later).
Workaround gcc bug with static_initializer default ctor
Fix static initializers in RippleSSLContext (RIPD-375)
Fix book_offers limit parameter (RIPD-295)
Fix msvc static initialization in SHAMapNodeID
Improve transaction fee and execution logic (RIPD-323):
* tecINSUFF_FEE if balance doesn't cover fee
* Ensure transaction recovery is deterministic
* Reduce transaction retries
Remove SHAMapNodeID from SHAMapTreeNode (RIPD-347)
This resolves the "right data, wrong ID" issue in the
tree node cache.
Freeze flags: (RIPD-394)
 * Define all flags
 * Set/clear bits in transactors
 * Frozen line counts towards reserve, is non-default
 * Report trust line state
Update freeze tests
* Conditionally skip freeze enforcement tests
* Honour remote.fee_cushion setting
* Workaround ripple-lib regression
* Don't use mocha features from wrong version