Skip to content

v3.0.0 - Complete Alpaca API Coverage

Choose a tag to compare

@TexasCoding TexasCoding released this 17 Sep 00:14
· 9 commits to main since this release
8719be8

🎉 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 expanded stock/ 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.0

Or 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

Full Changelog: v2.2.0...v3.0.0