Improved
v3.0.0-rc.3
π New Features
- Middleware/encryptCookie: Add cookie name authentication for EncryptCookie middleware by @gaby in https://github.com/gofiber/fiber/pull/3788
- Middleware/proxy: Add BodyStream() logic to
adaptor.FiberHandlermiddleware by @grivera64 in https://github.com/gofiber/fiber/pull/3799 - Client: Add support for HostClient and LBClient by @gaby in https://github.com/gofiber/fiber/pull/3774
- Native support for net/http and fasthttp handlers by @gaby in https://github.com/gofiber/fiber/pull/3769
- Add support for Express.js style req/res handlers by @gaby in https://github.com/gofiber/fiber/pull/3809
- Add support for DisableAutoRegister of HEAD routes by @ReneWerner87 in https://github.com/gofiber/fiber/pull/3817
- Add support for handling unsupported HTTP methods as HTTP 501 by @gaby in https://github.com/gofiber/fiber/pull/3854
- Add support for ReloadViews() by @gaby in https://github.com/gofiber/fiber/pull/3876
- Expose startup message customization hooks by @efectn in https://github.com/gofiber/fiber/pull/3824
π§Ή Updates
- Middleware/adaptor: prevent CopyContextToFiberContext panic and add comprehensive test coverage by @sixcolors in https://github.com/gofiber/fiber/pull/3770
- Middleware/adaptor: Add flushing-related unit tests for net/http adaptor by @grivera64 in https://github.com/gofiber/fiber/pull/3807
- Middleware/encryptCookie: Return error during EncryptCookie failure by @gaby in https://github.com/gofiber/fiber/pull/3842
- Client: Preallocate slice size in Client::Param() by @arturmelanchyk in https://github.com/gofiber/fiber/pull/3782
- Reduce allocations in Request (saves ~16% B/op) by @arturmelanchyk in https://github.com/gofiber/fiber/pull/3768
- Make boundary a const by @arturmelanchyk in https://github.com/gofiber/fiber/pull/3783
- Skip locking garbage collector if nothing to delete by @arturmelanchyk in https://github.com/gofiber/fiber/pull/3787
- Reduce the memory usage of cacheableStatusCodes by @ZihxS in https://github.com/gofiber/fiber/pull/3789
- Merge duplicate constants by @jsoref in https://github.com/gofiber/fiber/pull/3812
- Improve propagation of context.Context by @gaby in https://github.com/gofiber/fiber/pull/3822
- Inline Request state wrappers by @arturmelanchyk in https://github.com/gofiber/fiber/pull/3827
- Remove unneeded "utils" alias by @arturmelanchyk in https://github.com/gofiber/fiber/pull/3834
- Benchmark for cache miss case by @arturmelanchyk in https://github.com/gofiber/fiber/pull/3836
- Add FullPath() helper to context by @gaby in https://github.com/gofiber/fiber/pull/3837
- Handle nil map targets in Binder by @gaby in https://github.com/gofiber/fiber/pull/3839
- Extracted generic releasePooledBinder function by @arturmelanchyk in https://github.com/gofiber/fiber/pull/3841
- Refactor internal errors to use sentinel values by @gaby in https://github.com/gofiber/fiber/pull/3864
- Test HEAD request compliance by @gaby in https://github.com/gofiber/fiber/pull/3868
- Improve OPTIONS wildcard regression test by @gaby in https://github.com/gofiber/fiber/pull/3869
- Improve byte-range handling for SendFile() by @gaby in https://github.com/gofiber/fiber/pull/3870
- Use int64 when dealing with HTTP Ranges by @gaby in https://github.com/gofiber/fiber/pull/3874
π Bug Fixes
- Middleware/limiter: Fix default value for MaxFunc in Limiter middleware by @gaby in https://github.com/gofiber/fiber/pull/3871
- Middleware/recover: Fix recover middleware panic output formatting by @gaby in https://github.com/gofiber/fiber/pull/3816
- Middleware/session: correct fresh flag logic in getSession by @sixcolors in https://github.com/gofiber/fiber/pull/3825
- Fix spelling issues by @jsoref in https://github.com/gofiber/fiber/pull/3813
- Fix fatal error calls in adapter_test.go by @ReneWerner87 in https://github.com/gofiber/fiber/pull/3810
- Fix usage of runtime RO data for ppc64 and s390x platforms by @gaby in https://github.com/gofiber/fiber/pull/3772
- Respect DisablePathNormalizing during client requests by @gaby in https://github.com/gofiber/fiber/pull/3773
- Always close form file by @arturmelanchyk in https://github.com/gofiber/fiber/pull/3786
- Fix gocritic httpNoBody and hugeParam issues by @ReneWerner87 in https://github.com/gofiber/fiber/pull/3855
- Prevent memory corruption in internal memory storage from pooled buffers by @sixcolors in https://github.com/gofiber/fiber/pull/3828
- Avoid writing into released Response in core::execFunc() by @arturmelanchyk in https://github.com/gofiber/fiber/pull/3830
- Remove Flash Cookie from Response headers after parsing by @gaby in https://github.com/gofiber/fiber/pull/3840
- Fix binder splitting for pointer-backed slice fields by @gaby in https://github.com/gofiber/fiber/pull/3844
- Execute middleware routes when handling errors by @gaby in https://github.com/gofiber/fiber/pull/3846
- fix copying of key/values in internal/memory by @sixcolors in https://github.com/gofiber/fiber/pull/3829
- Fix maintain CustomCtx across middlewares by @ReneWerner87 in https://github.com/gofiber/fiber/pull/3852
- Enhance Body handling in setConfigToRequest for better type su⦠by @K0ng2 in https://github.com/gofiber/fiber/pull/3820
π οΈ Maintenance
- Replace release-drafter autolabel with fuxingloh/multi-labeler by @gaby in https://github.com/gofiber/fiber/pull/3872
- Golangci-lint issue for go1.25.0 by @laughing-nerd in https://github.com/gofiber/fiber/pull/3775
- Add automation for v3 label assignments by @ReneWerner87 in https://github.com/gofiber/fiber/pull/3845
- Update workflow path filters for Go module changes by @ReneWerner87 in https://github.com/gofiber/fiber/pull/3856
- Improvements to GitHub Workflows by @gaby in https://github.com/gofiber/fiber/pull/3857
- Update release-drafter workflow by @gaby in https://github.com/gofiber/fiber/pull/3860
- Add support for codespell in spell-check workflow by @gaby in https://github.com/gofiber/fiber/pull/3850
- Add spell check CI workflow by @gaby in https://github.com/gofiber/fiber/pull/3814
- Fix autolabeler for release-drafter by @gaby in https://github.com/gofiber/fiber/pull/3865
- Enable manual workflow dispatch for CI by @ReneWerner87 in https://github.com/gofiber/fiber/pull/3881
- build(deps): bump github.com/valyala/fasthttp from 1.65.0 to 1.67.0 by @dependabot[bot] in https://github.com/gofiber/fiber/pull/3790
- build(deps): bump golang.org/x/net from 0.44.0 to 0.45.0 by @dependabot[bot] in https://github.com/gofiber/fiber/pull/3791
- build(deps): bump github/codeql-action from 3 to 4 by @dependabot[bot] in https://github.com/gofiber/fiber/pull/3792
- build(deps): bump golang.org/x/text from 0.29.0 to 0.30.0 by @dependabot[bot] in https://github.com/gofiber/fiber/pull/3797
- build(deps): bump golang.org/x/crypto from 0.42.0 to 0.43.0 by @dependabot[bot] in https://github.com/gofiber/fiber/pull/3796
- build(deps): bump golang.org/x/net from 0.45.0 to 0.46.0 by @dependabot[bot] in https://github.com/gofiber/fiber/pull/3795
- build(deps): bump actions/setup-node from 5 to 6 by @dependabot[bot] in https://github.com/gofiber/fiber/pull/3804
- build(deps): bump github.com/shamaton/msgpack/v2 from 2.3.1 to 2.4.0 by @dependabot[bot] in https://github.com/gofiber/fiber/pull/3808
- build(deps): bump github.com/valyala/fasthttp from 1.67.0 to 1.68.0 by @dependabot[bot] in https://github.com/gofiber/fiber/pull/3819
- build(deps): bump github.com/tinylib/msgp from 1.4.0 to 1.5.0 by @dependabot[bot] in https://github.com/gofiber/fiber/pull/3823
- build(deps): bump github.com/gofiber/utils/v2 from 2.0.0-rc.1 to 2.0.0-rc.2 by @dependabot[bot] in https://github.com/gofiber/fiber/pull/3853
- build(deps): bump golang.org/x/crypto from 0.43.0 to 0.44.0 by @dependabot[bot] in https://github.com/gofiber/fiber/pull/3863
- build(deps): bump golang.org/x/net from 0.46.0 to 0.47.0 by @dependabot[bot] in https://github.com/gofiber/fiber/pull/3861
- build(deps): bump github/codeql-action from 4.31.2 to 4.31.3 by @dependabot[bot] in https://github.com/gofiber/fiber/pull/3866
π Documentation
- Fix typos in some files by @khanhkhanhlele in https://github.com/gofiber/fiber/pull/3847
- Document usage of reverse proxies for SendEarlyHints by @akilesh1706 in https://github.com/gofiber/fiber/pull/3778
- Fix broken link in the Routing guide by @guerzon in https://github.com/gofiber/fiber/pull/3831
New Contributors
- @akilesh1706 made their first contribution in https://github.com/gofiber/fiber/pull/3778
- @laughing-nerd made their first contribution in https://github.com/gofiber/fiber/pull/3775
- @jsoref made their first contribution in https://github.com/gofiber/fiber/pull/3812
- @K0ng2 made their first contribution in https://github.com/gofiber/fiber/pull/3820
- @guerzon made their first contribution in https://github.com/gofiber/fiber/pull/3831
- @khanhkhanhlele made their first contribution in https://github.com/gofiber/fiber/pull/3847
A fully-detailed view of all new features and the migration guide is available in our https://docs.gofiber.io/next/whats_new
Full Changelog: https://github.com/gofiber/fiber/compare/v3.0.0-rc.2...v3.0.0-rc.3