4729698049
git-subtree-dir: paste-framework git-subtree-split: 34e8684c4bc3cebbe177509f42ab4ef5b5425a7a
3.0 KiB
3.0 KiB
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[2.0.1] - 2025-04-08
Fixed
JsonDumpsEncodernow handlesNaTType(pandas NaT) without throwing TypeError- CORS
Access-Control-Allow-Originnow defaults to"*"instead of echoing the request Origin header (security fix) RbacUser.can()correctly handles empty permission list- Fixed race condition in
aio_pool.pywhen task queue is full under high concurrency
Changed
- Refactored
config.py—get_config()now consistently returnsNoneinstead of raising on missing optional keys (usedefaultparameter for fallback) - Upgraded minimum Python version from 3.9 to 3.11
pyproject.tomldependencies cleaned up — core dependencies slimmed down; pandas/numpy/matplotlib/opencv moved to[project.optional-dependencies]
Removed
- Deprecated
web/legacy_session.py— use JWT-based@auth_tokendecorator instead
[2.0.0] - 2025-03-15
Added
- Swagger UI auto-generation (
ApplicationSwagger) — fully inferred from handler route patterns and decorators - Redis StreamActor — consumer-group-based message processing with automatic zombie task recovery
- ParamAwareUIModule — async data pre-loading for Tornado UIModules
- RBAC with dynamic rules — rules are serialized Python classes stored in DB, supporting time-based, IP-based, and custom rule chains
- Snowflake ID generator (
snow_id.py) — thread-safe, no external dependency, 10K+ IDs/sec - Auto-loading handlers —
Application.load_handlers()discovers all handlers in a package viaroute_patternattribute - BaseX encoder/decoder (
encoder.py) — auto-detect Base16/32/64/85 + zlib decompression - Async DB engine — SQLAlchemy async session factory with
aiomysql/aiosqlitesupport - Task service with daemonization —
TaskServicewith PID file, start/stop/status commands, and graceful shutdown - 5 complete examples under
examples/— HelloWorld, background tasks, Redis streams, scheduled services, model generation - pytest test suite — unit tests (mocked) + integration tests for DB, Redis, RBAC
Changed
- Complete project restructuring: introduced
web/,core/,db/,rbac/,util/,service/package layout Applicationnow inherits fromtornado.web.Application— backward-incompatible refactor from v1.xRequestHandler.response_ok()andresponse_error()now useJsonDumpsEncoderby default- Logging system rewritten — supports rotating file handlers, per-module loggers, console output
Removed
- All v1.x code — this is a ground-up rewrite
[1.0.0] - 2024-01-01
Added
- Initial release with basic Tornado wrapper
- Basic JWT auth and password hashing
- Simple
config.jsonloader - Minimal utility functions
⚠️ Note: v1.0.0 is deprecated and no longer maintained. Please upgrade to v2.0.0+.