proxy-pool/CHANGELOG.md

40 lines
1.8 KiB
Markdown

# Changelog
All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelong](https://keepachangelog.com/en/1.1.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [Unreleased]
### Added
- Project scaffold with uv, pre-commit, ruff, and conventional commits
- Database infrastructure: async SQLAlchemy 2.0 with asyncpg driver
- Proxy domain models: ProxySource, Proxy, ProxyCheck, ProxyTag
- Accounts domain models: User, ApiKey, CreditLedger, ProxyLease
- Alembic async migration setup with initial schema
- Pydantic-settings configuration module
- Integration test infrastructure with per-test rollback
- Update configuration into subgroups
- Plugin system: Protocol contracts, registry with validation, event bus
- Plugin auto-discovery via importlib package scanning
- Built-in plugins: plaintext parser, TCP connect checker, SMTP notifier
- Plugin discovery integration tests
- FastAPI app factory with lifespan (database, Redis, plugin discovery)
- Health check endpoint
- Proxy source CRUD routes (list, create, get, update, delete)
- FastAPI dependency providers for database session, Redis, and plugin registry
- Pydantic schemas for proxy domain
- Proxy query endpoint with filtering by status, protocol, anonymity, country, score, latency, uptime
- Sorting and pagination for proxy listings
- Proxy service layer with upsert and query functions
- User registration with API key generation
- API key authentication via Bearer token
- Credit ledger with balance queries
- API key management (create, list, revoke)
- Account info and credit history endpoints
- Proxy acquire endpoint with atomic lease creation via Redis
- Credit debit on acquisition with balance verification
- Proxy release endpoint with immediate lease cleanup
- Lease audit trail in PostgreSQL