Releases: JKorf/CryptoClients.Net
Releases · JKorf/CryptoClients.Net
Version 2.8.0
- Updated reference CryptoExchange.Net version from 8.4.3 to 8.5.0
- Added EmptyArrayObjectConverter System.Text.Json JsonConverter
- Added JsonSerializerOptions parameter to SystemTextJsonMessageAccessor constructor
- Changed JsonConverterCtorAttribute to use constructor type parameter instead of generic type parameter to support .net framework
- Added SetOptions method to update client settings
- Added SocketConnection parameter to PeriodicQuery callback
- Added setting of DefaultProxyCredentials on HttpClient instance when client is not provided by DI
- Added support for overriding request timeout per request
- Added build target for net9.0
- Added setting of KeepAliveTimeout on websocket connections to improve dropped connection detection
- Changed max wait time for close handshake response from 5 seconds to 1 second
- Fixed exception in trade tracker when there is no data in the initial snapshot
- Updated Binance.Net from version 10.13.2 to version 10.15.0
- Added initial Agent endpoints
- Added onUserDataStreamTerminated and onBalanceLockUpdate updates to socketClient.SpotApi.SubscribeUserDataUpdatesAsync
- Added IsLiquidationOrder, IsAdlAutoCloseOrder and IsSettlementOrder helper properties to BinanceFuturesOrder model
- Added PreMarket handling to PermissionType enum
- Split AccountType enum into AccountType and PermissionType
- Changed restClient.UsdFuturesApi.Trading.GetOrdersAsync symbol parameter to be optional
- Added SetOptions methods on Rest and Socket clients
- Added setting of DefaultProxyCredentials to CredentialCache.DefaultCredentials on the DI http client
- Improved websocket disconnect detection
- Set Symbol on Spot and UsdFutures socket ExchangeData.GetOrderBookAsync response
- Updated BingX.Net from version 1.18.1 to version 1.19.0
- Fixed bingXRestClient.PerpetualFuturesApi.Account.GetIncomesAsync parameter serialization
- Added SetOptions methods on Rest and Socket clients
- Added setting of DefaultProxyCredentials to CredentialCache.DefaultCredentials on the DI http client
- Improved websocket disconnect detection
- Fixed BingXFuturesPlaceOrderRequest serialization
- Updated Bitfinex.Net from version 7.12.2 to version 7.13.0
- Added SetOptions methods on Rest and Socket clients
- Added setting of DefaultProxyCredentials to CredentialCache.DefaultCredentials on the DI http client
- Updated Bitget.Net from version 1.18.1 to version 1.19.0
- Added SetOptions methods on Rest and Socket clients
- Added setting of DefaultProxyCredentials to CredentialCache.DefaultCredentials on the DI http client
- Added page parameter to restClient.SpotApi.Account.GetTransferHistoryAsync, marked idLessThan as deprecated
- Improved websocket disconnect detection
- Updated BitMart.Net from version 1.10.1 to version 1.12.0
- Added socketClient.UsdFuturesApi.SubscribeToBookTickerUpdatesAsync stream subscription
- Added restClient.UsdFuturesApi.ExchangeData.GetFundingRateHistoryAsync endpoint
- Added restClient.UsdFuturesApi.Account.GetTransactionHistoryAsync endpoint
- Added SetOptions methods on Rest and Socket clients
- Added setting of DefaultProxyCredentials to CredentialCache.DefaultCredentials on the DI http client
- Added restClient.UsdFuturesApi.Trading.PlaceTrailingOrderAsync endpoint
- Added restClient.UsdFuturesApi.Trading.CancelTrailingOrderAsync endpoint
- Improved websocket disconnect detection
- Removed trailing stop parameters from restClient.UsdFuturesApi.Trading.PlaceOrderAsync
- Updated Bybit.Net from version 3.18.1 to version 3.19.0
- Added restClient.V5Api.Account.GetTransferableAsync endpoint
- Fixed socketClient.V5PrivateApi.CancelOrderAsync incorrect topic
- Added SetOptions methods on Rest and Socket clients
- Added setting of DefaultProxyCredentials to CredentialCache.DefaultCredentials on the DI http client
- Improved websocket disconnect detection
- Updated Coinbase.Net from version 1.6.1 to version 1.7.0
- Added SetOptions methods on Rest and Socket clients
- Added setting of DefaultProxyCredentials to CredentialCache.DefaultCredentials on the DI http client
- Updated CoinEx.Net from version 7.12.1 to version 7.13.0
- Fixed socketClient.SpotApiV2.SubscribeToOrderBookUpdatesAsync unsubscribe
- Added SetOptions methods on Rest and Socket clients
- Added setting of DefaultProxyCredentials to CredentialCache.DefaultCredentials on the DI http client
- Improved websocket disconnect detection
- Updated CoinGecko.Net from version 3.2.0 to version 3.3.0
- Added SetOptions methods on Rest client
- Added setting of DefaultProxyCredentials to CredentialCache.DefaultCredentials on the DI http client
- Updated CryptoCom.Net from version 1.4.1 to version 1.5.0
- Added SetOptions methods on Rest and Socket clients
- Added setting of DefaultProxyCredentials to CredentialCache.DefaultCredentials on the DI http client
- Improved websocket disconnect detection
- Updated GateIo.Net from version 1.15.0 to version 1.16.0
- Added SetOptions methods on Rest and Socket clients
- Added setting of DefaultProxyCredentials to CredentialCache.DefaultCredentials on the DI http client
- Improved websocket disconnect detection
- Updated HTX.Net from version 6.7.2 to version 6.8.0
- Added SetOptions methods on Rest and Socket clients
- Added setting of DefaultProxyCredentials to CredentialCache.DefaultCredentials on the DI http client
- Improved websocket disconnect detection
- Updated Kraken.Net from version 5.4.1 to version 5.5.0
- Added newAssetNameResponse parameter to restClient.SpotApi.Account.GetBalancesAsync
- Added SetOptions methods on Rest and Socket clients
- Added setting of DefaultProxyCredentials to CredentialCache.DefaultCredentials on the DI http client
- Improved websocket disconnect detection
- Updated Kucoin.Net from version 5.22.0 to version 5.23.0
- Added SetOptions methods on Rest and Socket clients
- Added setting of DefaultProxyCredentials to CredentialCache.DefaultCredentials on the DI http client
- Added TradeType property to socketClient.FuturesApi.SubscribeToOrderUpdatesAsync update
- Improved websocket disconnect detection
- Updated SpotApi MaxSocketConnections from 150 to 500
- Updated restClient.FuturesApi.Trading.CancelAllOrdersAsync from V1 to V3
- Updated Mexc.Net from version 1.13.1 to version 1.15.0
- Added SetOptions methods on Rest and Socket clients
- Added setting of DefaultProxyCredentials to CredentialCache.DefaultCredentials on the DI http client
- Improved websocket disconnect detection
- Fixed deserialization of too large decimal values in Ticker and Kline models
- Fixed typo in MexcAggregatedTrade and MexcKline models
- Fix for restClient.SpotApi.Account.WithdrawAsync deserialization
- Updated OKX.Net from version 2.12.1 to version 2.14.0
- Added Europe environment
- Added restClient.UnifiedApi.Account.PresetAccountModeSwitchAsync endpoint
- Added restClient.UnifiedApi.Account.PrecheckAccountModeSwitchAsync endpoint
- Added SetOptions methods on Rest and Socket clients
- Added setting of DefaultProxyCredentials to CredentialCache.DefaultCredentials on the DI http client
- Improved websocket disconnect detection
- Updated WhiteBit.Net from version 1.2.1 to version 1.3.0
- Fixed deserialization of restClient.V4Api.Trading.GetClosedOrdersAsync without results
- Added SetOptions methods on Rest and Socket clients
- Added setting of DefaultProxyCredentials to CredentialCache.DefaultCredentials on the DI http client
- Improved websocket disconnect detection
- Updated XT.Net from version 1.0.1 to version 1.1.0
- Added client reference
- Added SetOptions methods on Rest and Socket clients
- Added setting of DefaultProxyCredentials to CredentialCache.DefaultCredentials on the DI http client
- Improved websocket disconnect detection
Version 2.7.1
- Updated reference CryptoExchange.Net version from 8.4.3 to 8.4.4
- Changed JsonConverterCtorAttribute to use constructor type parameter instead of generic type parameter to support .net framework
- Updated Binance from version 10.13.0 to version 10.13.2
- Fixed deserialization error in .net framework
- Fixed null exception caused by invalid key for copy trading
- Fixed BinanceSubAccountTransferSubAccount model deserialization
- Updated Bitfinex from version 7.12.1 to version 7.12.2
- Fixed Shared balance subscription also sending funding balances
- Updated BitMart from version 1.10.1 to version 1.10.1
- Fixed clientOrderId parameter serialization in restClient.SpotApi.Trading.PlaceMultipleOrdersAsync
- Updated CoinEx from version7.12.0 to version 7.12.1
- Fixed deserialization error in .net framework
- Updated HTX from version 6.7.1 to version 6.7.2
- Fixed deserialization error in .net framework
- Updated OKX from version 2.12.0 to version 2.12.1
- Fixed deserialization error in .net framework
- Updated XT from version 1.0.0 to version 1.0.1
- Fixed change percentage response in Shared spot symbol response not being actual percentage
Version 2.7.0
- Added XT.Net 1.0.0
- Added DisplayName and ImageUrl to ExchangeInfo model
- Added GetFeeClients methods on ExchangeRestClient
- Added GetFeesAsync and GetFeesAsyncEnumerable methods on ExchangeRestClient
- Added AddCryptoClients DI extension to support for loading settings from IConfiguration
- Added dynamic SetApiCredentials method on ExchangeRestClient and ExchangeSocketClient
- Refactored AddCryptoClients method to specify options in code to use a single callback per exchange
- Updated reference CryptoExchange.Net version from 8.2.0 to 8.4.3
- Added support for IOptions injection, allowing options to be read from IConfiguration
- Added handling of Infinity values in decimal converter
- Added rate limit update event
- Added GetFeesAsync Shared REST client support
- Added LibraryOptions base class
- Added CommaSplitEnumConverter System.Text.Json converter
- Added TimePeriodFilterSupport and MaxLimit properties to PaginatedEndpointOptions
- Added JsonConverterCtorAttribute to allow specifying a custom JsonConverter with constructor parameters on properties
- Added ReplaceConverter System.Text.Json converter
- Added LibraryHelpers class for internal helper methods
- Updated package dependency versions
- Small refactor on client options internals
- Fixed concurrency issue when unsubscribing websocket subscription during reconnection
- Fixed KlineTracker update handling
- Updated Binance.Net from version 10.9.2 to version 10.13.0
- Added support for loading client settings from IConfiguration
- Added DI registration method for configuring Rest and Socket options at the same time
- Added DisplayName and ImageUrl properties to BinanceExchange class
- Added WithdrawInternalMin to restClient.SpotApi.Account.GetUserAssetsAsync response model
- Added EnableFixApiTrade and EnableFixReadOnly to restClient.SpotApi.Account.GetAPIKeyPermissionsAsync response model
- Added IsOptionsEnabled and IsPortfolioMarginRetailEnabled to restClient.SpotApi.Account.GetAccountVipLevelAndStatusAsync response model
- Added listClientOrderId parameter to restClient.SpotApi.Trading.PlaceOcoOrderListAsync
- Added GetFeesAsync Shared REST client implementations
- Added AllowAppendingClientOrderId option
- Updated BinanceOptions to LibraryOptions implementation
- Updated client constructors to accept IOptions from DI
- Updated test and analyzer package versions
- Updated client order id logic
- Removed BrokerId option
- Removed redundant BinanceSocketClient constructor
- Removed restClient.SpotApi.Account.GetAutoConvertStableCoinConfigAsync, SetAutoConvertStableCoinConfigAsync and ConvertBusdAsync as theyre deprecated
- Fixed inverted order side for Shared trades
- Fixed ListenKey property not set on spot websocket account data updates
- Fixed restClient.GeneralApi.SimpleEarn.GetLockedProductPositionsAsync deserialization
- Fixed orderbook creation via BinanceOrderBookFactory
- Updated BingX.Net from version 1.15.1 to version 1.18.1
- Added support for loading client settings from IConfiguration
- Added DI registration method for configuring Rest and Socket options at the same time
- Added DisplayName and ImageUrl properties to BingXExchange class
- Added restClient.PerpetualFuturesApi.Account.ApplyForVSTAssetsAsync
- Added restClient.PerpetualFuturesApi.Account.SetMultiAssetModeAsync
- Added restClient.PerpetualFuturesApi.Account.GetMultiAssetModeAsync
- Added restClient.PerpetualFuturesApi.Account.GetMultiAssetRulesAsync
- Added restClient.PerpetualFuturesApi.Account.GetMultiAssetsMarginAsync
- Added restClient.PerpetualFuturesApi.Trading.GetOrdersAsync
- Added restClient.PerpetualFuturesApi.Trading.PlaceTwapOrderAsync
- Added restClient.PerpetualFuturesApi.Trading.GetOpenTwapOrdersAsync
- Added restClient.PerpetualFuturesApi.Trading.GetTwapOrderAsync
- Added restClient.PerpetualFuturesApi.Trading.GetClosedTwapOrdersAsync
- Added restClient.PerpetualFuturesApi.Trading.CancelTwapOrderAsync
- Added Demo BingXEnvironment
- Added websocket connection limit perpetual futures
- Added GetFeesAsync Shared REST client implementations
- Updated client constructors to accept IOptions from DI
- Updated BingXOptions to LibraryOptions implementation
- Updated test and analyzer package versions
- Removed redundant BingXSocketClient constructor
- Fixed inverted order side for Shared trades
- Fixed orderbook creation via BingXOrderBookFactory
- Updated Bitfinex.Net from version 7.10.0 to version 7.12.1
- Added support for loading client settings from IConfiguration
- Added DI registration method for configuring Rest and Socket options at the same time
- Added DisplayName and ImageUrl properties to BitfinexExchange class
- Added GetFeesAsync Shared REST client implementations
- Updated BitfinexOptions to LibraryOptions implementation
- Updated test and analyzer package versions
- Updated client constructors to accept IOptions from DI
- Removed redundant BitfinexSocketClient constructor
- Fixed orderbook creation via BitfinexOrderBookFactory
- Updated Bitget.Net from version 1.15.1 to version 1.18.1
- Added support for loading client settings from IConfiguration
- Added DI registration method for configuring Rest and Socket options at the same time
- Added DisplayName and ImageUrl properties to BitgetExchange class
- Updated client constructors to accept IOptions from DI
- Added restClient.SpotApiV2.Account.TransferSubAccountAsync endpoint
- Added restClient.SpotApiV2.Account.GetSubAccountBalancesAsync endpoint
- Added restClient.SpotApiV2.Account.GetSubAccountTransferHistoryAsync endpoint
- Added restClient.SpotApiV2.Account.GetSubAccountDepositAddressAsync endpoint
- Added restClient.SpotApiV2.Account.GetSubAccountDepositHistoryAsync endpoint
- Added websocket rate limiting rules
- Added GetFeesAsync Shared REST client implementations
- Updated BitgetOptions to LibraryOptions implementation
- Updated test and analyzer package versions
- Changed restClient.FuturesApiV2.Account.GetLedgerAsync idLessThan parameter to long type to match response model id type
- Removed redundant BitgetSocketClient constructor
- Fixed restClient.SetApiCredentials having incorrect ApiCredentials type
- Fixed orderbook creation via BitgetOrderBookFactory
- Updated BitMart.Net from version 1.7.0 to version 1.10.0
- Added support for loading client settings from IConfiguration
- Added DI registration method for configuring Rest and Socket options at the same time
- Added DisplayName and ImageUrl properties to BitMartExchange class
- Added socketClient.UsdFuturesApi.SubscribeToFundingRateUpdatesAsync stream
- Added Approval enum mapping for Status property on socketClient.UsdFuturesApi.SubscribeToOrderUpdatesAsync update model
- Added GetFeesAsync Shared REST client implementations
- Updated client constructors to accept IOptions from DI
- Updated PlaceMarginOrderAsync ratelimit from 1 per second per key to 20
- Updated BitMartOptions to LibraryOptions implementation
- Updated test and analyzer package versions
- Removed clientOrderId parameter from restCLient.UsdFuturesApi.Trading.EditTpSlOrderAsync
- Removed redundant BitMartSocketClient constructor
- Fixed orderbook creation via BitMartOrderBookFactory
- Updated Bybit.Net from version 3.16.0 to version 3.18.1
- Added support for loading client settings from IConfiguration
- Added DI registration method for configuring Rest and Socket options at the same time
- Added DisplayName and ImageUrl properties to BybitExchange class
- Added GetFeesAsync Shared REST client implementations
- Added startTime/endTime params to restClient.V5Api.ExchangeData.GetLongShortRatioAsync endpoint
- Added SpecialTreatmentLabel to restClient.V5Api.ExchangeData.GetSpotSymbolsAsync response model
- Updated client constructors to accept IOptions from DI
- Updated UnifiedMarginStatus enum values
- Updated BybitOptions to LibraryOptions implementation
- Updated test and analyzer package versions
- Removed redundant BybitSocketClient constructor
- Fixed orderbook creation via BybitOrderBookFactory
- Updated Coinbase.Net from version 1.4.0 to version 1.6.1
- Added support for loading client settings from IConfiguration
- Added DI registration method for configuring Rest and Socket options at the same time
- Added DisplayName and ImageUrl properties to CoinbaseExchange class
- Added Platform property to restClient.AdvancedTradeApi.Account.GetAccountsAsync and GetAccountAsync response model
- Added GetFeesAsync Shared REST client implementations
- Updated CoinbaseOptions to LibraryOptions implementation
- Updated test and analyzer package versions
- Updated client constructors to accept IOptions from DI
- Removed redundant CoinbaseSocketClient constructor
- Fixed deserialization error in SubscribeToBatchedTickerUpdatesAsync subscription when there is no trade price
- Fixed orderbook creation via CoinbaseBookFactory
- Updated CoinEx.Net from version 7.9.0 to version 7.12.0
- Added support for loading client settings from IConfiguration
- Added DI registration method for configuring Rest and Socket options at the same time
- Added DisplayName and ImageUrl properties to CoinExExchange class
- Added AllowAppendingClientOrderId option
- Added GetFeesAsync Shared REST client implementations
- Updated client constructors to accept IOptions from DI
- Updated CoinExOptions to LibraryOptions implementation
- Updated test and analyzer package versions
- Updated client order id logic for client reference
- Removed redundant CoinExSocketClient constructor
- Fix for orderbook creation via CoinExOrderBookFactory
- Updated CoinGecko.Net from version 3.0.0 to version 3.2.0
...
Version 2.6.0
- Updated Binance.Net to version 10.9.2
- Added page parameter to restClient.UsdFuturesApi.Account.GetIncomeHistoryAsync endpoint
- Updated BingX.Net to version 1.15.1
- Added initial SubAccount API implementation
- Fixed available balance response on shared futures implementation
- Removed symbol parameters from GetPositionModeAsync and SetPositionModeAsync endpoints
- Updated Bitget.Net to version 1.15.1
- Split and corrected futures trigger plan type parameters
- Added status filter to restClient.FuturesApiV2.Trading.GetClosedTriggerOrdersAsync
- Added missing futures trigger order statuses
- Updated restClient.FuturesApiV2.Account.GetLedgerAsync response model
- Updated CoinGecko to version 3.0.0
- Switched json (de)serialization from Newtonsoft.Json to System.Text.Json
- Added support for setting API key
- Added error parsing implementation
- Added pro API endpoint to CoinGeckoEnvironment
- Added GetMarketsAsync endpoint
- Added GetCompanyHoldingsAsync endpoint
- Added GetExchangeDerivativesDetailsAsync endpoint
- Added GetApiUsageAsync endpoint
- Added precision parameter to GetMarketChartAsync, GetOhlcAsync
- Updated response models
- Updated API doc references
- Removed includeTickers parameter from GetDerivativesAsync endpoint
- Removed assetPlatformId parameter from GetNftsAsync endpoint
- Updated CryptoCom.Net to version 1.2.1
- Fixed deserialization issue in restClient.ExchangeApi.ExchangeData.GetTickerAsync
- Updated GateIo.Net to version 1.12.1
- Fixed restClient.PerpetualFuturesApi.Trading.PlaceTriggerOrderAsync parameter serialization
- Updated HTX.Net to version 6.4.1
- Fixed deserialization issue in restClient.UsdtFuturesApi.ExchangeData.GetTickersAsync endpoint
Version 2.5.0
- Added support for the WhiteBit exchange with WhiteBit.Net 1.0.0
- Updated reference CryptoExchange version to 8.2.0
- Added support for not allowing duplicate subscription topics on the same websocket connection
- Added PerAccount SharedLeverageSettingMode enum value, changed Side on SharedUserTrade to nullable
- Added support for object deserialization in SystemTextJsonMessageAccessor.GetValue
- Changed SocketApiClient GetAuthenticationRequest to GetAuthenticationRequestAsync to allow for requesting token
- Fixed socket connections trying to authenticated connection when it's marked as dedicated request connection even when no authentication is needed
- Fixed System.Text.Json ArrayConverter not passing serializer options to nested deserialization
- Fixed System.Text.Json ArrayConverter creating new serializer options each time a JsonConverter attribute is encountered
- Updated Binance.Net to version 10.9.0
- Added restClient.CoinFuturesApi.Account.GetDownloadIdForOrderHistoryAsync endpoint
- Added restClient.CoinFuturesApi.Account.GetDownloadLinkForOrderHistoryAsync endpoint
- Added restClient.CoinFuturesApi.Account.GetDownloadIdForTradeHistoryAsync endpoint
- Added restClient.CoinFuturesApi.Account.GetDownloadLinkForTradeHistoryAsync endpoint
- Updated BingX.Net to version 1.14.0
- Added restClient.PerpetualFuturesApi.Account.GetIsolatedMarginChangeHistoryAsync endpoint
- Added settleAsset parameter to FuturesApi.Trading endpoints
- Updated Bitfinex.Net to version 7.10.0
- Updated Bitget.Net to version 1.13.0
- Added Cross and Isolated Margin API implementation
- Fixed V1 API GET request authentication for requests without parameters
- Fixed warning log when subscribing multiple symbols at the same time
- Updated BitMart.Net to version 1.7.0
- Added socketClient.UsdFuturesApi.SubscribeToOrderBookSnapshotUpdatesAsync subscription
- Added socketClient.UsdFuturesApi.SubscribeToOrderBookIncrementalUpdatesAsync subscription
- Added IOrderBookSocketClient to UsdFuturesApi Shared socket implementations
- Added MaxMarketOrderQuantity to BitMartContract response model
- Updated Bybit.Net to version 3.16.0
- Added OtherBorrowAmount to restClient.V5Api.Account.GetCollateralInfoAsync response model
- Added Kazakhstan environment urls
- Added restClient.V5Api.Account.GetClassicContractTransactionHistoryAsync endpoint
- Updated Coinbase.Net to version 1.4.0
- Updated restClient.AdvancedTradeApi.Account.WithdrawCryptoAsync parameters
- Removed restClient.AdvancedTradeApi.Account.TransferAsync as it's no longer supported
- Updated CoinEx.Net to version 7.9.0
- Updated CoinGecko.Net to version 2.8.0
- Updated CryptoCom.Net to version 1.2.0
- Updated GateIo.Net to version 1.12.0
- Added restClient.SpotApi.Account.GetUnifiedLeverageConfigsAsync endpoint
- Added restClient.SpotApi.Account.GetUnifiedLeverageAsync endpoint
- Added restClient.SpotApi.Account.SetUnifiedLeverageAsync endpoint
- Added Id property to restClient.PerpetualFuturesApi.Account.GetLedgerAsync response model
- Added Leverage property to restClient.SpotApi.ExchangeData.GetDiscountTiersAsync response model
- Added BestAskQuantity, BestBidQuantity properties to restClient.SpotApi.ExchangeData.GetTickersAsync response model
- Updated HTX.Net to version 6.4.0
- Updated Kraken.Net to version 5.2.0
- Fixed exception during websocket reconnection when using websocket requests
- Updated Kucoin.Net to version 5.18.0
- Added restClient.SpotApi.Account.GetApiKeyInfoAsync endpoint
- Updated Mexc.Net to version 1.11.0
- Updated OKX.Net to version 2.8.0
- Added AuctionEndTime property to restClient.UnifiedApi.ExchangeData.GetSymbolsAsync and socketClient.UnifiedApi.ExchangeData.SubscribeToSymbolUpdatesAsync models
Version 2.4.0
- Simplified ExchangeOrderBookFactory.Create implementation
- Added ExchangeTrackerFactory for creating Kline/Trade trackers
- Updated reference CryptoExchange version to 8.1.0
- Added KlineTracker and TradeTracker implementation
- Added Side to SharedTrade model
- Added overload for Create method in OrderBookFactory using SharedSymbol
- Added ValidateMessage method to websocket Query object to filter messages even though it is matched to the query based on the ListenIdentifier
- Added DoHandleReset method for websocket subscriptions
- Added ConnectionId to RequestDefinition to correctly handle connection and path rate limiting configuration
- Added System.Text.Json ArrayConverter Write implementation
- Updated SharedFuturesTicker LastPrice, HighPrice and LowPrice properties to be nullable
- Updated SetApiCredentials method to also updated the credentials on the client specific options to prevent unknown client credentials in some situations
- Updated Binance.Net to version 10.8.0
- Moved FormatSymbol to BinanceExchange class
- Added support Side setting on SharedTrade model
- Added BinanceTrackerFactory for creating trackers
- Added overload to Create method on BinanceOrderBookFactory support SharedSymbol parameter
- Fixed Shared rest GetTradeHistoryAsync pagination
- Added catch around HttpClientHandler.AutomaticDecompression setting as it's not support on Blazor WASM
- Updated BingX.Net to version 1.12.0
- Moved FormatSymbol to BingXExchange class
- Added support Side setting on SharedTrade model
- Added BingXTrackerFactory for creating trackers
- Added overload to Create method on BingXOrderBookFactory support SharedSymbol parameter
- Added Shared websocket kline subscription implementation for futures and spot APIs
- Updated Bitfinex.Net to version 7.9.0
- Moved FormatSymbol to BitfinexExchange class
- Added support Side setting on SharedTrade model
- Added BitfinexTrackerFactory for creating trackers
- Added overload to Create method on BitfinexOrderBookFactory support SharedSymbol parameter
- Added filtering of TradeUpdate messages in Shared rest trade socket subscription (Trade execution messages are still processed)
- Updated Bitget.Net to version 1.11.0
- Moved FormatSymbol to BitgetExchange class
- Added support Side setting on SharedTrade model
- Added BitgetTrackerFactory for creating trackers
- Added overload to Create method on BitgetOrderBookFactory support SharedSymbol parameter
- Updated BitMart.Net to version 1.5.0
- Moved FormatSymbol to BitMartExchange class
- Added support Side setting on SharedTrade model
- Added BitMartTrackerFactory for creating trackers
- Added overload to Create method on BitMartOrderBookFactory support SharedSymbol parameter
- Updated Bybit.Net to version 3.15.0
- Moved FormatSymbol to BybitExchange class
- Added support Side setting on SharedTrade model
- Added BybitTrackerFactory for creating trackers
- Added overload to Create method on BybitOrderBookFactory support SharedSymbol parameter
- Added websocket stream URI for Turkey users
- Updated Coinbase.Net to version 1.2.0
- Moved FormatSymbol to CoinbaseExchange class
- Added support Side setting on SharedTrade model
- Added CoinbaseTrackerFactory for creating trackers
- Added overload to Create method on CoinbaseOrderBookFactory support SharedSymbol parameter
- Added GetKlinesAsync to Shared rest client
- Fixed exception on restClient.AdvancedTradingAi.Trading.CancelOrderAynsc when order not found
- Fixed exception on restClient.AdvancedTradingAi.Trading.CancelOrdersAynsc when request fails
- Fixed restClient.AdvancedTradingAi.ExchangeData.GetKlinesAsync time filter
- Fixed issue with concurrent websocket subscription acknowledgements
- Removed incorrect rate limit of 100 message per second per ip for websockets
- Updated CoinEx.Net to version 7.8.0
- Moved FormatSymbol to CoinExExchange class
- Added support Side setting on SharedTrade model
- Added CoinExTrackerFactory for creating trackers
- Added overload to Create method on CoinExOrderBookFactory support SharedSymbol parameter
- Updated CoinGecko.Net to version 2.7.0
- Updated CryptoCom.Net to version 1.1.0
- Moved FormatSymbol to CryptoComExchange class
- Added support Side setting on SharedTrade model
- Added CryptoComTrackerFactory for creating trackers
- Added overload to Create method on CryptoComOrderBookFactory support SharedSymbol parameter
- Renamed CreateExchange method on CryptoComOrderBookFactory to Create
- Updated GateIo.Net to version 1.10.0
- Moved FormatSymbol to GateIoExchange class
- Added support Side setting on SharedTrade model
- Added GateIoTrackerFactory for creating trackers
- Added overload to Create method on GateIoOrderBookFactory support SharedSymbol parameter
- Updated HTX.Net to version 6.3.0
- Moved FormatSymbol to HTXExchange class
- Added support Side setting on SharedTrade model
- Added HTXTrackerFactory for creating trackers
- Added overload to Create method on HTXOrderBookFactory support SharedSymbol parameter
- Fixed rate limiting incorrectly applied to websocket market data connections
- Updated Kraken.Net to version 5.1.0
- Moved FormatSymbol to KrakenExchange class
- Added support Side setting on SharedTrade model
- Added KrakenTrackerFactory for creating trackers
- Added overload to Create method on KrakenOrderBookFactory support SharedSymbol parameter
- Fixed websocket Unsubscribe for orderbook subscriptions
- Updated Kucoin.Net to version 5.17.0
- Moved FormatSymbol to KucoinExchange class
- Added support Side setting on SharedTrade model
- Added KucoinTrackerFactory for creating trackers
- Added overload to Create method on KucoinOrderBookFactory support SharedSymbol parameter
- Updated Mexc.Net to version 1.10.0
- Moved FormatSymbol to MexcExchange class
- Added support Side setting on SharedTrade model
- Added MexcTrackerFactory for creating trackers
- Added overload to Create method on MexcOrderBookFactory support SharedSymbol parameter
- Updated OKX.Net to version 2.7.0
- Moved FormatSymbol to OKXExchange class
- Added support Side setting on SharedTrade model
- Added OKXTrackerFactory for creating trackers
- Added overload to Create method on OKXOrderBookFactory support SharedSymbol parameter
- Added support for different order book levels in OKXSymbolOrderBook
Version 2.3.0
- Added Crypto.com support with CryptoCom.Net to version 1.0.1
- Added minimalDepth parameter to ExchangeOrderBookFactory Create method
- Updated Binance.Net to version 10.7.0
- Added SelfTradePreventionMode and PriceMatch parameters and responses for Coin-M Futures API
- Added returnPermissionSets and symbolStatus parameters to restClient.SpotApi.ExchangeData.GetExchangeInfoAsync endpoint
- Fixed issues with restClient.GeneralApi.AutoInvest.GetSubscriptionTransactionHistoryAsync
- Fixed deserialization issue subaccount transfer
- Updated BingX.Net to version 1.11.2
- Added Tier property to restClient.PerpetualFuturesApi.Trading.GetPositionAndMarginInfoAsync response model
- Added ReduceOnly property to socketClient.PerpetualFuturesApi.SubscribeToUserDataUpdatesAsync order update model
- Updated Bitget.Net to version 1.10.4
- Fixed V1 GET request signing without parameters
- Fixed request signing V2 with special characters
- Fixed restClient.SpotApi.Trading.GetOrderAsync exception when order not found
- Updated BitMart.Net to version 1.4.0
- Added restClient.UsdFuturesApi.Account.GetSymbolTradeFeeAsync endpoint
- Added TakerFeeRateD and MakerFeeRateD properties to restClient.SpotApi.Account.GetBaseTradeFeesAsync response model
- Added FundingIntervalHours to restClient.UsdFuturesApi.ExchangeData.GetContractsAsync response model
- Updated Coinbase.Net to version 1.1.2
- Updated ExchangeData endpoints to use the Products endpoint instead of Public endpoint if API credentials are provided
- Added restClient.AdvancedTradeApi.ExchangeData.GetBookTickersAsync and GetBookTickerAsync endpoints
- Fixed websocket market data subscriptions for "USDT-USDC" and "EURC-USDC" symbols
- Fixed deserialization issue on websocket ticker updates
- Updated GateIo.Net to version 1.9.0
- Added restClient.SpotApi.Account.GetRateLimitsAsync endpoint
- Added support for clientOrderId to restClient.PerpetualFuturesApi.Trading.GetOrderAsync, CancelOrderAsync and EditOrderAsync endpoints
- Updated Kraken.Net to version 5.0.2
- Fixed socketClient.SpotApi.SubscribeToAggregatedOrderBookUpdatesAsync and SubscribeToInvidualOrderBookUpdatesAsync not passing the depth parameter to the server
- Fixed userReference parameter incorrectly set at restClient.SpotApi.Trading.PlaceOrderAsync
- Fixed timestamp serialization for socketClient.SpotApi queries
- Fixed websocket subscription request revitalization throwing an exception
- Updated Kucoin.Net to version 5.16.0
- Added restClient.FuturesApi.Trading.CancelMultipleOrdersAsync endpoint
- Added restClient.SpotApi.Account.GetIsHfAccountAsync endpoint
- Added restClient.SpotApi.ExchangeData.GetAnnouncementsAsync endpoint
- Added AveragePrice to Futures order response model
- Added AveragePrice setting to Shared IFuturesOrderRestClient responses
- Updated restClient.SpotApi.Account.WithdrawAsync to V3 endpoint
- Updated KucoinAssetNetwork response model
- Fixed CancelAfter parameter type for restClient.SpotApi.Trading.PlaceBulkOrderAsync endpoint
- Fixed Shared IBalanceRestClient implementation to only return spot balances
- Updated Mexc.Net to version 1.9.0
- Added mexcRestClient.SpotApi.Account.GetKycStatusAsync endpoint
- Added ListenkeyRenewed event to socketClient.SpotApi client so users can react to updated listenkeys for keep-alive caused by reconnecting
- Updated OKX.Net to version 2.6.0
- Added restClient.UnifiedApi.Account.ManualBorrowRepayAsync, SetAutoRepayAsync and GetBorrowRepayHistoryAsync endpoints
- Added EasyConvertDustAsync, GetEasyConvertDustAssetsAsync and GetEasyConvertDustHistoryAsync endpoints
- Added BurningFeeRate property to restClient.UnifiedApi.Account.GetAssetsAsync response model
- Updated AccountBillSubType and AccountSubType Enum values
- Refactored restClient.UnifiedApi.Trading.PlaceOrderAsync take profit / stop loss parameters to support the full functionality offered by the API
- Fixed restClient.UnifiedApi.Trading.CancelMultipleOrdersAsync order canceled event processing
- Removed restClient.UnifiedApi.Account.ConvertDustAsync deprecated endpoint
Version 2.2.1
- Updated library client versions
- Fixed TypeLoadException during initialization
Version 2.2.0
- Updated reference CryptoExchange version to 8.0.3
- Updated dependency versions, including System.Text.Json from 8.0.4 to 8.0.5 containing a vulnerability fix
- Added support for duplicate array indexes in System.Text.Json ArrayConverter
- Added fallback for unparsable value in System.Text.Json NumberStringConverter
- Added Authenticated property on base client and shared client
- Added GetValues System.Text.Json implementation in message accessor
- Updated Binance.Net to version 10.6.0
- Added USD-M Futures web socket order API
- Fixed pagination for shared closed orders USD futures
- Updated BitMart.Net to version 1.3.1
- Fixed symbol formatting order book factory
- Fixed IBitMartOrderBookFactory DI lifetime
- Updated Bybit.Net to version 3.14.2
- Fixed restClient.V5Api.Account.GetBalancesAsync deserialization in demo environment without any transactions
- Added missing TrailingProfit value to StopOrderType Enum
- Updated CoinEx.Net to version 7.7.1
- Fixed Shared interface REST spot order quantity parsing
- Fixed Shared interface REST spot order status parsing
- Updated GateIo.Net to version 1.8.0
- Fixed ICoinbaseOrderBookFactory DI lifetime
- Added clientOrderId parameter to restClient.SpotApi.Trading.EditOrderAsync
- Added clientOrderId parameter to socketClient.SpotApi.EditOrderAsync
- Updated HTX.Net to version 6.1.2
- Fixed cancellation token not being passed to subscribe method in Shared client
- Updated Kraken.Net to version 5.0.0
- Updated the library to use System.Text.Json for (de)serialization instead of Json.Net
- Updated Spot websocket implementation from V1 to V2
- Moved requesting of WebSocket token for private endpoints from user endpoint to internal
- Removed automatic mapping of BTC to XBT (V2 API used BTC as symbol instead of the previous XBT)
- Respone models have been updated to V2
- Spread subscription has been removed, part of Ticker stream now
- Added individual order book subscription
- Added instrument subscription
- Added user balances subscription
- UserTrade subscription has been removed, part of Order stream now
- Added socketClient.SpotApi.PlaceMultipleOrdersAsync endpoint
- Added socketClient.SpotApi.EditOrderAsync endpoint
- Added socketClient.SpotApi.ReplaceOrderAsync endpoint
- Added Shared implementation for Futures WebSocket and REST APIs
- Extended Shared implementation for Spot WebSocket API
- Added restClient.SpotApi.Trading.CancelAllOrdersAfterAsync endpoint
- Added restClient.FuturesApi.ExchangeData.GetTickerAsync endpoint
- Added restClient.FuturesApi.Trading.GetOrdrAync endpoint
- Renamed clientOrderId to userReference parameters in Spot orders as it was implemented with the
userref
field - Added new clientOrderId parameter to Spot orders using the correct
cl_ord_id
field - Updated Shared Spot REST implementation to use new clientOrderId property
- Updated restClient.FuturesApi.GetBalancesAsync response so it's more discoverable
- Updated AssetStatus Enum values
- Updated SymbolStatus Enum values
- Fixed deserialization issue FuturesApi.Trading.GetOpenPositionsAsync
Version 2.1.0
- Added Coinbase support with Coinbase.Net 1.0.0
- Updated reference CryptoExchange version to 8.0.1
- Added cached library version properties on base client
- Added support for derserializing 0001-01-01 as datetime null value
- Added ToRfc3339String extension method for DateTime type
- Updated Bitfinex.Net to version 7.8.1
- Limit shared interface GetBalancesAsync result to Exchange balances to prevent duplicate asset balances
- Updated Bitget.Net to version 1.10.1
- Added BitgetSymbolStatus.Halt Enum value
- Added converting to uppercase for CancelAllOrdersAsync marginAsset parameter
- Fixed FutureApiV2.Trading.CancelTriggerOrdersAsync endpoint
- Updated BitMart.Net to version 1.3.0
- Added UsdFuturesApi.Trading.PlaceTpSlOrderAsync endpoint
- Added UsdFuturesApi.Trading.EditTpSlOrderAsync endpoint
- Added UsdFuturesApi.Trading.EditTriggerOrderAsync endpoint
- Added UsdFuturesApi.Trading.EditPresetTriggerOrderAsync endpoint
- Added clientOrderId parameter to CancelOrderAsync and CancelTriggerOrderAsync endpoints
- Added planType parameter to GetTriggerOrdersAsync endpoint
- Updated Bybit.Net to version 3.14.1
- Added ClosedPnl property to BybitOrderUpdate model
- Added Pnl property to BybitUserTradeUpdate model
- Updated GateIo.Net to version 1.7.0
- Added SpotApi.Account.GetTransferHistoryAsync endpoint
- Added SpotApi.Account.TransferToAccountAsync endpoint
- Added PerpetualFuturesApi.Trading.EditMultipleOrdersAsync endpoint
- Added BestBidQuantity/BestAskQuantity properties to GateIoPerpTicker response model
- Added startTime/endTime parameters to PerpetualFuturesApi.ExchangeData.GetFundingRateHistoryAsync and updated shared implementation to support pagination
- Added support for clientOrderId to SpotApi.Trading.GetOrderAsync endpoint
- Fixed some serialization issues in batch endpoints
- Updated HTX.Net to version 6.1.1
- Fixed LastPrice value on SpotTicker Shared implementation
- Updated Kucoin.Net to version 5.15.0
- Added FuturesApi.Account.GetMarginModeAsync endpoint
- Added FuturesApi.Account.SetMarginModeAsync endpoint
- Added FuturesApi.Account.GetCrossMarginLeverageAsync endpoint
- Added FuturesApi.Account.SetCrossMarginLeverageAsync endpoint
- Added marginMode parameter to FuturesApi.Trading.PlaceOrderAsync and PlaceMultipleOrdersAsync endpoints
- Added onWalletUpdate update handler to FuturesApi.SubscribeToBalanceUpdatesAsync stream
- Added FuturesApi.SubscribeToMarginModeUpdatesAsync stream
- Added FuturesApi.SubscribeToCrossMarginLeverageUpdatesAsync stream
- Updated various order and trade response/update models with margin mode properties
- Update position models with MarginMode, PositionSide, Leverage and PositionFunding properties
- Fixed cancellation token not getting passed in shared ticker subscriptions
- Updated OKX.Net to version 2.5.0
- Added ExchangeData.GetAnnouncementsAsync and GetAnnouncementTypesAsync endpoints
- Added asset parameter to Account.GetLeverageAsync endpoint
- Added IsTradeBorrowMode property to Algo order response model
- Updated OKXAccountConfiguration response model
- Updated OKXDiscountInfo response model