Skip to content

Releases: Beans-BV/dotnet-stellar-sdk

Release 13.0.0-rc1

12 Nov 16:21
84786f9
Compare
Choose a tag to compare
Release 13.0.0-rc1 Pre-release
Pre-release

What's Changed

  • Backward-compatibility changes for Protocol 22

Full Changelog: 13.0.0-beta...13.0.0-rc1

13.0.0-beta

25 Oct 09:15
db5e9a9
Compare
Choose a tag to compare
13.0.0-beta Pre-release
Pre-release

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): Added TxHash (a hex-encoded transaction hash string) to GetTransactionResponse and GetTransactionsResponse via TransactionInfo.
  • Soroban Function Support: Added support for SOROBAN_AUTHORIZED_FUNCTION_TYPE_CREATE_CONTRACT_V2_HOST_FN through CreateContractV2HostFunction.
  • 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 to string. This affects GetTransactionResponse and GetTransactionsResponse indirectly via TransactionInfo.
  • OperationResponse.CreatedAt and TransactionResponse.CreatedAt Fields:
    • Changed the data type from string to DateTime.
  • DestinationAsset and SourceAsset Fields:
    • In PathPaymentStrictReceiveOperationResponse, changed the data type from AssetTypeCreditAlphaNum to Asset.

Removed Fields

  • Amount and NumAccounts:
    • Removed from AssetResponse.
  • Cost:
    • Removed from SimulateTransactionResponse.
  • PagingToken:
    • Removed from GetEventsResponse.EventInfo and replaced with GetEventsResponse.Cursor.

API Changes

  • Soroban Constructors in Contract Creation:
    • Added an extra parameter arguments to CreateContractOperation to support Soroban constructors via CreateContractV2HostFunction.
    • The arguments parameter has been added to the FromAsset and FromAddress static factory methods within CreateContractOperation.

Identifier Renaming for Consistency

  • Renamed identifiers to align with standard naming conventions:
    • ID changed to Id.
    • BP changed to Bp.
    • TTL changed to Ttl.

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

05 Sep 16:54
Compare
Choose a tag to compare

Rename liquidityPoolFee to feeBP by @jopmiddelkamp

Full Changelog: 12.1.0...12.1.1

12.1.0

05 Sep 16:23
Compare
Choose a tag to compare

What's Changed

Added changeTrustAsset arg to ChangeTrustOperation constructor by @jopmiddelkamp

Full Changelog: 12.0.0...12.1.0

Release 12.0.0

30 Aug 09:35
a04f9f7
Compare
Choose a tag to compare

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

10 Aug 19:31
Compare
Choose a tag to compare

What's Changed

Breaking changes

  • Renamed wasmId to wasmHash 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 of StellarDotnetSdk.Requests.SorobanRpc.GetTransactionsRequest to StellarDotnetSdk.Requests.SorobanRpc.
  • Moved and renamed enum GetTransactionResponse.GetTransactionStatus to TransactionInfo.TransactionStatus.
  • Changed Transaction.SorobanTransactionData property to get-only, use the added SetSorobanTransactionData method instead.
  • Renamed the now argument to validFrom for the WebAuthentication.BuildChallengeTransaction method.
  • Renamed the timeout argument to validFor for the WebAuthentication.BuildChallengeTransaction method.
  • Changed the default value of the now argument to DateTimeOffset.Now for the WebAuthentication.ReadChallengeTransaction method.

Full Changelog: 10.0.0...11.0.0

Release 10.0.0

