Skip to content

v1.0.0

Latest

Choose a tag to compare

@github-actions github-actions released this 16 Nov 02:37
9c957b5

1.0.0 (2024-11-16)

⚠ BREAKING CHANGES

  • macro namings have been changed and unified

Features

  • add adverse selection guard (20ad46d)
  • add and test python binding (9efa963)
  • add ascendex (a684d85)
  • add balances and positions endpoints for binance family (6c13277)
  • add binance and binance futures (ec383e7)
  • add Bitfinex execution management service (a1ea659)
  • add bitfinex send request by websocket (1b9a15a)
  • add bitfinex send request by websocket (ee5fbef)
  • add bitget execution management service (cb40fbe)
  • add bitmart execution management service (b0c23c5)
  • add bitmart market data service (073ba9c)
  • add bybit execution management service (1d01298)
  • add bybit market data service (e9c2cf2)
  • add bybit-derivatives execution management service (42bd522)
  • add bybit-derivatives market data service (c91a074)
  • add c# support (4c3a4de)
  • add coinbase get account (b76ddf4)
  • add custom event handler (4bd068b)
  • add draft for rest query for trades, candlesticks, and market depth - binance (61a0c73)
  • add draft for rest query for trades, candlesticks, and market depth - bybit (8a68969)
  • add draft for rest query for trades, candlesticks, and market depth - kucoin (a4c4d8e)
  • add draft for rest query for trades, candlesticks, and market depth - okx (cfb7c91)
  • add ENABLE_UPDATE_ORDER_BOOK_TICK_BY_TICK env var to market making application (49c00e4)
  • add execution management for crypto.com (78d92b6)
  • add feature for streaming exchange provided candlestick (237998b)
  • add fields to kucoin instrument and order info (6adfd99)
  • add first draft for generic private request (773b60f)
  • add first draft for kucoin execution management (62a6961)
  • add ftx market data (752c24a)
  • add ftx order book checksum (91f6899)
  • add GET_INSTRUMENT endpoint (e3efa59)
  • add huobi higher frequency order book (11c0b3f)
  • add huobi order subscription trade details (58976ae)
  • add huobi-usdt-swap execution management (08d214c)
  • add huobi-usdt-swap market data (db8ecfe)
  • add java binding (d32f42b)
  • add kucoin subscription and data parsing logics (5d9b0ae)
  • add kucoin-futures execution management service (cecd85e)
  • add market data service for kraken futures (b0dd5da)
  • add market data service for kucoin futures (a77d585)
  • add mexc and mexc-futures market data service (605b2e3)
  • add mexc execution management service (5d27bc3)
  • add OHLC stream, test, and update README.md (0f72515)
  • add okex websocket for order execution (4214146)
  • add okex-perpetual-swap market data (a03fb78)
  • add options for order direciton reversion (5c03f3d)
  • add ping pong on application level (b4e6051)
  • add second draft for generic private request (87a4cbc)
  • add second draft for kucoin execution management (5bfc925)
  • add secondary correlation id (f039c69)
  • add support for generic public subscription (6a785e4)
  • add support for go binding (9917bd8)
  • add support for javascript binding (cf32f73)
  • add taker action for market making application (21cba62)
  • add trades market data streaming (c9b7bdc)
  • add user-defined timer (7c8abdc)
  • add websocket order updates (0dcd880)
  • add whitebit market data service (f46c230)
  • complete ErisX integration (839a475)
  • deribit execution management (6c2b95f)
  • deribit market data (814fa3e)
  • execution management bitmex (0792a8c)
  • execution management coinbase (a319337)
  • execution management for gateio (7c95966)
  • execution management gemini (9111d50)
  • execution management huobi (0865391)
  • finalize adding bitstamp execution management service (cfa254e)
  • finalize adding start time to spot market making app (d9f94af)
  • finalize Huobi websocket order update and private trade (a2e9e75)
  • finalize kraken execution management; improve spot market making backtest speed (044cc3a)
  • finalize kucoin execution management (e1e432c)
  • finalize paper trade mode for spot market making application (2bc52f7)
  • finalize spot market makng application in beta (9df4263)
  • gemini websocket order updates (b9f72e7)
  • get all available instruments (be0475c)
  • immediate submit new orders after complete fill (77d0a6f)
  • implement cancel all open orders for bybit (056bb54)
  • kraken futures execution management service (1403c80)
  • kucoin spot margin trading interface (ebb978d)
  • let end user extend service class (3087f80)
  • make binance-margin easier (58d11a4)
  • make binance-margin easier (54d10a7)
  • make binance-margin easier (67d14b7)
  • making book update messages available (bf22fc8)
  • market data for gateio (4446372)
  • market data for gateio perpetual futures (8487179)
  • market data service for crypto.com (708946d)
  • override exchange url at runtime (030fe30)
  • polish backtest engine (a628e79)
  • send generic public requests (dd8c450)
  • support BALANCE_UPDATE and POSITION_UPDATE in okx (e3a3d07)
  • Update Bitget market service APIs and WS from v1 to v2; add: candlestick market data operations (4b41c2c)
  • Update WebSocket to v5 for Bybit spot market service (7fda872)
  • Updated Bitget execution services for futures markets from V1 to V2; add: balance and positions updates (#485) (7f90912)
  • Updated REST APIs for Bybit market services from v3 to v5 (cbecea2)
  • upgrade bybit API from v3 to v5 (fa26678)

Bug Fixes

  • access the individual fields of a FIX message when using Python binding (1ccc1d8)
  • add accidentally removed default constructor for python bindings; remove RAPIDJSON_ASSERT (f4a366c)
  • add back accidentally removed brace (8348daf)
  • add example for python multiple subscription (1a9e9af)
  • add kraken application level ping pong (fa51675)
  • add kucoin private trade client order id (a65b9b4)
  • add market impact factor in backtest (d15959d)
  • add message time to FTX order updates (6cbd0a8)
  • add missing fields for ascendex (b89ea4e)
  • add missing fields for okex (f8cf7f2)
  • add one more public method for Request (b753ce1)
  • add ping handler (ed08ff3)
  • add placeholders for exchagnes other than coinbase (3978737)
  • always cancel open orders on ws reconnect (c9813ef)
  • always cancel open orders on ws reconnect (1c09b42)
  • always cancel open orders on ws reconnect (cf24eba)
  • always cancel open orders on ws reconnect (abf6abb)
  • avoid logging account balance when both base and quote balances are zero (de887f1)
  • avoid negative wait time in corner cases (5103257)
  • backtest segmentation fault due to getAccountBalances (5b955bf)
  • binance client order id (0b53826)
  • binance client order id (6f23e58)
  • binance no longer supports depth 1 (0470807)
  • binance order status update (a270b3b)
  • binance order status update (3ae209c)
  • binance ORIGINAL_CLIENT_ORDER_ID from ORDER_UPDATE (491ab9a)
  • binance send the listenKey ping at continuous intervals (0c2f785)
  • binance signReqeustForRestGenericPrivateRequest (5ade5ff)
  • binance subscribe to bookTicker stream when requested market depth is 1 (cb5c3d4)
  • binance SUBSCRIPTION_STARTED correlation id (dc6a71a)
  • binance_futures unit test variable overflow (6fa83ce)
  • bitfinex first trade message (bd9ae43)
  • bitfinex order instrument; ftx market order (ff349d9)
  • bitget spot and futures websocket handshake error (3f597cc)
  • bitget-futures parse json response (b722edd)
  • bitmex pong message parsing error (c4ea971)
  • bitstamp asset is uppercase (fc9663d)
  • bitstamp client_order_id (e240b9c)
  • bitstamp EXECUTION_MANAGEMENT_EVENTS_PRIVATE_TRADE (6be8d13)
  • bitstamp extractInstrumentInfo function (d63364e)
  • bitstamp get instruments info (7c357e7)
  • bitstamp header for generic private requests (e6268b2)
  • broken market data trade subscription (edf4dca)
  • bybit and kucoin correlation id (740a7b2)
  • bybit and mexc market data service (13d6b8b)
  • bybit client order id (958a657)
  • bybit derivatives market depth (697647c)
  • CentOS segmentation fault (1a21e5d)
  • change binance us params from request body to query string (cee9fc7)
  • change default value for httpMaxNumRetry and httpMaxNumRedirect to 1 (33a8c62)
  • clarify paper trading in README.md (a756934)
  • clarify paper trading in README.md (5d63934)
  • code crash if gemini websocket connection fails (e2b384a)
  • compare decimals in scientific notations (d1efc4d)
  • connection bug (651b426)
  • correct rsi calculation details (4693508)
  • correct taker order details (13a8f42)
  • cppling (2baede7)
  • cppling (7c8d7a2)
  • cpplint (4a03d67)
  • cpplint (6e8c77b)
  • cpplint (f81401d)
  • cpplint (2182bd5)
  • cpplint (5386328)
  • cpplint errors (bd4621b)
  • cryptocom websocket heartbeat (e689da4)
  • cryptocom websocket heartbeat (5c45c9a)
  • cryptocom websocket heartbeat (7253aa2)
  • decompression memory leak (1c020d7)
  • details about okex (1e98864)
  • error handling for fetching market depth initial snapshot (6470726)
  • extend lifetime of connection variable to avoid crash (22f3e8a)
  • extract account info error and subscribe ORDER_UPDATE error in bitget_futures (4f957be)
  • extract account info in binance derivatives error (573d078)
  • fix accidental changes made in include/ccapi_cpp/service/ccapi_market_data_service_coinbase.h (2f02a50)
  • fix bitmex trade message type tu vs te (753e32b)
  • fix boost (1141665)
  • fix build errors (71c6703)
  • fix build failure after clang formatting (8a5f0ab)
  • fix build_cmake.yml (78a1d7d)
  • fix compile error in execution management (f0393c1)
  • fix example build CMakeLists.txt (8927fa5)
  • fix FIX API two writes in a row (e1273a8)
  • fix incorrect indendation in binding/python/example/src/market_data_simple/main.py (7a9acee)
  • fix linting errors (dae0778)
  • fix long type overflow (6ff9b45)
  • fix MARKET_DEPTH_RETURN_UPDATE logic (c49b8b7)
  • Fix readme formatting (b6f8f5a)
  • fix time resolution (b5a703a)
  • fix various issues in kucoin and base class code (505a4ae)
  • FTX cancel order by client order id (be51baf)
  • ftx CLIENT_ORDER_ID from PRIVATE_TRADE (38a95de)
  • FTX heartbeat non-compliance (b6ab07a)
  • ftx json parsing (790fde8)
  • ftx json parsing (dbfcc41)
  • ftx market data message parse as string instead of float/double (ded9021)
  • ftx rest base url (b2915e1)
  • ftx subaccount (886ba47)
  • gateio ping timeouts and wallet balances (394b9f6)
  • gateio TRADE_ID and IS_BUYER_MAKER (9278630)
  • gemini get instruments (8daad5b)
  • gemini nonce issue for concurrent order submissions (43789fa)
  • gemini, kraken, and bitfinex (ec5f2d4)
  • github workflow (8b3306a)
  • github workflow (573559e)
  • heartbeat for cryptocom and kraken-futures (2e6478d)
  • hot fix incorrect service name in subscription (256eaf3)
  • hotfix ioContextPtr file descriptor leak (b486e37)
  • hotfix OHLC empty data (6e59d67)
  • http request failure (24783fd)
  • crypto-chassis#432 (45dc8fe)
  • huobi generic public subscription (80c4530)
  • huobi instrument info parsing (8eab8e1)
  • huobi order info parsing (fe370d9)
  • huobi private requests (9e0ff8f)
  • huobi subscribe to both order update and private trade (e1bfd6f)
  • huobi trade market data sometimes receive numbers in scientific notation (56ba97f)
  • Kucoin connection fail and retry logic (3fd8809)
  • kucoin futures get order by client order id (06bbe1c)
  • Kucoin ping pong timing issue (2ff165d)
  • kucoin ping/pong (5d6cdb6)
  • kucoin-futures subscription issue #462 (58d2e1d)
  • market making app publc trade first message (41ca713)
  • mexc order quantity in order update message (61199c3)
  • move enableMarketMaking to the correct location in market making application (c12d593)
  • namespace in logger (ce47ef7)
  • need different inflate_bits for huobi and okex (24f0874)
  • negative Decimal in scientific notation (8cf2776)
  • no correlation Id returned by event notifying orderbook subscription with Gate.io (27b995a)
  • nullptr exception (341f620)
  • nullptr exception (de7a8ac)
  • okex get open orders without symbol (397cb39)
  • okex market data websocket sporadic parsing error (cd4e36b)
  • okx subscribe to both order update and private trade (1062469)
  • okx vip data stream (ce296ab)
  • paper trading doesn't produce private trades (a9921f2)
  • prefix CCAPI_ to ENABLE_... macros to avoid potential name conflicts in end user code (8a55910)
  • Prevent out-of-bounds access in ceilSearch function (65de4ce)
  • print double with enough precision (c98168c)
  • python binding CMakeLists.txt regression in commands (69451f9)
  • rapidjson error handling (4be60a5)
  • read orderLinkId from bybit order updates (0a0ca73)
  • regression in ccapi_execution_management_service.h (35334e4)
  • regression on kucoin (a8a0b2e)
  • remove huobi invalid action ping from execution management (5e6f4d8)
  • remove shadowed variable (19908de)
  • remove unintended recursive call in include/ccapi_cpp/ccapi_util_private.h (3876039)
  • remove unneeded newlines in download_historical_market_data.py (990e18f)
  • rename name to exchangeName in class Service which would otherwise conflict with C++ internals (b45c743)
  • request specific url (d49ad11)
  • reset http connection timeout each time the connection is used (1f50826)
  • resolve merge conflicts (5066737)
  • rewrite internal date functions (a8f2d5f)
  • small bug fix (edb192e)
  • small bug fix (4f9e28e)
  • small fix (a0768bc)
  • small fix (efba795)
  • small fix (b095999)
  • small fix (7ed2df6)
  • small fix (c3c5620)
  • small fixes (5650ae7)
  • small fixes (93c4799)
  • small fixes (e632a47)
  • small fixes (2c994fd)
  • small fixes (0513d44)
  • small fixes (d58ce3a)
  • small fixes (833d55c)
  • small fixes (0c9691a)
  • small fixes (07a4099)
  • small fixes (eeb36b4)
  • small fixes (c796c71)
  • small fixes (c88f43b)
  • small fixes (fb12746)
  • small fixes (138b9c5)
  • small fixes (5c1b923)
  • small fixes (c56504f)
  • small fixes for mexc (f6bf6ef)
  • small regression (94fe95d)
  • small regression (64f9f42)
  • spot market making app account balance last row timestamp (2970520)
  • spot market making app paper traing mode available balance proportion (70df7b5)
  • std::transform segfault (aff3b50)
  • string printing issue (cdc3402)
  • timestamp for Message::Type::SESSION_CONNECTION_UP in market making app (edb3f46)
  • timestamp for Message::Type::SESSION_CONNECTION_UP in market making app (e655390)
  • timestamp for Message::Type::SESSION_CONNECTION_UP in market making app (50bed0f)
  • try again on dns and connection handshake failures (452ab3c)
  • typo (d306e3a)
  • typo in include/ccapi_cpp/service/ccapi_execution_management_service_binance_base.h (e97b00d)
  • typos (d0a8947)
  • update app/src/spot_market_making/config.env.example (3c2ae75)
  • update build_cmake.yml (9cd437c)
  • update include/ccapi_cpp/ccapi_util_private.h (79fabb8)
  • update README.md (114c719)
  • url typo for binance futures (2e845ea)
  • various fixes (518a15a)
  • various fixes (f8a6a3d)
  • various fixes on experimental features (53b1cb4)
  • various hotfixes (8a949fa)
  • write correct correlationIdList in SUBSCRIPTION_STARTED message for certain exchanges (0f7f8fd)

Performance Improvements

  • add options to fine tune buffer size (8c31d10)
  • add removeAll method in class Queue (67034d4)
  • disable nagle algorithm (9f8c49c)
  • focused optimizations on emplace semantics (0d4c086)
  • ftx BBO should use CCAPI_WEBSOCKET_FTX_BASE_CHANNEL_ORDERBOOKS (20ce60c)
  • improve app backtest compile speed (29a5e3f)
  • improve ssl context (f2b2f58)
  • make rapidjson use kParseNumbersAsStringsFlag (8ebd8f4)
  • several improvements in utility functions (a4058e6)
  • various optimizations for speed (46d3c20)

Reverts

  • Revert "docs: add @file command for session.h" (b6e9f9e)
  • Revert "chore: make code from community member to be formatted using google style" (83a5c3f)
  • Revert "Changes" (74cae20)
  • Revert "Upgrade: asio and websocketpp" (6932800)

Code Refactoring

  • comprehensive refactoring to get codebase ready to add feature execution management (ee35f9a)