Skip to content

CHANGELOG

version 0.4.10 (2025-06-25)

Features

  • 🔧 Customizable Error Responses - Added configurable error status codes and messages for ASGI Gateway features:
  • TimeoutConfig now supports error_status and error_message fields (defaults: 504, "Request timeout")
  • RateLimitConfig now supports error_status and error_message fields (defaults: 429, "Rate limit exceeded")
  • Users can customize error responses in YAML configuration files
  • Example:
    timeout:
      seconds: 5.0
      error_status: 408
      error_message: "Custom timeout message"
    rate_limit:
      quota: 100
      duration: 60
      error_status: 503
      error_message: "Service temporarily unavailable"
    

Refactoring

  • 📦 Features Directory Restructuring - Major code organization improvements:
  • Moved core features to dedicated premier/features/ directory
  • premier/cache.pypremier/features/cache.py
  • premier/retry.pypremier/features/retry.py
  • premier/timer.pypremier/features/timer.py
  • premier/throttler/premier/features/throttler/
  • Updated all imports and dependencies accordingly

  • 🛠️ Error Response Encapsulation - Eliminated duplicate error response code:

  • Created reusable send_error_response() function in ASGI Gateway
  • Standardized error responses across timeout, rate limiting, and default handlers
  • Supports both JSON and plain text content types
  • Reduced code duplication and improved maintainability

Technical Improvements

  • Enhanced ASGI Gateway architecture with better error handling patterns
  • Improved configuration parsing for new error response fields
  • All existing tests continue to pass with new functionality
  • Better separation of concerns in error response management

version 0.4.9 (2025-06-14)

Bug Fixes & Features

  • Dashboard Stats Tracking - Fixed dashboard statistics tracking issues and improved real-time data accuracy
  • Dashboard Styling & Theme - Enhanced dashboard visual appearance with improved styling and theme consistency
  • Configurable Server List – Users can now define and manage servers directly from a configuration file

  • Load Balancing (Round Robin) – Implemented round robin load balancer for distributing traffic evenly across servers

  • Circuit Breaker Support – Added circuit breaker mechanism to improve fault tolerance and system resilience

Refactoring

  • 🔧 ASGI Architecture Refactor - Major restructuring of ASGI components for better maintainability:
  • Separated forward service logic into dedicated module (premier/asgi/forward.py)
  • Created dedicated dashboard service (premier/dashboard/service.py)
  • Implemented load balancer component (premier/asgi/loadbalancer.py)
  • Simplified main gateway module by extracting specialized services
  • Improved code organization and separation of concerns

Technical Improvements

  • Enhanced dashboard service architecture with better separation of concerns
  • Improved ASGI gateway performance through modular design
  • Better error handling and logging in dashboard components
  • Streamlined configuration management in dashboard

version 0.4.8 (2025-06-14)

Major Features

  • 🎛️ Web Dashboard - Built-in web GUI for real-time monitoring and configuration management
  • Live request/response metrics and performance analytics
  • Interactive configuration editor with YAML validation
  • Cache management and rate limiting dashboard
  • Health monitoring and system statistics
  • Available at /premier/dashboard

  • 🚀 Complete Example Application - Production-ready example with FastAPI backend

  • Comprehensive API endpoints demonstrating all Premier features
  • YAML configuration with path-specific policies
  • Documentation and testing guides
  • Dashboard integration showcase

  • 📚 Enhanced Documentation - Comprehensive documentation overhaul

  • Separate guides for web dashboard and examples
  • Updated README with better organization
  • Clear quick-start instructions
  • Production deployment guidance

New Files & Components

  • premier/dashboard/ - Complete web dashboard implementation
  • example/ - Full-featured example application
  • docs/web-gui.md - Web dashboard documentation
  • docs/examples.md - Examples and tutorials guide
  • Enhanced ASGI gateway with dashboard integration

Improvements

  • ASGI Gateway Enhancement - Better integration and dashboard support
  • Configuration Management - Hot-reload configuration from web interface
  • Monitoring - Real-time performance metrics and request analytics
  • User Experience - Simplified setup with comprehensive examples

v0.4.0 (2024-06-05)

Chore

Feature

Fix

  • fix: make TaskQueue.put atomic using redis lua script (69a49aa)

  • fix: fixed asyncio throttler using asyncio.Lock (4811312)

  • fix: fix typing (29f4a76)

Refactor

  • refactor: rewrite leaky bucket (5e38981)

Unknown

  • chores: fix conflicts (07198a8)

  • Merge branch 'dev' adding async throttler for async function, also fixes a few bug in threading case (630c8ed)

  • chores: last commit before merge (17110a9)

  • chores: fix type errors (0a69501)

  • chores: refactor put script (fbca52e)

  • chores: fix typing (fccb598)

  • wip: working on asyncio throttler (f933f10)

  • chores: remove setup.py (82b9ad6)

  • chores: test (6ff20d2)

v0.3.0 (2024-04-08)

Chore

Feature

Fix

Unknown

  • Merge pull request #1 from raceychan/dev

merge latest dev branch (8523182)

v0.2.0 (2024-04-03)

Feature

v0.1.0 (2024-04-02)

Feature

version 0.4.3

Feature

  • [x] cache

refactor:

No longer support sync version of decorator, which means all decorated function would be async.

version 0.4.6

  • ✅ Implemented facade pattern with Premier class
  • ✅ Added comprehensive logging support with ILogger interface
  • ✅ Enhanced retry logic with detailed logging
  • ✅ Improved timeout handling with logging
  • ✅ Updated documentation and examples
  • ✅ Removed legacy task queue implementation
  • ✅ Made private functions properly private with underscore prefix

version 0.4.7

Web GUI for config and monitor