1
0
mirror of https://github.com/JKorf/CryptoExchange.Net.git synced 2026-08-11 08:22:53 +00:00

Updated to version 12.0.0

This commit is contained in:
Jkorf
2026-06-29 10:55:02 +02:00
parent e823114623
commit f4736bcf49
2 changed files with 65 additions and 1 deletions
+1 -1
View File
@@ -6,7 +6,7 @@
<PackageId>CryptoExchange.Net</PackageId>
<Authors>JKorf</Authors>
<Description>CryptoExchange.Net is a base library which is used to implement different cryptocurrency (exchange) API's. It provides a standardized way of implementing different API's, which results in a very similar experience for users of the API implementations.</Description>
<PackageVersion>12.0.0-beta1</PackageVersion>
<PackageVersion>12.0.0</PackageVersion>
<AssemblyVersion>12.0.0</AssemblyVersion>
<FileVersion>12.0.0</FileVersion>
<PackageRequireLicenseAcceptance>false</PackageRequireLicenseAcceptance>
+64
View File
@@ -124,6 +124,70 @@ Various:
* PlatformInfo now required support environment names in the constructor
## Release notes
* Version 12.0.0 - 29 Jun 2026
* Result types:
* (Web)CallResult types are replaced by HttpResult, WebSocketResult and QueryResult with the same logic
* Updated result types to record type
* Result creation can be done with (Http/WebSocket/Query)Result.Ok(..) and .Fail(..)
* Removed implicit result type conversion to bool, `if (result)` no longer works, instead use `if (result.Success)`
* Replaced CallResult.SuccessResult with CallResult.Ok()
* Fixed result object nullability hinting, for example Data might be null if Success isn't checked for true
* Parameters & serialization:
* Added support for `enabled` and `disabled` strings to bool converter
* Removed ParameterCollection type, has been replaced by Parameters type
* Removed ArraySerialization, OrderParameters and ParameterOrderComparer properties from RestApiClient, moved to ParameterSerializationsSettings
* Updated RestRequestConfiguration in AuthenticationProvider.ProcessRequest to contain the full RequestDefinition instead of copied fields
* Clients:
* Updated Api client constructor logging parameter from ILogger to ILoggerFactory?
* Added Api client constructor exchange name parameter
* Added ToString overrides on base API types
* Added Exchange property on BaseApiClient
* Added ApiCredentials property on IRestApiClient and ISocketApiClient interfaces
* Updated ILogger source from client name to topic specific client name
* Removed logging from client creation
* Fixed BaseRestClient SetApiCredentials not marked as virtual
* Rest:
* Added BaseAddress to RequestDefinition object
* Updated RestApiClient AuthenticationProvider logic from private to protected and virtual
* Removed RestApiClient.SendAsync baseAddress parameter removed
* Removed RestApiClient.SendAsync without type parameter
* WebSocket:
* Updated MessageRouting definition into CreateForEvent for subscriptions and CreateForQuery for queries
* Improved Query type safety with CeateForQuery which allows second parameter for specifying the result type
* Renamed MessageRouter.CreateWithoutHandler to CreateVoid
* Updated SocketApiClient.GetSocketConnection to check connection uri instead of Tag for finding compatible connections
* Removed unused UnhandledMessageExpected property SocketApiClient
* Fixed issue in SocketApiClient.GetSocketConnection causing requests to always wait the full max 10 seconds when there was a reconnecting socket
* Shared APIs:
* Updated Option definitions to always require the exchange name as first parameter
* Added missing dedicated option types
* Added Discover method on ISharedClient interface, returning info on supported capabilities and operations
* Added SharedRequest GetParamValue helper method accepting multiple parameter names
* Added ResetStaticExchangeParameters method on ExchangeParameters
* Added Status property to SharedWithdrawal model
* Added TradingModes property to SharedBalance model
* Updated ExchangeSymbolCache to support multiple environments and additional key separation
* Updated Shared ExchangeParameters parameter names to be case insensitive
* Updated code comments
* Replaced ExchangeResult with ExchangeCallResult type
* Removed AsExchangeResult/ExchangeWebResult
* Removed TradingMode from the response model, only maintained on models where it makes sense
* Removed IListenKey support, listen keys now rely on internal management with TokenManager
* Rate limiting:
* Fixed websocket connection attempts counting towards rate limit even when server could not be reached
* Removed host from rate limit methods, now part of the already provided RequestDefinition
* Added amount parameter to RateLimit Reset method to allow partially resetting the limit
* Added TokenManager implementation for automatic listenkey/token management
* Added UserClientProvider base class
* Added async streaming on UserDataTracker items with StreamUpdatesAsync
* Added cancellation token support to UserDataTracker starting
* Added Unit type for non-result types
* Added ServerError constructor taking ErrorType and message to make it easier to create
* Added SupportedEnvironments property to PlatformInfo
* Updated SymbolOrderBook DoResyncAsync to return CallResult instead of CallResult<bool> which was redundant
* Various small performance improvements
* Version 11.2.2 - 08 Jun 2026
* Fixed timing issue causing websocket connection to possible loop in error state