Skip to content

Releases: gofiber/fiber

v3.0.0-rc.3

19 Nov 15:42
76576dc

Choose a tag to compare

v3.0.0-rc.3 Pre-release
Pre-release

🚀 New Features

  • Middleware/encryptCookie: Add cookie name authentication for EncryptCookie middleware by @gaby in #3788
  • Middleware/proxy: Add BodyStream() logic to adaptor.FiberHandler middleware 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

🐛 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

New Contributors

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

v2.52.10

19 Nov 14:21
e334f54

Choose a tag to compare

🐛 Bug Fixes

📚 Documentation

New Contributors

Full Changelog: v2.52.9...v2.52.10

v3.0.0-rc.2

29 Sep 11:15
529b36d

Choose a tag to compare

v3.0.0-rc.2 Pre-release
Pre-release

🚀 New Features

🧹 Updates

  • Middleware/cache: Improve Cache middleware defaults by @gaby in #3740
  • Middleware/cache: Fix cache cleanup and redact token values by @gaby in #3757
  • Middleware/compress: Improve Compress middleware RFC compliance by @gaby in #3745
  • Middleware/csrf: update CSRF middleware to use shared extractors by @sixcolors in #3746
  • Middleware/keyAuth: Improve KeyAuth middleware RFC compliance by @gaby in #3742
  • Middleware/keyAuth: Update keyauth middleware to use shared extractors by @sixcolors in #3747
  • Middleware/session: Migrate Session middleware to new extractors package by @sixcolors in #3744
  • Handle Transfer-Encoding bodies in HasBody by @gaby in #3748
  • Improve error handling when using storage drivers by @gaby in #3754
  • Improve performance analyseConstantPart by @ksw2000 in #3753
  • Ensure middleware prefix matching requires slash boundary by @ReneWerner87 in #3755
  • Use sync.Pool for Client hooks by @arturmelanchyk in #3758
  • Avoid locking in gc() if nothing to delete by @arturmelanchyk in #3765
  • Improve allocations for Request Params() by @arturmelanchyk in #3766
  • Cleanup return error logic in Bind() by @arturmelanchyk in #3764
  • Update RouteChain function by @ReneWerner87 in #3761
  • Expand Binder tests coverage by @gaby in #3714

🐛 Bug Fixes

  • Middleware/BasicAuth: Improve BasicAuth middleware RFC compliance by @gaby in #3743
  • Middleware/Adapter: Handle Unix sockets in adaptor middleware by @Dishank-Sen in #3760
  • Fix support for context.Context by @gaby in #3720

🛠️ Maintenance

  • build(deps): bump github.com/tinylib/msgp from 1.3.0 to 1.4.0 by @dependabot[bot] in #3716
  • build(deps): bump github.com/stretchr/testify from 1.11.0 to 1.11.1 by @dependabot[bot] in #3715
  • build(deps): bump github.com/shamaton/msgpack/v2 from 2.3.0 to 2.3.1 by @dependabot[bot] in #3719
  • build(deps): bump benchmark-action/github-action-benchmark from 1.20.4 to 1.20.5 by @dependabot[bot] in #3730
  • build(deps): bump actions/setup-go from 5 to 6 by @dependabot[bot] in #3732
  • build(deps): bump actions/setup-node from 4 to 5 by @dependabot[bot] in #3733
  • build(deps): bump codecov/codecov-action from 5.5.0 to 5.5.1 by @dependabot[bot] in #3734
  • build(deps): bump golang.org/x/crypto from 0.41.0 to 0.42.0 by @dependabot[bot] in #3737
  • build(deps): bump golang.org/x/net from 0.43.0 to 0.44.0 by @dependabot[bot] in #3738
  • build(deps): bump benchmark-action/github-action-benchmark from 1.20.5 to 1.20.7 by @dependabot[bot] in #3736

📚 Documentation

New Contributors

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.1...v3.0.0-rc.2

v3.0.0-rc.1

26 Aug 07:28

Choose a tag to compare

v3.0.0-rc.1 Pre-release
Pre-release

🚀 New Features

  • Middleware/basicAuth: Add Fiber Context to BasicAuth Authorizer by @gaby in #3621
  • Middleware/basicAuth: Add HeaderLimit option to BasicAuth middleware by @gaby in #3620
  • Middleware/basicAuth: Support hashed BasicAuth passwords by @gaby in #3631
  • Middleware/csrf: Enhance extractor functionality with metadata and security validation by @sixcolors in #3630
  • Middleware/limiter: Support for disabling response headers in Limiter Middleware by @gaby in #3618
  • Middleware/proxy: Add KeepConnectionHeader option to Proxy middleware by @gaby in #3662
  • Middleware/session: Introduce Extractor pattern for session ID retrieval by @sixcolors in #3625
  • Support for SendEarlyHints by @pjebs in #3483
  • Support generic configurable logger by @ReneWerner87 in #3705
  • Add conditional copy helpers by @ReneWerner87 in #3703
  • Add support for embedded Koa-Style Req and Res structs by @grivera64 in #3533
  • Add default UTF-8 charset by @Copilot in #3583

