Skip to content

v15.0.0

Latest

Choose a tag to compare

@Ryang-21 Ryang-21 released this 30 Mar 18:34
· 1 commit to master since this release
591d810

v15.0.0: Protocol 26

Breaking Changes

  • TransactionBase.networkPassphrase setter now throws an error to enforce immutability (#891).
  • React Native apps using the Hermes engine must polyfill broken typed array methods such as subarray; this compatibility is no longer provided by @stellar/js-xdr. One option is @exodus/patch-broken-hermes-typed-arrays. If needed, please review and consider manually adding it to your project.
  • Construction and encoding of sized XDR integer values now throw on overflow and underflow instead of silently clamping, via @stellar/js-xdr (#133). This may affect code that previously relied on permissive bigint coercion.

Added

  • XDR definitions have been updated to align with Protocol 26 (#944).

Fixed

  • Keypair.verify now returns false instead of throwing when the signature is invalid (#892).
  • Memo.id now correctly rejects negative values, decimal values, and values exceeding the uint64 maximum (2^64 - 1); the error message now correctly says uint64 (#892).
  • Operation._toXDRPrice now accepts price objects with n: 0 (a zero numerator was previously treated as falsy and fell through to float approximation) (#892).
  • SignerKey.decodeSignerKey now reads the exact payload length from the 4-byte length prefix when decoding signedPayload signer keys, preventing data truncation or over-read (#892).
  • TransactionBuilder.cloneFrom now correctly re-encodes extraSigners as StrKey strings (they were previously passed as raw XDR objects) (#892).
  • TransactionBuilder.cloneFrom now uses Math.floor when computing unscaledFee to prevent fractional fee values (#892).
  • TransactionBuilder now floors Date timebounds to integer UNIX timestamps (#892).
  • Auth.bytesToInt64 now correctly handles bytes with upper-32-bit values set by processing each 32-bit half independently (#891).
  • ScInt constructor now correctly handles string input (#891).
  • Soroban.parseTokenAmount now throws when the input value has more decimal places than the specified decimals argument (#891).
  • XDR Array and VarArray decoding now fails fast when the declared array length exceeds the remaining bytes, via @stellar/js-xdr (#132).

Contributors

Full Changelog: v14.1.0...v15.0.0