Skip to content

Releases: Soneso/stellar_flutter_sdk

v3.0.1 SEP-53 support

03 Feb 17:07

Choose a tag to compare

Summary

  • Implements support for SEP-53 (Sign and Verify Messages) on KeyPair with four public methods: signMessage, signMessageString, verifyMessage, verifyMessageString
  • Adds unit tests covering all spec test vectors, base64/hex encoding round-trips, failure cases, and edge cases
  • Documentation: sep-0053.md
  • Signatures match all three SEP-53 spec test vectors (ASCII, Japanese, binary)
  • Cross-SDK interoperability: signatures are compatible with Java, Python and PHP SDK implementations
  • No breaking changes to existing API

v3.0.0 - Full Flutter Web Platform Support

14 Jan 14:48

Choose a tag to compare

This release adds full Flutter web platform support by migrating all 64-bit integer types to BigInt.

JavaScript numbers have only 53 bits of integer precision, causing silent data loss for values exceeding 2^53. Since Stellar and Soroban use 64-bit integers extensively (memo IDs, muxed account IDs, sequence numbers, timestamps, durations), BigInt is required for correct behavior on web platforms.

Breaking Changes

Common API

  • MemoId(id) and Memo.id(id) now require BigInt
  • MuxedAccount(accountId, id) parameter changed from int? to BigInt?
  • MuxedAccount.id property now returns BigInt?
  • Account muxedAccountMed25519Id parameter changed from int? to BigInt?
  • AccountResponse.muxedAccountMed25519Id property now returns BigInt?

Soroban Specific

  • SorobanAddressCredentials.nonce property changed from int to BigInt
  • SorobanCredentials.forAddress(nonce) parameter changed from int to BigInt
  • XdrSCVal.forU64, forI64, forTimepoint, forDuration now require BigInt

XDR Types

  • XdrInt64.int64 and XdrUint64.uint64 properties now return BigInt
  • XdrInt128Parts.forHiLo and XdrUInt128Parts.forHiLo hi/lo parameters changed to BigInt
  • XdrInt256Parts and XdrUInt256Parts parameters changed to BigInt

See v3_migration_guide.md for detailed migration patterns and examples.

v2.2.2 RPC v25.0.0 support

07 Jan 12:24

Choose a tag to compare

Features

  • Add RPC v25.0.0 response fields to getLatestLedger:
    • closeTime: Unix timestamp when the ledger closed
    • headerXdr: Base64-encoded ledger header XDR
    • metadataXdr: Base64-encoded ledger close metadata XDR

v2.2.1 - SEP-45 Support

18 Dec 13:22

Choose a tag to compare

SEP-45: Web Authentication for Contract Accounts

Overview

This release adds client-side support for SEP-45, enabling authentication of Soroban smart contract accounts (C... addresses) with web services. This complements SEP-10, which handles authentication for traditional Stellar accounts (G... and M... addresses).

Key Additions

WebAuthForContracts Class

A new implementation providing authentication for contract accounts via fromDomain() factory method for automatic stellar.toml configuration or manual setup. The class supports both a complete authentication workflow via the jwtToken() method and step-by-step methods for granular control (getChallenge(), validateChallenge(), signAuthorizationEntries(), sendSignedChallenge()).

Authentication Capabilities

  • Challenge retrieval and authorization entry decoding
  • Challenge validation and entry signing workflows
  • Signed challenge submission to obtain JWT tokens
  • Automatic signature expiration calculation using Soroban RPC
  • Client domain verification using local keypairs or remote callback signing

Security Validations

  • Contract address validation against WEB_AUTH_CONTRACT_ID
  • Function name verification (web_auth_verify)
  • Sub-invocation rejection
  • Server entry presence and signature verification
  • Client entry presence validation
  • Account validation (client contract account matching)
  • Home domain and web_auth_domain validation
  • Nonce consistency checks
  • Network passphrase verification

Documentation

v2.2.0 - Dependency Updates

21 Nov 17:35

Choose a tag to compare

Release Notes - Stellar Flutter SDK v2.2.0

Overview

This maintenance release updates dependency requirements to resolve version conflicts with modern Flutter tooling and development environments.

Breaking Changes

Minimum Dart SDK requirement increased to 3.8.0

The SDK now requires Dart SDK >=3.8.0 (included in Flutter 3.32+, released May 2025). Users will need to upgrade their Flutter installation to version 3.32 or later.

Changes

