Complete changelog for all v1.x releases of CCXT.Simple cryptocurrency trading library.
Major release featuring complete System.Text.Json migration, 5 new FULL exchange implementations, and significantly expanded test coverage.
- Full Migration: Complete migration from Newtonsoft.Json to System.Text.Json
- JsonExtensions Class: New extension methods for safe JSON parsing
GetStringSafe()- Safe string extraction with property access supportGetDecimalSafe()- Handles numbers, strings, and scientific notationGetInt64Safe()/GetInt32Safe()- Safe integer extractionGetBooleanSafe()- Handles both boolean values and string representationsGetPropertyOrDefault()- Safe property access returning default on missingHasProperty()- Check if property exists and is not nullEnumerateArraySafe()/EnumerateObjectSafe()- Safe enumeration
- GetStringSafe Overload Ambiguity: Fixed bug where Object types were mishandled
- Number Type Handling: Added conversion for numeric types to strings
- Boolean Type Handling: Added string conversion for True/False values
- Full 16/16 standard methods implemented
- Leveraged existing Binance code
- HMAC-SHA256 authentication
- Full 16/16 standard methods implemented
- Migrated to v2 API
- HMAC-SHA256 + PassPhrase authentication
- Upgraded from PARTIAL to FULL
- Full 16/16 standard methods implemented
- HMAC-SHA256 authentication
- Upgraded from PARTIAL to FULL
- Full 16/16 standard methods implemented
- HMAC-SHA256 authentication
- Upgraded from PARTIAL to FULL
- Full 16/16 standard methods implemented
- HMAC-SHA256 + PassPhrase authentication
- JsonExtensionsTests: Comprehensive tests for all JsonExtensions methods
- TimeExtensionsTests: Tests for time conversion utilities
- StringExtensionsTests: Tests for string manipulation helpers
- ExchangeConstructorTests: Tests for all 14 FULL exchange constructors
- ModelSerializationTests: Tests for model serialization/deserialization
- Total Tests: 452 (up from 90)
- Line Coverage: 8.79% (2,113 / 24,015 lines)
- Branch Coverage: 6.38% (439 / 6,878 branches)
- FULL Implementations: 14 (was 9)
- PARTIAL Implementations: 0 (was 3)
- SKELETON Implementations: 96 (was 98)
- Total Exchanges: 110
Major release featuring Upbit exchange API fixes, improved NuGet publishing script, and documentation updates.
- JWT Authentication - Implemented SHA512 query hash for API authentication (required since March 2022)
- Added
CreateTokenWithQueryHash()method for proper JWT token generation - All authenticated endpoints now use
query_hashandquery_hash_algin JWT payload
- Added
- POST Request Format - Changed from FormUrlEncoded to JSON body format
- Updated
PlaceOrder(),CancelOrder(), andWithdraw()methods
- Updated
- Order Endpoints - Updated to use new API endpoints
GetOpenOrders()now uses/v1/orders/openinstead of deprecated/v1/ordersGetOrderHistory()now uses/v1/orders/closedfor completed orders
- .NET Standard 2.0/2.1 Compatibility - Fixed SHA512.HashData usage
- Changed from
SHA512.HashData()toSHA512.Create().ComputeHash()pattern
- Changed from
- UOrderbook Typo - Renamed
UOrderboooktoUOrderbook
- GetOrderChance API - New method for fee rates and minimum order amounts
- Endpoint:
GET /v1/orders/chance?market={market} - Returns taker/maker fee rates, order constraints, and account balances
- New model classes:
OrderChance,OrderChanceMarket,OrderChanceConstraint,OrderChanceAccount
- Endpoint:
- XML Documentation - Comprehensive comments for all Upbit model classes
- CoinInfor Model Updates - Added
market_eventfield and related classes
- publish-nuget.ps1 - Enhanced with symbol package support, version display, fixed function name conflicts
- Bithumb Exchange (Full Implementation): Complete implementation of all 16 standard API methods
- Location:
src/exchanges/kr/bithumb/ - API Version: Bithumb API v2.1.0 with JWT authentication
- Location:
- Kraken Exchange (Full Implementation): Complete implementation of all 16 standard API methods
- Location:
src/exchanges/us/kraken/ - API Version: Kraken REST API v0
- Location:
- Binance Exchange (Full Implementation): Complete implementation of all 16 standard API methods
- Location:
src/exchanges/us/binance/ - API Version: Binance REST API v3
- Location:
- Upbit Exchange (Full Implementation): Complete implementation of all 16 standard API methods
- Location:
src/exchanges/kr/upbit/ - API Version: Upbit REST API v1 with JWT authentication
- Location:
- Total fully functional exchanges: 4 -> 8 (100% increase)
- Enhanced JWT authentication support for Korean exchanges (Bithumb, Upbit)
- Bitstamp Exchange (Partial): Initial implementation (Market data + subset of standardized API)
- Implemented: Orderbook, Price, Candles, Trades
- Location:
src/exchanges/gb/bitstamp/
- Bitstamp classified as "Partial Implementation (In Progress)"
- Breaking: Removed netstandard2.1 support - now targets .NET 8.0 and .NET 9.0 only
- Replaced System.Net.Http.Json dependency with Newtonsoft.Json
- Translated all Korean comments to English
- Standardized all folder names to lowercase convention
- Renamed extension classes:
DateTimeXts→TimeExtensions,StringXts→StringExtensions - Removed WebSocket-related code (REST API focus)
- Fixed CoinState.json file path issue in Bithumb exchange
- Fixed build errors related to global using directives
- Fixed XCrypto.cs PostAsJsonAsync compatibility issue
- GlobalUsings.cs file for centralized namespace imports
- Improved test coverage with all 73 tests passing
- 97 New Exchange Skeletons: Total exchange support increased from 14 to 111 exchanges
- Kraken Exchange: Complete implementation with all standard API methods
- Unified Test Project: Consolidated all exchange tests into CCXT.Simple.Tests
- Unified Samples Project: Consolidated all samples into CCXT.Simple.Samples
- Binance Ecosystem (3): BinanceCoinm, BinanceUs, BinanceUsdm
- Major International (22): Alpaca, Apex, Ascendex, Bequant, Bigone, Bingx, etc.
- Derivatives & DeFi (7): Defx, Delta, Deribit, Derive, Hyperliquid, Paradex, Vertex
- Regional (15): Japanese, European, Turkish, Brazilian, Indonesian exchanges
- Extended
IExchangewith 15 new standardized API functions - New Standardized API Functions:
- Market Data:
GetOrderbook,GetCandles,GetTrades - Account:
GetBalance,GetAccount - Trading:
PlaceOrder,CancelOrder,GetOrder,GetOpenOrders,GetOrderHistory,GetTradeHistory - Funding:
GetDepositAddress,Withdraw,GetDepositHistory,GetWithdrawalHistory
- Market Data:
- Upgraded to .NET 9.0
- Added
HttpClientServicefor efficient connection management
- Framework Update: Upgraded from .NET 7.0 to .NET 8.0
- Updated to C# 12.0 features
- Updated all NuGet packages to latest compatible versions
- Various bug fixes and performance improvements
- Enhanced error handling across exchange implementations
- Improved thread safety in concurrent operations
- Initial support for Bittrex exchange
- Improved rate limiting logic across all exchanges
- Optimized concurrent data management
- Fixed memory leaks in long-running connections
- Resolved thread safety issues in ticker updates
- Support for 14 cryptocurrency exchanges
- Unified
IExchangeinterface - Thread-safe concurrent collections
- Event-driven architecture with price events
- Market data retrieval (tickers, order books, volumes)
- Symbol verification and state management
- Multi-currency support (KRW, USD, USDT, BTC)
- Built-in rate limiting per exchange
- Core framework implementation
- Basic exchange support for major Korean exchanges (Bithumb, Upbit, Coinone, Korbit)
- Simple API for ticker and market data retrieval
- .NET 7.0 target framework
- Basic authentication and rate limiting