Skip to content

Releases: fox-gonic/fox

v0.0.9

07 Dec 16:55
b803484

Choose a tag to compare

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 commands
    • make benchmark - Run performance benchmarks
    • make coverage - Show test coverage
    • make coverage-html - Generate HTML coverage report
    • make security - Run security scans
    • make 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

24 Sep 10:46
09e7b29

Choose a tag to compare

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

11 Sep 06:05
dc6b518

Choose a tag to compare

What's Changed

  • fix: updated Context.Request is not taking effect in middlewares by @eirture in #31

Full Changelog: v0.0.6...v0.0.7

v0.0.6

10 Sep 11:45
4a3f598

Choose a tag to compare

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

25 Jun 02:56
7071118

Choose a tag to compare

What's Changed

Full Changelog: v0.0.4...v0.0.5

v0.0.4

16 Jun 07:19
e49b49f

Choose a tag to compare

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

13 Jun 03:31
7f8c603

Choose a tag to compare

What's Changed

  • refactor:check handler type when route registering by @miclle in #13
  • feat:support bind from context by @miclle in #15
  • feat: Add custom error rendering and NoMethod handler support by @jimyag in #16

New Contributors

Full Changelog: v0.0.2...v0.0.3

v0.0.2

06 Jun 08:17
55df86a

Choose a tag to compare

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

v0.0.1

06 Jun 06:17
bac89f0

Choose a tag to compare

feat : add NewWithConfig func (#11)

* feat : add NewWithConfig func

* revert SetConfig to use value parameter