BREAKING CHANGES:
- Renamed HandleGET -> MemberGET for member-level routes
- Renamed HandlePOST -> MemberPOST for member-level routes
- Renamed HandlePUT -> MemberPUT for member-level routes
- Renamed HandlePATCH -> MemberPATCH for member-level routes
- Renamed HandleDELETE -> MemberDELETE for member-level routes
New Features:
- Added collection-level route methods: GET, POST, PUT, PATCH, DELETE
- Clear distinction between collection (/pattern/action) and member (/pattern/{id}/action) routes
- Comprehensive documentation (README, CONTRIBUTING, QUICKSTART, DOCS)
- Development tooling (Makefile, check.sh script)
- AI coding assistant guidelines (.cursorrules)
- GitHub Actions CI/CD pipeline
- golangci-lint configuration
Code Quality:
- Optimized struct field alignment for better memory usage
- All code passes go vet, staticcheck, and fieldalignment
- All tests pass with race detector
- Go 1.25+ requirement enforced
Documentation:
- Complete README rewrite with examples
- CONTRIBUTING.md with development guidelines
- QUICKSTART.md for new users
- CHANGELOG.md with version history
- SUMMARY.md documenting all changes
- DOCS.md as documentation index
2.5 KiB
2.5 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.
Unreleased
Changed
- Renamed
HandleGET,HandlePOST,HandlePUT,HandlePATCH,HandleDELETEtoMemberGET,MemberPOST,MemberPUT,MemberPATCH,MemberDELETEfor better clarity - Member routes now explicitly operate on
/pattern/{id}/actionendpoints
Added
- Collection-level custom route methods:
GET,POST,PUT,PATCH,DELETEfor/pattern/actionendpoints - Comprehensive README with detailed examples and usage patterns
- CONTRIBUTING.md with code quality standards and guidelines
.cursorrulesfile for AI coding assistants- GitHub Actions CI/CD workflow
- Makefile for common development tasks
- golangci-lint configuration
- Field alignment requirements and checks
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
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()andRouteList() - 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