Nautilus-trader

Latest version: v1.214.0

Safety actively analyzes 723177 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 9 of 20

1.168.0

Released on 29th January 2023 (UTC).

Breaking Changes
- Removed `Cache.clear_cache()` (redundant with the `.reset()` method)

Enhancements
- Added `Cache` `.add(...)` and `.get(...)` for general 'user/custom' objects (as bytes)
- Added `CacheDatabase` `.add(...)` and `.load()` for general cache objects (as bytes)
- Added `RedisCacheDatabase` `.add(...) `and `.load()` for general Redis persisted bytes objects (as bytes)
- Added `Cache.actor_ids()`
- Added `Actor` cached state saving and loading functionality
- Improved logging for called action handlers when not overridden

Fixes
- Fixed configuration of loading and saving actor and strategy state

---

1.167.0

Released on 28th January 2023 (UTC).

Breaking Changes
- Renamed `OrderBookData.update_id` to `sequence`
- Renamed `BookOrder.id` to `order_id`

Enhancements
- Introduced Rust PyO3 based `ParquetReader` and `ParquetWriter`, thanks twitu
- Added `msgbus.is_subscribed` (to check if topic and handler already subscribed)
- Simplified message type model and introduce CQRS-ish live messaging architecture

Fixes
- Fixed Binance data clients order book startup buffer handling
- Fixed `NautilusKernel` redundant initialization of event loop for backtesting, thanks limx0
- Fixed `BacktestNode` disposal sequence
- Fixed quick start docs and notebook

---

1.166.0

Released on 17th January 2023 (UTC).

Breaking Changes
- `Position.unrealized_pnl` now `None` until any realized PnL is generated (to reduce ambiguity)

Enhancements
- Added instrument status update subscription handlers, thanks limx0
- Improvements to InteractiveBrokers `DataClient`, thanks rsmb7z
- Improvements to async task handling for live clients
- Various improvements to Betfair adapter, thanks limx0

Fixes
- Fixed netted `Position` `realized_pnl` and `realized_return` fields, which were incorrectly cumulative
- Fixed netted `Position` flip logic (now correctly 'resets' position)
- Various fixes for Betfair adapter, thanks limx0
- InteractiveBrokers integration docs fixes

---

1.165.0

Released on 14th January 2023 (UTC).

A number of enum variant names have been changed in favour of explicitness,
and also to avoid C naming collisions.

Breaking Changes
- Renamed `AggressorSide.NONE` to `NO_AGGRESSOR`
- Renamed `AggressorSide.BUY` to `BUYER`
- Renamed `AggressorSide.SELL` to `SELLER`
- Renamed `AssetClass.CRYPTO` to `CRYPTOCURRENCY`
- Renamed `LiquiditySide.NONE` to `NO_LIQUIDITY_SIDE`
- Renamed `OMSType` to `OmsType`
- Renamed `OmsType.NONE` to `UNSPECIFIED`
- Renamed `OrderSide.NONE` to `NO_ORDER_SIDE`
- Renamed `PositionSide.NONE` to `NO_POSITION_SIDE`
- Renamed `TrailingOffsetType.NONE` to `NO_TRAILING_OFFSET`
- Removed `TrailingOffsetType.DEFAULT`
- Renamed `TriggerType.NONE` to `NO_TRIGGER`
- Renamed `TriggerType.LAST` to `LAST_TRADE`
- Renamed `TriggerType.MARK` to `MARK_PRICE`
- Renamed `TriggerType.INDEX` to `INDEX_PRICE`
- Renamed `ComponentState.INITIALIZED` to `READY`
- Renamed `OrderFactory.bracket(post_only)` to `post_only_entry`
- Moved `manage_gtd_expiry` to `Strategy.submit_order(...)` and `Strategy.submit_order_list(...)`

Enhancements
- Added `BarSpecification.timedelta` property, thanks rsmb7z
- Added `DataEngineConfig.build_time_bars_with_no_updates` config option
- Added `OrderFactory.bracket(post_only_tp)` param
- Added `OrderListIdGenerator` and integrate with `OrderFactory`
- Added `Cache.add_order_list(...)`
- Added `Cache.order_list(...)`
- Added `Cache.order_lists(...)`
- Added `Cache.order_list_exists(...)`
- Added `Cache.order_list_ids(...)`
- Improved generation of `OrderListId` from factory to ensure uniqueness
- Added auction matches for backtests, thanks limx0
- Added `.timedelta` property to `BarSpecification`, thanks rsmb7z
- Numerous improvements to the Betfair adapter, thanks limx0
- Improvements to Interactive Brokers data subscriptions, thanks rsmb7z
- Added `DataEngineConfig.validate_data_sequence` (default `False` and currently only for `Bar` data), thanks rsmb7z

Fixes
- Added `TRD_GRP_*` enum variants for Binance spot permissions
- Fixed `PARTIALLY_FILLED` -> `EXPIRED` order state transition, thanks bb01100100

---

1.164.0

Released on 23rd December 2022 (UTC).

Breaking Changes
None

Enhancements
- Added managed GTD order expiry (experimental feature, config may change)
- Added Rust `ParquetReader` and `ParquetWriter` (for `QuoteTick` and `TradeTick` only)

Fixes
- Fixed `MARKET_IF_TOUCHED` orders for `OrderFactory.bracket(..)`
- Fixed `OrderEmulator` trigger event handling for live trading
- Fixed `OrderEmulator` transformation to market orders which had a GTD time in force
- Fixed serialization of `OrderUpdated` events
- Fixed typing and edge cases for new `msgspec`, thanks limx0
- Fixed data wrangler processing with missing data, thanks rsmb7z

---

1.163.0

Released on 17th December 2022 (UTC).

Breaking Changes
None

Enhancements
None

Fixes
- Fixed `MARKET_IF_TOUCHED` and `LIMIT_IF_TOUCHED` trigger and modify behavior
- Fixed `MatchingEngine` updates of stop order types
- Fixed combinations of passive or immediate trigger vs passive or immediate fill behavior
- Fixed memory leaks from passing string pointers from Rust, thanks twitu

---

Page 9 of 20

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.