🧹 Updates

🐛 Bug Fixes

  • Middleware/cors: Fix CORS subdomain wildcard boundary by @gaby in #3690
  • Middleware/limiter: Fix limiter middleware not counting fiber.NewErrorf responses as failed requests by @Copilot in #3623
  • Middleware/static: Fix Static middleware browser support for subdirectories by @efectn in #3673
  • Fix retry config handling by @gaby in #3609
  • Fix race in cookie tests by @ReneWerner87 in #3629
  • Fix bind All() merging logic by @gaby in #3659

🛠️ Maintenance

  • build(deps): bump kenchan0130/actions-system-info from 1.3.1 to 1.4.0 by @dependabot[bot] in #3679
  • build(deps): bump github.com/shamaton/msgpack/v2 from 2.2.3 to 2.3.0 by @dependabot[bot] in #3678
  • build(deps): bump actions/checkout from 4 to 5 by @dependabot[bot] in #3681
  • build(deps): bump github.com/valyala/fasthttp from 1.64.0 to 1.65.0 by @dependabot[bot] in #3684
  • build(deps): bump github.com/gofiber/utils/v2 from 2.0.0-beta.14 to 2.0.0-rc.1 by @dependabot[bot] in #3689
  • build(deps): bump codecov/codecov-action from 5.4.3 to 5.5.0 by @dependabot[bot] in #3701
  • build(deps): bump github.com/stretchr/testify from 1.10.0 to 1.11.0 by @dependabot[bot] in #3712

📚 Documentation

New Contributors

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-beta.5...v3.0.0-rc.1

v3.0.0-beta.5

20 Jul 14:49
361d76c

Choose a tag to compare

v3.0.0-beta.5 Pre-release
Pre-release

🚀 New Features

