# 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] No unreleased changes. ## [1.0.0] - 2024-12-19 ### Changed - **BREAKING**: Renamed `HandleGET`, `HandlePOST`, `HandlePUT`, `HandlePATCH`, `HandleDELETE` to `MemberGET`, `MemberPOST`, `MemberPUT`, `MemberPATCH`, `MemberDELETE` for better clarity - Member routes now explicitly operate on `/pattern/{id}/action` endpoints - Optimized struct field alignment for better memory usage ### Added - Collection-level custom route methods: `GET`, `POST`, `PUT`, `PATCH`, `DELETE` for `/pattern/action` endpoints - Comprehensive README with detailed examples and usage patterns - CONTRIBUTING.md with code quality standards and guidelines - QUICKSTART.md for new users - DOCS.md as documentation index - SUMMARY.md documenting all changes - `.cursorrules` file for AI coding assistants - GitHub Actions CI/CD workflow - Makefile for common development tasks - `check.sh` script for running all quality checks - golangci-lint configuration - Field alignment requirements and checks - Go 1.25+ requirement enforcement ### Documentation - Improved README with table of contents and comprehensive examples - Added distinction between collection and member routes in Resource documentation - Added performance and testing guidelines - Added examples for all major features - Added quick start guide - Added contribution guidelines with code quality standards ### Quality - All code passes go vet, staticcheck, and fieldalignment - All tests pass with race detector - Memory optimized struct layouts ## [0.2.0] - Previous Release ### Added - RESTful resource routing with `Resource()` method - Standard resource actions: `Index`, `CreateView`, `Create`, `View`, `Update`, `UpdatePartial`, `Delete` - Custom resource route handlers: `HandleGET`, `HandlePOST`, `HandlePUT`, `HandlePATCH`, `HandleDELETE` - Resource-specific middleware support ### Changed - Improved middleware stacking mechanism - Better route organization and grouping ## [0.1.0] - Initial Release ### Added - Basic HTTP method routing (GET, POST, PUT, DELETE, PATCH, HEAD, OPTIONS, TRACE, CONNECT) - Middleware support with `Use()` method - Route grouping with `Group()` method - Inline middleware with `With()` method - URL parameter extraction using Go 1.22+ path values - Graceful shutdown with `Serve()` method - Route listing and debugging with `PrintRoutes()` and `RouteList()` - Zero external dependencies - Built on top of Go's standard `http.ServeMux` ### Features - Middleware composition and stacking - Concurrent-safe route registration - Signal handling (SIGINT, SIGTERM) for graceful shutdown - Automatic OPTIONS handler - Route conflict detection and panics - Context-aware shutdown signaling [Unreleased]: https://code.patial.tech/go/mux/compare/v1.0.0...HEAD [1.0.0]: https://code.patial.tech/go/mux/compare/v0.7.1...v1.0.0 [0.2.0]: https://code.patial.tech/go/mux/compare/v0.1.0...v0.2.0 [0.1.0]: https://code.patial.tech/go/mux/releases/tag/v0.1.0