Releases: Beans-BV/dotnet-stellar-sdk
Release 13.0.0
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
Release 13.0.0-rc1
What's Changed
- Backward-compatibility changes for Protocol 22
Full Changelog: 13.0.0-beta...13.0.0-rc1
13.0.0-beta
Release Notes for Version 13.0.0-beta
Overview
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-beta
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
TransactionInfo.CreatedAt
Field:- Changed the data type from
long
tostring
. This affectsGetTransactionResponse
andGetTransactionsResponse
indirectly viaTransactionInfo
.
- Changed the data type from
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
PagingToken
:- Removed from
GetEventsResponse.EventInfo
and replaced withGetEventsResponse.Cursor
.
- 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-beta
Release 12.1.1
Rename liquidityPoolFee to feeBP by @jopmiddelkamp
Full Changelog: 12.1.0...12.1.1
12.1.0
What's Changed
Added changeTrustAsset arg to ChangeTrustOperation constructor by @jopmiddelkamp
Full Changelog: 12.0.0...12.1.0
Release 12.0.0
What's Changed
Soroban improvements by @cuongph87 in (#24)
- Added unit tests for GetLedgerEntries of type ConfigSetting and TTL.
- Added new SCInt128 constructor that accepts a numeric string.
- Updated SorobanServer constructor SorobanServer(string uri) to SorobanServer(string uri, string? bearerToken = null), allowing direct injection of custom bearer tokens.
- Added new DefaultStellarSdkHttpClient class.
Breaking changes
- Reordered parameters in SCInt128 constructor, from SCInt128(ulong lo, long hi) to SCInt128(long hi, ulong lo) to match with other SDKs.
Full Changelog: 11.0.0...12.0.0
Release 11.0.0
What's Changed
- Added new methods by @cuongph87 in (#22)
- Fixed SEP-10 web auth issue by @jopmiddelkamp in (#23)
Breaking changes
- Renamed
wasmId
towasmHash
to be more consistent with the official documentation and other SDKs. wasmHash
arguments now expect a hex-encoded string instead of a base64 string.- Moved
PaginationOptions
class from a child class ofStellarDotnetSdk.Requests.SorobanRpc.GetTransactionsRequest
toStellarDotnetSdk.Requests.SorobanRpc
. - Moved and renamed enum
GetTransactionResponse.GetTransactionStatus
toTransactionInfo.TransactionStatus
. - Changed
Transaction.SorobanTransactionData
property to get-only, use the addedSetSorobanTransactionData
method instead. - Renamed the
now
argument tovalidFrom
for theWebAuthentication.BuildChallengeTransaction
method. - Renamed the
timeout
argument tovalidFor
for theWebAuthentication.BuildChallengeTransaction
method. - Changed the default value of the
now
argument toDateTimeOffset.Now
for theWebAuthentication.ReadChallengeTransaction
method.
Full Changelog: 10.0.0...11.0.0
Release 10.0.0
What's Changed:
- Added support for Soroban writing operations through
SorobanServer
. - Added support for Protocol 21.
- Support for global .NET naming conventions.
- Code clean up.
- File structure improvements.
Breaking changes:
TransactionResult.FromXdr(string encoded)
replaced withTransactionResult.FromXdrBase64(string xdrBase64)
.Util.HexArray
is no longer publicly accessible.TransactionPreconditions.MAX_EXTRA_SIGNERS_COUNT
renamed toMaxExtraSignersCount
.TransactionPreconditions.TIMEOUT_INFINITE
renamed toTimeoutInfinite
.SignedPayloadSigner.SIGNED_PAYLOAD_MAX_PAYLOAD_LENGTH
renamed toSignedPayloadMaxPayloadLength
.OperationThreshold.Low
renamed toLOW
,High
renamed toHIGH
,Medium
renamed toMEDIUM
.- All
AccountRequiresMemoException
properties removed. - All
AccountNotFoundException
properties removed. AccountFlag.AuthRequiredFlag
renamed toAUTH_REQUIRED_FLAG
,AuthRevocableFlag
renamed toAUTH_REVOCABLE_FLAG
,AuthImmutableFlag
renamed toAUTH_IMMUTABLE_FLAG
,AuthClawbackFlag
renamed toAUTH_CLAWBACK_FLAG
RevokeSponsorshipOperation
andAllowTrustOperation
removed.SignerUtil
is now a static class.LedgerKeyTTL
constructor now accepts a base64 encoded string instead of a hex encoded string.LedgerKeyTTL.Key
type changed fromHash
tobyte[]
.LedgerKeyContractCode.Key
type changed fromHash
tobyte[]
.LedgerEntryContractCode.Key
type changed fromHash
tobyte[]
.LedgerEntryClaimableBalance.Key
type changed fromHash
tobyte[]
.LedgerKeyClaimableBalance.Key
type changed from Hash tobyte[]
.OfferEntryFlags.Passive
renamed toOfferEntryFlags.PASSIVE
.- Methods
ToXdr()
,FromXdrLedgerEntry()
andFromXdrBase64()
, setter for properties from all derived classes (and their extension classes) ofLedgerEntry
removed. CreateContractOperation.FromInvokeHostFunctionOperationXdr()
removed.RestoreFootprintOperation.FromRestoreFootprintOperationXdr()
removed.ClaimOfferAtomV0
replaced withClaimAtomV0
.ClaimOfferAtom
replaced withClaimAtomOrderBook
.ClaimLiquidityAtom
replaced withClaimAtomLiquidityPool
.- Class
Signer
moved toAccountResponse.Signer
. SubmitTransactionResponse.IsSuccess()
changed from being a method to a property.EnumerableExtensions
class removed.TransactionPreconditions.MinSeqLedgerGap
renamed toMinSequenceLedgerGap
.TransactionPreconditions.MinSeqNumber
renamed toMinSequenceNumber
.TransactionPreconditions.MinSeqAge
renamed toMinSequenceAge
.TransactionPreconditions.FromXDR()
renamed toTransactionPreconditions.FromXdr()
.TransactionPreconditions.ToXDR()
renamed toTransactionPreconditions.ToXdr()
.TransactionPreconditions.IsValid()
no longer checks forTimeBounds
nullability.SetOptionsOperation.SignerKey
andSignerWeight
properties merged into Signer.OperationResponse.SourceAccountMuxedID
renamed toSourceAccountMuxedId
.SSEEventSource
renamed toSseEventSource
.EffectResponse.AccountMuxedID
renamed toAccountMuxedId
.- Builder for all operation classes removed. Use the operation constructors instead.
Release 9.1.3
What's Changed
- Join transactions option for the payments request builder by @jopmiddelkamp in #13
Full Changelog: 9.1.2...9.1.3
Release 9.1.2
What's Changed
- Updated the request builder to maintain the original path and query by @jopmiddelkamp in #12
New Contributors
- @jopmiddelkamp made their first contribution in #12
Full Changelog: 9.1.1...9.1.2