21 May 08:57
Compare
Choose a tag to compare

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 with TransactionResult.FromXdrBase64(string xdrBase64).
  • Util.HexArray is no longer publicly accessible.
  • TransactionPreconditions.MAX_EXTRA_SIGNERS_COUNT renamed to MaxExtraSignersCount.
  • TransactionPreconditions.TIMEOUT_INFINITE renamed to TimeoutInfinite.
  • SignedPayloadSigner.SIGNED_PAYLOAD_MAX_PAYLOAD_LENGTH renamed to SignedPayloadMaxPayloadLength.
  • OperationThreshold.Low renamed to LOW, High renamed to HIGH, Medium renamed to MEDIUM.
  • All AccountRequiresMemoException properties removed.
  • All AccountNotFoundException properties removed.
  • AccountFlag.AuthRequiredFlag renamed to AUTH_REQUIRED_FLAG, AuthRevocableFlag renamed to AUTH_REVOCABLE_FLAG, AuthImmutableFlag renamed to AUTH_IMMUTABLE_FLAG, AuthClawbackFlag renamed to AUTH_CLAWBACK_FLAG
  • RevokeSponsorshipOperation and AllowTrustOperation 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 from Hash to byte[].
  • LedgerKeyContractCode.Key type changed from Hash to byte[].
  • LedgerEntryContractCode.Key type changed from Hash to byte[].
  • LedgerEntryClaimableBalance.Key type changed from Hash to byte[].
  • LedgerKeyClaimableBalance.Key type changed from Hash to byte[].
  • OfferEntryFlags.Passive renamed to OfferEntryFlags.PASSIVE.
  • Methods ToXdr(), FromXdrLedgerEntry() and FromXdrBase64(), setter for properties from all derived classes (and their extension classes) of LedgerEntry removed.
  • CreateContractOperation.FromInvokeHostFunctionOperationXdr() removed.
  • RestoreFootprintOperation.FromRestoreFootprintOperationXdr() removed.
  • ClaimOfferAtomV0 replaced with ClaimAtomV0.
  • ClaimOfferAtom replaced with ClaimAtomOrderBook.
  • ClaimLiquidityAtom replaced with ClaimAtomLiquidityPool.
  • Class Signer moved to AccountResponse.Signer.
  • SubmitTransactionResponse.IsSuccess() changed from being a method to a property.
  • EnumerableExtensions class removed.
  • TransactionPreconditions.MinSeqLedgerGap renamed to MinSequenceLedgerGap.
  • TransactionPreconditions.MinSeqNumber renamed to MinSequenceNumber.
  • TransactionPreconditions.MinSeqAge renamed to MinSequenceAge.
  • TransactionPreconditions.FromXDR() renamed to TransactionPreconditions.FromXdr().
  • TransactionPreconditions.ToXDR() renamed to TransactionPreconditions.ToXdr().
  • TransactionPreconditions.IsValid() no longer checks for TimeBounds nullability.
  • SetOptionsOperation.SignerKey and SignerWeight properties merged into Signer.
  • OperationResponse.SourceAccountMuxedID renamed to SourceAccountMuxedId.
  • SSEEventSource renamed to SseEventSource.
  • EffectResponse.AccountMuxedID renamed to AccountMuxedId.
  • Builder for all operation classes removed. Use the operation constructors instead.

Release 9.1.3

27 Mar 15:25
Compare
Choose a tag to compare

What's Changed

Full Changelog: 9.1.2...9.1.3

Release 9.1.2

26 Mar 14:03
Compare
Choose a tag to compare

What's Changed

  • Updated the request builder to maintain the original path and query by @jopmiddelkamp in #12

New Contributors

Full Changelog: 9.1.1...9.1.2

Release 9.1.1

29 Jan 08:37
Compare
Choose a tag to compare

We are thrilled to announce the latest version 9.1.1 of our .NET SDK, now supporting reading Soroban smart contract operations from transactions. To ensure smooth operation and avoid any potential issues when Soroban is activated on the Public Network, we strongly recommend updating your library to this latest version.

Breaking Change

  • Renamed class Signer to SignerUtil.

What's Changed

  • Added complete unit tests for SorobanAuthorizationEntry, InvokeHostFunctionOperation and SCVal objects by @cuongph87 in #2
  • Added support for LedgerEntry classes, SorobanResources and SorobanTransactionData by @cuongph87 in #3

New Contributors

Full Changelog: 9.0.54...9.1.0