Releases: wboayue/rust-ibapi
Fixes request ID mapping
What's Changed
- Fixes request ID mapping for
IncomingMessages::TickReqParams
. It was not being routed formarket_data
requests.
Full Changelog: v1.0.0...v1.0.1
Comprehensive feature set and improved reliability
This release marks the first feature-complete version of the API. It incorporates community feedback and insights from building an automated trading system to create a more robust and user-friendly API that now achieves feature parity with the official API.
Due to substantial refactoring, there are some breaking changes, but the resulting code should be easier to maintain. Here’s an overview of key enhancements:
- Subscriptions Instead of Iterators: Rather than returning an iterator of streamed responses, the concept of a Subscription was introduced. In simple cases, a subscription can be converted into a blocking iterator. Subscriptions also provide applications with added flexibility, enabling iteration over items with a timeout or in a non-blocking fashion.
- Improved Connection Handling: The Client now detects disconnections from the TWS server and automatically attempts to reconnect using a Fibonacci backoff strategy. If reconnection attempts ultimately fail, an error is returned to the application.
- Thread Safety: The Client and underlying code are now thread-safe. However, the recommended model remains one client per thread for optimal correctness.
Allow client to be shared between threads
Adds changes from @mondeja thats allows the client to be shared between threads.
Sharing the client between threads was intentionally not allowed, but if you understand the potential issues this release allows that option. See discussion here.
The recommended model is still a client per thread, but now you have options.
Adds support for crypto
Adds support for Crypto security type SecurityType::Crypto
when creating contracts. Thanks @richard-fairthorne