Skip to content

v2.0.0

Compare
Choose a tag to compare
@sappenin sappenin released this 19 Apr 19:18
· 170 commits to main since this release

Summary

This release introduces a variety of updates, fixes, and enhancements to the library. NOTE that this release has some breaking changes.

Changelog

  • Fixes #49: Make it easier to get the amount of an XRP payment as BigDecimal.
  • Fixes #58: Make DerivedKeysSignatureService loading cache configurable.
  • Fixes #59: Make UnsignedByteArray.hexValue always upper-cased.
  • Fixes #69: Conform equals/hashcode in Hash256.
  • Fixes #75: Enhance complete_ledgers to enable querying if a ledger is in the server’s complete_ledgers set.
  • Fixes #76: Improve server info support and update client for easier extension/wrapping.
  • Fixes #78: Return parameterized Transaction from SignatureService#sign.
  • Fixes #79: Resource definitions.json not found.
  • Fixes #87: Update types in ServerInfo to properly reflect rippled responses.
  • Fixes #91: Make fields in LedgerResult and LedgerHeader optional.

Breaking Changes

  • ServerInfo:
    • All load_factor related fields in ServerInfo have been migrated from UnsignedInteger to BigDecimal to reflect common rippled responses. Additionally, ServerInfo.loadFactor(), ServerInfo.jqTransOverflow(), and ServerInfo.peers() are now Optional.
  • LedgerResult and LedgerHeader:
    • LedgerResult.ledgerHash() and LedgerResult.ledgerIndex() are both now Optional to account for "current" ledger responses.
    • LedgerHeader.ledgerIndex() is now of type LedgerIndex instead of String.
    • LedgerHeader.closeTimeHuman() and LedgerHeader.parentCloseTime() are both now Optional to account for "current" ledger responses.

How to Upgrade

If your code uses the upgraded fields in ServerInfo, LedgerResult, or LedgerHeader, your code will need to be updated to reflect those fields' new types, and newly Optional fields should be handled as such.

Maven

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.xrpl4j</groupId>
            <artifactId>xrpl4j-bom</artifactId>
            <version>2.0.0</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>

Javadoc