Skip to content

Releases: XRPLF/xrpl4j

v2.4.0

21 Jul 19:03
4ef7e7c
Compare
Choose a tag to compare

Summary

This release introduces a variety of updates, fixes, and enhancements to the library.

Changelog

New Features

  • #230 isFinal() to check the status of a transaction which has been submitted to the ledger. The FinalityStatus tells us a lot about the transaction and it's current state. States except NOT_FINAL are final and should be perceived accordingly.
  • #264 New package mode.client.serverinfo introduced with 3 different types: RippledServerInfo, ReportingModeServerInfo and ClioServerInfo. The responses are auto-deserialized for the user's convenience.
  • #282 FeeUtils class consists of computeMultisigNetworkFees and computeNetworkFees. computeNetworkFee calculates fees based on the load/traffic on the server and suggests you fees in the construct ComputedNetworkFees.
  • #281 Validations to class Address.

Bug Fixes, Test Coverage, Cleanup

  • #247, #248, #249 Add unit test coverage to various classes in the library like UnsignedByteArray, Uint32 and Uint64, EcDSA signatures, FluentCompareTo.
  • #294 Fixing encoder to not include account in UNLModify.
  • #241 Fixing metadata not being read in TransactionResult by adding correct alias and fixing encoder to recognize it.
  • #257 Sort signers and then encode it for multisign and hence reducing some client side overhead of sorting.
  • #270 Remove duplicate signing and verification logic in BcSignatureService.
  • #279 Skipping prefixes when decoding unsigned encoded transactions (multisign).

Maven

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

Javadoc

  • Version 2.4.0

v2.4.0-nft-dev-preview

05 Aug 23:28
Compare
Choose a tag to compare
Pre-release

Summary

Dev preview version with NFT support

Changelog

New Features

Bug Fixes, Test Coverage, Cleanup

  • Integration and unit coverage for all of NFT code.

Maven

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.xrpl4j</groupId>
            <artifactId>xrpl4j-bom</artifactId>
            <version>2.4.0-nft-dev-preview</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>

Javadoc

  • Version 2.4.0-nft-dev-preview

3.0.0-RC1

18 May 17:56
Compare
Choose a tag to compare
3.0.0-RC1 Pre-release
Pre-release

Summary

This is an initial, preview release of xrpl4j version 3.0. More documentation and feature summary to come, but for now you can read more in #170 and other issues in the overall milestone.

Changelog

New Features

  • Coming Soon.

Bug Fixes, Test Coverage, Cleanup

  • Coming Soon.

Maven

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

Javadoc

Release v2.3.0

13 Mar 17:10
0452c57
Compare
Choose a tag to compare

Summary

This release adds support for Tickets and fixes a variety of small bugs.

Changelog

New Features

  • Fixes #190 (Add static constructors for builders with ledger input)
  • Fixes #211 (Improve the way memos are constructed)
  • Fixes #214 (Add support for Tickets)

Bug Fixes, Test Coverage, Cleanup

  • Fixes #73 (Add tests for class XrpCurrencyAmount)
  • Fixes #150 (Deprecate SubmitResult.result and SubmitMultisignedResult.result in favor of a new engineResult field)
  • Fixes #159 (Correct IllegalArgumentException message in TransactionType)
  • Fixes #172 (Add additional IT to AccountSetIT)
  • Fixes #196 (Add validation to Address)
  • Fixes #200 (Add workaround for UNLModify pseudotransaction in BinarySerializer)
  • Fixes #222 (Add support for lower case CurrencyType values)
  • Fixes #229 (Add test coverage for class FluentCompareTo)

Maven

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

Javadoc

Release v2.2.0

16 Nov 18:07
Compare
Choose a tag to compare

Summary

This release adds support for the XRPL gateway_balances method listed here and fixes an interning issue with a few types.

Changelog

  • Fixes #179 (Remove all interning)

Maven

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

Javadoc

v2.1.1

01 Nov 16:38
Compare
Choose a tag to compare

Summary

This release fixes some (de)serialization issues related to Java versions from 11 and up.

Changelog

  • Fixes #114 (Jackson Fails to Parse close_time_human in LedgerHeader)
  • Fixes #156 (Jackson ZonedDateTime deserialization issue for Java 11+)
  • Fixes #161 (Add Java 17 to CI build)

Maven

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

Javadoc

v2.1.0

24 Sep 20:48
0f7c969
Compare
Choose a tag to compare

Summary

Changelog

  • Fixes #103
  • Fixes #102
  • Fixes an issue with Guava Android compatibility
  • Adds request/response model objects for account_currencies and account_offers
  • Fixes #100
  • Fixes #140
  • Fixes #141 (xrpl4j is now compatible with Java 16)
  • Fixes #110
  • Fixes #139
  • Fixes #146
  • Fixes #145
  • Fixes #135
  • Fixes #108

Maven

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

Javadoc

v2.0.0

19 Apr 19:18
Compare
Choose a tag to compare

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

Release v1.2.0

22 Feb 22:32
Compare
Choose a tag to compare

Changelog

  • Introduce SignatureService and supporting primitives to allow transaction signing using key-storage systems that do not hold private keys in memory (e.g., an HSM).
  • Fixes #65 (make engineResult non-optional). Non-breaking change to improve the contract around this required field.

Maven

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

Javadoc

Release v1.1.0

12 Feb 23:13
Compare
Choose a tag to compare

This release includes a

New Features

  • Introduces a new BOM for easier dependency management.
  • Improved Integration Test (IT) coverage.
  • Fixes #51 (Map undocumented transaction date).
  • Fixes #52 (Re-type marker fields in request params and result objects).
  • Fixes #53 (Map basic metadata in TransactionResults).
  • Fixes #54 (Add account_tx support + fix marker serialization/deserialization).
  • Fixes #55 (Precompute transaction hashes).

Artifacts

Maven Artifacts can be found here: https://search.maven.org/artifact/org.xrpl/xrpl4j-parent/1.1.0/pom