Files
paste-framework/CHANGELOG.md
T
2026-06-02 16:26:10 +08:00

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

  • JsonDumpsEncoder now handles NaTType (pandas NaT) without throwing TypeError
  • CORS Access-Control-Allow-Origin now defaults to "*" instead of echoing the request Origin header (security fix)
  • RbacUser.can() correctly handles empty permission list
  • Fixed race condition in aio_pool.py when task queue is full under high concurrency

Changed

  • Refactored config.pyget_config() now consistently returns None instead of raising on missing optional keys (use default parameter for fallback)
  • Upgraded minimum Python version from 3.9 to 3.11
  • pyproject.toml dependencies 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_token decorator 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 handlersApplication.load_handlers() discovers all handlers in a package via route_pattern attribute
  • BaseX encoder/decoder (encoder.py) — auto-detect Base16/32/64/85 + zlib decompression
  • Async DB engine — SQLAlchemy async session factory with aiomysql / aiosqlite support
  • Task service with daemonizationTaskService with 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
  • Application now inherits from tornado.web.Application — backward-incompatible refactor from v1.x
  • RequestHandler.response_ok() and response_error() now use JsonDumpsEncoder by 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.json loader
  • Minimal utility functions

⚠️ Note: v1.0.0 is deprecated and no longer maintained. Please upgrade to v2.0.0+.