Files
mux/CHANGELOG.md

3.1 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

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