Dependencies

  • Updated Dart SDK constraint from >=3.0.0 to >=3.8.0
  • Updated toml dependency from ^0.16.0 to ^0.17.0

Compatibility

  • Resolves petitparser version conflicts with melos >=7.2.0 and other modern development tools
  • All compatibility matrices updated for version 2.2.0

Migration Guide

To use this version, ensure you have Flutter 3.32 or later installed:

flutter --version

If you need to upgrade:

flutter upgrade

Then update your dependency:

dependencies:
  stellar_flutter_sdk: ^2.2.0

Documentation & Quality Improvements

16 Nov 01:06

Choose a tag to compare

Stellar Flutter SDK v2.1.8

This release focuses on code quality improvements, extensive documentation coverage, and bug fixes across SEP implementations and Soroban functionality.

Highlights

  • 100% class documentation coverage (510/510 classes documented)
  • 95%+ constructor and method documentation coverage
  • 156+ magic numbers replaced with 73 named constants
  • 6 bug fixes including SEP-7, SEP-6, and Soroban issues
  • 100+ code examples added across SDK features

Improvements

  • Replaced 156+ magic numbers with 73 named constants across four new constants files for improved code maintainability and self-documentation
  • Updated Dart SDK constraint from >=2.17.0 to >=3.0.0 for modern language features and improved type safety
  • API documentation now available on GitHub pages.

Documentation

  • Added documentation for all 510 classes (100% coverage)
  • Added documentation for constructors, methods, and properties (95%+ coverage)
  • Documented all Stellar operation types with examples
  • Documented 11 SEPs (0001, 0002, 0005, 0006, 0007, 0008, 0009, 0010, 0011, 0012, 0024, 0030, 0038)
  • Documented Horizon API integration (17 request builders, 51 response classes)
  • Documented Soroban smart contract functionality
  • Added 100+ practical code examples
  • Total documentation lines added: 27,854+

Bug Fixes

SEP Implementations

  • SEP-7: Fixed URI message parameter mapping where message was incorrectly assigned to publicKey parameter instead of message parameter
  • SEP-6: Fixed transaction query language parameter where lang was incorrectly using kind value, preventing language preferences from reaching anchor servers

Response Parsing

  • Fixed TrustLine effect field name typo in authorizedToMaintainLiabilities (was missing 'i' in JSON field name)

Soroban Integration

  • Fixed Address utility claimable balance type handling (was returning forContractId instead of forClaimableBalanceId)
  • Fixed Soroban address XDR muxed account serialization (was using accountId instead of muxedAccountId)

StrKey

  • Fixed signed payload strkey validation (minimum length corrected from 56 to 69 characters)

Migration Notes

  • Dart SDK: Minimum version is now 3.0.0 (previously 2.17.0)
  • All bug fixes are backward-compatible and require no code changes
  • Documentation improvements are purely additive with no breaking changes

Statistics

  • Total commits: 41
  • Total files changed: 293
  • Classes documented: 510/510 (100%)
  • Bug fixes: 6
  • Code quality improvements: 5

Full Changelog: v2.1.7...v2.1.8

Extend SEP support

16 Oct 16:33

Choose a tag to compare

  • SEP-01: added WEB_AUTH_FOR_CONTRACTS_ENDPOINT and WEB_AUTH_CONTRACT_ID fields
  • SEP-47: exposed the supported SEPs of soroban contracts (parsed from the meta entries). Via: SorobanContractInfo.supportedSeps?
  • SEP-48: extended SorobanContractParser and related classes (SorobanContractInfo & ContractSpec) for full SEP-48 support (including events).
  • Added SEP compatibility matrices for the supported SEPs.
  • Updated compatibility matrices for Horizon API support and RPC API support

Horizon & RPC API support updates

09 Oct 15:02

Choose a tag to compare

  • Horizon: add support for health check endpoint
  • Horizon: add support for the /accounts/{account_id}/data/{key} endpoint
  • Horizon: add account query parameter for the liquidity_pools endpoint that lists all available liquidity pools
  • RPC: add support for getLedgers endpoint

This leads to 100% Horizon API and 100% RPC API compatibility. See compatibility matrices:

Improve soroban support

29 Sep 10:47

Choose a tag to compare

feat(soroban): getEvents RPC method - expose endLedger param.

SEP-06: fix fee details parsing

12 Sep 18:27

Choose a tag to compare

Fixes parsing of fee details in sep-6 history transactions.