Releases: XRPLF/xrpl4j
v2.4.0
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. TheFinalityStatus
tells us a lot about the transaction and it's current state. States exceptNOT_FINAL
are final and should be perceived accordingly. - #264 New package
mode.client.serverinfo
introduced with 3 different types:RippledServerInfo
,ReportingModeServerInfo
andClioServerInfo
. The responses are auto-deserialized for the user's convenience. - #282
FeeUtils
class consists ofcomputeMultisigNetworkFees
andcomputeNetworkFees
.computeNetworkFee
calculates fees based on the load/traffic on the server and suggests you fees in the constructComputedNetworkFees
. - #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
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
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
- Version 3.0.0-rc1
Release v2.3.0
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
- Version 2.3.0
Release v2.2.0
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
- Version 2.2.0
v2.1.1
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
- Version 2.1.1
v2.1.0
Summary
Changelog
- Fixes #103
- Fixes #102
- Fixes an issue with Guava Android compatibility
- Adds request/response model objects for
account_currencies
andaccount_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
- Version 2.1.0
v2.0.0
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’scomplete_ledgers
set. - Fixes #76: Improve server info support and update client for easier extension/wrapping.
- Fixes #78: Return parameterized
Transaction
fromSignatureService#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
andLedgerHeader
optional.
Breaking Changes
ServerInfo
:- All
load_factor
related fields inServerInfo
have been migrated fromUnsignedInteger
toBigDecimal
to reflect common rippled responses. Additionally,ServerInfo.loadFactor()
,ServerInfo.jqTransOverflow()
, andServerInfo.peers()
are nowOptional
.
- All
LedgerResult
andLedgerHeader
:LedgerResult.ledgerHash()
andLedgerResult.ledgerIndex()
are both nowOptional
to account for "current" ledger responses.LedgerHeader.ledgerIndex()
is now of typeLedgerIndex
instead ofString
.LedgerHeader.closeTimeHuman()
andLedgerHeader.parentCloseTime()
are both nowOptional
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
- Version 2.0.0
Release v1.2.0
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
- Version 1.2.0
Release v1.1.0
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