v1.215.0
nautechsystems/nautilus_traderv1.215.0Apr 5, 2025by github-actions[bot]
AI Summary
This release introduces new cache purging methods and configuration options for the Live Execution Engine to manage data retention intervals and buffers. It also improves catalog query efficiency and refines databento venue mapping.
Key Highlights
- Added comprehensive cache purging methods and configuration options
- Improved catalog query efficiency with `instrument_ids` and `bar_types`
- Added `Order.ts_closed` property for tracking closed order timestamps
New Features
- Added `Cache.purge_closed_order`, `Cache.purge_closed_positions`, and `Cache.purge_account_events`
- Added purge configuration options (interval_mins, buffer_mins, lookback_mins) to `LiveExecEngineConfig`
- Added `Order.ts_closed` property
- Added `instrument_ids` and `bar_types` for `BacktestDataConfig`
- Added `venue_dataset_map` config option for `DatabentoDataConfig`
Full Release Notes
# NautilusTrader 1.215.0 Beta Released on 5th April 2025 (UTC). ### Enhancements - Added `Cache.purge_closed_order(...)` - Added `Cache.purge_closed_orders(...)` - Added `Cache.purge_closed_position(...)` - Added `Cache.purge_closed_positions(...)` - Added `Cache.purge_account_events(...)` - Added `Account.purge_account_events(...)` - Added `purge_closed_orders_interval_mins` config option for `LiveExecEngineConfig` - Added `purge_closed_orders_buffer_mins` config option for `LiveExecEngineConfig` - Added `purge_closed_positions_interval_mins` config option for `LiveExecEngineConfig` - Added `purge_closed_positions_buffer_mins` config option for `LiveExecEngineConfig` - Added `purge_account_events_interval_mins` config option for `LiveExecEngineConfig` - Added `purge_account_events_lookback_mins` config option for `LiveExecEngineConfig` - Added `Order.ts_closed` property - Added `instrument_ids` and `bar_types` for `BacktestDataConfig` to improve catalog query efficiency (#2478), thanks @faysou - Added `venue_dataset_map` config option for `DatabentoDataConfig` to override the default dataset used for a venue (#2483, #2485), thanks @faysou ### Breaking Changes None ### Internal Improvements - Added `Position.purge_events_for_order(...)` for purging `OrderFilled` events and `TradeId`s associated with a client order ID - Added `Consumer` for `WebSocketClient` (#2488), thanks @twitu - Improved instrument parsing for Tardis with consistent `effective` timestamp filtering, settlement currency, increments and fees changes - Improved error logging for Betfair `update_account_state` task by logging the full stack trace on error - Improved logging for Redis cache database operations - Standardized unexpected exception logging to include full stack trace - Refined type handling for backtest configs - Refined databento venue dataset mapping and configuration (#2483), thanks @faysou - Refined usage of databento `use_exchange_as_venue` (#2487), thanks @faysou - Refined time initialization of components in backtest (#2490), thanks @faysou - Upgraded Rust MSRV to 1.86.0 - Upgraded `pyo3` crate to v0.24.1 ### Fixes - Fixed MBO feed handling for Databento where an initial snapshot was decoding a trade tick with zero size (#2476), thanks for reporting @JackWCollins - Fixed position state snapshots for closed positions where these snapshots were being incorrectly filtered - Fixed handling of `PolymarketTickSizeChanged` message - Fixed parsing spot instruments for Tardis where `size_increment` was zero, now inferred from base currency - Fixed default log colors for Rust (#2489), thanks @filipmacek - Fixed sccache key for uv in CI (#2482), thanks @davidsblom ### Documentation Updates - Clarified partial fills in backtesting concept guide (#2481), thanks @stefansimik ### Deprecations - Deprecated strategies written in Cython and removed `ema_cross_cython` strategy example