# Changelog
All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [Unreleased]
### Added
### Changed
### Deprecated
### Removed
### Fixed
### Security
## [0.1.0] - 2025-10-30
### Added
- Core router implementation with path-based routing using matchit
- Support for multiple HTTP methods per route (GET, POST, PUT, DELETE, PATCH, OPTIONS)
- Path parameter extraction with automatic type conversion
- Tower Service trait integration for seamless middleware composition
- Response builders with standardized JSON envelope pattern:
- `success()` for successful responses with data
- `failure()` for error responses with structured errors
- `not_found()` for 404 responses with path information
- `empty()` for status-only responses (e.g., 204 No Content)
- `with_correlation_id()` for request tracing
- Request extractors for type-safe data extraction:
- `parse_json_body()` with 1MB size limit and Content-Type validation
- `query_params()` for URL query string parsing
- `path_params()` and `path_param()` for path parameter extraction
- `get_extension()` for typed extension data
- Server utilities with graceful shutdown support (Ctrl+C and SIGTERM)
- HTTP/1.1 protocol support via hyper
- Comprehensive examples demonstrating progressive complexity:
- `hello_world` - Minimal server with single route
- `with_state` - Stateful routing with all extractors
- `with_middleware` - Production-ready middleware stack
- Full test suite with 80%+ code coverage:
- Router tests (routing, method filtering, 404/405 handling)
- Response builder tests (envelope structure, serialization)
- Extractor tests (JSON parsing, query params, path params)
- Server tests (connection handling)
- Middleware tests (Tower layer composition)
- Complete documentation with rustdoc comments and usage examples
- README with quick start guide, API documentation, and examples
### Security
- JSON body size limit (1MB) prevents denial-of-service attacks
- Graceful shutdown ensures proper connection cleanup
- Request extensions provide secure context passing between middleware
[Unreleased]: https://github.com/kriyaetive/hyperlite/compare/v0.1.0...HEAD
[0.1.0]: https://github.com/kriyaetive/hyperlite/releases/tag/v0.1.0