What ccxt/ccxt shipped
Written by FoxPlug from public releases; not affiliated with Ccxt. An automatic summary of the public release, pull request and commit data of github.com/ccxt/ccxt. Ccxt did not write it and does not use or endorse FoxPlug. Every line links to the public change it describes.
Get a weekly update like this for your product, free
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.