Skip to content

v0.3.0

Latest

Choose a tag to compare

@github-actions github-actions released this 13 Aug 14:44
91ad147

Version 0.3.0 adds compatibility with rippled 3.3.0. It also improves transaction safety, client reliability, and support for current XRPL features.

Important

This release contains breaking changes. Read the migration guide before you upgrade.

Breaking changes and migration notes

  • The minimum Go version is now 1.25.12. (#335)
  • Dynamic MPT APIs now use ImmutableFlags instead of MutableFlags. (#351, #352)
  • MPT amount and ledger fields now use quoted decimal or hexadecimal strings. (#351, #352)
  • Batch signing now uses the BatchV1_1 format. The signing payload requires the outer account and effective sequence. Signature fragments from version 0.2.0 are not compatible. (#358)
  • Batch transactions must contain 2 through 8 inner transactions. (#358)
  • Fee cushion values now use float64. Maximum fee configuration now uses decimal strings. (#358)
  • The public RPC and WebSocket NetworkID fields were replaced by NetworkIdentity() accessors. (#357)
  • WebSocket Connect now discovers the server identity. It returns ErrAlreadyConnected if a connection already exists. (#357)
  • Signing and submission now require complete canonical signature fields. (#358)
  • DeriveClassicAddress now accepts only Ed25519 public keys and compressed secp256k1 public keys. (#353)
  • EncodeQuality now rejects some extreme values that version 0.2.0 accepted. (#366)
  • ErrTransactionNotFound was removed. Reliable submission now treats txnNotFound as a pending state. (#359)

See the migration guide for the required code changes.

Main additions

  • Added XLS-69 transaction simulation for RPC and WebSocket clients. (#356)
  • Added typed server_definitions support. (#356)
  • Expanded typed ledger_entry support with JSON and binary responses and Clio deleted-entry metadata. (#355)
  • Added typed handling for bookChanges WebSocket notifications. (#360)
  • Added X-address autofill for outer transactions and Batch inner transactions. (#357, #358)
  • Added cancellable transaction submission and validation monitoring. (#359)
  • Added the exact Drops arithmetic type for XRP amounts and fees. (#358)
  • Added MPT Clawback support. (#352)
  • Added new MPT ledger fields and capabilities. (#351, #352)
  • Added more typed query fields for account lines, AMM information, NFT offers, and vault responses. (#354)
  • Added an xrpld localnet integration runner and CI workflow. (#315)
  • Added more live-ledger test coverage for X-address autofill and NetworkID policy. (#357)

Main improvements and fixes

  • Aligned Dynamic MPT transactions and ledger objects with rippled 3.3.0. The new implementation replaces the old mutable-flags model with immutable flags. (#351, #352)
  • Updated Batch signing to the BatchV1_1 format. (#358)
  • Strengthened signing and submission validation for malformed or incomplete signatures. (#358)
  • Changed reliable submission to use validated-ledger finality. (#359)
  • Added automatic network identity discovery and validation. (#357)
  • Improved fee precision and final whole-drop rounding. (#358)
  • Strengthened RPC authorization and redirect security. (#360)
  • Improved WebSocket connection, reconnection, timeout, and pending-request behavior. (#360)
  • Fixed quality decoding for values below 1. (#366)
  • Improved error handling for malformed quality input. (#366)
  • Replaced several binary-codec panics with descriptive errors. (#350, #366)
  • Fixed Oracle, MPT, Batch, fee, AccountDelete, and pseudo-transaction handling. (#351, #352, #358)
  • Strengthened Ed25519 and secp256k1 key validation. (#353)
  • Changed Base58Check comparisons to use constant-time checks. (#350)