Skip to content

Commit 63d701e

Browse files
TexasCodingclaude
andcommitted
docs: Update all documentation for v3.2.0 release
- Update version numbers from v3.1.13 to v3.2.0 across all files - Add comprehensive v3.2.0 changelog entry documenting all improvements - Update README with new features and type system improvements - Update CLAUDE.md with latest changes and version info - Update docs/index.rst with v3.2.0 release notes - Emphasize type safety improvements and backward compatibility Major highlights documented: - Comprehensive type system overhaul with TypedDict and Protocols - New StatsTrackingMixin for error and memory tracking - Standardized deprecation system with decorators - 47 new tests for type system coverage - Type errors reduced from 100+ to just 13 - Full backward compatibility maintained 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
1 parent 916eed5 commit 63d701e

File tree

8 files changed

+107
-10
lines changed

8 files changed

+107
-10
lines changed

CHANGELOG.md

Lines changed: 85 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,91 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
1414
- Migration guides will be provided for all breaking changes
1515
- Semantic versioning (MAJOR.MINOR.PATCH) is strictly followed
1616

17+
## [3.2.0] - 2025-08-17
18+
19+
### Added
20+
- **🎯 Comprehensive Type System Overhaul**: Major improvements to type safety across the SDK
21+
- Added TypedDict definitions for all API responses and callback data structures
22+
- Created comprehensive Protocol definitions for all major SDK components
23+
- Implemented proper type hints for all async/await patterns
24+
- Added type-safe event data structures for the EventBus system
25+
26+
- **📊 StatsTrackingMixin**: New mixin for comprehensive error and memory tracking
27+
- Automatic error history tracking with configurable limits
28+
- Memory usage statistics for all managers
29+
- Performance metrics collection
30+
- Integrated into OrderManager, PositionManager, OrderBook, and RiskManager
31+
32+
- **📋 Standardized Deprecation System**: Unified deprecation handling across SDK
33+
- New `@deprecated` and `@deprecated_class` decorators
34+
- Consistent version tracking and removal schedules
35+
- Clear migration paths in all deprecation messages
36+
- Metadata tracking for deprecated features
37+
38+
- **🧪 Comprehensive Test Coverage**: Added 47 new tests for type system
39+
- Full test coverage for new TypedDict definitions
40+
- Protocol compliance testing
41+
- Task management mixin testing
42+
- Increased overall test coverage significantly
43+
44+
### Fixed
45+
- **🔧 Type Hierarchy Issues**: Resolved all client mixin type conflicts
46+
- Fixed incompatible type hierarchy between ProjectXBase and ProjectXClientProtocol
47+
- Corrected mixin method signatures to work properly with base class
48+
- Added proper attribute declarations in mixins
49+
- Fixed all "self" type annotations in mixin methods
50+
51+
- **✅ Response Type Handling**: Fixed union type issues in API responses
52+
- Added isinstance checks before calling .get() on API responses
53+
- Properly handle dict|list union types from _make_request
54+
- Fixed all "Item 'list[Any]' has no attribute 'get'" errors
55+
- Improved error handling for malformed API responses
56+
57+
- **🧑 Task Management**: Fixed async task lifecycle issues
58+
- Properly handle task cleanup on cancellation
59+
- Fixed WeakSet usage for garbage collection
60+
- Resolved all asyncio deprecation warnings
61+
- Improved error propagation in background tasks
62+
63+
### Improved
64+
- **📦 Code Organization**: Major structural improvements
65+
- Consolidated duplicate order tracking functionality
66+
- Removed dead code and unused features
67+
- Cleaned up imports and removed unnecessary TYPE_CHECKING blocks
68+
- Standardized error handling patterns
69+
70+
- **📝 Type Safety**: Dramatically improved type checking
71+
- Reduced type errors from 100+ to just 13 edge cases
72+
- All core modules now pass strict type checking
73+
- Better IDE support with proper type hints
74+
- Improved code completion and static analysis
75+
76+
- **🎯 API Consistency**: Standardized patterns across SDK
77+
- Consistent use of async/await patterns
78+
- Unified event handling through EventBus
79+
- Standardized error messages and logging
80+
- Consistent method naming conventions
81+
82+
### Performance
83+
- Memory tracking now integrated into all major components
84+
- Better garbage collection with proper weak references
85+
- Optimized event emission to prevent handler deadlocks
86+
- Improved type checking performance with better annotations
87+
88+
### Breaking Changes
89+
- None - Full backward compatibility maintained
90+
91+
### Deprecations
92+
- Legacy callback methods in OrderTrackingMixin (use EventBus instead)
93+
- Several internal utility functions marked for removal in v4.0.0
94+
95+
### Migration Notes
96+
No migration required from v3.1.x. The type system improvements are fully backward compatible.
97+
If you experience any type checking issues in your code:
98+
1. Update your type hints to match the new Protocol definitions
99+
2. Use the provided TypedDict types for API responses
100+
3. Follow the examples in the documentation for proper async patterns
101+
17102
## [3.1.13] - 2025-08-15
18103

19104
### Fixed

CLAUDE.md

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
44

5-
## Project Status: v3.1.13 - Stable Production Release
5+
## Project Status: v3.2.0 - Enhanced Type Safety Release
66

77
**IMPORTANT**: This project uses a fully asynchronous architecture. All APIs are async-only, optimized for high-performance futures trading.
88

