# Changelog

## 0.5.0 (2026-03-31)

### Changed
- Build backend migrated from setuptools to hatchling
- Python minimum version clarified: requires-python >=3.11, removed 3.10 classifier
- Tool targets (mypy, ruff, black) aligned to Python 3.11
- HTML templates moved from inline f-strings to resources/ files
- `_mount_name` replaced with public `mount_name` property on AsgiApplication
- `_run_cleanups()` renamed to public `run_cleanups()` on BaseRequest
- Module docstrings reduced to comply with ~30 line rule
- CLAUDE.md rewritten to reflect current 0.5.0 feature set
- genro-routes minimum version raised to >=0.15.0
- README description corrected ("configurable via" instead of "all driven by")

### Added
- CHANGELOG.md
- tests/__init__.py
- resources/index.html, resources/openapi_index.html, resources/swagger.html

## 0.4.0 (2026-03-31)

### Added
- Authentication system: BasicAuthMixin, AuthMiddleware, lazy auth in Dispatcher
- Session management: Session, Avatar, MemorySessionStore, SessionMiddleware
- OpenApiApplication with automatic Swagger UI and schema generation
- McpApplication for Model Context Protocol endpoints
- PluginConfigApplication for runtime plugin configuration
- Login page sys_app with HTML form
- ServerApplication with /_server/ meta endpoints (login, logout, session_info, openapi)
- Per-app middleware chains
- Request lifecycle hooks (add_cleanup, add_onerr)
- Channel plugin support (X-Channel header, MCP channel filtering)
- server.mount() method for clean app mounting
- db_registry for database connection management
- genropy-asgi contrib (GenropyAsgiServer)

### Changed
- Auth filtering moved to scope["_filters"] dict
- Meta endpoints delegated to ServerApplication.openapi()
- Plugin config persistence separated from GUI sys_app

## 0.3.0

- Middleware auto-discovery system
- Executor framework (BaseExecutor, LocalExecutor, ExecutorRegistry)
- WSX protocol support
- StaticRouter for file serving
- ResourceLoader with hierarchical fallback

## 0.2.0

- AsgiServer with config.yaml loading
- Dispatcher for request routing
- Request system (BaseRequest, HttpRequest, MsgRequest, RequestRegistry)
- Response with auto content-type detection
- WebSocket support
- Datastructures (Address, Headers, QueryParams, State, URL)

## 0.1.0

- Initial project structure
- ASGI type definitions
- Lifespan management
- Exception classes
