This version is almost identical in functionality to 13.0.0-beta, with only some changes for backward compatibility.
Changes from previous major version
This release adds support for Protocol 22, introduces new features, updates existing functionalities, and includes several breaking changes. Please review the breaking changes section carefully before upgrading to ensure compatibility with your applications.
Full Changelog: Compare 12.1.1...13.0.0
What's New
- Protocol 22 Support: Updated the XDR schemes to support Protocol 22.
- Transaction Hash (
TxHash
): AddedTxHash
(a hex-encoded transaction hash string) toGetTransactionResponse
andGetTransactionsResponse
viaTransactionInfo
. - Soroban Function Support: Added support for
SOROBAN_AUTHORIZED_FUNCTION_TYPE_CREATE_CONTRACT_V2_HOST_FN
throughCreateContractV2HostFunction
. - New Constructor: Introduced a
LedgerKeyClaimableBalance
constructor that accepts a string parameter. - Asynchronous Transaction Submission: Added the
SubmitTransactionAsync
function for asynchronous transaction processing. - Reference Links Update: Updated outdated reference links in the documentation.
- Unit Tests Update: Enhanced Soroban unit tests for better coverage and reliability.
Breaking Changes
Data Type Modifications
OperationResponse.CreatedAt
andTransactionResponse.CreatedAt
Fields:- Changed the data type from
string
toDateTime
.
- Changed the data type from
DestinationAsset
andSourceAsset
Fields:- In
PathPaymentStrictReceiveOperationResponse
, changed the data type fromAssetTypeCreditAlphaNum
toAsset
.
- In
Removed Fields
Amount
andNumAccounts
:- Removed from
AssetResponse
.
- Removed from
Cost
:- Removed from
SimulateTransactionResponse
.
- Removed from
API Changes
- Soroban Constructors in Contract Creation:
- Added an extra parameter
arguments
toCreateContractOperation
to support Soroban constructors viaCreateContractV2HostFunction
. - The
arguments
parameter has been added to theFromAsset
andFromAddress
static factory methods withinCreateContractOperation
.
- Added an extra parameter
Identifier Renaming for Consistency
- Renamed identifiers to align with standard naming conventions:
ID
changed toId
.BP
changed toBp
.TTL
changed toTtl
.
Upgrade Instructions
- Review Breaking Changes: Carefully read through the breaking changes and adjust your code accordingly.
- Update Data Types: Modify any code that interacts with the changed data types to ensure compatibility.
- Refactor Removed Fields: Remove any dependencies on fields that have been eliminated.
- Adjust API Usage: Update your implementation to accommodate the API changes, especially if you utilize contract creation functions.
- Rename Identifiers: Refactor your codebase to use the new identifier names to prevent any conflicts or errors.
Conclusion
We appreciate your attention to these updates and are confident that these changes will enhance your development experience. If you encounter any issues or have questions you can create an issue or start a discussion on this repo.
Full Changelog: Compare 12.1.1...13.0.0