Skip to content

Version 9.0.0

Choose a tag to compare

@JKorf JKorf released this 13 May 14:32
· 155 commits to master since this release
  • Updated CryptoExchange.Net to version 9.0.0, see https://github.com/JKorf/CryptoExchange.Net/releases/
  • Added support for Native AOT compilation
  • Added RateLimitUpdated event
  • Added SharedSymbol response property to all Shared interfaces response models returning a symbol name
  • Added GenerateClientOrderId method to Spot Shared client
  • Added OptionalExchangeParameters and Supported properties to EndpointOptions
  • Added IBookTickerRestClient implementation to Spot Shared client
  • Added ISpotTriggerOrderRestClient implementation to Spot Shared client
  • Added IsTriggerOrder, TriggerPrice to SharedSpotOrder response model
  • Added clientOrderId and clientOrderIdDate property to restClient.SpotApi.Trading.GetOpenOrdersAsync
  • Added All property to retrieve all available environment on BitfinexEnvironment
  • Added automatic mapping between UST and USDT asset and symbol names when using the Shared implementations
  • Refactored Shared clients quantity parameters and responses to use SharedQuantity
  • Updated all IEnumerable response and model types to array response types
  • Updated some model types to support AOT compatible deserialization
  • Fixed InvalidOperationException in user data snapshot updates if there is no data in the snapshot
  • Fixed empty Shared balance updates if there are no spot changes
  • Removed Newtonsoft.Json dependency
  • Removed legacy ISpotClient implementation
  • Removed legacy AddBitfinex(restOptions, socketOptions) DI overload
  • Fixed some typos

Updates notes:

  • Processing responses which previously returned an IEnumerable now return an array. Although you can still call ToList or ToArray this overhead can now be removed
  • The AddBitfinex(restOptions, socketOptions) overload was removed but can be replaced by AddBitfinex(options), where options.Rest is the same as the previous versions restOptions and options.Socket is the same as previous versions socketOptions.
  • When providing quantities for the Shared interfaces you now need to specify the type of quantity: SharedQuantity.Base(/*qty*/), SharedQuantity.Quote(/*qty*/) or SharedQuantity.Contracts(/*qty*/).
  • Quantity responses for the Shared interfaces have the same logic, quantities are wrapped in the SharedOrderQuantity model, containing the QuantityInBaseAsset, QuantityInQuoteAsset and QuantityInContracts properties.
  • See https://cryptoexchange.jkorf.dev/client-libs/shared/quantities for more info on the new quantity notations
  • Structured logging SourceContext now include the client type, previously the SourceContext was always Bitfinex, it is now split Bitfinex.RestClient and Bitfinex.SocketClient. Update any logic depending on this accordingly.
  • AssetAlias configuration has been added. When using Shared interfaces automatic mapping is enabled between UST and USDT. To prevent this entirely use BitfinexExchange.AssetAliases.AutoConvertEnabled = false;. Previously the mapping was being applied inconsistently.