v3.0.0 - Complete Alpaca API Coverage
🎉 py-alpaca-api v3.0.0
Major Release Highlights
This release brings complete coverage of Alpaca's stock trading API, significant performance improvements, and enhanced developer experience. With 27 new API endpoints and comprehensive testing, v3.0.0 represents a major milestone for the py-alpaca-api project.
✨ New Features
📊 Phase 1: Critical Missing Features
Corporate Actions API (#68)
- Track dividends, stock splits, mergers, and spinoffs
- Filter by symbol, type, and date range
- Comprehensive data models for each action type
- Full historical data access
Trade Data Support (#67)
- Access historical trade data with pagination
- Support for multiple data feeds (SIP, IEX, OTC)
- Multi-symbol trade retrieval
- Latest trade endpoint for real-time data
Market Snapshots (#69)
- Complete market snapshot data in one call
- Latest trade, quote, and bar data
- Daily and previous daily bar information
- Multi-symbol snapshot support
🚀 Phase 2: Important Enhancements
Account Configuration (#70)
- Read current account configuration
- Update trading settings programmatically
- PDT protection settings
- Trade confirmation emails
- Margin multiplier configuration
Market Metadata (#71)
- Access condition codes with descriptions
- Exchange codes and mappings
- Tape-specific condition lookups
- Built-in caching for performance
Enhanced Order Management (#72)
- Replace existing orders
- Support for OTO (One-Triggers-Other) orders
- Support for OCO (One-Cancels-Other) orders
- Client order ID tracking
- Improved order validation
⚡ Phase 3: Performance & Quality
Batch Operations (#73)
- Multi-symbol data fetching with automatic batching
- Handles 200+ symbols efficiently
- Concurrent request processing
- Optimized DataFrame operations
- Memory-efficient data handling
Feed Management System (#74)
- Automatic subscription level detection
- Intelligent feed fallback (SIP → IEX → OTC)
- Per-endpoint feed configuration
- Failed feed caching to avoid retries
- Clear logging for feed decisions
Caching System (#75)
- LRU in-memory cache with size limits
- Optional Redis backend support
- Configurable TTL per data type
- Pattern-based cache invalidation
- Cache statistics and monitoring
- Thread-safe concurrent access
📈 Statistics
- 109+ Tests - Comprehensive unit and integration testing
- 90%+ Coverage - High test coverage across all modules
- 27 New Endpoints - Complete Alpaca stock API coverage
- Full Type Safety - Complete type hints with mypy strict mode
- 3 New Modules -
cache/,http/feed_manager, and expandedstock/modules
🔄 Backwards Compatibility
All existing v2.x functionality is preserved. New features are additive only, ensuring a smooth upgrade path for existing users.
📦 Installation
pip install py-alpaca-api==3.0.0Or with uv:
uv add py-alpaca-api==3.0.0📚 Documentation
Comprehensive documentation for all new features is available in the README, including:
- Usage examples for every new API
- Configuration guides
- Performance optimization tips
- Migration guide from v2.x
🎯 What's Next
- v3.1.0 - WebSocket Streaming Support (Q2 2025)
- v3.2.0 - Full Async/Await Support (Q3 2025)
- v3.3.0 - Advanced Analytics (Q4 2025)
- v4.0.0 - Options Trading Support (2026)
🙏 Acknowledgments
Thanks to all contributors and users who made this release possible. Special thanks to the Alpaca team for their excellent API and documentation.
💡 Upgrading from v2.x
# No breaking changes - just new features!
from py_alpaca_api import PyAlpacaAPI
# Existing code continues to work
alpaca = PyAlpacaAPI(api_key=KEY, api_secret=SECRET)
# New features are immediately available
snapshots = alpaca.stock.snapshots.get_snapshots(["AAPL", "GOOGL"])
config = alpaca.trading.account.get_configuration()
actions = alpaca.trading.corporate_actions.get_announcements("AAPL")🐛 Bug Reports & Feature Requests
Please report any issues or request features on our GitHub Issues page.
📄 Full Changelog
See CHANGELOG.md for detailed changes.
Full Changelog: v2.2.0...v3.0.0
What's Changed
- Release v3.0.0 - Complete Alpaca API Coverage by @TexasCoding in #76
Full Changelog: v2.2.0...v3.0.0