What ccxt/ccxt shipped
Written by FoxPlug from the repository's own releases; not affiliated with Ccxt. Paste your own repository in the box below and FoxPlug writes the same weekly update for your product. This page is an automatic summary of the releases, pull requests and commits in github.com/ccxt/ccxt; Ccxt did not write it and does not use or endorse FoxPlug. Every line links to the change it describes.
Get a weekly update like this for your product, free
Week of October 5, 2026
What shipped
- The Rust build was reworked so the hand-written engine runtime lives in ccxt-core instead of being duplicated across roughly 200 generated venues, and transpile worker fan-out is capped so runners are not killed by out-of-memory errors. Pull request #30723
- Swap trigger orders on mexc now work end to end: market trigger orders are no longer sent to planorder/place as priced limit orders, the bare numeric id in the planorder/place response is read, and cancelOrder now handles the trigger param through planorder/cancel. Pull request #30795
- Portfolio margin UM conditional orders on binance were migrated from the old /papi/v1/um/conditional paths that now return 404 to the UM algo API, with the @see docstring links synced to the current docs catalog. Pull request #30753
- On bitget UTA accounts fetchFundingRates and fetchFundingIntervals now use v3/market/current-fund-rate instead of the v2 public endpoints that could not resolve UTA coin-margined market ids like BTCUSD_CM. Pull request #30752
- On bitget UTA accounts fetchOHLCV now routes older windows to v3/market/history-candles, because v3/market/candles only returns recent rows such as 60 days for 1h and 30 days for 1m. Pull request #30738
- Hyperliquid gained fetchMyLiquidations and watchMyLiquidations for the per-account case, reading user fills from userFills or userFillsByTime and the userFills websocket channel and keeping the fills where liquidation.liquidatedUser is the user. Pull request #30758
- Bingx deposit and withdrawal status is now parsed per direction, since status 6 means chain uploaded for deposits but completed for withdrawals, so an in-flight deposit no longer looks credited. Pull request #30745
- On binance portfolio margin, the -2014 and -2015 codes now resolve to AuthenticationError like they do on the other APIs, instead of the OperationFailed classification the portfolio margin override used. Pull request #30749
- Latoken parseTicker now resolves ticker symbols from the currency ids. Pull request #30746
- The python package pins for orjson and certifi were loosened so they can be updated independently when using ccxt as a library. Pull request #30755
Why it matters
Several exchange integrations were repaired this week: mexc swap trigger orders, binance portfolio margin conditional orders and error codes, and bitget UTA funding rate and candle history calls that previously returned empty results for older windows. Hyperliquid also gained per-account liquidation methods built on user fills. A Rust build change moves the engine runtime into ccxt-core and caps transpile workers, which lowers build memory and compile time for people building the project.
Changelog entry
- Perf(rust,transpiler): optimize build memory, compile time and iteration speed Pull request #30723
- Fix(mexc): place, list and cancel swap trigger orders Pull request #30795
- Fix(binance): migrate pm um conditional orders to algo api + docs links Pull request #30753
- Fix(bitget): route uta fetchFundingRates to v3 current-fund-rate Pull request #30752
- Fix(bitget): route uta fetchOHLCV to history-candles for old windows Pull request #30738
- Feat(hyperliquid): add fetchMyLiquidations and watchMyLiquidations Pull request #30758
- Fix(bingx): parse deposit and withdrawal status by direction Pull request #30745
- Fix(binance): portfolio margin -2014/-2015 map to AuthenticationError Pull request #30749
- Fix(latoken): resolve ticker symbols from the currency ids in parseTicker Pull request #30746
- Chore(python): losely pin orjson and certifi Pull request #30755
- Docs(blog): add Meet CCXT Terminal launch post Pull request #30748
This week: mexc swap trigger orders fixed, binance PM conditional orders moved to the UM algo API, bitget UTA funding rates and old OHLCV windows routed correctly, hyperliquid fetchMyLiquidations and watchMyLiquidations added, bingx deposit/withdrawal status fixed, and Rust build
Changes landed this week across several integrations. On mexc, swap trigger orders now place, list and cancel correctly, including reading the order id from planorder/place and handling the trigger param on cancel. On binance, portfolio margin UM conditional orders moved to the UM algo API because the old conditional paths return 404, and the -2014/-2015 codes now map to AuthenticationError for PM like they do elsewhere. On bitget, UTA fetchFundingRates and fetchFundingIntervals use v3/market/current-fund-rate, and UTA fetchOHLCV routes old windows to history-candles. Hyperliquid gained fetchMyLiquidations and watchMyLiquidations. Bingx deposit and withdrawal status is parsed by direction, latoken resolves ticker symbols from currency ids, and the Rust build now keeps the engine runtime in
Week of September 28, 2026
What shipped
- Release v4.5.85 with fixes across rust error handling, bybiteu defaults, zebpay swap endpoints, and other exchange updates. Release
- Binance: cancelOrderWs now correctly cancels conditional orders on linear dated futures. Pull request #30742
- Binance: derivatives updates for CM-UM integration including cost calculation changes across all contract market types. Pull request #30685
- Pacifica: added fetchTradingFees using account-wide fee levels. Pull request #30739
- Pacifica: added fetchDeposits and fetchWithdrawals methods. Pull request #30697
- Blofin: added fetchDepositAddress, fetchCurrencies, fetchDepositWithdrawFees, fetchDeposit, and fetchWithdrawal. Pull request #30703
- Python: Future.race() no longer stacks multiple _swallow handlers on pending losers. Pull request #30732
- OKX, MyOKX, OKXUs: websocket port changed from 8443 to 443. Pull request #30715
- C#: strict typing campaign wave 4 with typed locals, params, returns and native bool/string emission. Pull request #30530
- Go: ParseTicker, ParseOHLCV, ParseOrder now return typed structs with typed WS caches. Pull request #30698
Why it matters
This week brings release 4.5.85 with critical fixes for order cancellation, derivatives pricing, and websocket connectivity across multiple exchanges. New methods for Pacifica and Blofin improve trading and account management capabilities. Language-specific improvements in Python, Go, and C# strengthen reliability and type safety across the project.
Changelog entry
- Release v4.5.85 Release
- Fix(binance): cancelOrderWs cancels conditional orders on dated futures Pull request #30742
- Fix(binance): derivatives updates for CM-UM integration Pull request #30685
- Feat(pacifica): add fetchTradingFees Pull request #30739
- Feat(pacifica): add fetchDeposits and fetchWithdrawals Pull request #30697
- Feat(blofin): fetchDepositAddress, fetchCurrencies, fetchDepositWithdrawFees, fetchDeposit, fetchWithdrawal Pull request #30703
- Refactor(okx,myokx,okxus): change 8443 to 443 port for WS Pull request #30715
- Fix(python): stop Future.race stacking _swallow on pending losers Pull request #30732
- C#: stricter typing — typed locals/params/returns, native bool/string emission Pull request #30530
- Feat(go): typed Ticker/OHLCV/Order struct returns and typed ws ticker caches Pull request #30698
- Fix(latoken): map invalid API key and UNAUTHORIZED replies to AuthenticationError Pull request #30741
- Fix(bingx): route inverse swap transfers to the Coin-M account Pull request #30730
Ccxt 4.5.85 ships: Binance derivatives CM-UM integration fixes, Pacifica and Blofin deposit/withdrawal methods, OKX websocket port migration, Python future race fix, and language-specific type improvements.
Ccxt 4.5.85 is live. Key updates: Binance conditional order cancellation and CM-UM integration fixes, new Pacifica and Blofin trading and account methods, OKX websocket 8443→443 migration, Python Future.race stacking fix, and C#/Go type safety improvements. Validated across spot and derivatives markets.
Week of September 21, 2026
What shipped
- PHP variable prefixes in string literals are no longer incorrectly escaped, fixing signed requests and response parsing in PHP. Pull request #30657
- Multiple exchanges now use incrementingNonce() to prevent nonce reuse errors when requests land in the same millisecond. Pull request #30558
- WOO exchange now reports executed order cost correctly instead of the reserved quote amount. Pull request #30606
- BingX spot order history now forwards since and until time filters to the API. Pull request #30596
- OKX stop/trigger orders now correctly ignore false trigger params when routing requests. Pull request #30575
- Bitget added fetchDeposit and fetchWithdrawal methods for single deposit/withdrawal lookups by ID. Pull request #30559
- Apex fetchOHLCV now enforces the 200 candle limit. Pull request #30586
- Bitvavo fetchOHLCV now enforces the 1440 candle limit. Pull request #30587
- Bullish watchBalance now maintains object identity across WebSocket snapshot and update frames. Pull request #30595
- Blog content is now publicly served from ccxt.com/blog with proper SEO metadata. Pull request #30653
Why it matters
This week focused on fixing critical data integrity issues across exchanges, particularly in order cost reporting and nonce handling that could cause silent failures. Several exchanges received API parameter fixes and limit enforcement updates that improve data accuracy and prevent malformed requests.
Changelog entry
- Fix(build): keep php variable-prefix rules out of string literals Pull request #30657
- Feat(incrementingNonce): nonce/salt updated in multiple exchanges Pull request #30558
- Fix(woo): report the executed cost of an order, not the quote it reserved Pull request #30606
- Fix(bingx): forward spot order history time filters Pull request #30596
- Fix(okx): ignore a false trigger param when routing order requests Pull request #30575
- Feat(bitget): add fetchDeposit and fetchWithdrawal Pull request #30559
- Fix(apex): fetchOHLCV max limit Pull request #30586
- Fix(bitvavo): fetchOHLCV max limit & fixture Pull request #30587
- Fix(bullish): keep object identity across ws updates - watchBalance Pull request #30595
- Fix(coinbaseinternational): fetchOHLCV since calculation Pull request #30588
- Fix(hyperliquid): send buy TWAP orders as buys Pull request #30650
- Fix(bybiteu): default to spot markets and spot type Pull request #30605
- Fix(pacifica): fill the average price of a filled order in fetchOrder Pull request #30572
- Fix(zaif): pass since and limit to closed orders Pull request #30579
- Fix(mexc): parse futures maker trades Pull request #30578
- Feat(binance): fx markets subType edits Pull request #30623
- Feat(binance): FX swap tests and FAQ Pull request #30614
V4.5.84 shipped: fixed PHP string escaping in signed requests, added incrementingNonce to prevent reuse errors, corrected WOO order costs, and improved time filter forwarding across multiple exchanges.
Ccxt v4.5.84 is out. This release fixes critical issues: PHP signed requests no longer mangle string literals, WOO orders report accurate executed costs, and multiple exchanges now prevent nonce reuse errors when requests arrive in the same millisecond. Also improved time filter handling for BingX, OKX trigger order routing, and API limit enforcement for Apex and Bitvavo.
Week of September 14, 2026
What shipped
- Offline test suites now run 40% to 79% faster across all six language ports without removing, skipping or weakening any tests. Pull request #30553
- Added incrementingNonce helper for exchanges that need duplicate-nonce handling. Pull request #30423
- Bitget fetchLedger now routes UTA (v3) accounts to the correct endpoints instead of returning errors. Pull request #30414
- Kraken Futures now supports fetchPositionsHistory to retrieve position update events including opens, closes, increases, decreases and settlements. Pull request #30503
- Added Bybit Indonesia (bybitid) as a new regional exchange endpoint. Pull request #30501
- Modetrade deposit and ledger parsing fixed to read correct field names for transactions and asset history. Pull request #30537
- Bithumb now supports OPEN-API-PARTNER authentication method. Pull request #30496
- BingX fetchPositionsHistory capability correctly advertises as unsupported while keeping single-symbol fetchPositionHistory enabled. Pull request #30407
- BingX public swap trades now preserve fillId to prevent undefined unified trade IDs. Pull request #30554
- Go printer now emits gofmt-clean output natively, removing the need for gofmt spawning in CI. Pull request #30515
Why it matters
Test performance improvements reduce development feedback time significantly. Exchange adapter fixes restore broken functionality for deposits, ledgers and position history across multiple venues. New features like incrementing nonce support and regional endpoints expand compatibility with more exchanges and use cases.
Changelog entry
- Perf(tests): cut offline test-suite runtime across all six ports (-40% to -79%) Pull request #30553
- Feat(Exchange): add incrementingNonce helper for duplicate-nonce venues Pull request #30423
- Feat(bitget): UTA (v3) ledger endpoints for fetchLedger Pull request #30414
- Feat(krakenfutures): add fetchPositionsHistory Pull request #30503
- Feat(bybitid): add Bybit Indonesia Pull request #30501
- Fix(modetrade): read the real asset-history fields in transactions and ledger Pull request #30537
- Feat(bithumb): add OPEN-API-PARTNER Pull request #30496
- Fix(bingx): disable unsupported fetchPositionsHistory capability Pull request #30407
- Fix(bingx): preserve public swap trade fill IDs Pull request #30554
- Go: printer emits gofmt-clean output natively, gofmt removed from CI Pull request #30515
V4.5.81 shipped: offline tests 40-79% faster, Bitget/Kraken position history fixed, incrementing nonce support, Bybit Indonesia added, Go printer emits gofmt-clean natively.
V4.5.81 is live with major improvements: offline test suites now run 40-79% faster without weakening any tests. Bitget ledger routing and Kraken position history are restored. New support for incrementing nonce handling and Bybit Indonesia regional endpoint. Go code generation now produces gofmt-compliant output natively.