Software Roadmap and Release Notes
Past Releases
2026-02-26 Release Notes
Software Version 1.0.4.d977fd4
New Features
- Public order fill information from CME Trade Summary messages is now normalized into
onbookorderwithorderupdatetype::OU_FILL. Docs - New field
bookorder::aggressingindicates whether the public filled order was aggressive. This field is only available when the aggressor side is provided by CME. Docs - New field
trade::numOrdersis populated with the number of affected orders from the CME Trade Summary message. Docs
Enhancements
- CME iLink (
cmeilink3)persist-fileminor optimizations for improved resiliency. - Fixed an issue where the
tradelogtoionapplication occasionally built a cumulative HOST file instead of an iterative one. nanoconda-clilogging improvements for API errors whenlog-api-errorsis enabled.
2026-02-19 Release Notes
Software Version 1.0.4.c568aba
New Features
- Pre-trade risk settings now persist across session restarts. Set
persist-risktofalseto revert to legacy behavior. Docs - Added new CLI application
resetrisk, which resets risk to the configured values. Docs - New pre-trade risk parameter Max Daily Lots limits the total number of contracts that can be traded per day. This prevents runaway trading if an algo loops. Configure per asset using
maxdailylotsunder theRisk→Instrumentnode. Docs - Spread instruments must be subscribed by pattern for groups via the
patternparameter, for example:<SpreadGroup pattern="SR3:AB" />. Docs
Enhancements
throttle-limitandthrottle-windowvalues are now displayed in the GUI.- PTR errors are now logged in the Access log (in addition to the GUI) when
log-api-errorsis enabled. - DBN files now exit when playback completes.
persist-riskandlog-api-errorsnow default totrue.- A new trading session will not start if another instance for the same
accountIDis already running (prevents potential user errors). resetriskapplication will not run if another instance for the sameaccountIDis already running (prevents potential user errors).tradelogclearapplication will not run if another instance for the sameaccountIDis already running (prevents potential user errors).
2026-02-12 Release Notes
Software Version 1.0.4.56d05d3
New Features
- Added new CLI application
dbnbacktester, enabling high-speed strategy backtesting using Databento DBN files with inline plugin execution. Docs - Added new CLI application
dbnpublisher, which replays Databento DBN files and publishes normalized market data to shared memory, simulating a production environment. Docs
Enhancements
- Improved the
simulatorto handle order queue priority more accurately during order modifications.
2026-01-29 Release Notes
Software Version 1.0.4.463bb96
Enhancements
- The
uilistenerinterface has been deprecated and its functionality incorporated as part of corelistenerinterface. initUIManager()has been deprecated, as Algo API functionality is now part of the core API.- Simplified WebAgent handling of remote client and GUI disconnects.
Recompile Required
A full application recompile is required to work with this software version.
2026-01-26 Release Notes
Software Version 1.0.4.e7b749b
New Features
- Added support for forwarding API
reasoncodeerrors to GUI for improved visibility. Thelog-api-errorsoption must be set totrueto enable this feature. Docs - The
tradelogtoionapplication can now generate subsequent HOST files that include all executions for the trading day. - Introduced a new
onlegfill()callback to provide leg-level execution details for spread instruments.
Enhancements
- Fixed an issue where
onbookordercallback could be received for unsubscribed symbols. - Spread instruments are now tracked on a dedicated line in order manager rather than on a per-leg basis, enabling correct risk limit configuration for inter-commodity spreads.
- Improved handling of Treasury futures contract multiplers expressed as as percentage of par.
- Reduced memory usage of the
simulatorapplication by approximately 30%. - Improved
simulatorsupport for MODIFY orders involving trigger prices onSTPandSLMTorder types.
Recompile Required
A full application recompile is required to work with this software version.
2026-01-15 Release Notes
Software Version 1.0.4.a803f99
Enhancements
- CRITICAL BUG FIX: Resolved an issue in CME deep book levels where total size and order count could be inflated.
- Added a new
reasoncode::API_VERSION_ERRORto explicitly detect and report API version mismatches. - The
tradelogtoionapplication can now accept tradelog files as input, in addition to the XML. - The
tradelogtoioncan now generate empty HOST files. - Minor cache locality improvements in client-side API.
- Minor stability improvements.
2026-01-08 Release Notes
Software Version 1.0.4.4fa7ba2
New Features
- Added a new
getSecurityLegsapi to retrieve legs details for spread instruments. Docs - Introduced
capitalreqandfeeconfigurations for better Margin use and Fee visibility . Docs - CME Match Event Indicator is normalized to
lastEventflag for trade, book, bookorder. Docs
Enhancements
- The GUI server now processes requests using an asynchronous architecture, improving resource utilization and stability when handling stale or disconnected user sessions.
- The simulator now correctly handles public trades with no aggressor side and zero-priced spread trades.
Recompile Required
A full application recompile is required to work with this software version.
2025-12-18 Release Notes
Software Version 1.0.4.8a334d2
New Features
- Added a new
starting-balanceconfiguration option to specify the initial account balance for a session. Docs - Added
accountBalance()to the API to retrieve the real-time account balance. Docs
Enhancements
- Reworked simulator logic for Stop, Stop Limit, and Limit orders to enable more accurate execution based on order book depth.
2025-12-01 Release Notes
Software Version 1.0.4.ae534b0
New Features
simulatorApplication now executes Limit orders based on queue-priority for orders originally placed within the top 10 price levels.- CME Order Request ID is now propogated to
nanoconda::order::orderRequestId.
Enhancements
- CRITICAL BUG FIX: L3 Orders could become corrupted due to recent memory layout changes related to the
writetimefield. - Minor Stability improvements for handling XML misconfigurations and GUI sessions resets.
Recompile Required
A full application recompile is required to apply the critical bug fix. The change affects the recently added receivetime and writetime fields.
2025-11-25 Release Notes
Software Version 1.0.4.6b8a54c
New Features
- Added new CLI application
tradelogstats, which generates trading statistics report from a tradelog. Docs - Added new CLI application
latencyreport, which displays a snapshot of session latency metrics. Docs - Added new
efvi-hw-timestampsconfig option forcmemdp3application. When enabled, thereceivetimefield is with hardware timestamps. Docs - Added new timestamp fields
receivetimeandwritetimetonanoconda::bookorderfor improved API consistency. Docs
Recompile Required for Timestamp Fields
The new receivetime and writetime fields are not available in existing builds.
Recompile your client applications to access these new timestamp fields.
Enhancements
- GUI now clears the selected
Instrumentin the Algo Window on any Algo disconnect or reconnect. - GUI now properly handles small integer values such as
NC_USandNC_UC.
2025-11-20 Release Notes
Software Version 1.0.4.2019e19
Enhancements
- Improved Remote Client API behavior when
stop()andstart()are called multiple times. - The API now notifies algos with
*reject()callbacks in the corner case where an in-flight request is discarded by the exchange gateway because the user blocked it mid-flight.
2025-11-13 Release Notes
Software Version 1.0.4.267b362
New Features
- New
onconnectionerrorcallback added to Remote client API Docs
Enhancements
- RAM Usage Reduced by 40% for Nanoconda CLI by reducing the total number of symbols to 50K.
- Improvements for
cmebacktesterprocessing of network data for product definitions.
2025-10-29 Release Notes
Software Version 1.0.4.d51e02a
New Features
- Remote client now supports callbacks for important events. Docs
- New order type
nanoconda::orderType::WARMthat can be used to warm cache on the sending path. Docs - Real-time session statistics (TCP activity, latency histogram and breakdown) reporting to Redis and Web portal.
Enhancements
- Various minor latency improvements for TCPDirect critical path.
- Data rate improvements for GUI and Server communication.
- Remote Client to handle server shutdowns with grace.
- CME Business Rejects (without Order ID) are optimized and get passed to API more transparently
2025-10-07 Release Notes
Software Version 1.0.4.b300ba2
Highlights - Version 1.0.4
- Transition to Version 104 introduces core architectural rework for streamlined DMA operations.
- Full support for trading options and spreads in both live trading and the simulator.
- Re-architected DMA sessions to run on a single core, improving efficiency and simplifying resource allocation. Docs
Performance Enhancements
- Latency improvements: Reduced round-trip and processing delays.
- Throughput improvements: Higher capacity and faster handling of market data and orders.
- Stability improvements: Increased robustness under production load.
- Incoming latency and tradelog size improvements: Optimized handling of order and fill logs with reduced overhead.
This release marks a substantial step forward in stability, performance, and functionality. We recommend all users upgrade to Version 104 to take full advantage of these improvements.
2025-08-14 Release Notes
Software Version 1.0.2.7271e22
API Changes
- GUI Algo controls API has been modified based on client usage.
nanoconda::algodatastructure has been replaced by two separate stuctures:nanoconda::algorequestandnanoconda::algorecord. This change allows for more Algo Report lines in the GUI (up to 40) and improves network efficiency by 300%. Docs
New Features
- A new
nanoconda_prototypes.hheader file with sample algorithms will be destributed to clients. It is intended to be a starting point for user algos. Users may freely copy, modify or inherit the header. The header file will evolve with common algorithms examples. Initial algorithms provided: Bracket Orders and Simple orders
2025-07-24 Release Notes
Software Version 1.0.2.7f77e27
New Features
- Support for individual Book Order Update – This feature enables Level 3 (L3) processing by the algorithm, such as constructing the full order book or identifying order-level changes between two
onbook()callbacks. Docs - New CLI application
cmebacktester- Runs user-defined plugin code inline while reading from a set of PCAP files. This enables high-speed backtesting without concerns about client-side latency. All trading is simulated using the in-memory Simulator. Docs
2025-07-17 Release Notes
Software Version 1.0.2.f4cb9e2
New Features
- Redis Reporting Support – The CLI now supports submitting reports to a Redis database, enabling remote monitoring and streamlined session administration.
2025-07-03 Release Notes
Software Version 1.0.2.2ecec39
Improvements
- Simulator: Orders with a quantity of 3 or more are now always executed as partial fills. This change helps test algorithm behavior under partial fill conditions.
- Improved stability for multithreaded use of the recently added
getSecurityStats()API.
2025-06-26 Release Notes
Software Version 1.0.2.b90c71a4
API Changes
- Added
nanoconda::remotesessionAPI for accessing the trading session remotely and ability to monitor and manage risk limits programmatically. Docs - Added
nanoconda::listener::oncancelall()andnanoconda::listener::ontracecomplete()callbacks, which can be useful when replaying a trace file
Improvements
- Added functionality to replay multuple PCAP files in the same process. PCAP files will be synchronized based on timestamps. Docs
- Added trace functionality for Order Entry CLI applications (Ex:
-a cmeilink3), which traces all API activity for a session (including both Algo and GUI activity) in a file specified bytrace-fileattribute. Docs
2025-06-19 Release Notes
Software Version 1.0.2.8af7d98
API Changes
- Added
nanoconda::dmasession::getSecurityStatsAPI for accessing individual instrument trading statistics Docs - Added
nanoconda::dmasession::sessionPnl()andnanoconda::dmasession::maxDrawdown()APIs for accessing total session P&L and Maximum configured drawdown values Docs - Added
nanoconda::getSymbolId()API to retrieve NanocondasymbolIdad hoc. Docs - Added
nanoconda::security::segmentIdfield to pass Market Segment Id information for an instrument. Docs
Improvements
- Trade Log is now backed up by disk and saved in
/var/nanoconda. Transparent HugePages will be used at best effort at kernel discretion. - GUI stale connections are now recognized after 20 seconds of inactivity to allow for slower remote clients.
- File Logger latency slightly improved by pre-caching next sequential write memory in CPU.
Roadmap
Multiple Exchange sessions per DMA core - ETA 2026-03-05
Support for multiple exchange sessions per DMA core, allowing a single core to handle parallel CME MSGW flows and tenant-specific sessions in multi-tenant environments. This reduces resource contention while preserving ultra-low latency.
Remote Client Trading API - ETA 2026-03-19
This feature exposes the remote client trading functionality—currently used by the Nanoconda GUI—as a standalone API. It enables running algorithms on a remote machine and supports trader-specific limits and strategies. The API is particularly useful in scenarios where trading is semi-automatic, not latency-sensitive or needs to integrate into an existing Trading System or GUI. It also allows for multiple traders and algos to share a single order session with the exchange while keeping their trading separate from each other.