Releases: fox-gonic/fox
Releases · fox-gonic/fox
v0.0.9
What's New in v0.0.9
This release includes comprehensive improvements to testing, documentation, security, and developer tooling, significantly enhancing the Fox framework's production readiness.
🧪 Testing & Quality Improvements
- Massive test coverage increase: From 61.5% to 89.1% for main package
- Added 191 test cases across 7 core files (3,980 lines of test code)
- Implemented 52 benchmark tests for performance monitoring
- Complete test suites for:
- Core functionality (call.go, render.go, context.go)
- Middleware (logger, response_time)
- Validation (validator.go)
- Multi-domain routing (domain.go)
📚 Documentation Enhancements
- Bilingual README: Complete Chinese translation with language switcher
- 7 comprehensive examples (2,526 lines) covering:
- Basic usage and routing
- Parameter binding and validation
- Middleware implementation
- Domain-based routing
- Error handling patterns
- Logger configuration
- Enhanced README with architecture diagrams, performance comparisons, and best practices
- Added CONTRIBUTING.md (588 lines) with complete development guidelines
- Added SECURITY.md (229 lines) with security policy and reporting process
🔒 Security Enhancements
- Automated security scanning in CI/CD:
- govulncheck for vulnerability detection
- CodeQL SAST analysis
- Dependency review for PRs
- Upgraded dependencies:
- lumberjack: v2.0.0+incompatible → v2.2.1
- golang.org/x/crypto: 0.42.0 → 0.45.0
- Added comprehensive security scanning documentation
🛠️ Developer Tooling
- Enhanced Makefile with new targets:
make help- Display all available commandsmake benchmark- Run performance benchmarksmake coverage- Show test coveragemake coverage-html- Generate HTML coverage reportmake security- Run security scansmake clean- Clean generated files
- Cross-platform support (macOS/Linux)
- Colored output with status indicators
🐛 Bug Fixes & Improvements
- Fixed golangci-lint v2 compatibility issues
- Improved error handling and removed unused code
- Fixed code formatting issues across examples
- Updated CI workflows to use Go 1.24.11
📊 Impact Metrics
| Metric | Before | After | Improvement |
|---|---|---|---|
| Main package test coverage | 61.5% | 89.1% | +27.6% |
| Overall test coverage | ~70% | ~90% | +20% |
| Benchmark tests | 0 | 52 | Complete coverage |
| Security scans | 0 | 3 types | Full automation |
| Example projects | 0 | 7 | Complete |
| Documentation lines | ~200 | 5,000+ | 25x increase |
🔄 Dependency Updates
- Bump actions/checkout from 5 to 6 (#38)
- Bump golang.org/x/crypto from 0.42.0 to 0.45.0 (#37)
- Bump golangci/golangci-lint-action from 8 to 9 (#36)
- Update Go version to 1.24.0 and modernize dependencies (#35)
Breaking Changes
None. All changes are backward compatible.
Contributors
Special thanks to all contributors who made this release possible!
Full Changelog: v0.0.8...v0.0.9
v0.0.8
What's Changed
- Bump github.com/gin-gonic/gin from 1.10.1 to 1.11.0 by @dependabot[bot] in #32
- 修复并发执行fox.New()时造成的data race by @zhangzqs in #33
Full Changelog: v0.0.7...v0.0.8
v0.0.7
v0.0.6
What's Changed
- Bump github.com/go-playground/validator/v10 from 10.26.0 to 10.27.0 by @dependabot[bot] in #23
- Bump actions/checkout from 4 to 5 by @dependabot[bot] in #24
- Bump github.com/stretchr/testify from 1.10.0 to 1.11.0 by @dependabot[bot] in #25
- default enable ContexttWithFallback by @zhangzqs in #27
- Bump github.com/stretchr/testify from 1.11.0 to 1.11.1 by @dependabot[bot] in #28
- Bump actions/setup-go from 5 to 6 by @dependabot[bot] in #29
- fix(context): implement the context.Context safely by @eirture in #30
New Contributors
Full Changelog: v0.0.5...v0.0.6
v0.0.5
What's Changed
- Bump github.com/gin-contrib/cors from 1.7.5 to 1.7.6 by @dependabot in #21
- fix: Valid handler by @miclle in #22
Full Changelog: v0.0.4...v0.0.5
v0.0.4
What's Changed
- fix: resolve linter errors and code formatting issues by @jimyag in #17
- docs: update Go version requirement and add dependabot config by @jimyag in #18
- Bump github.com/gin-gonic/gin from 1.10.0 to 1.10.1 by @dependabot in #19
- feat(validator)!: remove custom tag name binding by @jimyag in #20
Full Changelog: v0.0.3...v0.0.4
v0.0.3
v0.0.2
refactor(logger)!: change Level type from int8 to string (#12) BREAKING CHANGE: Level type has been changed from int8 to string. This change affects all code that uses the Level type directly. - Convert Level type from int8 to string for better readability - Add ZerologLevel() method to map string levels to zerolog.Level - Update logger implementation to use new Level type - Improve type safety and maintainability