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