@@ -431,7 +431,16 @@ async with ProjectX.from_env() as client:
431431

432432
## Recent Changes
433433

434-
### v3.1.13 - Latest Release
434+
### v3.2.0 - Latest Release (2025-08-17)
435+
- **Added**: Comprehensive type system overhaul with TypedDict and Protocol definitions
436+
- **Added**: StatsTrackingMixin for error and memory tracking across all managers
437+
- **Added**: Standardized deprecation system with @deprecated decorators
438+
- **Fixed**: Type hierarchy issues between ProjectXBase and ProjectXClientProtocol
439+
- **Fixed**: Response type handling for dict|list union types
440+
- **Improved**: Test coverage with 47 new tests for type system
441+
- **Improved**: Reduced type errors from 100+ to just 13 edge cases
442+
443+
### v3.1.13
435444
- **Fixed**: Event system data structure mismatches causing order fill detection failures
436445
- Bracket orders now properly detect fills without 60-second timeouts
437446
- Event handlers handle both `order_id` and nested `order` object structures

README.md

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,9 @@ A **high-performance async Python SDK** for the [ProjectX Trading Platform](http
2121

2222
This Python SDK acts as a bridge between your trading strategies and the ProjectX platform, handling all the complex API interactions, data processing, and real-time connectivity.
2323

24-
## 🚀 v3.1.13 - Stable Production Release
24+
## 🚀 v3.2.0 - Major Type System Improvements
2525

26-
**Latest Version**: v3.1.13 - Fixed critical event system issues affecting bracket order fill detection and improved real-time connection stability. See [CHANGELOG.md](CHANGELOG.md) for full release history.
26+
**Latest Version**: v3.2.0 - Comprehensive type system overhaul with improved type safety, standardized deprecation handling, and enhanced error tracking. See [CHANGELOG.md](CHANGELOG.md) for full release history.
2727

2828
### 📦 Production Stability Guarantee
2929

@@ -79,6 +79,9 @@ suite = await TradingSuite.create(\"MNQ\")
7979
- **Performance Optimized**: Connection pooling, intelligent caching, memory management
8080
- **Pattern Recognition**: Fair Value Gaps, Order Blocks, and Waddah Attar Explosion indicators
8181
- **Enterprise Error Handling**: Production-ready error handling with decorators and structured logging
82+
- **Comprehensive Type Safety**: Full TypedDict and Protocol definitions for IDE support and static analysis
83+
- **Statistics Tracking**: Built-in error tracking and memory monitoring across all components
84+
- **Standardized Deprecation**: Consistent deprecation handling with clear migration paths
8285
- **Comprehensive Testing**: High test coverage with async-safe testing patterns
8386

8487
## 📦 Installation

docs/conf.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,8 @@
2323
project = "project-x-py"
2424
copyright = "2025, Jeff West"
2525
author = "Jeff West"
26-
release = "3.1.13"
27-
version = "3.1.13"
26+
release = "3.2.0"
27+
version = "3.2.0"
2828

2929
# -- General configuration ---------------------------------------------------
3030

docs/index.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ project-x-py Documentation
2020
**project-x-py** is a high-performance **async Python SDK** for the `ProjectX Trading Platform <https://www.projectx.com/>`_ Gateway API. This library enables developers to build sophisticated trading strategies and applications by providing comprehensive async access to futures trading operations, real-time market data, Level 2 orderbook analysis, and a complete technical analysis suite with 58+ TA-Lib compatible indicators including pattern recognition.
2121

2222
.. note::
23-
**Version 3.1.11**: High-performance production suite with 2-5x performance improvements. Features memory-mapped overflow storage, orjson integration, WebSocket message batching, and advanced caching with compression. Complete async architecture with unified TradingSuite interface. Latest update includes ManagedTrade automatic market price fetching for risk-managed trades.
23+
**Version 3.2.0**: Major type system improvements with comprehensive TypedDict and Protocol definitions for better IDE support and type safety. Features new StatsTrackingMixin for error and memory tracking, standardized deprecation system, and dramatically improved type checking (reduced errors from 100+ to 13). Includes 47 new tests for complete type system coverage. Fully backward compatible with v3.1.x.
2424

2525
.. note::
2626
**Stable Production Release**: Since v3.1.1, this project maintains strict semantic versioning with backward compatibility between minor versions. Breaking changes only occur in major version releases (4.0.0+). Deprecation warnings are provided for at least 2 minor versions before removal.

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[project]
22
name = "project-x-py"
3-
version = "3.1.13"
3+
version = "3.2.0"
44
description = "High-performance Python SDK for futures trading with real-time WebSocket data, technical indicators, order management, and market depth analysis"
55
readme = "README.md"
66
license = { text = "MIT" }

src/project_x_py/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@
9595

9696
from project_x_py.client.base import ProjectXBase
9797

98-
__version__ = "3.1.13"
98+
__version__ = "3.2.0"
9999
__author__ = "TexasCoding"
100100

101101
# Core client classes - renamed from Async* to standard names

src/project_x_py/indicators/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -202,7 +202,7 @@
202202
)
203203

204204
# Version info
205-
__version__ = "3.1.13"
205+
__version__ = "3.2.0"
206206
__author__ = "TexasCoding"
207207

208208

0 commit comments

Comments
 (0)