Added
- Add papi_get_rate_limit
- Add docs for create_oco_order
- Add uiKlines support
- Add options websocket market streams
- Add dozens of missing endpoints
Fixed
- Ws API not allowing more than 100 requests
- Return empty json instead of throwing error on empty response
- Json_dumps when using orjson
Added
- Add futures_taker_long_short_ratio endpoint, thanks to @ngoclam9415
- Add portfolio margin user data streams
Fixed
- Close read loop before closing websocket
- Fix threaded_stream
- Closing keepAliveWebsocker fix
Added
- Websockets docs
- support for microseconds time unit
- futures data link endpoints
- return type to _get_account_socket thanks to @zhen1007
- futures_index_price_constituents endpoint
Fixed
- FuturesDepthCacheManager and OptionsDepthCacheManager to __init__
- EDDSA random error
Added
- borrow-repay endpoints (margin_interest_rate_history/margin_get_borrow_repay_records/margin_borrow_repay/etc)
- futures_mark_price_klines thanks to @zhen1007
- futures_index_price_klines and futures_premium_index_klines
- HistoricalKlinesType enum enhanced
- block trades endpoints (options_create_block_trade_order, options_cancel_block_trade_order, etc)
- dapi asyn endpoints (futures_coin_account_order_history_download, futures_coin_account_order_history_download_link, etc)
Fixed
- Removed unnecessary logs with error level
- Remove CANCEL read_loop error log
- Fix error type for when message queue is full
- Fixes that if first connect fails it would not throw and let the user wait indefinitely
- Improves error handling passing to user error type for different scenarios
Added
- Exposed internal classes for easier subclassing
Fixed
- Fixed package outdated structure causing import errors
Added
- CRUD over Websockets (create/fetch/edit/cancel) through Websockets
- orjson support
- overridable headers per request
- added default recvWindow parameter
- Proxy support for Websockets
- Gift card API
- cancel_replace_order, cancel_all_open_orders and cancel_all_open_margin_orders thanks to @m-HD
- missing futures_modify_order from async client
- ruff format
- missing endpoint for futures_edit_order
Fixed
- updated create_oco_order endpoint
- batch orders signature issue
- fail_connection issue related to the websockets upgrade
- eddsa signature issue
Added
- futures all tickers stream
- futures coin-m all tickers stream
Fixed
- hang in the ThreadedApiManager
Added
- Some new endpoints
Fixed
- url encoding for coin-m post endpoints
- batch order endpoint
- Some minor bug fixes
Added
- EDDSA authentication
- Portfolio Margin endpoints
- Some new futures endpoints
- Proxy support for the AsyncClient
- Version override is possible now through params
Fixed
- Migrated positionRisk to v3
- Fixed the error AttributeError("'Connect' object has no attribute 'protocol'")
- Some minor bug fixes
Added
- some new futures and margin endpoints
- pass session_params to streams for AsyncClient
Fixed
- removed debug statements
- options testnet URL
- accessing msg variable before assignment
Added
- TRAILING_STOP_MARKET option for orders
Fixed
- futures api endpoint versions
- margin endpoint request methods
Added
- RSA key authentication
- Support for api1, api2, api3, api4 base endpoints
- binance.us staking endpoints
- Options ticker by expiration socket
- Staking endpoints
- Pay and Convert endpoints
- Futures index info endpoint
- Open OCO Orders endpoint
- Param to pass session params to aiohttp.ClientSession
Updated
- Some margin endpoint versions
- Support testnet for more streams
Fixed
- Indefinite websocket reconnect loop
- Crash on parsing code from some errors
Added
- pass limit param to all kline functions
- increase default for kline functions from 500 to 1000
- add HistoricalKlinesType.FUTURES_COIN as option for kline functions
- testnet URL for coin_futures_socket
Updated
- round_step_size more accurate
Fixed
- remove deprecated loop param
- websockets unpinned
- hanging websockets in exiting state
- check start_ts after end_ts for klines
- multi assets margin params
Added
- Enable/disable margin account for symbol endpoints
- Top trader long/short positions endpoint
- Global long/short ratio endpoint
Fixed
- fix websockets to 9.1
- websocket reconnect updates
- fix futures kline sockets
Fixed
- websocket reconnecting
Added
- Futures Depth Cache Manager
- Futures kline websocket stream
- Coin Futures User websocket stream
- New Margin endpoints
- Margin OCO order endpoints
- Fiat endpoints
- C2C endpoints
- Account API permissions endpoint
Fixed
- changed asset to coin in withdraw endpoint
Added
- coin futures batch order function
Fixed
- threaded websockets on python3.9
- filter out None params in request kwargs
- deconflict streams with same name on different websocket urls
- reduce close timeout on websocket close to short time to reduce waiting
Added
- futures multi-asset margin mode endpoints
- optional symbol param to get_all_tickers
Fixed
- start_multiplex_socket remove lower case filter on stream names
Fixed
- start_book_ticker_socket and start_multiplex_socket to call correct async function
Added
- old style websocket and depth cache managers as option without interacting with asyncio
Fixed
- fixed issue with get_historical_klines in Client
- remove print debug line
Fixed
- remove version param from get_sub_account_assets
Fixed
- fix time for authenticated stream keepalive
Fixed
- Restored access to last response on client
Added
- Futures Testnet support
- Kline type for fetching historical klines
Fixed
- Spot Testnet websocket URL
Added
- Spot Testnet support
Added
- start of typing to client and websockets
Fixed
- end_str, limit, spot params in kline fetching
- drop None values in params passed
Updated
- more examples in docs
Fixed
- restored params for Client and AsyncClient classes
Added
- Async support for all REST endpoints
- USDⓈ-M and Coin-M Futures websocket streams
- Websockets use same tld as Client
- convert type option for DepthCache
Breaking Changes
- Supports only py3.6+
- All wapi calls changed to sapi
- Websockets have changed to use Asynchronous context managers
Fixed
- get_historical_klines params
Added - Vanilla Options REST endpoints - Vanilla Options websockets - Futures order type enums
Updated
- websocket keep-alive functions for different socket types
- dependencies
Fixed
- change to User-Agent to avoid connection issues
Changed - Stock json lib to ujson (sammchardy#383)
Added
- Futures REST endpoints
- Lending REST endpoints
- OCO Orders function create_oco_order, order_oco_buy, order_oco_sell
- Average Price function get_avg_price
- Support for other domains (.us, .jp, etc)
Updated
- dependencies
Fixed
- websocket keepalive callback not found
Added
- symbol book ticker websocket streams
- margin websocket stream
Updated
- can call Client without any params
- make response a property of the Client class so you can access response properties after a request
Fixed
- issue with None value params causing errors
Added
- sub account endpoints
- dust transfer endpoint
- asset divident history endpoint
Removed
- deprecated withdraw fee endpoint
Added
- margin trading endpoints
Fixed
- depth cache clearing bug
Added
- limit param to DepthCacheManager
- limit param to get_historical_klines
- update_time to DepthCache class
Updated
- test coverage
Fixed
- super init in Websocket class
- removal of request params from signature
- empty set issue in aggregate_trade_iter
Added
- get_asset_details endpoint
- get_dust_log endpoint
- get_trade_fee endpoint
- ability for multiple DepthCacheManagers to share a BinanceSocketManager
- get_historial_klines_generator function
- custom socket timeout param for BinanceSocketManager
Updated
- general dependency version
- removed support for python3.3
Fixed
- add a super init on BinanceClientProtocol
Added
- timestamp in milliseconds to get_historical_klines function
- timestamp in milliseconds to aggregate_trade_iter function
Fixed
- Don't close user stream listen key on socket close
Added
- get_withdraw_fee function
Fixed
- Remove unused LISTENKEY_NOT_EXISTS
- Optimise the historical klines function to reduce requests
- Issue with end_time in aggregate trade iterator
Fixed
- Issue with get_historical_klines when response had exactly 500 results
- Changed BinanceResponseException to BinanceRequestException
- Set default code value in BinanceApiException properly
Fixed
- User stream websocket keep alive strategy updated
Fixed
- get_historical_klines response for month interval
Added
- system status endpoint get_system_status
Added
- mini ticker socket function start_miniticker_socket
- aggregate trade iterator aggregate_trade_iter
Fixes
- clean up interval_to_milliseconds logic
- general doc and file cleanups
Fixes
- fixed handling Binance errors that aren't JSON objects
Fixes
- added missing dateparser dependency to setup.py
- documentation fixes
New version because why not.
Added
- get_historical_klines function to fetch klines for any date range
- ability to override requests parameters globally
- error on websocket disconnect
- example related to blog post
Fixes
- documentation fixes
Added
- check for name parameter in withdraw, set to asset parameter if not passed
Update
- Windows install error documentation
Removed
- reference to disable_validation in documentation
Added
- addressTag documentation to withdraw function
- documentation about requests proxy environment variables
Update
- FAQ for signature error with solution to regenerate API key
- change create_order to create_test_order in example
Fixed
- reference to BinanceAPIException in documentation
Fixed
- removed all references to WEBSOCKET_DEPTH_1 enum
Added
- Wait for depth cache socket to start
- check for sequential depth cache messages
Updated
- documentation around depth websocket and diff and partial responses
Removed
- Removed unused WEBSOCKET_DEPTH_1 enum
- removed unused libraries and imports
Fixed
- Signature invalid error
Added
- get_asset_balance helper function to fetch an individual asset's balance
Fixed
- added timeout to requests call to prevent hanging
- changed variable type to str for price parameter when creating an order
- documentation fixes
Added
- refresh interval parameter to depth cache to keep it fresh, set default at 30 minutes
Fixed
- watch depth cache socket before fetching order book to replay any messages
Updated
- updated dependencies certifi and cryptography to help resolve signature error
Fixed
- fixed websocket reconnecting, was no distinction between manual close or network error
Changed
- change symbol parameter to optional for get_open_orders function
- added listenKey parameter to stream_close function
Added
- get_account_status function that was missed
Changed
- change depth cache callback parameter to optional
Added
- note about stopping Twisted reactor loop to exit program
Added
- get_symbol_info function to simplify getting info about a particular symbol
Changed
- Increased default limit for order book on depth cache from 10 to 500
Added
- symbol property made public on DepthCache class
Changed
- Enums now also accessible from binance.client.Client and binance.websockets.BinanceSocketManager
Changed
- User stream refresh timeout from 50 minutes to 30 minutes
- User stream socket listen key change check simplified
Added
- start_multiplex_socket function to BinanceSocketManager to create multiplexed streams
Added
- Close method for DepthCacheManager
Fixes
- Fixed modifying array error message when closing the BinanceSocketManager
Updating to match new API documentation
Added
- Recent trades endpoint
- Historical trades endpoint
- Order response type option
- Check for invalid user stream listen key in socket to keep connected
Fixes
- Fixed exchange info endpoint as it was renamed slightly
Fixes
- Fixed stopping sockets where they were reconnecting
- Fixed websockets unable to be restarted after close
- Exception in parsing non-JSON websocket message
Removed
- Removed websocket update time as 0ms option is not available
Added
- Reconnecting websockets, automatic retry on disconnect
Added
- Get deposit address endpoint
- Upgraded withdraw endpoints to v3
- New exchange info endpoint with rate limits and full symbol info
Removed
- Order validation to return at a later date
Fixes
- Fix order validation for market orders
- WEBSOCKET_DEPTH_20 value, 20 instead of 5
- General tidy up
Fixes
- Fix multiple depth caches sharing a cache by initialising bid and ask objects each time
Fixes
- check if Reactor is already running
Added
- support for BNB market
Fixes
- fixed error if new market type is created that we don't know about
Added
- depth parameter to depth socket
- interval parameter to kline socket
- update time parameter for compatible sockets
- new enums for socket depth and update time values
- better websocket documentation
Changed
- Depth Cache Manager uses 0ms socket update time
- connection key returned when creating socket, this key is then used to stop it
Fixes
- General fixes
Fixes
- Fixes for broken tests
Added
- More test coverage of requests
Fixes
- Order quantity validation fix
Added
- Withdraw exception handler with translation of obscure error
Fixes
- Validation fixes
Added
- Withdraw endpoints
- Order helper functions
Added
- Symbol Depth Cache
Changes
- Upgrade to v3 signed endpoints
- Update function documentation
Changes
- Added get_all_tickers call
- Added get_orderbook_tickers call
- Added some FAQs
Fixes
- Fix error in enum value
Changes
- Added parameter to disable client side order validation
Changes
- Updated documentation
Fixes
- Small bugfix
Added
- Travis.CI and Coveralls support
Changes
- Validation for pairs using public endpoint
Added
- Validation for HSR/BTC pair
Websocket release
Added
- Websocket manager
- Order parameter validation
- Order and Symbol enums
- API Endpoints for Data Streams
Initial version
Added
- General, Market Data and Account endpoints