v1.190.0

nautechsystems/nautilus_traderv1.190.0Mar 22, 2024by github-actions[bot]

AI Summary

This release enhances Databento adapter capabilities and logging resilience. It adds timeout configuration for database connections and CSV loader support, while improving Interactive Brokers connectivity.

Key Highlights

  • Added Databento adapter continuous/parent/instrument_id symbology support.
  • Implemented `LogGuard` to ensure global logger is flushed on termination.
  • Improved Interactive Brokers client connectivity resilience.

New Features

  • Added Databento adapter continuous, parent and instrument_id symbology support
  • Added `DatabaseConfig.timeout` config option
  • Added CSV tick and bar data loader params
  • Implemented `LogGuard` to ensure global logger is flushed on termination
  • Improved Interactive Brokers client connectivity resilience and component lifecycle
  • Improved Redis cache adapter and message bus error handling and logging
  • Improved Redis port parsing (`DatabaseConfig.port` can now be either a string or integer)
  • Upgraded `redis` crate to v0.25.2

Full Release Notes

# NautilusTrader 1.190.0 Beta

Released on 22nd March 2024 (UTC).

### Enhancements
- Added Databento adapter `continuous`, `parent` and `instrument_id` symbology support (will infer from symbols)
- Added `DatabaseConfig.timeout` config option for timeout seconds to wait for a new connection
- Added CSV tick and bar data loader params, thanks @rterbush
- Implemented `LogGuard` to ensure global logger is flushed on termination, thanks @ayush-sb and @twitu
- Improved Interactive Brokers client connectivity resilience and component lifecycle, thanks @benjaminsingleton
- Improved Binance execution client ping listen key error handling and logging
- Improved Redis cache adapter and message bus error handling and logging
- Improved Redis port parsing (`DatabaseConfig.port` can now be either a string or integer)
- Refactored `InteractiveBrokersEWrapper`, thanks @rsmb7z
- Redact Redis passwords in strings and logs
- Upgraded `redis` crate to v0.25.2 which bumps up TLS dependencies, and turned on `tls-rustls-webpki-roots` feature flag

### Breaking Changes
None

### Fixes
- Fixed JSON format for log file output (was missing `timestamp` and `trader_id`)
- Fixed `DatabaseConfig` port JSON parsing for Redis (was always defaulting to 6379)
- Fixed `ChandeMomentumOscillator` indicator divide by zero error (both Rust and Cython versions)