🧹 Updates

  • Middleware/basicAuth: Enhance BasicAuth middleware to better comply with RFC 6750 by @gaby in #3484
  • Middleware/basicAuth: Improve BasicAuth middleware default security by @gaby in #3522
  • Middleware/cache: Improve cache middleware RFC compliance by @gaby in #3488
  • Middleware/cors: Improve CORS middleware response headers by @gaby in #3505
  • Middleware/cors: Improve CORS tests coverage by @gaby in #3530
  • Middleware/csrf: Improve CSRF tests coverage by @gaby in #3531
  • Middleware/csrf: Add missing CSRF token extractor tests by @gaby in #3527
  • Middleware/csrf: Refactor CSRF middleware and enhance documentation by @sixcolors in #3598
  • Middleware/csrf: Enhance CSRF tests to address unsafe header value issue (#2045) by @sixcolors in #3485
  • Middleware/earlyData: Improve EarlyData middleware tests coverage by @gaby in #3520
  • Middleware/encryptCookie: Enhance config validation in EncryptCookie middleware by @gaby in #3491
  • Middleware/envVar: Refactor EnvVar middleware by @gaby in #3513
  • Middleware/helmet: Improve Helmet middleware tests coverage by @gaby in #3523
  • Middleware/idempotency: Improve Idempotency middleware tests coverage by @gaby in #3521
  • Middleware/keyAuth: Enhance KeyAuth middleware to better comply with RFC 6750 by @gaby in #3482
  • Middleware/logger: Logger Middleware tests to use regex for time validation by @ReneWerner87 in #3392
  • Middleware/timeout: unify and enhance timeout middleware by @ReneWerner87 in #3275
  • Middleware/proxy: Fix proxy middleware tests for offline environments by @gaby in #3467
  • Middleware/proxy: Improve proxy middleware by @ReneWerner87 in #3468
  • Middleware/static: Improve static middleware security by @gaby in #3595
  • Middleware/static: Improve sanitizePath performance by @ReneWerner87 in #3601
  • Value of map is unused in uniqueRouteStack by @ksw2000 in #3320
  • Reduce the Memory Usage of ignoreHeaders by @ksw2000 in #3322
  • Improve Performance of getSplicedStrList by @ksw2000 in #3318
  • Add go1.24 to CI matrix by @gaby in #3325
  • Migrate randString to rand v2 by @ksw2000 in #3329
  • Sorting error in sortAcceptedTypes by @ksw2000 in #3331
  • Reduce the memory usage of RoutePatternMatch by @ksw2000 in #3335
  • Replace findLastCharsetPosition with strings.LastIndexByte by @ksw2000 in #3338
  • Replace isInCharset with bytes.IndexByte by @ksw2000 in #3342
  • Optimize routeParser by using sync.Pool by @ksw2000 in #3343
  • Fix linter workflow failures by @gaby in #3354
  • Mark unused tests with t.SkipNow by @alexandear in #3366
  • Remove two string fields in DefaultCtx to save 32 bytes by @ksw2000 in #3353
  • Replace treePath with treePathHash in DefaultCtx to reduce memory usage by @ksw2000 in #3368
  • Add Immutable benchmarks for default case by @gaby in #3374
  • Remove redundant field method in DefaultCtx by @ksw2000 in #3372
  • Simplify HealthCheck middleware by @gaby in #3380
  • Add findNextNonEscapedCharPosition for single-byte charset cases by @ksw2000 in #3378
  • Change c.Redirect() default status by @andradei in #3415
  • Improve routing treeBuild flow by @ReneWerner87 in #3456
  • Add unit-test for header injection by @gaby in #3470
  • Performance optimizations by @ReneWerner87 in #3477
  • Make genericParseType return error by @ksw2000 in #3473
  • Add URI Test case for Test_Ctx_Binders by @ReneWerner87 in #3480
  • Improve performance for "equalFieldType" function by @ReneWerner87 in #3479
  • Update minimum go version to 1.24 by @ReneWerner87 in #3481
  • Use slices.Contains to simplify code by @tongjicoder in #3486
  • Use maps.Copy to simplify code by @alexandear in #3490
  • Remove deprecated comments and documenting recent changes by @ReneWerner87 in #3498
  • Update loop syntax for retry mechanism by @MonkyMars in #3516
  • Remove repo codecov.yml by @gaby in #3525
  • Improve Retry addon tests coverage by @gaby in #3526
  • Improve hooks test coverage by @gaby in #3524
  • Update codecov configuration by @gaby in #3528
  • Improve Binder tests coverage by @gaby in #3529
  • Use GetState to reduce duplicate code by @ksw2000 in #3542
  • Improve Cookie() validation by @gaby in #3546
  • Improve Router tests coverage by @gaby in #3550
  • Improve Accept* compliance with RFC 9110 by @gaby in #3548
  • Refactor fasthttp iter calls to range loops by @ReneWerner87 in #3559
  • Fix compression benchmarks by @gaby in #3561
  • Add iterator helpers for client types by @ReneWerner87 in #3560
  • Improve iterator performance. by @ksw2000 in #3562
  • Update utils dependency by @ReneWerner87 in #3576
  • Refactor Opt-in support for CBOR by @ReneWerner87 in #3580
  • Simplify generic function calls by @axrav in #3578
  • Add modernize lint by @ReneWerner87 in #3590
  • Revert "Add support for context.Context in keyauth middleware" by @sixcolors in #3364
  • Revert "Add Context Support to RequestID Middleware" by @sixcolors in #3365

🐛 Bug Fixes

Read more

v2.52.9

20 Jul 13:43
1197a22

Choose a tag to compare

🐛 Bug Fixes

Full Changelog: v2.52.8...v2.52.9

v2.52.8

22 May 07:01
22c3c0c

Choose a tag to compare

👮 Security

🧹 Updates

🐛 Bug Fixes

📚 Documentation

Full Changelog: v2.52.6...v2.52.8

v3.0.0-beta.4

31 Dec 17:00

Choose a tag to compare

v3.0.0-beta.4 Pre-release
Pre-release

🚀 New Features

🧹 Updates

  • Updates to fiberlog benchmarks and documentation by @gaby in #3059
  • Update benchmarks for Logger Middleware by @gaby in #3061
  • Enforce key length for EncryptCookie middleware default functions by @gaby in #3056
  • Improve and simplify logic of ctx.Next() by @gaby in #3063
  • Improve performance of Adaptor Middleware by @gaby in #3078
  • Refactor Benchmark Results Workflow by @gaby in #3082
  • Use Named Fields Instead of Positional and Align Structures to Reduce Memory Usage by @gaby in #3079
  • Improve performance of helper functions by @gaby in #3086
  • Use utils Trim functions instead of the strings/bytes functions by @ReneWerner87 in #3087
  • Improve Performance of c.Body() by 125% by @gaby in #3090
  • Add Benchmarks for Rewrite Middleware by @gaby in #3092
  • Consolidate Logic of Handling the Request Body by @ad3n in #3093
  • Add support for go1.23 and golangci-lint v1.60.1 by @gaby in #3101
  • Use msgp for flash message encoding/decoding by @efectn in #3099
  • Optimize IsFromLocal() performance by @gaby in #3140
  • Replace vendored gorilla/schema package by @efectn in #3152
  • Middleware/CORS Remove Scheme Restriction by @zingi in #3163
  • Improve naming convention for Context returning functions by @gaby in #3193
  • Mark go1.23 as minimum go version by @efectn in #3226
  • Rename the Method Names of FormData and FormDatas (#3251) by @ksw2000 in #3255
  • Improve Performance of Fiber Router by @gaby in #3261

🐛 Bug Fixes

  • Middleware/cache: Fix typo by @miyamo2 in #3145
  • Middleware/cache: Runtime error: index out of range [0] with length 0 by @brunodmartins in #3075
  • Middleware/Adaptor: Duplicates cookies by @sigmundxia in #3151
  • Client: Fix SetProxyURL functionality by @efectn in #3109
  • Fix square bracket notation in Multipart FormData by @efectn in #3235
  • Fasthttp errors cause panic when Params is used by @efectn in #3055
  • Use Content-Length for bytesReceived and bytesSent tags in Logger Middleware by @gaby in #3066
  • Error check in Form binder by @devhaozi in #3110
  • Handle un-matched open brackets in the query params by @dojutsu-user in #3126
  • Fix issue with default logger when creating RequestCtx by @gaby in #3134
  • Behavior of DefaultCtx.Fresh when 'Last-Modified' and 'If-Modified-Since' are equal by @miyamo2 in #3150
  • Close File After SaveFileToStorage by @gopkg-dev in #3197
  • Make SetValWithStruct set zero values and support more types #3167 by @ksw2000 in #3227
  • EnableSplittingOnParsers is not functional by @efectn in #3231
  • Memory leak removal in the idempotency middleware by @sunnyyssh in #3263
  • Fix race condition by @sixcolors in #3081
  • Nil pointer dereference with Must Bind binding by @ItsMeSamey in #3171

🛠️ Maintenance

📚 Documentation

Read more

v2.52.6

31 Dec 17:12
e04f815

Choose a tag to compare

🐛 Bug Fixes

  • Use Content-Length for bytesReceived and bytesSent tags in Logger Middleware in v2 by @gaby in #3067
  • Fix handle un-matched open brackets in the query params by @dojutsu-user in #3121
  • Middleware/CORS: Remove Scheme Restriction by @zingi in #3168
  • Respect Immutable config for Body() by @nickajacks1 in #3246
  • Support Square Bracket Notation in Multipart Form data by @ReneWerner87 in #3268

📚 Documentation

  • Add detailed documentation for the templates guide by @grivera64 in #3113

🛠️ Maintenance

Full Changelog: v2.52.5...v2.52.6

v3.0.0-beta.3

30 Jun 20:35
49ba8df

Choose a tag to compare

v3.0.0-beta.3 Pre-release
Pre-release

🚀 New Features

  • Middleware/static: add static middleware (#3006)
  • Middleware/cache: Add Cache Invalidation Option to Cache Middleware (#3036)
  • Middleware/keyauth: Add support for custom KeyLookup functions in the Keyauth middleware (#3028)
  • Add support for zstd compression (#3041)
  • Add configuration support to c.SendFile() (#3017)
  • Add support for longtests during CI (#3054)
  • Add CHIPS support to Cookie (#3047)

🧹 Updates

  • Middleware/cors: Config, lists as list types (#2962)
  • Middleware/session: Remove extra release and acquire ctx calls in session_test.go (#3044)
  • Optimize Cache middleware handler (#3031)
  • Adding a generator to generate the CTX interface (#3024)
  • Add Benchmarks for IsProxyTrusted() (#2933)

🐛 Bug Fixes

  • Fix some struct names in comments (#2974)
  • Fixes #3038 "v3 Flash Message with redirect is not working" (#3046)
  • Middleware/session: mutex for thread safety (#3049)
  • Middleware/session: fix data-race with sync.Pool (#3051)

🛠️ Maintenance

  • Bump github.com/valyala/fasthttp from 1.52.0 to 1.53.0 (#3000)
  • Bump github.com/valyala/fasthttp from 1.54.0 to 1.55.0 (#3037)
  • Updated fasthttp to 1.54.0 release (#3010)

📚 Documentation

  • Add docs for new client (#2991)
  • Consolidate and Document Core Changes in v3 (#2934)
  • Fix broken link to slim template in FAQ (#2969)
  • Fix merge conflict in documentation (#2957)
  • Fix some comments (#2983)
  • Update intro.md to make clear fiber.Ctx is not thread-safe. (#3014)
  • Improve ctx.Locals method description, godoc and example (#3032)
  • Add zero-allocation section to README (#3039)
  • Middleware/csrf: Update config TrustedOrigin comments (#2963)
  • Middleware/cors middleware (#2979)

Full Changelog: v3.0.0-beta.2...v3.0.0-beta.3

Thank you @efectn, @gaby, @hcancelik, @dave-gray101, @sixcolors, @ReneWerner87, @orvillesimba, @deferdeter, @rabarar, @dockercui and @omaskery for making this update possible.