|
4 | 4 | 2.0 |
5 | 5 | --- |
6 | 6 |
|
| 7 | +Version 2.1.0 (2025-12-06) |
| 8 | +^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| 9 | + |
| 10 | +This release includes several bug fixes, performance improvements, and new features based on recent development work. |
| 11 | + |
| 12 | +**Added** |
| 13 | + |
| 14 | +* **New EFP Data Support**: Added Exchange for Physical (EFP) data structures and ticker fields for futures trading |
| 15 | + |
| 16 | + * New ``EfpData`` dataclass with fields for basis points, implied future price, dividend impact, and expiration data |
| 17 | + * New ticker fields: ``bidEfp``, ``askEfp``, ``lastEfp``, ``openEfp``, ``highEfp``, ``lowEfp``, ``closeEfp`` |
| 18 | + * Support for EFP tick types in the wrapper |
| 19 | + |
| 20 | +* **Additional Ticker Fields**: New fields for enhanced market data access |
| 21 | + |
| 22 | + * ``openInterest``, ``lastRthTrade``, ``lastRegTime``, ``optionBidExch``, ``optionAskExch``, ``bondFactorMultiplier``, ``creditmanMarkPrice``, ``creditmanSlowMarkPrice``, ``delayedLastTimestamp``, ``delayedHalted``, ``reutersMutualFunds``, ``etfNavClose``, ``etfNavPriorClose``, ``etfNavBid``, ``etfNavAsk``, ``etfNavLast``, ``etfFrozenNavLast``, ``etfNavHigh``, ``etfNavLow``, ``socialMarketAnalytics``, ``estimatedIpoMidpoint``, ``finalIpoLast`` |
| 23 | + * New ``custGreeks`` option computation field |
| 24 | + * Enhanced ETF NAV (Net Asset Value) tracking fields |
| 25 | + |
| 26 | +* **Environment Variable Configuration**: Added ability to override flexReport URL with environment variable |
| 27 | + |
| 28 | + * New ``IB_FLEXREPORT_URL`` environment variable support |
| 29 | + * URL validation for custom endpoints |
| 30 | + * Updated documentation for flexible endpoint configuration |
| 31 | + |
| 32 | +* **Improved Event Loop Handling**: Better event loop retrieval with fallback mechanisms |
| 33 | + |
| 34 | + * Non-cached event loop access to avoid stale loop issues |
| 35 | + * Enhanced fallback for synchronous contexts |
| 36 | + * Better handling of closed event loops |
| 37 | + |
| 38 | +* **Missing Tick Types**: Implemented various tick types that were missing from the library |
| 39 | + |
| 40 | + * Support for tick types 57, 78, 79, 92-102, 22, 60, 90, 53, 38-44, 25, 26, 32, 33, 84, 85, 91, 100, 45, 88, 48, 77 |
| 41 | + * Optimized tick processing with lookup maps instead of if/else chains |
| 42 | + * New helper methods for timestamp and RT volume tick processing |
| 43 | + |
| 44 | +**Changed** |
| 45 | + |
| 46 | +* **Modern Python Syntax**: Updated type annotations to use modern Python 3.10+ syntax |
| 47 | + |
| 48 | + * Replaced ``Optional[Type]`` with ``Type | None`` union syntax |
| 49 | + * Converted ``Union[TypeA, TypeB]`` to ``TypeA | TypeB`` syntax |
| 50 | + * Updated imports to use more efficient organization |
| 51 | + |
| 52 | +* **Ruff Configuration**: Improved code quality with expanded linter exclusions |
| 53 | + |
| 54 | + * Added ``notebooks/``, ``upstream_api_architecture/``, and ``examples/`` to exclude list |
| 55 | + * Updated ruff rules for modern Python patterns |
| 56 | + |
| 57 | +* **Dependency Management**: Added explicit ``tzdata`` dependency for timezone support |
| 58 | + |
| 59 | + * Removed conditional import guard for ``zoneinfo`` since Python 3.9+ guarantees availability |
| 60 | + * Ensured timezone functionality works across all platforms |
| 61 | + |
| 62 | +* **Performance Improvements**: Optimized tick processing with O(1) dictionary lookups |
| 63 | + |
| 64 | + * Replaced sequential if/else chains with lookup maps for tick types |
| 65 | + * Added helper methods for timestamp and RT volume processing |
| 66 | + * More efficient string-to-datetime conversion |
| 67 | + |
| 68 | +**Fixed** |
| 69 | + |
| 70 | +* **Timebars Typo**: Fixed ``isUnset`` to ``isNan`` helper function in TimeBars class (:issue:`197`) |
| 71 | +* **FlexReport URL**: Fixed flexReport URL endpoint and added environment variable override support (:issue:`199`, :issue:`172`) |
| 72 | +* **Setuptools Warning**: Fixed deprecation warnings for modern setuptools (:issue:`198`) |
| 73 | +* **Event Loop Caching**: Fixed stale event loop bugs that occurred in complex async contexts (:issue:`160`, :issue:`186`, :issue:`159`) |
| 74 | +* **Empty Ticker Fields**: Fixed initialization of additional ticker fields to proper unset values |
| 75 | +* **Tick Type Processing**: Improved handling of various tick types with proper validation and processing |
| 76 | +* **URL Validation**: Added proper URL validation for flexReport requests |
| 77 | + |
| 78 | +**Dependency Updates** |
| 79 | + |
| 80 | +* Added explicit ``tzdata`` dependency to ensure timezone functionality across platforms (:issue:`188`) |
| 81 | +* Updated pyproject.toml to include license files and remove deprecated classifier (:issue:`182`) |
| 82 | + |
7 | 83 | Version 2.0.1 (2025-06-22) |
8 | 84 | ^^^^^^^^^^^^^^^^^^^^^^^^^^ |
9 | 85 |
|
|
0 commit comments