[{"url":"https://api.github.com/repos/gofiber/fiber/releases/347997760","assets_url":"https://api.github.com/repos/gofiber/fiber/releases/347997760/assets","upload_url":"https://uploads.github.com/repos/gofiber/fiber/releases/347997760/assets{?name,label}","html_url":"https://github.com/gofiber/fiber/releases/tag/v3.5.0","id":347997760,"author":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"node_id":"RE_kwDODfYWS84UvgZA","tag_name":"v3.5.0","target_commitish":"main","name":"v3.5.0","draft":false,"immutable":false,"prerelease":false,"created_at":"2026-08-12T15:09:15Z","updated_at":"2026-08-13T07:24:30Z","published_at":"2026-08-13T07:24:30Z","assets":[],"tarball_url":"https://api.github.com/repos/gofiber/fiber/tarball/v3.5.0","zipball_url":"https://api.github.com/repos/gofiber/fiber/zipball/v3.5.0","body":"## 🚀 New\r\n\r\n- Harden proxy middleware (#4405)\r\n  New `proxy.SecurityPolicy` with secure defaults: private/loopback upstreams, non-http(s) schemes and HTTPS-to-HTTP redirect downgrades are rejected and hop-by-hop headers stripped.\r\n  ```go\r\n  proxy.WithSecurityPolicy(proxy.SecurityPolicy{\r\n      AllowPrivateIPs: true, // internal upstreams are blocked by default\r\n  })\r\n  ```\r\n  https://docs.gofiber.io/middleware/proxy#security\r\n- Add support for custom binding precedence (#4544)\r\n  New `binding_source` struct tag overrides the `Bind().All()` source order per struct; the resolved order is cached per `reflect.Type`.\r\n  ```go\r\n  type SearchReq struct {\r\n      Name string `binding_source:\"query,header,cookie,body,uri\" query:\"name\" header:\"x-name\" json:\"name\"`\r\n  }\r\n  ```\r\n  https://docs.gofiber.io/api/bind#custom-precedence\r\n- Add SkipUnmatchedRoutes with two-tier 404/405 fast path (#4486)\r\n  New `fiber.Config` option that answers unregistered paths with `404`/`405` before the middleware chain runs (CORS preflight exempt, off by default).\r\n  ```go\r\n  app := fiber.New(fiber.Config{\r\n      SkipUnmatchedRoutes: true, // default: false\r\n  })\r\n  ```\r\n  https://docs.gofiber.io/api/fiber#skipunmatchedroutes\r\n\r\n## 🧹 Updates\r\n\r\n- Speed up route matching with a flat tree index, leading-byte candidate rejection and a specialized /const/:param matcher (#4558)\r\n- Quick-reject routes on precomputed slash-count bounds (#4517)\r\n- Restore Route inlining lost in the RFC 9110 changes (#4501)\r\n- Skip the Accept join allocation in the Format emptiness check (#4503)\r\n- Skip the ip.String() allocation in IsProxyTrusted for CIDR-only trust configs (#4500)\r\n- Adopt SWAR-accelerated utils helpers in hot-path scanners (#4536)\r\n- Adopt gofiber/utils v2.2.0 helpers across hot paths (#4542)\r\n- Adopt gofiber/utils v2.4.0 helpers and optimize adaptor/proxy hot paths (#4557)\r\n- adaptor: Cut allocations on the net/http bridge (#4559)\r\n- cache: Optimize key generation and allocation (#4608)\r\n- cors: Fold preflight Vary calls into one header scan (#4502)\r\n- csrf: Optimize trusted subdomain matching (#4543)\r\n- proxy: Optimize balancer round-robin (#4549)\r\n- session: Use make() to preallocate relevantExtractors (#4562)\r\n- De-flake the clock-sensitive tests (#4575)\r\n\r\n## 🐛 Fixes\r\n\r\n- Fix open redirects in composed route URLs and redirect rules (#4584)\r\n- Preserve published route buckets during rebuilds (#4579)\r\n- URL-encode query values in `Redirect.Route` (#4529)\r\n- Accept the full float64 range in the `float` route constraint (#4528)\r\n- Match HTTP field names the way a recipient must (#4585)\r\n- Honor Accept weights followed by whitespace before the comma (#4550)\r\n- Compare Accept media types case-insensitively (#4493)\r\n- Honor q=0 rejections in content negotiation (#4508)\r\n- Honor duplicate Content-Encoding after empty values (#4514)\r\n- Improve RFC 9110 compliance across req/res/ctx, helpers and middleware (#4494)\r\n- Avoid reading omitted request bodies in Bind.All (#4565)\r\n- Combine repeated proxy headers for client IP extraction (#4568)\r\n- Close the listener on Listen error paths to avoid FD leaks (#4532)\r\n- Fire OnPostShutdown once with the real shutdown error (#4531)\r\n- Keep all `NewErrorf` args when the first isn't a format string (#4530)\r\n- adaptor: Preserve Connection tokens (#4606)\r\n- cache: Honor only-if-cached for non-shareable entries (#4589)\r\n- cache: Stop charging its own latency as response age (#4578)\r\n- healthcheck: Answer HEAD probes with the GET status (#4577)\r\n- limiter: Floor sub-second expiration in the sliding window (#4564)\r\n- proxy: Classify IPv6 transition addresses correctly in upstream validation (#4553)\r\n- proxy: Guard runtime helpers against DNS rebinding (#4518)\r\n- proxy: Preserve empty-query URL semantics (#4513)\r\n- redirect: Rank wildcards behind character classes in rule ordering (#4607)\r\n- static: Fix leading-slash normalization for fs.FS root paths (#4507)\r\n- Fix client redirect handling, TLS diagnostics and the JSONP callback (#4586)\r\n- Fix correctness issues across log injection, cookie jar, routing and Content-Type handling (#4570)\r\n\r\n## 🛠️ Maintenance\r\n\r\n<details>\r\n<summary>22 changes</summary>\r\n\r\n- bump github.com/klauspost/compress from 1.19.1 to 1.19.2 (#4602)\r\n- bump DavidAnson/markdownlint-cli2-action from 24.1.0 to 24.2.0 (#4583)\r\n- bump release-drafter/release-drafter from 7.6.0 to 7.7.0 (#4566)\r\n- bump github.com/gofiber/utils/v2 from 2.4.0 to 2.4.1 (#4567)\r\n- bump github.com/valyala/fasthttp from 1.72.0 to 1.73.0 in the fasthttp-modules group (#4561)\r\n- bump github.com/mattn/go-isatty from 0.0.23 to 0.0.24 (#4556)\r\n- bump actions/checkout from 7.0.0 to 7.0.1 (#4551)\r\n- bump github.com/klauspost/compress from 1.19.0 to 1.19.1 (#4548)\r\n- bump github.com/gofiber/schema from 1.8.2 to 1.8.3 (#4547)\r\n- bump release-drafter/release-drafter from 7.5.1 to 7.6.0 (#4546)\r\n- bump DavidAnson/markdownlint-cli2-action from 24.0.0 to 24.1.0 (#4545)\r\n- bump actions/setup-go from 6.5.0 to 7.0.0 (#4541)\r\n- bump github.com/mattn/go-isatty from 0.0.22 to 0.0.23 (#4540)\r\n- bump github.com/shamaton/msgpack/v3 from 3.1.2 to 3.2.0 (#4538)\r\n- bump actions/setup-node from 6.4.0 to 7.0.0 (#4537)\r\n- bump github.com/gofiber/schema from 1.8.1 to 1.8.2 (#4535)\r\n- bump github.com/gofiber/utils/v2 from 2.1.1 to 2.1.2 (#4520)\r\n- bump the golang-modules group with 3 updates (#4515)\r\n- bump DavidAnson/markdownlint-cli2-action from 23.2.0 to 24.0.0 (#4506)\r\n- bump golang.org/x/sys from 0.46.0 to 0.47.0 in the golang-modules group (#4511)\r\n- bump golang.org/x/text from 0.38.0 to 0.39.0 in the golang-modules group (#4509)\r\n- bump github.com/gofiber/schema from 1.8.0 to 1.8.1 (#4510)\r\n</details>\r\n\r\n## 📚 Documentation\r\n\r\n- Explain adjacent multi-param capture rules (#4597)\r\n- Document Ctx as a never-cancelable context (#4560)\r\n- Move README.md to the repo root so pkg.go.dev renders it (#4505)\r\n- logger: Explain when the error tag is populated (#4592)\r\n\r\n**📒 Documentation**: https://docs.gofiber.io/\r\n\r\n**💬 Discord**: https://gofiber.io/discord\r\n\r\n**Full Changelog**: https://github.com/gofiber/fiber/compare/v3.4.0...v3.5.0\r\n\r\nThank you @0xghost42, @ATKasem, @Rachit-Gandhi, @ReneWerner87, @RubenPari, @SivaPA08, @aryan-finbox, @aryan262, @gaby, @james-yusuke, @nikolauspschuetz, @sueun-dev and @sunghyun1999 for making this release possible.\r\n","reactions":{"url":"https://api.github.com/repos/gofiber/fiber/releases/347997760/reactions","total_count":10,"+1":1,"-1":0,"laugh":0,"hooray":5,"confused":0,"heart":1,"rocket":3,"eyes":0},"mentions_count":13},{"url":"https://api.github.com/repos/gofiber/fiber/releases/369326678","assets_url":"https://api.github.com/repos/gofiber/fiber/releases/369326678/assets","upload_url":"https://uploads.github.com/repos/gofiber/fiber/releases/369326678/assets{?name,label}","html_url":"https://github.com/gofiber/fiber/releases/tag/v2.52.15","id":369326678,"author":{"login":"ReneWerner87","id":7063188,"node_id":"MDQ6VXNlcjcwNjMxODg=","avatar_url":"https://avatars.githubusercontent.com/u/7063188?v=4","gravatar_id":"","url":"https://api.github.com/users/ReneWerner87","html_url":"https://github.com/ReneWerner87","followers_url":"https://api.github.com/users/ReneWerner87/followers","following_url":"https://api.github.com/users/ReneWerner87/following{/other_user}","gists_url":"https://api.github.com/users/ReneWerner87/gists{/gist_id}","starred_url":"https://api.github.com/users/ReneWerner87/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ReneWerner87/subscriptions","organizations_url":"https://api.github.com/users/ReneWerner87/orgs","repos_url":"https://api.github.com/users/ReneWerner87/repos","events_url":"https://api.github.com/users/ReneWerner87/events{/privacy}","received_events_url":"https://api.github.com/users/ReneWerner87/received_events","type":"User","user_view_type":"public","site_admin":false},"node_id":"RE_kwDODfYWS84WA3pW","tag_name":"v2.52.15","target_commitish":"v2","name":"v2.52.15","draft":false,"immutable":false,"prerelease":false,"created_at":"2026-08-12T15:01:38Z","updated_at":"2026-08-12T15:03:17Z","published_at":"2026-08-12T15:03:17Z","assets":[],"tarball_url":"https://api.github.com/repos/gofiber/fiber/tarball/v2.52.15","zipball_url":"https://api.github.com/repos/gofiber/fiber/zipball/v2.52.15","body":"\r\n# 🐛 Bug Fixes\r\n* idempotency: release MemoryLock keys on unlock #4569\r\n\r\n\r\n**Full Changelog**: https://github.com/gofiber/fiber/compare/v2.52.14...v2.52.15","reactions":{"url":"https://api.github.com/repos/gofiber/fiber/releases/369326678/reactions","total_count":6,"+1":5,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":1,"eyes":0}},{"url":"https://api.github.com/repos/gofiber/fiber/releases/349352513","assets_url":"https://api.github.com/repos/gofiber/fiber/releases/349352513/assets","upload_url":"https://uploads.github.com/repos/gofiber/fiber/releases/349352513/assets{?name,label}","html_url":"https://github.com/gofiber/fiber/releases/tag/v2.52.14","id":349352513,"author":{"login":"ReneWerner87","id":7063188,"node_id":"MDQ6VXNlcjcwNjMxODg=","avatar_url":"https://avatars.githubusercontent.com/u/7063188?v=4","gravatar_id":"","url":"https://api.github.com/users/ReneWerner87","html_url":"https://github.com/ReneWerner87","followers_url":"https://api.github.com/users/ReneWerner87/followers","following_url":"https://api.github.com/users/ReneWerner87/following{/other_user}","gists_url":"https://api.github.com/users/ReneWerner87/gists{/gist_id}","starred_url":"https://api.github.com/users/ReneWerner87/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ReneWerner87/subscriptions","organizations_url":"https://api.github.com/users/ReneWerner87/orgs","repos_url":"https://api.github.com/users/ReneWerner87/repos","events_url":"https://api.github.com/users/ReneWerner87/events{/privacy}","received_events_url":"https://api.github.com/users/ReneWerner87/received_events","type":"User","user_view_type":"public","site_admin":false},"node_id":"RE_kwDODfYWS84U0rJB","tag_name":"v2.52.14","target_commitish":"v2","name":"v2.52.14","draft":false,"immutable":false,"prerelease":false,"created_at":"2026-07-06T06:18:43Z","updated_at":"2026-07-06T06:30:09Z","published_at":"2026-07-06T06:30:09Z","assets":[],"tarball_url":"https://api.github.com/repos/gofiber/fiber/tarball/v2.52.14","zipball_url":"https://api.github.com/repos/gofiber/fiber/zipball/v2.52.14","body":"<!-- Release notes generated using configuration in .github/release.yml at v2 -->\r\n\r\n## What's Changed\r\n\r\n### 🐛 Bug Fixes\r\n* backport BalancerForward X-Real-IP overwrite fix to v2 by @terraincognita07 in https://github.com/gofiber/fiber/pull/4495\r\n\r\n## New Contributors\r\n* @terraincognita07 made their first contribution\r\n\r\n**Full Changelog**: https://github.com/gofiber/fiber/compare/v2.52.13...v2.52.14","reactions":{"url":"https://api.github.com/repos/gofiber/fiber/releases/349352513/reactions","total_count":6,"+1":5,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":1,"rocket":0,"eyes":0},"mentions_count":1},{"url":"https://api.github.com/repos/gofiber/fiber/releases/327656543","assets_url":"https://api.github.com/repos/gofiber/fiber/releases/327656543/assets","upload_url":"https://uploads.github.com/repos/gofiber/fiber/releases/327656543/assets{?name,label}","html_url":"https://github.com/gofiber/fiber/releases/tag/v3.4.0","id":327656543,"author":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"node_id":"RE_kwDODfYWS84Th6Rf","tag_name":"v3.4.0","target_commitish":"main","name":"v3.4.0","draft":false,"immutable":false,"prerelease":false,"created_at":"2026-07-02T07:10:30Z","updated_at":"2026-07-02T07:39:44Z","published_at":"2026-07-02T07:39:44Z","assets":[],"tarball_url":"https://api.github.com/repos/gofiber/fiber/tarball/v3.4.0","zipball_url":"https://api.github.com/repos/gofiber/fiber/zipball/v3.4.0","body":"## 🚀 New\r\n\r\n- Complete HTTP QUERY method support (#4436, #4456)\r\n  Adds the HTTP QUERY method ([RFC 10008](https://www.rfc-editor.org/rfc/rfc10008)): `fiber.MethodQuery`, `app.Query()` routing, safe/idempotent handling in csrf, idempotency, earlydata and cache, plus `client.Query()` shorthands.\r\n  ```go\r\n  app.Query(\"/search\", func(c fiber.Ctx) error {\r\n      return c.Send(c.Body()) // QUERY carries the query expression in the body\r\n  })\r\n  ```\r\n  https://docs.gofiber.io/client/rest#query\r\n- Add WithContext variants for session storage I/O (#4393)\r\n  `SaveWithContext`, `DestroyWithContext`, `RegenerateWithContext` and `ResetWithContext` propagate deadlines/cancellation to the session storage backend; the plain methods keep working unchanged.\r\n  ```go\r\n  sess := session.FromContext(c)\r\n  err := sess.SaveWithContext(ctx) // storage write bounded by ctx\r\n  ```\r\n  https://docs.gofiber.io/middleware/session#session-with-context-timeoutscancellation\r\n- Unify internal and custom constraints into a single interface (#4397)\r\n  Built-in and custom route constraints now share one `ConstraintHandler` interface; the optional `ConstraintAnalyzer` precomputes constraint data at route registration, removing per-request parsing. Existing `CustomConstraint` implementations keep working unchanged.\r\n  ```go\r\n  app.RegisterCustomConstraint(evenConstraint{}) // implements Name() + Execute()\r\n  app.Get(\"/items/:id<even>\", handler)\r\n  ```\r\n  https://docs.gofiber.io/guide/routing#constrainthandler-interface\r\n- Expose prefork RecoverInterval and ShutdownGracePeriod (#4491)\r\n  New `ListenConfig` knobs: `PreforkRecoverInterval` delays respawning a crashed child (default `0`) and `PreforkShutdownGracePeriod` sets how long the master waits after SIGTERM before SIGKILL (default `5s`).\r\n  ```go\r\n  app.Listen(\":3000\", fiber.ListenConfig{\r\n      EnablePrefork:              true,\r\n      PreforkRecoverInterval:     time.Second,\r\n      PreforkShutdownGracePeriod: 10 * time.Second,\r\n  })\r\n  ```\r\n  https://docs.gofiber.io/api/fiber#preforkrecoverinterval\r\n\r\n## 🧹 Updates\r\n\r\n- Reduce avoidable work in the request hot path (#4490)\r\n- Avoid per-request heap allocation in DefaultErrorHandler (#4446)\r\n- Use sentinel errors on typed-getter and Range parse failures (#4448)\r\n- Replace appendLowerBytes with utilsbytes.UnsafeToLower (#4468)\r\n- Add MIMETextEventStream constant (#4415)\r\n- Cache binder decoder type metadata across requests (#4447)\r\n- Eliminate double reflection in binder mergeStruct (-10% allocs) (#4385)\r\n- Reduce binder data map allocations (#4379)\r\n- cache: Append canonical key segments into the pooled buffer (#4450)\r\n- cors: Optimize subdomain origin matching (#4482)\r\n- cors: Optimize exact-origin lookup to O(1) (#4368)\r\n- csrf/redirect: Share scheme/host matching and skip url.Parse on the hot path (#4449)\r\n- Narrow client user hook lock scope safely (#4375)\r\n- Raise middleware coverage above 90% for timeout, logger, idempotency, limiter, cache (#4466)\r\n- Cover remaining cors/csrf middleware branches (#4462)\r\n- Add unit tests for isOriginSerializedOrNull (#4461)\r\n- Cover session deadline/error paths and delegate Middleware lifecycle methods (#4435)\r\n- Inject clock to make time-dependent tests deterministic (#4430)\r\n- Rename benchmark cases (#4383)\r\n- Remove test-only dead code and add manual deadcode workflow (#4458)\r\n- Remove dead code flagged by static analysis (#4454)\r\n- Static analysis cleanups (#4444)\r\n- Fix modernize lint issues (#4315)\r\n\r\n## 🐛 Fixes\r\n\r\n- Evaluate If-Modified-Since when If-None-Match is absent in Fresh (#4488)\r\n- Fix open redirect via Redirect().Back() by validating the Referer header origin (#4370)\r\n- Fix data race on lazy appListKeys generation in Render (#4440)\r\n- Avoid route fallback errors during server error middleware traversal (#4426)\r\n- Strip all trusted proxy IPs from X-Forwarded-For chain (#4394)\r\n- Guard typed-nil errors (#4407)\r\n- Guard typed-nil Fiber error paths without reflection (#4372)\r\n- Preserve legacy custom constraint arguments (#4432)\r\n- Remove unreachable SameSiteDefaultMode case (#4471)\r\n- Detach quoted filename strings from pooled buffers (#4374)\r\n- Prevent app.init mutex deadlock on panic (#4366)\r\n- Enforce CertClientFile for AutoCertManager TLS (#4312)\r\n- cache: Separate authorization key segment (#4467)\r\n- cache: Hash QUERY body keys (#4459)\r\n- cache: Evaluate freshness after locking (#4419)\r\n- cors: Validate wildcard origins before matching (#4438)\r\n- cors: Reject empty wildcard labels (#4437)\r\n- csrf: Validate nested extractor chains (#4439)\r\n- csrf: Port CORS subdomain match fixes (#4455)\r\n- etag: Skip Server-Sent Events responses (#4487)\r\n- Guard extractor introspection cycles (#4453)\r\n- helmet: Use Scheme() for HTTPS detection and validate HSTS configuration (#4389)\r\n- hostauthorization: Reject malformed hostnames in wildcard path (#4408)\r\n- idempotency: Make MemoryLock safe for zero-value use (#4371)\r\n- limiter: Correct fixed-window hit credit on skipped requests (#4422)\r\n- logger/cache/storage: Remove unbounded background goroutines (#4378)\r\n- pprof/proxy: Fix trailing-slash redirect and balancer empty-server panic (#4421)\r\n- proxy: Bound upstream connections by default (#4369)\r\n- rewrite/redirect: Anchor rules to the start of the path (#4483)\r\n- session: Prevent session fixation by preserving successful extractor in chains (#4469)\r\n- session: Prevent store error disclosure (#4424)\r\n- session: Restore isFresh field name (#4477)\r\n- sse: Preserve trailing newlines in event data (#4414)\r\n- timeout: Isolate default timeout responses (#4442)\r\n- timeout: Reclaim abandoned fiber.Ctx via ScheduleReclaim latch (#4359, #4400)\r\n- Fix client config locking races (#4470)\r\n- Fix client default access race in Replace/C path (#4377)\r\n- Handle panics in client execFunc without crashing callers (#4365)\r\n- Address bugs found in codebase audit (#4420)\r\n- Fix cleanup follow-ups and regression coverage (#4380)\r\n\r\n## 🛠️ Maintenance\r\n\r\n<details>\r\n<summary>22 changes</summary>\r\n\r\n- bump github.com/klauspost/compress from 1.18.7 to 1.19.0 (#4489)\r\n- bump github.com/klauspost/compress from 1.18.6 to 1.18.7 (#4485)\r\n- bump github.com/andybalholm/brotli from 1.2.1 to 1.2.2 (#4484)\r\n- bump github.com/valyala/fasthttp from 1.71.0 to 1.72.0 in the fasthttp-modules group (#4481)\r\n- bump actions/cache/restore from 6.0.0 to 6.1.0 (#4480)\r\n- bump actions/cache/save from 6.0.0 to 6.1.0 (#4479)\r\n- bump release-drafter/release-drafter from 7.5.0 to 7.5.1 (#4463)\r\n- bump release-drafter/release-drafter from 7.4.0 to 7.5.0 (#4457)\r\n- bump actions/cache from 5.0.5 to 6.0.0 (#4452)\r\n- bump actions/setup-go from 6.4.0 to 6.5.0 (#4451)\r\n- bump actions/checkout from 6.0.3 to 7.0.0 (#4441)\r\n- bump release-drafter/release-drafter from 7.3.1 to 7.4.0 (#4434)\r\n- bump golang.org/x/net from 0.55.0 to 0.56.0 in the golang-modules group (#4425)\r\n- bump github.com/gofiber/schema from 1.7.2 to 1.8.0 (#4417)\r\n- bump the golang-modules group with 2 updates (#4416)\r\n- bump golang.org/x/sys from 0.45.0 to 0.46.0 in the golang-modules group (#4412)\r\n- bump codecov/codecov-action from 6.0.1 to 7.0.0 (#4413)\r\n- bump actions/checkout from 6.0.2 to 6.0.3 (#4398)\r\n- bump github.com/gofiber/schema from 1.7.1 to 1.7.2 (#4396)\r\n- bump github.com/mattn/go-colorable from 0.1.14 to 0.1.15 (#4384)\r\n- bump release-drafter/release-drafter from 7.3.0 to 7.3.1 (#4314)\r\n- bump the golang-modules group with 3 updates (#4310)\r\n</details>\r\n\r\n## 📚 Documentation\r\n\r\n- Restructure routing guide and split handler partials (#4311)\r\n- Fix Ctx.Scheme/Protocol documentation (#4473, #4474)\r\n- Clarify client hook concurrency contract (#4386)\r\n- keyauth: Fix extractor examples (#4409)\r\n- Add FAQ troubleshooting entry for the \"id \\<= evictCount\" (hpack/gRPC) panic (#4475)\r\n- Replace interface{} with any (Go 1.18+) (#4433)\r\n- Document thread-safety contracts for mutex-backed public types (#4367)\r\n- Enhance sponsorship section in README (#4402)\r\n\r\n**📒 Documentation**: https://docs.gofiber.io/next/\r\n\r\n**💬 Discord**: https://gofiber.io/discord\r\n\r\n**Full Changelog**: https://github.com/gofiber/fiber/compare/v3.3.0...v3.4.0\r\n\r\nThank you @0xghost42, @Amirhf1, @DucMinhNe, @Fenny, @MD-Mushfiqur123, @ReneWerner87, @alexandear, @fereidani, @gaby, @james-yusuke, @ksw2000, @nekoworks-magic, @niksis02, @pageton, @sixcolors and @talktokim for making this release possible.\r\n","reactions":{"url":"https://api.github.com/repos/gofiber/fiber/releases/327656543/reactions","total_count":17,"+1":7,"-1":0,"laugh":0,"hooray":7,"confused":0,"heart":0,"rocket":3,"eyes":0},"mentions_count":16},{"url":"https://api.github.com/repos/gofiber/fiber/releases/313580248","assets_url":"https://api.github.com/repos/gofiber/fiber/releases/313580248/assets","upload_url":"https://uploads.github.com/repos/gofiber/fiber/releases/313580248/assets{?name,label}","html_url":"https://github.com/gofiber/fiber/releases/tag/v3.3.0","id":313580248,"author":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"node_id":"RE_kwDODfYWS84SsNrY","tag_name":"v3.3.0","target_commitish":"main","name":"v3.3.0","draft":false,"immutable":false,"prerelease":false,"created_at":"2026-05-22T06:53:30Z","updated_at":"2026-05-22T07:24:22Z","published_at":"2026-05-22T07:15:22Z","assets":[],"tarball_url":"https://api.github.com/repos/gofiber/fiber/tarball/v3.3.0","zipball_url":"https://api.github.com/repos/gofiber/fiber/zipball/v3.3.0","body":"## 🚀 New\r\n\r\n- Add support for configuring the Regex engine on the router (#4254)\r\n  Swap the compiler used for `regex()` route constraints. Assign a drop-in engine such as `coregex.MustCompile` for faster matching;Fiber reuses the compiled matcher across requests.\r\n  ```go\r\n  app := fiber.New(fiber.Config{\r\n      RegexHandler: coregex.MustCompile, // default: regexp.MustCompile\r\n  })\r\n  ```\r\n  https://docs.gofiber.io/api/fiber#regexhandler\r\n- Host auth middleware  (#4199)\r\n  New `hostauthorization` middleware that validates the incoming `Host` header against an allowlist (exact host, `.subdomain` wildcard, CIDR range) to protect against DNS rebinding attacks.\r\n  ```go\r\n  app.Use(hostauthorization.New(hostauthorization.Config{\r\n      AllowedHosts: []string{\"api.myapp.com\", \".myapp.com\", \"10.0.0.0/8\"},\r\n  }))\r\n  ```\r\n  https://docs.gofiber.io/middleware/hostauthorization\r\n- Delegate implementation to fasthttp/prefork (#4210)\r\n  Prefork now delegates to fasthttp's `prefork` package and adds `PreforkRecoverThreshold` (max child restarts before the master exits) and `PreforkLogger` to `ListenConfig`.\r\n  https://docs.gofiber.io/api/fiber#preforkrecoverthreshold\r\n- Add support for contextual logs (#4241)\r\n  Render request-scoped fields in `log.WithContext(c)` by configuring a template with `log.SetContextTemplate`, reusing the `middleware/logger` engine (including `${value:key}` for arbitrary context values).\r\n  ```go\r\n  log.MustSetContextTemplate(log.ContextConfig{Format: log.RequestIDFormat})\r\n\r\n  app.Get(\"/\", func(c fiber.Ctx) error {\r\n      log.WithContext(c).Info(\"start\") // renders the request id\r\n      return c.SendString(\"ok\")\r\n  })\r\n  ```\r\n  https://docs.gofiber.io/api/log#bind-context\r\n- Add storage backed SharedState for prefork applications (#4243)\r\nA prefork-safe, storage-backed key/value store via `app.SharedState()` for data shared across workers/processes, with JSON/MsgPack/CBOR/XML helpers and automatic key namespacing. `app.State()` stays process-local.\r\n  ```go\r\n  app := fiber.New(fiber.Config{\r\n      SharedStorage: redis.New(), // any fiber.Storage shared across workers\r\n  })\r\n  app.SharedState().SetJSON(\"config\", cfg, 0)\r\n  ```\r\n  https://docs.gofiber.io/api/state#sharedstate-prefork-safe\r\n- Add lightweight SSE middleware (#4239)\r\n  A Fiber-native `middleware/sse` for Server-Sent Events: SSE headers, event/comment/retry frames, per-write flushing, heartbeats,\r\n  `Last-Event-ID` access, and disconnect detection via `stream.Context()`.\r\n  ```go\r\n  app.Get(\"/events\", sse.New(sse.Config{\r\n      Handler: func(c fiber.Ctx, stream *sse.Stream) error {\r\n          return stream.Event(sse.Event{Name: \"message\", Data: fiber.Map{\"message\": \"hello\"}})\r\n      },\r\n  }))\r\n  ```\r\n  https://docs.gofiber.io/middleware/sse\r\n\r\n## 🧹 Updates\r\n\r\n- Add prefixes to unexported boolean fields (#4300)\r\n- Improve error messages in SaveFileToStorage (#4173)\r\n- Streamline request handler selection and context management for improved performance (#4233)\r\n\r\n## 🐛 Fixes\r\n\r\n- Preserve mounted sub-app regex handler during mount prefixing (#4308)\r\n- Trim only one trailing dot in host normalization (#4307)\r\n- Reject oversized unknown-length adaptor request bodies (#4306)\r\n- Fix compress middleware's shouldSkip method to avoid memory growth (#4284)\r\n- Reject malformed host authorities in hostauthorization (#4293)\r\n- Synchronize view reloads with template rendering (#4288)\r\n- Avoid panic for non-struct listeners in TLS config discovery (#4305)\r\n- Clear plaintext cookie when encryption fails (#4303)\r\n- Fix regex route constraint parsing with literal > (#4292)\r\n- Reject empty normalized host before dynamic matching (#4291)\r\n- Preserve idempotency replay protection for oversized responses (#4287)\r\n- Enforce CookieJar domain acceptance and host-only cookie matching (#4282)\r\n- Avoid panic when reading released Fiber context values (#4271)\r\n- Enforce static root for fs-backed directory serving (#4277)\r\n- Prevent negative paginate start overflow (#4272)\r\n- Prevent SharedState namespace key collisions (#4274)\r\n- Copy FullURL string before returning pooled buffer (#4275)\r\n- Enforce paginate sort allowlist when AllowedSorts is unset (#4276)\r\n- Validate and safely apply workflow version updates (#4273)\r\n- Close BodyStream in adaptor FiberHandler streaming path (#4267)\r\n- Prevent panic when MsgPack is not configured (#4268)\r\n- Keep IsFromLocal loopback-only and add unix-socket helper (#4270)\r\n- Prevent panic when CBOR is not explicitly configured (#4269)\r\n- Guard session logger tag against released middleware (#4265)\r\n- Add X-Real-IP protection to Forward and DomainForward variants (#4261)\r\n- Ensure BalancerForward overwrites X-Real-IP header (#4260)\r\n- Add test coverage for multipart BodyLimit error handling (#4237)\r\n- Improve error propagation in Express-style handler (#4250)\r\n- Remove SSE Next and clarify SSE handler docs (#4247)\r\n- BasicAuth verifier for unknown users (#4245)\r\n\r\n## 🛠️ Maintenance\r\n\r\n<details>\r\n<summary>13 changes</summary>\r\n\r\n- bump github.com/shamaton/msgpack/v3 from 3.1.1 to 3.1.2 (#4296)\r\n- bump codecov/codecov-action from 6.0.0 to 6.0.1 (#4294)\r\n- bump actions/add-to-project from 1.0.2 to 2.0.0 (#4256)\r\n- bump github.com/shamaton/msgpack/v3 from 3.1.0 to 3.1.1 (#4281)\r\n- bump the golang-modules group with 3 updates (#4278)\r\n- bump golang.org/x/sys from 0.43.0 to 0.44.0 in the golang-modules group (#4262)\r\n- bump DavidAnson/markdownlint-cli2-action from 23.1.0 to 23.2.0 (#4259)\r\n- bump benchmark-action/github-action-benchmark from 1.22.0 to 1.22.1 (#4258)\r\n- bump github.com/valyala/fasthttp from 1.70.0 to 1.71.0 in the fasthttp-modules group (#4255)\r\n- bump github.com/klauspost/compress from 1.18.5 to 1.18.6 (#4249)\r\n- bump DavidAnson/markdownlint-cli2-action from 23.0.0 to 23.1.0 (#4246)\r\n- bump github.com/mattn/go-isatty from 0.0.21 to 0.0.22 (#4242)\r\n</details>\r\n\r\n## 📚 Documentation\r\n\r\n- Fix invalid RouteChain method chaining example (#4304)\r\n- Harden reverse proxy X-Forwarded-For example (#4266)\r\n- Correct fasthttpctx Done semantics in context guide (#4264)\r\n- Clarify ${bytesSent} behavior in logger middleware (#4251)\r\n- Clarify prefork security model and OS-specific socket behavior (#4240)\r\n\r\n**📒 Documentation**: https://docs.gofiber.io/next/\r\n\r\n**💬 Discord**: https://gofiber.io/discord\r\n\r\n**Full Changelog**: https://github.com/gofiber/fiber/compare/v3.2.0...v3.3.0\r\n\r\nThank you @ReneWerner87, @elton-peixoto-lu, @gaby, @gtoxlili, @lyyvalhalla, @mutantkeyboard, @pageton and @pratikramteke for making this release possible.\r\n\r\n","reactions":{"url":"https://api.github.com/repos/gofiber/fiber/releases/313580248/reactions","total_count":26,"+1":2,"-1":0,"laugh":0,"hooray":18,"confused":0,"heart":0,"rocket":6,"eyes":0},"mentions_count":8},{"url":"https://api.github.com/repos/gofiber/fiber/releases/290051061","assets_url":"https://api.github.com/repos/gofiber/fiber/releases/290051061/assets","upload_url":"https://uploads.github.com/repos/gofiber/fiber/releases/290051061/assets{?name,label}","html_url":"https://github.com/gofiber/fiber/releases/tag/v3.2.0","id":290051061,"author":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"node_id":"RE_kwDODfYWS84RSdP1","tag_name":"v3.2.0","target_commitish":"main","name":"v3.2.0","draft":false,"immutable":false,"prerelease":false,"created_at":"2026-04-25T10:49:18Z","updated_at":"2026-04-25T11:22:33Z","published_at":"2026-04-25T10:53:02Z","assets":[],"tarball_url":"https://api.github.com/repos/gofiber/fiber/tarball/v3.2.0","zipball_url":"https://api.github.com/repos/gofiber/fiber/zipball/v3.2.0","body":"## 🚀 New\r\n\r\n- Add URL() method to Route for generating URLs with parameters (#4195)\r\nhttps://docs.gofiber.io/api/app#getroute\r\n- Add comprehensive tests for binding to pointer scalar types (#4191)\r\n- Add response format support to healthcheck middleware (#4178)\r\nhttps://docs.gofiber.io/middleware/healthcheck#config\r\n- Route Domain() func for host-based routing (#4100)\r\n- Add pagination middleware (#4127)\r\nhttps://docs.gofiber.io/middleware/paginate\r\n- Add BindError type with source and field metadata (#4120)\r\nhttps://docs.gofiber.io/api/bind#binderror\r\n- Add PanicHandler in recover middleware (#4110)\r\nhttps://docs.gofiber.io/middleware/recover#config\r\n\r\n## 🧹 Updates\r\n\r\n- Optimize speed (#4231)\r\n- Remove duplicate benchmark handling and update benchmark action version (#4108)\r\n\r\n\r\n## 🐛 Fixes\r\n\r\n- Fix race condition in TestTimeout\\_ContextPropagation (#4119)\r\n- Fix ARMv7 build overflow in etag middleware (#4190)\r\n- Fix HTML escaping in AutoFormat (#4228)\r\n- Structured default cache keys, and controls (#4224)\r\n- Enforce BodyLimit on request decompression and multipart form parsing (#4213)\r\n- Implement releaseData function for better resource management (#4209)\r\n- Strip path from referer before matching trusted origins (#4204)\r\n- Improve clarity for ProxyHeader and TrustProxy configuration (#4140)\r\n- Prefork children exit immediately in Docker containers (#4133)\r\n- Fix math.MaxUint32 overflow in etag middleware on 32-bit platforms (#4135)\r\n- Add nil checks to `End()` to prevent panic in streaming mode (#4128)\r\n- Custom binders bypass StructValidator in Body() and Custom() (#4124)\r\n\r\n## 🛠️ Maintenance\r\n\r\n<details>\r\n<summary>43 changes</summary>\r\n\r\n- bump actions/setup-go from 6.2.0 to 6.3.0 (#4114)\r\n- bump golang.org/x/net from 0.50.0 to 0.51.0 in the golang-modules group (#4113)\r\n- bump github.com/gofiber/schema from 1.7.0 to 1.7.1 (#4220)\r\n- bump actions/setup-node from 6.3.0 to 6.4.0 (#4222)\r\n- bump dependabot/fetch-metadata from 3.0.0 to 3.1.0 (#4221)\r\n- bump github.com/tinylib/msgp from 1.6.3 to 1.6.4 (#4215)\r\n- bump github/codeql-action from 4.35.1 to 4.35.2 (#4216)\r\n- bump actions/cache from 5.0.4 to 5.0.5 (#4214)\r\n- bump actions/github-script from 8.0.0 to 9.0.0 (#4207)\r\n- bump release-drafter/release-drafter from 7.1.1 to 7.2.0 (#4206)\r\n- bump the golang-modules group with 2 updates (#4205)\r\n- bump github.com/mattn/go-isatty from 0.0.20 to 0.0.21 (#4203)\r\n- bump golang.org/x/text from 0.35.0 to 0.36.0 in the golang-modules group (#4202)\r\n- bump golang.org/x/sys from 0.42.0 to 0.43.0 in the golang-modules group (#4201)\r\n- bump github.com/valyala/fasthttp from 1.69.0 to 1.70.0 in the fasthttp-modules group across 1 directory (#4197)\r\n- bump lewagon/wait-on-check-action from 1.6.0 to 1.6.1 (#4198)\r\n- bump streetsidesoftware/cspell-action from 8.3.0 to 8.4.0 (#4188)\r\n- bump github.com/andybalholm/brotli from 1.2.0 to 1.2.1 (#4174)\r\n- bump benchmark-action/github-action-benchmark from 1.21.0 to 1.22.0 (#4172)\r\n- bump actions/setup-go from 6.3.0 to 6.4.0 (#4170)\r\n- bump lewagon/wait-on-check-action from 1.5.0 to 1.6.0 (#4171)\r\n- bump github/codeql-action from 4.35.0 to 4.35.1 (#4169)\r\n- bump dependabot/fetch-metadata from 2.5.0 to 3.0.0 (#4165)\r\n- bump codecov/codecov-action from 5.5.3 to 6.0.0 (#4166)\r\n- bump github/codeql-action from 4.34.1 to 4.35.0 (#4164)\r\n- bump DavidAnson/markdownlint-cli2-action from 22.0.0 to 23.0.0 (#4161)\r\n- bump github.com/klauspost/compress from 1.18.4 to 1.18.5 (#4158)\r\n- bump github/codeql-action from 4.34.0 to 4.34.1 (#4159)\r\n- bump github/codeql-action from 4.33.0 to 4.34.0 (#4156)\r\n- bump codecov/codecov-action from 5.5.2 to 5.5.3 (#4153)\r\n- bump release-drafter/release-drafter from 7.1.0 to 7.1.1 (#4152)\r\n- bump actions/cache from 5.0.3 to 5.0.4 (#4151)\r\n- bump release-drafter/release-drafter from 7.0.0 to 7.1.0 (#4147)\r\n- bump release-drafter/release-drafter from 6.4.0 to 7.0.0 (#4142)\r\n- bump github/codeql-action from 4.32.6 to 4.33.0 (#4141)\r\n- bump the golang-modules group with 3 updates (#4138)\r\n- bump golang.org/x/sys from 0.41.0 to 0.42.0 in the golang-modules group (#4136)\r\n- bump release-drafter/release-drafter from 6.3.0 to 6.4.0 (#4137)\r\n- bump github/codeql-action from 4.32.5 to 4.32.6 (#4131)\r\n- bump release-drafter/release-drafter from 6.2.0 to 6.3.0 (#4130)\r\n- bump actions/setup-node from 6.2.0 to 6.3.0 (#4129)\r\n- bump benchmark-action/github-action-benchmark from 1.20.7 to 1.21.0 (#4126)\r\n- bump github/codeql-action from 4.32.4 to 4.32.5 (#4123)\r\n</details>\r\n\r\n## 📚 Documentation\r\n\r\n- Key Value Expectation Notice (KeyAuth Middleware) (#4183)\r\n- Document array query parameter formats for Query binder (#4116)\r\n\r\n**📒 Documentation**: https://docs.gofiber.io/next/\r\n\r\n**💬 Discord**: https://gofiber.io/discord\r\n\r\n**Full Changelog**: https://github.com/gofiber/fiber/compare/v3.1.0...v3.2.0\r\n\r\nThank you @JonasDoe, @ReneWerner87, @adrian-lin-1-0-0, @aviu16, @gaby, @ha-sante, @loderunner, @meruiden, @mutantkeyboard and @sixcolors for making this release possible.\r\n\r\n","reactions":{"url":"https://api.github.com/repos/gofiber/fiber/releases/290051061/reactions","total_count":15,"+1":0,"-1":0,"laugh":0,"hooray":4,"confused":0,"heart":9,"rocket":2,"eyes":0},"mentions_count":10},{"url":"https://api.github.com/repos/gofiber/fiber/releases/313578642","assets_url":"https://api.github.com/repos/gofiber/fiber/releases/313578642/assets","upload_url":"https://uploads.github.com/repos/gofiber/fiber/releases/313578642/assets{?name,label}","html_url":"https://github.com/gofiber/fiber/releases/tag/v2.52.13","id":313578642,"author":{"login":"ReneWerner87","id":7063188,"node_id":"MDQ6VXNlcjcwNjMxODg=","avatar_url":"https://avatars.githubusercontent.com/u/7063188?v=4","gravatar_id":"","url":"https://api.github.com/users/ReneWerner87","html_url":"https://github.com/ReneWerner87","followers_url":"https://api.github.com/users/ReneWerner87/followers","following_url":"https://api.github.com/users/ReneWerner87/following{/other_user}","gists_url":"https://api.github.com/users/ReneWerner87/gists{/gist_id}","starred_url":"https://api.github.com/users/ReneWerner87/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ReneWerner87/subscriptions","organizations_url":"https://api.github.com/users/ReneWerner87/orgs","repos_url":"https://api.github.com/users/ReneWerner87/repos","events_url":"https://api.github.com/users/ReneWerner87/events{/privacy}","received_events_url":"https://api.github.com/users/ReneWerner87/received_events","type":"User","user_view_type":"public","site_admin":false},"node_id":"RE_kwDODfYWS84SsNSS","tag_name":"v2.52.13","target_commitish":"v2","name":"v2.52.13","draft":false,"immutable":false,"prerelease":false,"created_at":"2026-04-25T13:05:55Z","updated_at":"2026-04-25T13:07:17Z","published_at":"2026-04-25T13:07:17Z","assets":[],"tarball_url":"https://api.github.com/repos/gofiber/fiber/tarball/v2.52.13","zipball_url":"https://api.github.com/repos/gofiber/fiber/zipball/v2.52.13","body":"## What's Changed\r\n### 🐛 Bug Fixes\r\n\r\n* Escape HTML output in Ctx.Format by @gaby in https://github.com/gofiber/fiber/pull/4232\r\n\r\n**Full Changelog**: https://github.com/gofiber/fiber/compare/v2.52.12...v2.52.13","reactions":{"url":"https://api.github.com/repos/gofiber/fiber/releases/313578642/reactions","total_count":6,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":6,"eyes":0},"mentions_count":1},{"url":"https://api.github.com/repos/gofiber/fiber/releases/282300631","assets_url":"https://api.github.com/repos/gofiber/fiber/releases/282300631/assets","upload_url":"https://uploads.github.com/repos/gofiber/fiber/releases/282300631/assets{?name,label}","html_url":"https://github.com/gofiber/fiber/releases/tag/v3.1.0","id":282300631,"author":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"node_id":"RE_kwDODfYWS84Q05DX","tag_name":"v3.1.0","target_commitish":"main","name":"v3.1.0","draft":false,"immutable":false,"prerelease":false,"created_at":"2026-02-24T20:12:46Z","updated_at":"2026-02-24T20:31:26Z","published_at":"2026-02-24T20:30:38Z","assets":[],"tarball_url":"https://api.github.com/repos/gofiber/fiber/tarball/v3.1.0","zipball_url":"https://api.github.com/repos/gofiber/fiber/zipball/v3.1.0","body":"## 🚀 New\r\n\r\n- expand middleware context helpers (#4079)\r\n```go\r\napp := fiber.New(fiber.Config{\r\n    PassLocalsToContext: true, // default: false\r\n})\r\n\r\n// Works for requestid, csrf, session, basicauth, keyauth middlewares\r\napp.Use(requestid.New())\r\n\r\napp.Get(\"/\", func(ctx fiber.Ctx) error {\r\n    // Value helpers from middlewares works now with 3 different context items\r\n    id := requestid.FromContext(ctx)              // works always\r\n    id := requestid.FromContext(ctx.RequestCtx()) // works always\r\n    id := requestid.FromContext(ctx.Context())    // works only when `PassLocalsToContext` is true\r\n    \r\n    return c.SendString(id)\r\n})\r\n```\r\nhttps://docs.gofiber.io/api/fiber/#passlocalstocontext\r\n\r\n\r\n## 🧹 Updates\r\n\r\n- update utils and add go 1.26 for test workflow (#4087)\r\n- optimize helpers performance (#4049)\r\n- harden numeric constraint parsing and expand route tests (#4054)\r\n\r\n## 🐛 Fixes\r\n\r\n- harden DefaultRes.Format against nil handler panics (#4105)\r\n- guard nil request in adaptor LocalContextFromHTTPRequest (#4097)\r\n- fix Unix-socket support in IsProxyTrusted (#4088)\r\n- harden proxy nil client handling in Do/Forward paths (#4083)\r\n- add nil-safety to response decode helpers (#4081)\r\n- sanitize attachment/download filenames (#4070)\r\n- harden flash cookie detection (#4078)\r\n- fix bind struct validation only for struct targets (#4082)\r\n- enforce Range header limit configuration (#4071)\r\n- apply limits to msgp serialization (#4065)\r\n- fix sanitizePath validation logic (#4064)\r\n- fix Test method returning empty response on timeout (#4063)\r\n- fix nil pointer dereference in context methods when accessed after release (#4062)\r\n- retry addon: remove unnecessary sleep after last failed attempt (#4060)\r\n- make TLS listener config discovery safer (#4055)\r\n- validate nil services early and during lifecycle (#4050)\r\n- skip non-string state keys during iteration (#4048)\r\n- harden Port() handling (#4051)\r\n- prevent panics on non-string log keys (#4046)\r\n\r\n## 🛠️ Maintenance\r\n\r\n- bump streetsidesoftware/cspell-action from 8.2.0 to 8.3.0 (#4111)\r\n- bump the golang-modules group with 3 updates (#4080)\r\n- bump github.com/shamaton/msgpack/v3 from 3.0.0 to 3.1.0 (#4075)\r\n- bump github.com/klauspost/compress from 1.18.3 to 1.18.4 (#4076)\r\n- bump github.com/gofiber/schema from 1.6.0 to 1.7.0 (#4074)\r\n- bump golang.org/x/sys from 0.40.0 to 0.41.0 in the golang-modules group (#4073)\r\n- bump github/codeql-action from 4.32.3 to 4.32.4 (#4104)\r\n- bump github/codeql-action from 4.32.1 to 4.32.2 (#4058)\r\n- bump github/codeql-action from 4.32.0 to 4.32.1 (#4047)\r\n\r\n## 📚 Documentation\r\n\r\n- update versioned storage imports in middleware docs (#4102)\r\n- update documentation for parser configuration and request handling (#4096)\r\n- fix invalid Go slice literal in middleware registration example (#4095)\r\n- document `uri` struct tag for `ctx.Bind().URI()` in migration guide (#4092)\r\n- document logger Stream rename (#4057)\r\n\r\n**📒 Documentation**: https://docs.gofiber.io/next/\r\n\r\n**💬 Discord**: https://gofiber.io/discord\r\n\r\n**Full Changelog**: https://github.com/gofiber/fiber/compare/v3.0.0...v3.1.0\r\n\r\nThank you @ReneWerner87, @SadikSunbul, @gaby and @sixcolors for making this release possible.\r\n","reactions":{"url":"https://api.github.com/repos/gofiber/fiber/releases/282300631/reactions","total_count":25,"+1":13,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":7,"rocket":5,"eyes":0},"mentions_count":4},{"url":"https://api.github.com/repos/gofiber/fiber/releases/290051861","assets_url":"https://api.github.com/repos/gofiber/fiber/releases/290051861/assets","upload_url":"https://uploads.github.com/repos/gofiber/fiber/releases/290051861/assets{?name,label}","html_url":"https://github.com/gofiber/fiber/releases/tag/v2.52.12","id":290051861,"author":{"login":"ReneWerner87","id":7063188,"node_id":"MDQ6VXNlcjcwNjMxODg=","avatar_url":"https://avatars.githubusercontent.com/u/7063188?v=4","gravatar_id":"","url":"https://api.github.com/users/ReneWerner87","html_url":"https://github.com/ReneWerner87","followers_url":"https://api.github.com/users/ReneWerner87/followers","following_url":"https://api.github.com/users/ReneWerner87/following{/other_user}","gists_url":"https://api.github.com/users/ReneWerner87/gists{/gist_id}","starred_url":"https://api.github.com/users/ReneWerner87/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ReneWerner87/subscriptions","organizations_url":"https://api.github.com/users/ReneWerner87/orgs","repos_url":"https://api.github.com/users/ReneWerner87/repos","events_url":"https://api.github.com/users/ReneWerner87/events{/privacy}","received_events_url":"https://api.github.com/users/ReneWerner87/received_events","type":"User","user_view_type":"public","site_admin":false},"node_id":"RE_kwDODfYWS84RSdcV","tag_name":"v2.52.12","target_commitish":"v2","name":"v2.52.12","draft":false,"immutable":false,"prerelease":false,"created_at":"2026-02-24T20:37:56Z","updated_at":"2026-02-24T20:41:28Z","published_at":"2026-02-24T20:40:25Z","assets":[],"tarball_url":"https://api.github.com/repos/gofiber/fiber/tarball/v2.52.12","zipball_url":"https://api.github.com/repos/gofiber/fiber/zipball/v2.52.12","body":"## 🐛 Fixes\r\n\r\n- CVE fix [GHSA-mrq8-rjmw-wpq3](https://github.com/gofiber/fiber/security/advisories/GHSA-mrq8-rjmw-wpq3)\r\n\r\n**Full Changelog**: https://github.com/gofiber/fiber/compare/v2.52.11...v2.52.12","reactions":{"url":"https://api.github.com/repos/gofiber/fiber/releases/290051861/reactions","total_count":8,"+1":7,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":1,"eyes":0}},{"url":"https://api.github.com/repos/gofiber/fiber/releases/281940078","assets_url":"https://api.github.com/repos/gofiber/fiber/releases/281940078/assets","upload_url":"https://uploads.github.com/repos/gofiber/fiber/releases/281940078/assets{?name,label}","html_url":"https://github.com/gofiber/fiber/releases/tag/v3.0.0","id":281940078,"author":{"login":"ReneWerner87","id":7063188,"node_id":"MDQ6VXNlcjcwNjMxODg=","avatar_url":"https://avatars.githubusercontent.com/u/7063188?v=4","gravatar_id":"","url":"https://api.github.com/users/ReneWerner87","html_url":"https://github.com/ReneWerner87","followers_url":"https://api.github.com/users/ReneWerner87/followers","following_url":"https://api.github.com/users/ReneWerner87/following{/other_user}","gists_url":"https://api.github.com/users/ReneWerner87/gists{/gist_id}","starred_url":"https://api.github.com/users/ReneWerner87/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ReneWerner87/subscriptions","organizations_url":"https://api.github.com/users/ReneWerner87/orgs","repos_url":"https://api.github.com/users/ReneWerner87/repos","events_url":"https://api.github.com/users/ReneWerner87/events{/privacy}","received_events_url":"https://api.github.com/users/ReneWerner87/received_events","type":"User","user_view_type":"public","site_admin":false},"node_id":"RE_kwDODfYWS84QzhBu","tag_name":"v3.0.0","target_commitish":"main","name":"v3.0.0","draft":false,"immutable":false,"prerelease":false,"created_at":"2026-02-02T17:59:53Z","updated_at":"2026-02-02T20:12:06Z","published_at":"2026-02-02T18:22:38Z","assets":[],"tarball_url":"https://api.github.com/repos/gofiber/fiber/tarball/v3.0.0","zipball_url":"https://api.github.com/repos/gofiber/fiber/zipball/v3.0.0","body":"For a detailed view of all changes and the migration guide, visit:\r\nhttps://docs.gofiber.io/whats_new\r\n\r\nTry our new [migration tool](https://docs.gofiber.io/next/whats_new#%EF%B8%8F-migration-tool) to help you upgrade from v2 to v3:\r\n```sh\r\ngo install github.com/gofiber/cli/fiber@latest\r\nfiber migrate --to v3\r\n```\r\n\r\n## What's Changed\r\n\r\n### 🚀 New Features\r\n\r\n* 🚀 App ([Docs](https://docs.gofiber.io/next/whats_new#-app))\r\n  * `Rename WithTlsConfig` method to `WithTLSConfig` in (#2570)\r\n  * Use any as default Message type of Error struct in (#1925)\r\n  * Add support for custom constraints in (#2807)\r\n  * Add support for trusted origins in (#2910)\r\n  * Add DialDualStack option for upstream IPv6 support in (#2900)\r\n  * TrustedOrigins using `https://*.example.com` style subdomains in (#2925)\r\n  * Add configuration support to `c.SendFile()` in (#3017)\r\n  * Add CHIPS support to Cookie in (#3047)\r\n  * Add TestConfig to `app.Test()` for configurable testing in (#3161)\r\n  * Add buffered streaming support in (#3131)\r\n  * Add support for AutoTLS / ACME in (#3201)\r\n  * Add support for configuring TLS Min Version in (#3248)\r\n  * Fix square bracket notation in Multipart FormData in (#3235)\r\n  * Add support for application state management in (#3360)\r\n  * Add support for `NewErrorf` in (#3463)\r\n  * Add UNIX socket support in (#3535)\r\n  * Add support for Msgpack in (#3565)\r\n  * Add default UTF-8 charset in (#3583)\r\n  * Support for SendEarlyHints in (#3483)\r\n  * Add conditional copy helpers in (#3703)\r\n  * Add request inspection helpers in (#3727)\r\n  * Add support for redacting values in (#3759)\r\n  * Add support for handling unsupported HTTP methods as HTTP 501 in (#3854)\r\n  * Add support for ReloadViews() in (#3876)\r\n  * Expose startup message customization hooks in (#3824)\r\n  * Migrate from UUIDv4 to SecureToken for key generation in (#3946)\r\n  * Add ExpirationFunc for dynamic expiration in (#3984)\r\n  * Auto-enforce Secure=true for Partitioned cookies in Cookie() in (#3976)\r\n* 📎 Binding ([Docs](https://docs.gofiber.io/next/whats_new#-binding))\r\n  * Initial support for binding in (#1981)\r\n  * Bind: add support for multipart file binding in (#3309)\r\n  * Add All method to Bind in (#3373)\r\n* 🌎 Client ([Docs](https://docs.gofiber.io/next/whats_new#-client-package))\r\n  * Client refactor in (#1986)\r\n  * Add support for creating Fiber client from existing FastHTTP client in (#3214)\r\n  * Add support for iterator methods to Fiber client in (#3228)\r\n  * Add support for HostClient and LBClient in (#3774)\r\n  * Add support for streaming response bodies in client and response handling in (#4014)\r\n* 🧠 Context ([Docs](https://docs.gofiber.io/next/whats_new#-context))\r\n  * `Convert fiber.Ctx` type to interface in (#1928)\r\n  * Add Drop method to DefaultCtx for silent connection termination in (#3257)\r\n  * Add `End()` method to `Ctx` in (#3280)\r\n  * Improve and Optimize `ShutdownWithContext` Func in (#3162)\r\n  * Add support for `context.Context` in keyauth middleware in (#3287)\r\n  * `Fiber.Context` implement `context.Context` in (#3382)\r\n  * Add NewWithCustomCtx initialization helper in (#3476)\r\n  * Add context methods to fiber.Storage interface in (#3566)\r\n  * Add Fiber Context to BasicAuth Authorizer in (#3621)\r\n  * Implement OverrideParam override behavior for DefaultCtx in (#3962)\r\n  * Add context common request helpers in (#4007)\r\n  * Adding GetReqHeaders and GetRespHeaders in (#2831)\r\n  * Add Req and Res API in (#2894)\r\n* 🔬 Extractors ([Docs](https://docs.gofiber.io/next/whats_new#-extractors-package))\r\n  * Introduce Extractor pattern for session ID retrieval in (#3625)\r\n  * Enhance extractor functionality with metadata and security validation in (#3630)\r\n  * Add extractors package in (#3725)\r\n* 🧰 Generic ([Docs](https://docs.gofiber.io/next/whats_new#-generic-functions))\r\n  * Add QueryParser for get query using generic in (#2776)\r\n  * Addition of Locals Function with Go Generics as an Alternative to c.Locals in (#2813)\r\n  * Implement new generic functions: Params, Get and Convert in (#2850)\r\n  * Support generic configurable logger in (#3705)\r\n* 🚀 Listen ([Docs](https://docs.gofiber.io/next/whats_new#-listen))\r\n  * `Merge Listen` methods & `ListenConfig` in (#1930)\r\n  * Add support for graceful shutdown timeout in ListenConfig in (#3220)\r\n  * Add TLSConfig to ListenConfig in (#4024)\r\n* 🔌 Addons/retry ([Docs](https://docs.gofiber.io/next/whats_new#retry))\r\n  * Add retry mechanism in (#1972)\r\n* 🧬 Middleware – adaptor ([Docs](https://docs.gofiber.io/next/whats_new#adaptor))\r\n  * Add `BodyStream()` logic to `adaptor.FiberHandler` middleware in (#3799)\r\n  * Add local context support to adaptor middleware in (#3975)\r\n* 🧬 Middleware – basicauth ([Docs](https://docs.gofiber.io/next/whats_new#basicauth))\r\n  * Add HeaderLimit option to BasicAuth middleware in (#3620)\r\n  * Support hashed BasicAuth passwords in (#3631)\r\n* 🧬 Middleware – cache ([Docs](https://docs.gofiber.io/next/whats_new#cache))\r\n  * Add Cache Invalidation Option to Cache Middleware in (#3036)\r\n  * Add Max Func to Limiter Middleware in (#3070)\r\n  * Support for disabling response headers in Limiter Middleware in (#3618)\r\n* 🧬 Middleware – compression ([Docs](https://docs.gofiber.io/next/whats_new#compression))\r\n  * Add support for zstd compression in (#3041)\r\n  * Add support for CBOR encoding in (#3173)\r\n* 🧬 Middleware – cors ([Docs](https://docs.gofiber.io/next/whats_new#cors))\r\n  * Add support for Access-Control-Allow-Private-Network in (#2908)\r\n* 🧬 Middleware – csrf ([Docs](https://docs.gofiber.io/next/whats_new#csrf))\r\n  * Add support for Sec-Fetch-Site header in CSRF middleware in (#3913)\r\n* 🧬 Middleware – encryptcookie ([Docs](https://docs.gofiber.io/next/whats_new#encryptcookie))\r\n  * Add cookie name authentication for EncryptCookie middleware in (#3788)\r\n* 🧬 Middleware – favicon ([Docs](https://docs.gofiber.io/next/whats_new#favicon))\r\n  * Add MaxBytes to favicon middleware in (#4016)\r\n* 🧬 Middleware – earlydata ([Docs](https://docs.gofiber.io/next/whats_new#-middlewares))\r\n  * Add earlydata middleware in (#2270)\r\n* 🧬 Middleware – healthcheck ([Docs](https://docs.gofiber.io/next/whats_new#healthcheck))\r\n  * Migrate HealthChecker to v3 in (#2884)\r\n  * Add Startup Probe to Healthcheck Middleware in (#3069)\r\n* 🧬 Middleware – idempotency ([Docs](https://docs.gofiber.io/next/whats_new#idempotency))\r\n  * Add idempotency middleware in (#2253)\r\n* 🧬 Middleware – keyauth ([Docs](https://docs.gofiber.io/next/whats_new#keyauth))\r\n  * Add support for custom KeyLookup functions in the Keyauth middleware in (#3028)\r\n* 🧬 Middleware – logger ([Docs](https://docs.gofiber.io/next/whats_new#logger))\r\n  * Refactor logger middleware in (#1979)\r\n  * Add AllLogger to Config in (#3153)\r\n  * Add Skip function to logger middleware in (#3333)\r\n  * Add predefined log formats in (#3359)\r\n  * Add support for ForceColors in Logger middleware in (#3428)\r\n* 🧬 Middleware – proxy ([Docs](https://docs.gofiber.io/next/whats_new#proxy))\r\n  * Add support for TrustProxy in (#3170)\r\n  * Add KeepConnectionHeader option to Proxy middleware in (#3662)\r\n* 🧬 Middleware – requestid ([Docs](https://docs.gofiber.io/next/whats_new#-middlewares))\r\n  * Add Context Support to RequestID Middleware in (#3200)\r\n  * Validate HTTP headers in RequestID middleware in (#3919)\r\n* 🧬 Middleware – responsetime ([Docs](https://docs.gofiber.io/next/whats_new#responsetime))\r\n  * Add response time middleware in (#3891)\r\n* 🧬 Middleware – session ([Docs](https://docs.gofiber.io/next/whats_new#session))\r\n  * Re-write session middleware with handler in (#3016)\r\n  * Add support for `Keys()` in session middleware in (#3517)\r\n* 🧬 Middleware – static ([Docs](https://docs.gofiber.io/next/whats_new#filesystem))\r\n  * Add static middleware in (#3006)\r\n* 🧬 Middleware – timeout ([Docs](https://docs.gofiber.io/next/whats_new#timeout))\r\n  * Add config for Timeout middleware in (#3604)\r\n* 🔄️ Redirect ([Docs](https://docs.gofiber.io/next/whats_new#-redirect))\r\n  * New redirection methods in (#2014)\r\n* 🗺️ Router ([Docs](https://docs.gofiber.io/next/whats_new#-router))\r\n  * Router interface changes in (#2176)\r\n  * Native support for `net/http` and fasthttp handlers in (#3769)\r\n  * New Route method in (#2065)\r\n  * New mounting system in (#2022)\r\n  * Add support for RebuildTree in (#3074)\r\n  * Add support for Express.js style req/res handlers in (#3809)\r\n  * Add support for DisableAutoRegister of HEAD routes in (#3817)\r\n  * Enhance CheckConstraint method for improved error handling in (#3356)\r\n  * Add Support for Removing Routes in (#3230)\r\n  * Add support for embedded Koa-Style Req and Res structs in (#3533)\r\n  * Support Express-style next callback handlers in (#4029)\r\n* 🧩 Services ([Docs](https://docs.gofiber.io/next/whats_new#-services))\r\n  * Add Support for service dependencies in (#3434)\r\n\r\n### 🧹 Updates\r\n\r\n* ⚙️ Core & API\r\n  * Replace string functions in (#3923)\r\n  * Update conditional instructions for startup skip in (#3475)\r\n  * Update AGENTS startup instructions in (#3474)\r\n  * Add `[]byte` support to `utils.EqualFold` in (#2029)\r\n  * Change startup message in (#2041)\r\n  * Update to use gofiber/utils/v2 in (#2184)\r\n  * Router: return status 501 instead of 400 on unknown method in (#2220)\r\n  * Cleanup in (#2255)\r\n  * Fix ContextKey collisions in (#2781)\r\n  * Update Ctx.Format to match Express's res.format in (#2766)\r\n  * Update handler signature for v3 in (#2794)\r\n  * Change `interface{}` to any in (#2796)\r\n  * Added respects body immutability to ctx.Body() and ctx.BodyRaw() functions. in (#2812)\r\n  * Print to stderr if log fails for default format in (#2830)\r\n  * Clean up errcheck config in (#2841)\r\n  * Update startup message formatting in (#2847)\r\n  * Simplify content negotiation code in (#2865)\r\n  * Rename \"ClientNew\" Function to \"New\" in (#2896)\r\n  * Remove repetitive words in (#2917)\r\n  * Improper query/body parsing with embedded structs in (#2906)\r\n  * Improve and simplify logic of ctx.Next() in (#3063)\r\n  * Use Named Fields Instead of Positional and Align Structures to Reduce Memory Usage in (#3079)\r\n  * Use utils Trim functions instead of the strings/bytes functions in (#3087)\r\n  * Consolidate Logic of Handling the Request Body in (#3093)\r\n  * Use msgp for flash message encoding/decoding in (#3099)\r\n  * Replace vendored gorilla/schema package in (#3152)\r\n  * Improve naming convention for Context returning functions in (#3193)\r\n  * Nil pointer dereference with Must Bind binding in (#3171)\r\n  * Mark go1.23 as minimum go version in (#3226)\r\n  * Rename the Method Names of FormData and FormDatas (#3251) in (#3255)\r\n  * Reduce the Memory Usage of ignoreHeaders in (#3322)\r\n  * Migrate randString to rand v2 in (#3329)\r\n  * Sorting error in sortAcceptedTypes in (#3331)\r\n  * Reduce the memory usage of RoutePatternMatch in (#3335)\r\n  * Replace findLastCharsetPosition with strings.LastIndexByte in (#3338)\r\n  * Replace isInCharset with bytes.IndexByte in (#3342)\r\n  * Remove two string fields in DefaultCtx to save 32 bytes in (#3353)\r\n  * Replace treePath with treePathHash in DefaultCtx to reduce memory usage in (#3368)\r\n  * Remove redundant field `method` in `DefaultCtx` in (#3372)\r\n  * Add findNextNonEscapedCharPosition for single-byte charset cases in (#3378)\r\n  * Change `c.Redirect()` default status in (#3415)\r\n  * Improve routing treeBuild flow in (#3456)\r\n  * Make genericParseType return error in (#3473)\r\n  * Update minimum go version to 1.24 in (#3481)\r\n  * Use slices.Contains to simplify code in (#3486)\r\n  * Use maps.Copy to simplify code in (#3490)\r\n  * Update loop syntax for retry mechanism in (#3516)\r\n  * Update codecov configuration in (#3528)\r\n  * Use GetState to reduce duplicate code in (#3542)\r\n  * Improve `Cookie()` validation in (#3546)\r\n  * Improve `Accept*` compliance with RFC 9110 in (#3548)\r\n  * Refactor fasthttp iter calls to range loops in (#3559)\r\n  * Add iterator helpers for client types in (#3560)\r\n  * Update utils dependency in (#3576)\r\n  * Refactor Opt-in support for CBOR in (#3580)\r\n  * Simplify generic function calls in (#3578)\r\n  * Replace math/rand with crypto/rand in (#3508)\r\n  * Add sync pool and release helpers for Bind in (#3660)\r\n  * Add CBOR support to AutoFormat() in (#3665)\r\n  * Fix AcceptsLanguages() RFC compliance in (#3672)\r\n  * Respect immutable config in Params(), Protocol(), and Body() in (#3676)\r\n  * Delay routing error creation in (#3683)\r\n  * Using `reflect.TypeAssert` in (#3698)\r\n  * Handle Transfer-Encoding bodies in HasBody in (#3748)\r\n  * Improve error handling when using storage drivers in (#3754)\r\n  * Use sync.Pool for Client hooks in (#3758)\r\n  * Avoid locking in gc() if nothing to delete in (#3765)\r\n  * Cleanup return error logic in Bind() in (#3764)\r\n  * Update RouteChain function in (#3761)\r\n  * Make boundary a const in (#3783)\r\n  * Preallocate slice size in `Client::Param()` in (#3782)\r\n  * Skip locking garbage collector if nothing to delete in (#3787)\r\n  * Enhance Body handling in setConfigToRequest for better type su… in (#3820)\r\n  * Improve propagation of context.Context in (#3822)\r\n  * Inline Request state wrappers in (#3827)\r\n  * Remove unneeded \"utils\" alias in (#3834)\r\n  * Add `FullPath()` helper to context in (#3837)\r\n  * Handle nil map targets in Binder in (#3839)\r\n  * Extracted generic releasePooledBinder function in (#3841)\r\n  * Return error during EncryptCookie failure in (#3842)\r\n  * Fix gocritic httpNoBody and hugeParam issues in (#3855)\r\n  * Refactor internal errors to use sentinel values in (#3864)\r\n  * Improve byte-range handling for SendFile() in (#3870)\r\n  * Use int64 when dealing with HTTP Ranges in (#3874)\r\n  * Replace strings.TrimSpace with utils.TrimSpace in (#3918)\r\n  * Replace strings.Index with strings.Cut for improved readallity in (#3956)\r\n  * Validate constraint by bit operation in (#3963)\r\n  * Use sync.Pool for form and multipart binding in (#3967)\r\n  * Use sync.Pool for redirect old input map in (#3971)\r\n  * Replace anonymous struct key with named type in (#4020)\r\n* 🧬 Middleware & Addons\r\n  * Document \"null\" origin handling in CORS middleware in (#4001)\r\n    ([Docs](https://docs.gofiber.io/next/middleware/cors))\r\n  * Refactor CSRF middleware and enhance documentation in (#3598)\r\n  * Fix pprof middleware docs and default config in (#3642)\r\n  * Fix CORS docs and comments in (#3637)\r\n  * Fix CSRF error message mismatch with documentation in (#3636)\r\n  * Refactor filesystem middleware with `io/fs` in (#2027) ([Docs](https://docs.gofiber.io/next/middleware/static))\r\n  * Remove mutex lock in logger middleware in (#2840)\r\n  * Update CSRF and Limiter to remove repetitive names in (#2846)\r\n  * Refactor(middleware/cors): Config, lists as list types. in (#2962)\r\n  * Enforce key length for EncryptCookie middleware default functions in (#3056)\r\n  * Middleware/CORS Remove Scheme Restriction in (#3163)\r\n  * Unify and enhance timeout middleware in (#3275)\r\n  * Simplify HealthCheck middleware in (#3380)\r\n  * Improve proxy middleware in (#3468)\r\n  * Enhance KeyAuth middleware to better comply with RFC 6750 in (#3482)\r\n  * Enhance BasicAuth middleware to better comply with RFC 6750 in (#3484)\r\n  * Improve cache middleware RFC compliance in (#3488)\r\n  * Enhance config validation in EncryptCookie middleware in (#3491)\r\n  * Refactor EnvVar middleware in (#3513)\r\n  * Improve CORS middleware response headers in (#3505)\r\n  * Improve BasicAuth middleware default security in (#3522)\r\n  * Improve static middleware security in (#3595)\r\n  * Remove SHA-1/MD5 support in BasicAuth middleware in (#3634)\r\n  * Remove support for PasswordFromContext from BasicAuth middleware in (#3638)\r\n  * Refactor KeyAuth Middleware: Extractor-Based Configuration and Enhanced Flexibility in (#3685)\r\n  * Return generic errors in KeyAuth middleware in (#3692)\r\n  * Fix CSRF subdomain wildcard boundary in (#3694)\r\n  * Improve Cache middleware defaults in (#3740)\r\n  * Migrate Session middleware to new extractors package in (#3744)\r\n  * Improve Compress middleware RFC compliance in (#3745)\r\n  * Improve KeyAuth middleware RFC compliance in (#3742)\r\n  * Update CSRF middleware to use shared extractors in (#3746)\r\n  * Update keyauth middleware to use shared extractors in (#3747)\r\n  * Fix cache cleanup and redact token values in (#3757)\r\n  * Ensure middleware prefix matching requires slash boundary in (#3755)\r\n  * Reduce the memory usage of cacheableStatusCodes in (#3789)\r\n  * Refactor configuration management for favicon and envvar middlewares in (#3898)\r\n  * Improve Cache middleware compliance in (#3973)\r\n  * Further improvements to Cache middleware in (#3989)\r\n  * Skip caching oversized responses in idempotency middleware in (#4018)\r\n* ⚡️ Performance & Benchmarks\r\n  * Optimize the menu item text in (#3267)\r\n  * Remove `utils.Trim*` because stdlib has same performance in go1.19 in (#2030)\r\n  * Performance improvements in (#2838)\r\n  * Add parallel benchmarks to adaptor middleware in (#2870)\r\n  * Expand Tests and Benchmarks for Log package in (#2886)\r\n  * Performance optimizations in (#2947)\r\n  * Add Benchmarks for IsProxyTrusted() in (#2933)\r\n  * Optimize Cache middleware handler in (#3031)\r\n  * Update benchmarks for Logger Middleware in (#3061)\r\n  * Improve performance of Adaptor Middleware in (#3078)\r\n  * Refactor Benchmark Results Workflow in (#3082)\r\n  * Improve performance of helper functions in (#3086)\r\n  * Improve Performance of `c.Body()` by 125% in (#3090)\r\n  * Add Benchmarks for Rewrite Middleware in (#3092)\r\n  * Optimize `IsFromLocal()` performance in (#3140)\r\n  * Improve Performance of Fiber Router in (#3261)\r\n  * Improve Performance of getSplicedStrList in (#3318)\r\n  * Optimize routeParser by using sync.Pool in (#3343)\r\n  * Add Immutable benchmarks for default case in (#3374)\r\n  * Performance optimizations in (#3477)\r\n  * Improve performance for \"equalFieldType\" function in (#3479)\r\n  * Fix compression benchmarks in (#3561)\r\n  * Improve iterator performance. in (#3562)\r\n  * Improve sanitizePath performance in (#3601)\r\n  * Skip unstable GenericParseType benchmarks in (#3614)\r\n  * Reduce allocation in AutoFormat in (#3652)\r\n  * Optimize Fresh header parsing for fasthttp 1.65 in (#3687)\r\n  * Improve Req/Res Benchmarks in (#3693)\r\n  * Improve performance analyseConstantPart in (#3753)\r\n  * Improve allocations for Request Params() in (#3766)\r\n  * Reduce allocations in Request (saves ~16% B/op) in (#3768)\r\n  * Benchmark for cache miss case in (#3836)\r\n  * Improve performance of `RebuildTree()` by 68% in (#3895)\r\n  * Optimize string handling and memory allocations in (#3922)\r\n  * Improve performance (reduce allocations) in (#3964)\r\n* 🛠️ Testing & Tooling\r\n  * Use testify for assertion in (#2036)\r\n  * Generate msgp tests in (#2263)\r\n  * V3 Feature: Make app.Test accept a time.Duration timeout in (#2269)\r\n  * Speed up addon/retry tests in (#2800)\r\n  * Re-enable tparallel linter in (#2801)\r\n  * Fix testifylint errors in middleware in (#2805)\r\n  * Fix remaining testifylint errors in (#2806)\r\n  * Fix force type assertions in session_test.go in (#2815)\r\n  * Address multiple lint rules in (#2869)\r\n  * Do not retry flaky tests in (#2875)\r\n  * Enabling shuffling, cleanup and consistency across tests in (#2931)\r\n  * Adding a generator to generate the CTX interface in (#3024)\r\n  * Test(middleware/session): Remove extra release and acquire ctx calls in session_test.go in (#3044)\r\n  * Test(ctx_test): Fix race condition in (#3081)\r\n  * The value of map is unused in uniqueRouteStack in (#3320)\r\n  * Mark unused tests with t.SkipNow in (#3366)\r\n  * Fix proxy middleware tests for offline environments in (#3467)\r\n  * Add unit-test for header injection in (#3470)\r\n  * Add URI Test case for Test_Ctx_Binders in (#3480)\r\n  * Test: Enhance CSRF tests to address unsafe header value issue (#2045) in (#3485)\r\n  * Improve EarlyData middleware tests coverage in (#3520)\r\n  * Improve Idempotency middleware tests coverage in (#3521)\r\n  * Improve Helmet middleware tests coverage in (#3523)\r\n  * Improve Retry addon tests coverage in (#3526)\r\n  * Add missing CSRF token extractor tests in (#3527)\r\n  * Improve hooks test coverage in (#3524)\r\n  * Improve Binder tests coverage in (#3529)\r\n  * Improve CORS tests coverage in (#3530)\r\n  * Improve CSRF tests coverage in (#3531)\r\n  * Improve Router tests coverage in (#3550)\r\n  * Add tests for quoteRawString in (#3613)\r\n  * Fix Makefile to install tools before running them in (#3612)\r\n  * Fix Cookie SameSite constants to Pascal case per RFC specification in (#3608)\r\n  * Fix timing for streaming test in (#3628)\r\n  * Add missing checks in Ctx tests in (#3670)\r\n  * Stabilize interrupted stream writer test in (#3669)\r\n  * Use ephemeral ports in unit tests in (#3686)\r\n  * Use project toolchain for go run tools in (#3709)\r\n  * Expand Binder tests coverage in (#3714)\r\n  * Prevent CopyContextToFiberContext panic and add comprehensive test coverage in (#3770)\r\n  * Add flushing-related unit tests for net/http adaptor in (#3807)\r\n  * Fix fatal error calls in adapter_test.go in (#3810)\r\n  * Test HEAD request compliance in (#3868)\r\n  * Improve OPTIONS wildcard regression test in (#3869)\r\n  * Add table-driven integration tests in (#3894)\r\n  * Improve timing robustness in flaky cache and session tests in (#3994)\r\n\r\n### 🐛 Bug Fixes\r\n\r\n* Fix logger benchmarks in (#2074)\r\n* Fix benchmark results related to handler, next in (#2130)\r\n* Testifylint failure that fell through the cracks in (#2821)\r\n* Inconsistent and flaky unit-tests in (#2892)\r\n* CORS handling in (#2938)\r\n* Fix some struct names in comments in (#2974)\r\n* Fixes #3038 \"v3 Flash Message with redirect is not working\" in (#3046)\r\n* Mutex for thread safety in (#3049)\r\n* Fix data-race with sync.Pool in (#3051)\r\n* Fasthttp errors cause panic when Params is used in (#3055)\r\n* Use Content-Length for bytesReceived and bytesSent tags in Logger Middleware in (#3066)\r\n* Cache middleware: runtime error: \"index out of range [0] with length 0\" in (#3075)\r\n* Error check in Form binder in (#3110)\r\n* Client: fix SetProxyURL functionality in (#3109)\r\n* Fix handle un-matched open brackets in the query params in (#3126)\r\n* Fix issue with default logger when creating RequestCtx in (#3134)\r\n* Fix typo in (#3145)\r\n* Behavior of `DefaultCtx.Fresh` when 'Last-Modified' and 'If-Modified-Since' are equal in (#3150)\r\n* Adaptor middleware duplicates cookies in (#3151)\r\n* Close File After SaveFileToStorage in (#3197)\r\n* Make SetValWithStruct set zero values and support more types #3167 in (#3227)\r\n* Fix EnableSplittingOnParsers is not functional in (#3231)\r\n* Memory leak removal in the idempotency middleware in (#3263)\r\n* Make Render bind parameter type any again in (#3270)\r\n* Fix app.Test() auto-failing when a connection is closed early in (#3279)\r\n* Align cache middleware with RFC7231 in (#3283)\r\n* Goroutine leakage in (#3306)\r\n* GenericParseType parsing large uint leads to overflow in (#3315)\r\n* Fix handler order in routing in (#3321)\r\n* Update binder in form_test in (#3336)\r\n* Fix client iterators when using break statement in (#3357)\r\n* Fix: Logger Middleware tests to use regex for time validation in (#3392)\r\n* Handling of next param position in (#3418)\r\n* Fix redirection flash messages violate cookie structure in (#3457)\r\n* Fix AGENTS markdown lint in (#3460)\r\n* Parsing of IPv6 addresses in (#3466)\r\n* Middlewares immutable config handling in (#3494)\r\n* Subdomains offset handling in (#3495)\r\n* Fix Cache-Control header parsing in (#3534)\r\n* Fix Content-Type comparison in Is() in (#3536)\r\n* Fix `Subdomains()` parsing for IDNs in (#3538)\r\n* Fix `Range()` parsing of bytes unit in (#3541)\r\n* Fix Etag validation per RFC 9110 in (#3554)\r\n* Fix `Range()` handling of HTTP 416 per RFC 9110 in (#3552)\r\n* Fix Accept-Language matching per RFC 4647 in (#3553)\r\n* Fix Cache middleware handling of Age in (#3547)\r\n* Fix Content-Disposition header per RFC 6266 in (#3551)\r\n* Fix `Body()` handling of Content-Encoding per RFC 9110 in (#3543)\r\n* Fix multipart boundary for Client per RFC 2046 in (#3563)\r\n* Fix address parsing for leading/trailing spaces in (#3569)\r\n* Fix missing Allow header in EnvVar middleware per RFC 9110 in (#3570)\r\n* Fix static/favicon middlewares file descriptor leaks in (#3579)\r\n* Fix CookieJar domain logic in (#3564)\r\n* Fix handling of negative BodyLimit in (#3599)\r\n* Fix MIME type equality checks in (#3602)\r\n* Fix retry config handling in (#3609)\r\n* Fix limiter middleware not counting fiber.NewErrorf responses as failed requests in (#3623)\r\n* Fix race in cookie tests in (#3629)\r\n* Fix bind `All()` merging logic in (#3659)\r\n* Fix Static middleware browser support for subdirectories in (#3673)\r\n* Fix CORS subdomain wildcard boundary in (#3690)\r\n* Fix support for context.Context in (#3720)\r\n* Improve BasicAuth middleware RFC compliance in (#3743)\r\n* Handle Unix sockets in adaptor middleware in (#3760)\r\n* Fix usage of runtime RO data for ppc64 and s390x platforms in (#3772)\r\n* Respect DisablePathNormalizing during client requests in (#3773)\r\n* Always close form file in (#3786)\r\n* Fix recover middleware panic output formatting in (#3816)\r\n* Correct fresh flag logic in getSession in (#3825)\r\n* Prevent memory corruption in internal memory storage from pooled buffers in (#3828)\r\n* Avoid writing into released Response in core::execFunc() in (#3830)\r\n* Remove Flash Cookie from Response headers after parsing in (#3840)\r\n* Fix binder splitting for pointer-backed slice fields in (#3844)\r\n* Fix typos in some files in (#3847)\r\n* Execute middleware routes when handling errors in (#3846)\r\n* Fix copying of key/values in internal/memory in (#3829)\r\n* Fix maintain CustomCtx across middlewares in (#3852)\r\n* Fix default value for MaxFunc in Limiter middleware in (#3871)\r\n* Fix handling of wildcard matching in acceptsOffer in (#3880)\r\n* Fix handling of no-body HTTP statuses in (#3883)\r\n* Fix and improvements for the sliding window Limiter in (#3893)\r\n* Improve suffix range normalization in (#3902)\r\n* Enhance Origin and Referer Validation in CSRF middleware in (#3904)\r\n* Respect Authorization when caching responses in (#3905)\r\n* Fprint to use format instead of fmtArgs in (#3925)\r\n* Enforce body limits in SaveFileToStorage in (#3929)\r\n* V3 fix custom errorhandler invokation in (#3930)\r\n* Fix example in whats_new.md in (#3949)\r\n* Ensure flash messages are consumed after retrieval in (#3936)\r\n* Fix FIPS-140 compliance for EncryptCookie middleware in (#3955)\r\n* Guard Binds decoder sync.Pool in (#3969)\r\n* Fix Early-Data trusted proxy handling in (#3974)\r\n* Preserve session data map across resets in (#3968)\r\n* Improve cookie decryption handling by deleting invalid cookies after iteration in (#3988)\r\n* Respect body limit configuration in adaptor middleware in (#3990)\r\n* Security: Enforce case-sensitive null origin validation in CORS in (#3995)\r\n* Optimize CORS origin validation to avoid unnecessary processing in (#3996)\r\n* Validate CORS origins before using AllowOriginsFunc in (#3991)\r\n* Trim forwarded host values in (#4012)\r\n* Normalize forwarded scheme parsing in (#4011)\r\n* Return immediately on timeout and propagate context correctly in (#4009)\r\n* Trim values from getSplicedStrList in (#4026)\r\n* Return bytes read from readContent in (#4027)\r\n* Reload mounted view engines in ReloadViews in (#4031)\r\n* Handle typed-nil http handler funcs in (#4030)\r\n\r\n### 🛠️ Maintenance\r\n\r\n* Bump github.com/valyala/fasthttp from 1.51.0 to 1.69.0 in (#2857, #3000, #3037, #3146, #3183, #3244, #3314, #3391, #3440, #3557, #3586, #3684, #3790, #3819, #3992)\r\n* Updated fasthttp to 1.54.0 release in (#3010)\r\n* Bump github.com/gofiber/schema from 1.2.0 to 1.6.0 in (#3308, #3462, #3504, #3574)\r\n* Bump github.com/gofiber/utils/v2 from 2.0.0-beta.3 to 2.0.0-rc.6 in (#2935, #3062, #3174, #3389, #3540, #3568, #3689, #3853, #3914, #3926, #3997)\r\n* Bump github.com/tinylib/msgp from 1.1.8 to 1.6.3 in (#3147, #3182, #3185, #3240, #3447, #3716, #3823, #3920, #3977, #3978)\r\n* Bump github.com/shamaton/msgpack/v2 from 2.2.3 to 2.4.0 in (#3678, #3719, #3808)\r\n* Bump github.com/klauspost/compress from 1.18.1 to 1.18.3 in (#3911, #4013)\r\n* Bump github.com/google/uuid from 1.5.0 to 1.6.0 in (#2810)\r\n* Bump golang.org/x/crypto from 0.28.0 to 0.45.0 in (#3243, #3247, #3274, #3305, #3327, #3341, #3395, #3438, #3506, #3737, #3796, #3863, #3882)\r\n* Bump golang.org/x/net from 0.31.0 to 0.47.0 in (#3293, #3544, #3572, #3738, #3791, #3795, #3861)\r\n* Bump golang.org/x/text from 0.29.0 to 0.33.0 in (#3797, #4003)\r\n* Bump golang.org/x/sys from 0.39.0 to 0.40.0 in the golang-modules group in (#4000)\r\n* Bump github.com/mattn/go-colorable from 0.1.13 to 0.1.14 in (#3277)\r\n* Bump github.com/fxamacker/cbor/v2 from 2.7.0 to 2.9.0 in (#3384, #3581)\r\n* Upgrade shamaton/msgpack from v2.4.0 to v3.0.0 in (#4023)\r\n* Bump minimum version of Go to 1.21 in (#2911)\r\n* Bump golangci-lint from v1.56.1 to v1.62.0 in (#2842, #2862, #3029, #3119, #3135, #3196)\r\n* Make golangci-lint config stricter in (#2874)\r\n* Add support for longtests during CI in (#3054)\r\n* Bump nick-fields/retry from 2 to 3 in (#2824)\r\n* Bump benchmark-action/github-action-benchmark from 1.16.2 to 1.20.7 in (#2827, #2950, #3008, #3177, #3730, #3736)\r\n* Bump release-drafter/release-drafter from 5 to 6.2.0 in (#2826, #4022, #4025)\r\n* Bump golangci/golangci-lint-action from 3 to 9.2.0 in (#2855, #2986, #2994, #3896, #3916)\r\n* Bump github.com/stretchr/testify from 1.8.4 to 1.11.1 in (#2888, #3217, #3712, #3715)\r\n* Bump codecov/codecov-action from 4.0.1 to 5.5.2 in (#2901, #2941, #2959, #2993, #2999, #3009, #3035, #3154, #3207, #3209, #3210, #3213, #3234, #3256, #3292, #3295, #3334, #3413, #3459, #3701, #3734, #3935)\r\n* Bump actions/setup-go from 4 to 6.2.0 in (#2789, #3732, #3886, #4006)\r\n* Bump github/codeql-action from 2 to 4.32.0 in (#2788, #3792, #3866, #3878, #3897, #3910, #3927, #3945, #3950, #4004, #4034, #4036)\r\n* Bump actions/cache from 3 to 5.0.3 in (#2803, #3944, #3947, #4017, #4040)\r\n* Bump fuxingloh/multi-labeler from 2 to 4 in (#2856)\r\n* Bump DavidAnson/markdownlint-cli2-action from 16 to 22.0.0 in (#3128, #3208, #3266, #3453, #3873, #3932)\r\n* Bump streetsidesoftware/cspell-action from 8.0.0 to 8.2.0 in (#3938, #3993, #4039)\r\n* Bump kenchan0130/actions-system-info from 1.3.0 to 1.4.0 in (#3492, #3679)\r\n* Bump actions/setup-node from 4 to 6.2.0 in (#3733, #3804, #3915, #4008)\r\n* Bump actions/checkout from 3 to 6.0.2 in (#3083, #3681, #3877, #3887, #3917, #4028)\r\n* Bump lewagon/wait-on-check-action from 1.4.1 to 1.5.0 in (#4033)\r\n* Bump the golang-modules group with 4 updates in (#3931)\r\n* Bump the golang-modules group with 2 updates in (#4005)\r\n* Add go1.22 to test matrix in (#2835)\r\n* Replace release-drafter autolabel with fuxingloh/multi-labeler in (#3872)\r\n* Add CODEOWNERS file in (#2851)\r\n* Update golangci-lint to v1.55.2 in (#2817)\r\n* Update golangci-lint to enable more lint rules in (#2923)\r\n* Add support for go1.23 and golangci-lint v1.60.1 in (#3101)\r\n* Add go1.24 to CI matrix in (#3325)\r\n* Add modernize lint in (#3590)\r\n* Add inamedparam linter in (#2848)\r\n* Remove repo codecov.yml in (#3525)\r\n* Enable govet shadow in (#3617)\r\n* Fix benchmark results in (#1982)\r\n* Fix spelling issues in (#3813)\r\n* Golangci-lint issue for go1.25.0 in (#3775)\r\n* Require Go 1.25 in (#3682)\r\n* Run tests against Apple M1 platform in (#2852)\r\n* Update AGENTS.md in (#3901)\r\n\r\n### 📚 Documentation\r\n\r\n* Update Version Numbers in Docs in (#2853)\r\n* Updates to fiberlog benchmarks and documentation in (#3059)\r\n* Remove deprecated comments and documenting recent changes in (#3498)\r\n* Update godoc for `fiber.New()` in (#3928)\r\n* Undocumented function in session.md in (#2795)\r\n* Fix typo in documentation in (#2802)\r\n* Fix a misspelled comment in (#2809)\r\n* Update Typo documentation in (#2820)\r\n* Typo in routing.md in (#2836)\r\n* Fix code snippet indentation in /docs/api/middleware/keyauth.md in (#2868)\r\n* Fix TrustedProxies documentation related to IP ranges in (#2887)\r\n* Update docs to reflect fiber.Ctx struct to interface change in (#2880)\r\n* Improve translation in (#2899)\r\n* Update Copilot docs and setup in (#3585)\r\n* Refactor Documenation for HealthCheck in (#2905)\r\n* Fixed a typo in app.go in (#2912)\r\n* Cleanup and updates to README files in (#2914)\r\n* Fix merge conflict in documentation in (#2957)\r\n* Fix broken link to slim template in FAQ in (#2969)\r\n* Update config TrustedOrigin comments in (#2963)\r\n* Consolidate and Document Core Changes in v3 in (#2934)\r\n* Fix some comments in (#2983)\r\n* CORS middleware in (#2979)\r\n* Add docs for new client in (#2991)\r\n* Update intro.md to make clear `fiber.Ctx` is not thread-safe. in (#3014)\r\n* Improve ctx.Locals method description, godoc and example in (#3032)\r\n* Add zero-allocation section to README in (#3039)\r\n* Add support for consistent documentation using markdownlint in (#3064)\r\n* Update example in middleware/cors to v3 in (#3116)\r\n* Update recover docs to not use reserved keyword in (#3129)\r\n* Fix typos in client hooks documentation in (#3133)\r\n* Replaced link to russian mozilla docs in (#3142)\r\n* Removed zero width white space from logger docs in (#3144)\r\n* Fix typo on comment in (#3158)\r\n* Typo in hooks documentation in (#3164)\r\n* Update README.md in (#3165)\r\n* Update What's New documentation in (#3181)\r\n* Clarify SendFile Docs in (#3172)\r\n* Update intro documentation in (#3204)\r\n* Updates to API documentation and README in (#3205)\r\n* Updates to Context documentation in (#3206)\r\n* Update documentation for Fiber client in (#3249)\r\n* Fix static middleware CacheDuration data type typo in (#3273)\r\n* Add `ctx.Drop()` to whats_new.md in (#3284)\r\n* Add `c.Drop()` example to `whats_new.md` in (#3285)\r\n* Update intro.md Static Files section in (#3303)\r\n* Update adapter middleware documentation in (#3317)\r\n* Add Retry Addon documentation in (#3330)\r\n* Update Helmet Middleware default values in (#3348)\r\n* Update helmet.md default values in (#3350)\r\n* Add more validation examples in (#3369)\r\n* Update docs for State Management in (#3388)\r\n* Fix CSRF handler example in (#3412)\r\n* Adjust Funding Custom URL in (#3432)\r\n* Fix examples in middleware/session in (#3435)\r\n* Idempotency add more detailed description for next method in (#3443)\r\n* Document usage of Custom Tags in Logger middleware in (#3446)\r\n* Fix typos in (#3464)\r\n* Fix more typos across code base in (#3465)\r\n* Fix typos in code and docs in (#3507)\r\n* Enhance CORS middleware documentation with preflight request details and infrastructure considerations in (#3509)\r\n* Add custom constraint example in (#3539)\r\n* Incorrect usage of backslash characters in the constraint … in (#3549)\r\n* Add net/http compatiblity section in (#3556)\r\n* Add documentation for Stale() in (#3555)\r\n* Update utils guide documentation in (#3575)\r\n* Fix EarlyData middleware docs in (#3646)\r\n* Fix Skip middleware docs in (#3649)\r\n* Fix context changes doc in (#3650)\r\n* Fix RequestID docs in (#3648)\r\n* Fix Proxy middleware docs in (#3647)\r\n* Fix Compress middleware docs in (#3645)\r\n* Fix Cache middleware docs in (#3644)\r\n* Fix Favicon middleware documentation in (#3640)\r\n* Fix Static middleware docs in (#3643)\r\n* Fix Healthcheck middleware documentation in (#3657)\r\n* Fix KeyAuth middleware docs in (#3641)\r\n* Improve Timeout middleware documentation in (#3675)\r\n* Add context guide in (#3677)\r\n* Add Learning Resources section with Go Interview Practice platform in (#3691)\r\n* Fix typos in documentation in (#3695)\r\n* Add early hints documentation in (#3697)\r\n* Document utils package migration in (#3704)\r\n* Note CSRF ContextKey removal in (#3706)\r\n* Note removal of context keys in (#3707)\r\n* Add migration tool info in (#3708)\r\n* Improve wording and fix typos in (#3713)\r\n* Full audit of documentation in (#3717)\r\n* Add RoutePatternMatch documentation in (#3722)\r\n* Clarify context interface implementation in (#3729)\r\n* Ensure all exported elements are documented in (#3752)\r\n* Document usage of reverse proxies for SendEarlyHints in (#3778)\r\n* Fix broken link in the Routing guide in (#3831)\r\n* Update docs/whats_new.md in (#3889)\r\n* Clarify handler execution order and usage in Add() in (#3890)\r\n* Update cache migration guidance in (#3908)\r\n* Clarify client migration examples in (#3921)\r\n* Add goroutine cancellation example using context.WithTimeout in (#3884)\r\n* Fix some comments to improve readability in (#3943)\r\n* Update logger middleware format constants in (#3951)\r\n* Refresh adaptor middleware guidance in (#3981)\r\n* Update Services icon and prefork warning for State Management in (#4002)\r\n\r\nThank you to all contributors:\r\n@ad3n, @akilesh1706, @alequilesl, @alexandear, @Alijeyrad, @aliziyacevik, @andradei, @arturmelanchyk, @asyslinux, @AuroraTea, @axrav, @balcieren, @Behzad-Khokher, @BigJoe17, @brunodmartins, @canks69, @ckoch786, @cuiweixie, @darwin808, @dave-gray101, @deferdeter, @devhaozi, @devhsoj, @Dishank-Sen, @dockercui, @dojutsu-user, @dozheiny, @dreamscached, @duhnnie, @edvardsanta, @efectn, @emirhansirkeci, @ErfanMomeniii, @Fenny, @findfluctuate, @gaby, @gandaldf, @glensargent, @gopkg-dev, @gozeloglu, @grivera64, @guerzon, @haikalSusanto, @haochunchang, @hcancelik, @hotrungnhan, @hungthai1401, @imsk17, @ItsMeSamey, @JIeJaitt, @jsoref, @K0ng2, @KatzuYoru, @khanhkhanhlele, @kianmeng, @kirankumar-grootan, @kiuber, @KrisCarr, @ksw2000, @ktat, @LaptopCat, @Larinax999, @Lars-Schumann, @laughing-nerd, @leonklingele, @linogomez, @luk3skyw4lker, @mazyaryousefinia, @mdelapenya, @mitulagr2, @miyamo2, @MonkyMars, @negrel, @nexovec, @nickajacks1, @nnnkkk7, @oktayozkan0, @omaskery, @omer-cengel, @orvillesimba, @pjebs, @rabarar, @racerole, @ReneWerner87, @RezaSi, @ryanbekhen, @s19835, @SantiagoBobrik, @sebytza23, @shamaton, @sigmundxia, @SivaPA08, @sixcolors, @StrawHatHacker, @sunnyyssh, @techerfan, @the-hotmann, @TheAspectDev, @theleeeo, @tongjicoder, @trim21, @vhespanha, @wangjq4214, @xEricL, @yinheli, @yorickdewid, @ZihxS, @zingi\r\n\r\n**Full Changelog**: https://github.com/gofiber/fiber/compare/v2.52.11...v3.0.0\r\n\r\nFor a detailed view of all changes and the migration guide, visit:\r\nhttps://docs.gofiber.io/whats_new\r\n","reactions":{"url":"https://api.github.com/repos/gofiber/fiber/releases/281940078/reactions","total_count":144,"+1":22,"-1":0,"laugh":0,"hooray":72,"confused":0,"heart":10,"rocket":40,"eyes":0},"mentions_count":108},{"url":"https://api.github.com/repos/gofiber/fiber/releases/266126309","assets_url":"https://api.github.com/repos/gofiber/fiber/releases/266126309/assets","upload_url":"https://uploads.github.com/repos/gofiber/fiber/releases/266126309/assets{?name,label}","html_url":"https://github.com/gofiber/fiber/releases/tag/v2.52.11","id":266126309,"author":{"login":"ReneWerner87","id":7063188,"node_id":"MDQ6VXNlcjcwNjMxODg=","avatar_url":"https://avatars.githubusercontent.com/u/7063188?v=4","gravatar_id":"","url":"https://api.github.com/users/ReneWerner87","html_url":"https://github.com/ReneWerner87","followers_url":"https://api.github.com/users/ReneWerner87/followers","following_url":"https://api.github.com/users/ReneWerner87/following{/other_user}","gists_url":"https://api.github.com/users/ReneWerner87/gists{/gist_id}","starred_url":"https://api.github.com/users/ReneWerner87/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ReneWerner87/subscriptions","organizations_url":"https://api.github.com/users/ReneWerner87/orgs","repos_url":"https://api.github.com/users/ReneWerner87/repos","events_url":"https://api.github.com/users/ReneWerner87/events{/privacy}","received_events_url":"https://api.github.com/users/ReneWerner87/received_events","type":"User","user_view_type":"public","site_admin":false},"node_id":"RE_kwDODfYWS84P3MPl","tag_name":"v2.52.11","target_commitish":"v2","name":"v2.52.11","draft":false,"immutable":false,"prerelease":false,"created_at":"2026-01-31T15:55:53Z","updated_at":"2026-01-31T15:56:24Z","published_at":"2026-01-31T15:56:24Z","assets":[],"tarball_url":"https://api.github.com/repos/gofiber/fiber/tarball/v2.52.11","zipball_url":"https://api.github.com/repos/gofiber/fiber/zipball/v2.52.11","body":"<!-- Release notes generated using configuration in .github/release.yml at v2 -->\r\n\r\n## What's Changed\r\n### 🧹 Updates\r\n* Improve mount functionality by @gaby in https://github.com/gofiber/fiber/pull/3900\r\n### 🐛 Bug Fixes\r\n* Backport defensive copying fixes from #3828 and #3829 to v2 by @sixcolors in https://github.com/gofiber/fiber/pull/3888\r\n* Fixes and improvements for limiter middleware by @gaby in https://github.com/gofiber/fiber/pull/3899\r\n\r\n\r\n**Full Changelog**: https://github.com/gofiber/fiber/compare/v2.52.10...v2.52.11","reactions":{"url":"https://api.github.com/repos/gofiber/fiber/releases/266126309/reactions","total_count":17,"+1":11,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":6,"rocket":0,"eyes":0},"mentions_count":2},{"url":"https://api.github.com/repos/gofiber/fiber/releases/263686624","assets_url":"https://api.github.com/repos/gofiber/fiber/releases/263686624/assets","upload_url":"https://uploads.github.com/repos/gofiber/fiber/releases/263686624/assets{?name,label}","html_url":"https://github.com/gofiber/fiber/releases/tag/v3.0.0-rc.3","id":263686624,"author":{"login":"ReneWerner87","id":7063188,"node_id":"MDQ6VXNlcjcwNjMxODg=","avatar_url":"https://avatars.githubusercontent.com/u/7063188?v=4","gravatar_id":"","url":"https://api.github.com/users/ReneWerner87","html_url":"https://github.com/ReneWerner87","followers_url":"https://api.github.com/users/ReneWerner87/followers","following_url":"https://api.github.com/users/ReneWerner87/following{/other_user}","gists_url":"https://api.github.com/users/ReneWerner87/gists{/gist_id}","starred_url":"https://api.github.com/users/ReneWerner87/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ReneWerner87/subscriptions","organizations_url":"https://api.github.com/users/ReneWerner87/orgs","repos_url":"https://api.github.com/users/ReneWerner87/repos","events_url":"https://api.github.com/users/ReneWerner87/events{/privacy}","received_events_url":"https://api.github.com/users/ReneWerner87/received_events","type":"User","user_view_type":"public","site_admin":false},"node_id":"RE_kwDODfYWS84Pt4ng","tag_name":"v3.0.0-rc.3","target_commitish":"main","name":"v3.0.0-rc.3","draft":false,"immutable":false,"prerelease":true,"created_at":"2025-11-19T15:10:40Z","updated_at":"2025-11-19T15:42:23Z","published_at":"2025-11-19T15:42:23Z","assets":[],"tarball_url":"https://api.github.com/repos/gofiber/fiber/tarball/v3.0.0-rc.3","zipball_url":"https://api.github.com/repos/gofiber/fiber/zipball/v3.0.0-rc.3","body":"### 🚀 New Features\r\n\r\n* Middleware/encryptCookie: Add cookie name authentication for EncryptCookie middleware by @gaby in https://github.com/gofiber/fiber/pull/3788\r\n* Middleware/proxy: Add BodyStream() logic to `adaptor.FiberHandler` middleware by @grivera64 in https://github.com/gofiber/fiber/pull/3799\r\n* Client: Add support for HostClient and LBClient by @gaby in https://github.com/gofiber/fiber/pull/3774\r\n* Native support for net/http and fasthttp handlers by @gaby in https://github.com/gofiber/fiber/pull/3769\r\n* Add support for Express.js style req/res handlers by @gaby in https://github.com/gofiber/fiber/pull/3809\r\n* Add support for DisableAutoRegister of HEAD routes by @ReneWerner87 in https://github.com/gofiber/fiber/pull/3817\r\n* Add support for handling unsupported HTTP methods as HTTP 501 by @gaby in https://github.com/gofiber/fiber/pull/3854\r\n* Add support for ReloadViews() by @gaby in https://github.com/gofiber/fiber/pull/3876\r\n* Expose startup message customization hooks by @efectn in https://github.com/gofiber/fiber/pull/3824\r\n\r\n### 🧹 Updates\r\n\r\n* Middleware/adaptor: prevent CopyContextToFiberContext panic and add comprehensive test coverage by @sixcolors in https://github.com/gofiber/fiber/pull/3770\r\n* Middleware/adaptor: Add flushing-related unit tests for net/http adaptor by @grivera64 in https://github.com/gofiber/fiber/pull/3807\r\n* Middleware/encryptCookie: Return error during EncryptCookie failure by @gaby in https://github.com/gofiber/fiber/pull/3842\r\n* Client: Preallocate slice size in Client::Param() by @arturmelanchyk in https://github.com/gofiber/fiber/pull/3782\r\n* Reduce allocations in Request (saves ~16% B/op) by @arturmelanchyk in https://github.com/gofiber/fiber/pull/3768\r\n* Make boundary a const by @arturmelanchyk in https://github.com/gofiber/fiber/pull/3783\r\n* Skip locking garbage collector if nothing to delete by @arturmelanchyk in https://github.com/gofiber/fiber/pull/3787\r\n* Reduce the memory usage of cacheableStatusCodes by @ZihxS in https://github.com/gofiber/fiber/pull/3789\r\n* Merge duplicate constants by @jsoref in https://github.com/gofiber/fiber/pull/3812\r\n* Improve propagation of context.Context by @gaby in https://github.com/gofiber/fiber/pull/3822\r\n* Inline Request state wrappers by @arturmelanchyk in https://github.com/gofiber/fiber/pull/3827\r\n* Remove unneeded \"utils\" alias by @arturmelanchyk in https://github.com/gofiber/fiber/pull/3834\r\n* Benchmark for cache miss case by @arturmelanchyk in https://github.com/gofiber/fiber/pull/3836\r\n* Add FullPath() helper to context by @gaby in https://github.com/gofiber/fiber/pull/3837\r\n* Handle nil map targets in Binder by @gaby in https://github.com/gofiber/fiber/pull/3839\r\n* Extracted generic releasePooledBinder function by @arturmelanchyk in https://github.com/gofiber/fiber/pull/3841\r\n* Refactor internal errors to use sentinel values by @gaby in https://github.com/gofiber/fiber/pull/3864\r\n* Test HEAD request compliance by @gaby in https://github.com/gofiber/fiber/pull/3868\r\n* Improve OPTIONS wildcard regression test by @gaby in https://github.com/gofiber/fiber/pull/3869\r\n* Improve byte-range handling for SendFile() by @gaby in https://github.com/gofiber/fiber/pull/3870\r\n* Use int64 when dealing with HTTP Ranges by @gaby in https://github.com/gofiber/fiber/pull/3874\r\n\r\n### 🐛 Bug Fixes\r\n\r\n* Middleware/limiter: Fix default value for MaxFunc in Limiter middleware by @gaby in https://github.com/gofiber/fiber/pull/3871\r\n* Middleware/recover: Fix recover middleware panic output formatting by @gaby in https://github.com/gofiber/fiber/pull/3816\r\n* Middleware/session: correct fresh flag logic in getSession by @sixcolors in https://github.com/gofiber/fiber/pull/3825\r\n* Fix spelling issues by @jsoref in https://github.com/gofiber/fiber/pull/3813\r\n* Fix fatal error calls in adapter_test.go by @ReneWerner87 in https://github.com/gofiber/fiber/pull/3810\r\n* Fix usage of runtime RO data for ppc64 and s390x platforms by @gaby in https://github.com/gofiber/fiber/pull/3772\r\n* Respect DisablePathNormalizing during client requests by @gaby in https://github.com/gofiber/fiber/pull/3773\r\n* Always close form file by @arturmelanchyk in https://github.com/gofiber/fiber/pull/3786\r\n* Fix gocritic httpNoBody and hugeParam issues by @ReneWerner87 in https://github.com/gofiber/fiber/pull/3855\r\n* Prevent memory corruption in internal memory storage from pooled buffers by @sixcolors in https://github.com/gofiber/fiber/pull/3828\r\n* Avoid writing into released Response in core::execFunc() by @arturmelanchyk in https://github.com/gofiber/fiber/pull/3830\r\n* Remove Flash Cookie from Response headers after parsing by @gaby in https://github.com/gofiber/fiber/pull/3840\r\n* Fix binder splitting for pointer-backed slice fields by @gaby in https://github.com/gofiber/fiber/pull/3844\r\n* Execute middleware routes when handling errors by @gaby in https://github.com/gofiber/fiber/pull/3846\r\n* fix copying of key/values in internal/memory by @sixcolors in https://github.com/gofiber/fiber/pull/3829\r\n* Fix maintain CustomCtx across middlewares by @ReneWerner87 in https://github.com/gofiber/fiber/pull/3852\r\n* Enhance Body handling in setConfigToRequest for better type su… by @K0ng2 in https://github.com/gofiber/fiber/pull/3820\r\n\r\n### 🛠️ Maintenance\r\n\r\n* Replace release-drafter autolabel with fuxingloh/multi-labeler by @gaby in https://github.com/gofiber/fiber/pull/3872\r\n* Golangci-lint issue for go1.25.0 by @laughing-nerd in https://github.com/gofiber/fiber/pull/3775\r\n* Add automation for v3 label assignments by @ReneWerner87 in https://github.com/gofiber/fiber/pull/3845\r\n* Update workflow path filters for Go module changes by @ReneWerner87 in https://github.com/gofiber/fiber/pull/3856\r\n* Improvements to GitHub Workflows by @gaby in https://github.com/gofiber/fiber/pull/3857\r\n* Update release-drafter workflow by @gaby in https://github.com/gofiber/fiber/pull/3860\r\n* Add support for codespell in spell-check workflow by @gaby in https://github.com/gofiber/fiber/pull/3850\r\n* Add spell check CI workflow by @gaby in https://github.com/gofiber/fiber/pull/3814\r\n* Fix autolabeler for release-drafter by @gaby in https://github.com/gofiber/fiber/pull/3865\r\n* Enable manual workflow dispatch for CI by @ReneWerner87 in https://github.com/gofiber/fiber/pull/3881\r\n* 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\r\n* 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\r\n* build(deps): bump github/codeql-action from 3 to 4 by @dependabot[bot] in https://github.com/gofiber/fiber/pull/3792\r\n* 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\r\n* 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\r\n* 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\r\n* build(deps): bump actions/setup-node from 5 to 6 by @dependabot[bot] in https://github.com/gofiber/fiber/pull/3804\r\n* 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\r\n* 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\r\n* 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\r\n* 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\r\n* 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\r\n* 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\r\n* 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\r\n* build(deps): bump DavidAnson/markdownlint-cli2-action from 20.0.0 to 21.0.0 by @dependabot[bot] in https://github.com/gofiber/fiber/pull/3873\r\n* build(deps): bump actions/checkout from 5.0.0 to 5.0.1 - by @dependabot[bot] in https://github.com/gofiber/fiber/pull/3877\r\n* build(deps): bump github/codeql-action from 4.31.3 to 4.31.4 by @dependabot[bot] in\r\n  https://github.com/gofiber/fiber/pull/3878\r\n\r\n### 📚 Documentation\r\n\r\n* Fix typos in some files by @khanhkhanhlele in https://github.com/gofiber/fiber/pull/3847\r\n* Document usage of reverse proxies for SendEarlyHints by @akilesh1706 in https://github.com/gofiber/fiber/pull/3778\r\n* Fix broken link in the Routing guide by @guerzon in https://github.com/gofiber/fiber/pull/3831\r\n\r\n\r\n## New Contributors\r\n\r\n* @akilesh1706 made their first contribution in https://github.com/gofiber/fiber/pull/3778\r\n* @laughing-nerd made their first contribution in https://github.com/gofiber/fiber/pull/3775\r\n* @jsoref made their first contribution in https://github.com/gofiber/fiber/pull/3812\r\n* @K0ng2 made their first contribution in https://github.com/gofiber/fiber/pull/3820\r\n* @guerzon made their first contribution in https://github.com/gofiber/fiber/pull/3831\r\n* @khanhkhanhlele made their first contribution in https://github.com/gofiber/fiber/pull/3847\r\n\r\n> A fully-detailed view of all new features and the migration guide is available in our\r\nhttps://docs.gofiber.io/next/whats_new\r\n\r\n**Full Changelog**: https://github.com/gofiber/fiber/compare/v3.0.0-rc.2...v3.0.0-rc.3","reactions":{"url":"https://api.github.com/repos/gofiber/fiber/releases/263686624/reactions","total_count":42,"+1":23,"-1":0,"laugh":0,"hooray":14,"confused":0,"heart":5,"rocket":0,"eyes":0},"mentions_count":14},{"url":"https://api.github.com/repos/gofiber/fiber/releases/263653278","assets_url":"https://api.github.com/repos/gofiber/fiber/releases/263653278/assets","upload_url":"https://uploads.github.com/repos/gofiber/fiber/releases/263653278/assets{?name,label}","html_url":"https://github.com/gofiber/fiber/releases/tag/v2.52.10","id":263653278,"author":{"login":"ReneWerner87","id":7063188,"node_id":"MDQ6VXNlcjcwNjMxODg=","avatar_url":"https://avatars.githubusercontent.com/u/7063188?v=4","gravatar_id":"","url":"https://api.github.com/users/ReneWerner87","html_url":"https://github.com/ReneWerner87","followers_url":"https://api.github.com/users/ReneWerner87/followers","following_url":"https://api.github.com/users/ReneWerner87/following{/other_user}","gists_url":"https://api.github.com/users/ReneWerner87/gists{/gist_id}","starred_url":"https://api.github.com/users/ReneWerner87/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ReneWerner87/subscriptions","organizations_url":"https://api.github.com/users/ReneWerner87/orgs","repos_url":"https://api.github.com/users/ReneWerner87/repos","events_url":"https://api.github.com/users/ReneWerner87/events{/privacy}","received_events_url":"https://api.github.com/users/ReneWerner87/received_events","type":"User","user_view_type":"public","site_admin":false},"node_id":"RE_kwDODfYWS84Ptwee","tag_name":"v2.52.10","target_commitish":"v2","name":"v2.52.10","draft":false,"immutable":false,"prerelease":false,"created_at":"2025-11-19T14:20:57Z","updated_at":"2025-11-19T14:21:16Z","published_at":"2025-11-19T14:21:16Z","assets":[],"tarball_url":"https://api.github.com/repos/gofiber/fiber/tarball/v2.52.10","zipball_url":"https://api.github.com/repos/gofiber/fiber/zipball/v2.52.10","body":"<!-- Release notes generated using configuration in .github/release.yml at v2 -->\r\n\r\n\r\n### 🐛 Bug Fixes\r\n* Handle invalid path in filesystem by @rokostik in https://github.com/gofiber/fiber/pull/3688\r\n* Fix recover middleware panic output formatting by @ReneWerner87 in https://github.com/gofiber/fiber/pull/3818\r\n* Fix enforcement of Immutable config for some edge cases by @gaby in https://github.com/gofiber/fiber/pull/3835\r\n### 📚 Documentation\r\n* Document RoutePatternMatch by @ReneWerner87 in https://github.com/gofiber/fiber/pull/3723\r\n\r\n## New Contributors\r\n* @rokostik made their first contribution in https://github.com/gofiber/fiber/pull/3688\r\n\r\n**Full Changelog**: https://github.com/gofiber/fiber/compare/v2.52.9...v2.52.10","reactions":{"url":"https://api.github.com/repos/gofiber/fiber/releases/263653278/reactions","total_count":8,"+1":5,"-1":0,"laugh":0,"hooray":3,"confused":0,"heart":0,"rocket":0,"eyes":0},"mentions_count":3},{"url":"https://api.github.com/repos/gofiber/fiber/releases/250761991","assets_url":"https://api.github.com/repos/gofiber/fiber/releases/250761991/assets","upload_url":"https://uploads.github.com/repos/gofiber/fiber/releases/250761991/assets{?name,label}","html_url":"https://github.com/gofiber/fiber/releases/tag/v3.0.0-rc.2","id":250761991,"author":{"login":"ReneWerner87","id":7063188,"node_id":"MDQ6VXNlcjcwNjMxODg=","avatar_url":"https://avatars.githubusercontent.com/u/7063188?v=4","gravatar_id":"","url":"https://api.github.com/users/ReneWerner87","html_url":"https://github.com/ReneWerner87","followers_url":"https://api.github.com/users/ReneWerner87/followers","following_url":"https://api.github.com/users/ReneWerner87/following{/other_user}","gists_url":"https://api.github.com/users/ReneWerner87/gists{/gist_id}","starred_url":"https://api.github.com/users/ReneWerner87/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ReneWerner87/subscriptions","organizations_url":"https://api.github.com/users/ReneWerner87/orgs","repos_url":"https://api.github.com/users/ReneWerner87/repos","events_url":"https://api.github.com/users/ReneWerner87/events{/privacy}","received_events_url":"https://api.github.com/users/ReneWerner87/received_events","type":"User","user_view_type":"public","site_admin":false},"node_id":"RE_kwDODfYWS84O8lMH","tag_name":"v3.0.0-rc.2","target_commitish":"main","name":"v3.0.0-rc.2","draft":false,"immutable":false,"prerelease":true,"created_at":"2025-09-29T10:57:20Z","updated_at":"2025-09-29T11:15:51Z","published_at":"2025-09-29T11:15:51Z","assets":[],"tarball_url":"https://api.github.com/repos/gofiber/fiber/tarball/v3.0.0-rc.2","zipball_url":"https://api.github.com/repos/gofiber/fiber/zipball/v3.0.0-rc.2","body":"### 🚀 New Features\r\n\r\n* Add request inspection helpers by @gaby in https://github.com/gofiber/fiber/pull/3727\r\n* Add extractors package by @sixcolors in https://github.com/gofiber/fiber/pull/3725\r\n* Add support for redacting values by @gaby in https://github.com/gofiber/fiber/pull/3759\r\n\r\n### 🧹 Updates\r\n\r\n* Middleware/cache: Improve Cache middleware defaults by @gaby in https://github.com/gofiber/fiber/pull/3740\r\n* Middleware/cache: Fix cache cleanup and redact token values by @gaby in https://github.com/gofiber/fiber/pull/3757\r\n* Middleware/compress: Improve Compress middleware RFC compliance by @gaby in https://github.com/gofiber/fiber/pull/3745\r\n* Middleware/csrf: update CSRF middleware to use shared extractors by @sixcolors in https://github.com/gofiber/fiber/pull/3746\r\n* Middleware/keyAuth: Improve KeyAuth middleware RFC compliance by @gaby in https://github.com/gofiber/fiber/pull/3742\r\n* Middleware/keyAuth: Update keyauth middleware to use shared extractors by @sixcolors in https://github.com/gofiber/fiber/pull/3747\r\n* Middleware/session: Migrate Session middleware to new extractors package by @sixcolors in https://github.com/gofiber/fiber/pull/3744\r\n* Handle Transfer-Encoding bodies in HasBody by @gaby in https://github.com/gofiber/fiber/pull/3748\r\n* Improve error handling when using storage drivers by @gaby in https://github.com/gofiber/fiber/pull/3754\r\n* Improve performance analyseConstantPart by @ksw2000 in https://github.com/gofiber/fiber/pull/3753\r\n* Ensure middleware prefix matching requires slash boundary by @ReneWerner87 in https://github.com/gofiber/fiber/pull/3755\r\n* Use sync.Pool for Client hooks by @arturmelanchyk in https://github.com/gofiber/fiber/pull/3758\r\n* Avoid locking in gc() if nothing to delete by @arturmelanchyk in https://github.com/gofiber/fiber/pull/3765\r\n* Improve allocations for Request Params() by @arturmelanchyk in https://github.com/gofiber/fiber/pull/3766\r\n* Cleanup return error logic in Bind() by @arturmelanchyk in https://github.com/gofiber/fiber/pull/3764\r\n* Update RouteChain function by @ReneWerner87 in https://github.com/gofiber/fiber/pull/3761\r\n* Expand Binder tests coverage by @gaby in https://github.com/gofiber/fiber/pull/3714\r\n\r\n### 🐛 Bug Fixes\r\n\r\n* Middleware/BasicAuth: Improve BasicAuth middleware RFC compliance by @gaby in https://github.com/gofiber/fiber/pull/3743\r\n* Middleware/Adapter: Handle Unix sockets in adaptor middleware by @Dishank-Sen in https://github.com/gofiber/fiber/pull/3760\r\n* Fix support for context.Context by @gaby in https://github.com/gofiber/fiber/pull/3720\r\n\r\n### 🛠️ Maintenance\r\n\r\n* build(deps): bump github.com/tinylib/msgp from 1.3.0 to 1.4.0 by @dependabot[bot] in https://github.com/gofiber/fiber/pull/3716\r\n* build(deps): bump github.com/stretchr/testify from 1.11.0 to 1.11.1 by @dependabot[bot] in https://github.com/gofiber/fiber/pull/3715\r\n* build(deps): bump github.com/shamaton/msgpack/v2 from 2.3.0 to 2.3.1 by @dependabot[bot] in https://github.com/gofiber/fiber/pull/3719\r\n* build(deps): bump benchmark-action/github-action-benchmark from 1.20.4 to 1.20.5 by @dependabot[bot] in https://github.com/gofiber/fiber/pull/3730\r\n* build(deps): bump actions/setup-go from 5 to 6 by @dependabot[bot] in https://github.com/gofiber/fiber/pull/3732\r\n* build(deps): bump actions/setup-node from 4 to 5 by @dependabot[bot] in https://github.com/gofiber/fiber/pull/3733\r\n* build(deps): bump codecov/codecov-action from 5.5.0 to 5.5.1 by @dependabot[bot] in https://github.com/gofiber/fiber/pull/3734\r\n* build(deps): bump golang.org/x/crypto from 0.41.0 to 0.42.0 by @dependabot[bot] in https://github.com/gofiber/fiber/pull/3737\r\n* build(deps): bump golang.org/x/net from 0.43.0 to 0.44.0 by @dependabot[bot] in https://github.com/gofiber/fiber/pull/3738\r\n* build(deps): bump benchmark-action/github-action-benchmark from 1.20.5 to 1.20.7 by @dependabot[bot] in https://github.com/gofiber/fiber/pull/3736\r\n\r\n### 📚 Documentation\r\n\r\n* Improve wording and fix typos by @gaby in https://github.com/gofiber/fiber/pull/3713\r\n* Full audit of documentation by @gaby in https://github.com/gofiber/fiber/pull/3717\r\n* Add RoutePatternMatch documentation by @ReneWerner87 in https://github.com/gofiber/fiber/pull/3722\r\n* Clarify context interface implementation by @ReneWerner87 in https://github.com/gofiber/fiber/pull/3729\r\n* Ensure all exported elements are documented by @gaby in https://github.com/gofiber/fiber/pull/3752\r\n\r\n## New Contributors\r\n* @arturmelanchyk made their first contribution in https://github.com/gofiber/fiber/pull/3758\r\n* @Dishank-Sen made their first contribution in https://github.com/gofiber/fiber/pull/3760\r\n\r\n> A fully-detailed view of all new features **and** the migration guide is available in our  \r\n> https://docs.gofiber.io/next/whats_new\r\n\r\n**Full Changelog**: https://github.com/gofiber/fiber/compare/v3.0.0-rc.1...v3.0.0-rc.2","reactions":{"url":"https://api.github.com/repos/gofiber/fiber/releases/250761991/reactions","total_count":68,"+1":26,"-1":0,"laugh":0,"hooray":14,"confused":0,"heart":10,"rocket":12,"eyes":6},"mentions_count":7},{"url":"https://api.github.com/repos/gofiber/fiber/releases/242476063","assets_url":"https://api.github.com/repos/gofiber/fiber/releases/242476063/assets","upload_url":"https://uploads.github.com/repos/gofiber/fiber/releases/242476063/assets{?name,label}","html_url":"https://github.com/gofiber/fiber/releases/tag/v3.0.0-rc.1","id":242476063,"author":{"login":"ReneWerner87","id":7063188,"node_id":"MDQ6VXNlcjcwNjMxODg=","avatar_url":"https://avatars.githubusercontent.com/u/7063188?v=4","gravatar_id":"","url":"https://api.github.com/users/ReneWerner87","html_url":"https://github.com/ReneWerner87","followers_url":"https://api.github.com/users/ReneWerner87/followers","following_url":"https://api.github.com/users/ReneWerner87/following{/other_user}","gists_url":"https://api.github.com/users/ReneWerner87/gists{/gist_id}","starred_url":"https://api.github.com/users/ReneWerner87/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ReneWerner87/subscriptions","organizations_url":"https://api.github.com/users/ReneWerner87/orgs","repos_url":"https://api.github.com/users/ReneWerner87/repos","events_url":"https://api.github.com/users/ReneWerner87/events{/privacy}","received_events_url":"https://api.github.com/users/ReneWerner87/received_events","type":"User","user_view_type":"public","site_admin":false},"node_id":"RE_kwDODfYWS84Oc-Qf","tag_name":"v3.0.0-rc.1","target_commitish":"main","name":"v3.0.0-rc.1","draft":false,"immutable":false,"prerelease":true,"created_at":"2025-08-26T06:58:11Z","updated_at":"2025-08-26T08:18:34Z","published_at":"2025-08-26T07:28:06Z","assets":[],"tarball_url":"https://api.github.com/repos/gofiber/fiber/tarball/v3.0.0-rc.1","zipball_url":"https://api.github.com/repos/gofiber/fiber/zipball/v3.0.0-rc.1","body":"### 🚀 New Features\r\n\r\n* Middleware/basicAuth: Add Fiber Context to BasicAuth Authorizer by @gaby in https://github.com/gofiber/fiber/pull/3621\r\n* Middleware/basicAuth: Add HeaderLimit option to BasicAuth middleware by @gaby in https://github.com/gofiber/fiber/pull/3620\r\n* Middleware/basicAuth: Support hashed BasicAuth passwords by @gaby in https://github.com/gofiber/fiber/pull/3631\r\n* Middleware/csrf: Enhance extractor functionality with metadata and security validation by @sixcolors in https://github.com/gofiber/fiber/pull/3630\r\n* Middleware/limiter: Support for disabling response headers in Limiter Middleware by @gaby in https://github.com/gofiber/fiber/pull/3618\r\n* Middleware/proxy: Add KeepConnectionHeader option to Proxy middleware by @gaby in https://github.com/gofiber/fiber/pull/3662\r\n* Middleware/session: Introduce Extractor pattern for session ID retrieval by @sixcolors in https://github.com/gofiber/fiber/pull/3625\r\n* Support for SendEarlyHints by @pjebs in https://github.com/gofiber/fiber/pull/3483\r\n* Support generic configurable logger by @ReneWerner87 in https://github.com/gofiber/fiber/pull/3705\r\n* Add conditional copy helpers by @ReneWerner87 in https://github.com/gofiber/fiber/pull/3703\r\n* Add support for embedded Koa-Style Req and Res structs by @grivera64 in https://github.com/gofiber/fiber/pull/3533\r\n* Add default UTF-8 charset by @Copilot in https://github.com/gofiber/fiber/pull/3583\r\n\r\n### 🧹 Updates\r\n\r\n* Middleware/basicAuth: Remove SHA-1/MD5 support in BasicAuth middleware by @gaby in https://github.com/gofiber/fiber/pull/3634\r\n* Middleware/basicAuth: Remove support for PasswordFromContext from BasicAuth middleware by @gaby in https://github.com/gofiber/fiber/pull/3638\r\n* Middleware/cors: Fix CORS docs and comments by @gaby in https://github.com/gofiber/fiber/pull/3637\r\n* Middleware/csrf: Fix CSRF error message mismatch with documentation by @gaby in https://github.com/gofiber/fiber/pull/3636\r\n* Middleware/csrf: Fix CSRF subdomain wildcard boundary by @gaby in https://github.com/gofiber/fiber/pull/3694\r\n* Middleware/keyAuth: Extractor-Based Configuration and Enhanced Flexibility by @sixcolors in https://github.com/gofiber/fiber/pull/3685\r\n* Middleware/keyAuth: Return generic errors in KeyAuth middleware by @gaby in https://github.com/gofiber/fiber/pull/3692\r\n* Middleware/pprof: Fix pprof middleware docs and default config by @gaby in https://github.com/gofiber/fiber/pull/3642\r\n* Add tests for quoteRawString by @gaby in https://github.com/gofiber/fiber/pull/3613\r\n* Replace math/rand with crypto/rand by @gaby in https://github.com/gofiber/fiber/pull/3508\r\n* Enable govet shadow by @ReneWerner87 in https://github.com/gofiber/fiber/pull/3617\r\n* Fix Cookie SameSite constants to Pascal case per RFC specification by @Copilot in https://github.com/gofiber/fiber/pull/3608\r\n* Fix timing for streaming test by @ReneWerner87 in https://github.com/gofiber/fiber/pull/3628\r\n* Reduce allocation in AutoFormat by @ReneWerner87 in https://github.com/gofiber/fiber/pull/3652\r\n* Add sync pool and release helpers for Bind by @ReneWerner87 in https://github.com/gofiber/fiber/pull/3660\r\n* Add CBOR support to AutoFormat() by @gaby in https://github.com/gofiber/fiber/pull/3665\r\n* Add missing checks in Ctx tests by @gaby in https://github.com/gofiber/fiber/pull/3670\r\n* Stabilize interrupted stream writer test by @ReneWerner87 in https://github.com/gofiber/fiber/pull/3669\r\n* Fix AcceptsLanguages() RFC compliance by @gaby in https://github.com/gofiber/fiber/pull/3672\r\n* Respect immutable config in Params(), Protocol(), and Body() by @gaby in https://github.com/gofiber/fiber/pull/3676\r\n* Optimize Fresh header parsing for fasthttp 1.65 by @ReneWerner87 in https://github.com/gofiber/fiber/pull/3687\r\n* Use ephemeral ports in unit tests by @ReneWerner87 in https://github.com/gofiber/fiber/pull/3686\r\n* Delay routing error creation by @ReneWerner87 in https://github.com/gofiber/fiber/pull/3683\r\n* Improve Req/Res Benchmarks by @grivera64 in https://github.com/gofiber/fiber/pull/3693\r\n* Using reflect.TypeAssert by @cuiweixie in https://github.com/gofiber/fiber/pull/3698\r\n* Skip unstable GenericParseType benchmarks by @ReneWerner87 in https://github.com/gofiber/fiber/pull/3614\r\n* Require Go 1.25 by @ReneWerner87 in https://github.com/gofiber/fiber/pull/3682\r\n\r\n### 🐛 Bug Fixes\r\n\r\n* Middleware/cors: Fix CORS subdomain wildcard boundary by @gaby in https://github.com/gofiber/fiber/pull/3690\r\n* Middleware/limiter: Fix limiter middleware not counting fiber.NewErrorf responses as failed requests by @Copilot in https://github.com/gofiber/fiber/pull/3623\r\n* Middleware/static: Fix Static middleware browser support for subdirectories by @efectn in https://github.com/gofiber/fiber/pull/3673\r\n* Fix retry config handling by @gaby in https://github.com/gofiber/fiber/pull/3609\r\n* Fix race in cookie tests by @ReneWerner87 in https://github.com/gofiber/fiber/pull/3629\r\n* Fix bind All() merging logic by @gaby in https://github.com/gofiber/fiber/pull/3659\r\n\r\n### 🛠️ Maintenance\r\n\r\n* build(deps): bump kenchan0130/actions-system-info from 1.3.1 to 1.4.0 by @dependabot[bot] in https://github.com/gofiber/fiber/pull/3679\r\n* build(deps): bump github.com/shamaton/msgpack/v2 from 2.2.3 to 2.3.0 by @dependabot[bot] in https://github.com/gofiber/fiber/pull/3678\r\n* build(deps): bump actions/checkout from 4 to 5 by @dependabot[bot] in https://github.com/gofiber/fiber/pull/3681\r\n* build(deps): bump github.com/valyala/fasthttp from 1.64.0 to 1.65.0 by @dependabot[bot] in https://github.com/gofiber/fiber/pull/3684\r\n* build(deps): bump github.com/gofiber/utils/v2 from 2.0.0-beta.14 to 2.0.0-rc.1 by @dependabot[bot] in https://github.com/gofiber/fiber/pull/3689\r\n* build(deps): bump codecov/codecov-action from 5.4.3 to 5.5.0 by @dependabot[bot] in https://github.com/gofiber/fiber/pull/3701\r\n* build(deps): bump github.com/stretchr/testify from 1.10.0 to 1.11.0 by @dependabot[bot] in https://github.com/gofiber/fiber/pull/3712\r\n\r\n### 📚 Documentation\r\n\r\n* Add early hints documentation by @ReneWerner87 in https://github.com/gofiber/fiber/pull/3697\r\n* Add migration tool info by @ReneWerner87 in https://github.com/gofiber/fiber/pull/3708\r\n* Add context guide by @gaby in https://github.com/gofiber/fiber/pull/3677\r\n* Fix EarlyData middleware docs by @gaby in https://github.com/gofiber/fiber/pull/3646\r\n* Fix Skip middleware docs by @gaby in https://github.com/gofiber/fiber/pull/3649\r\n* Fix context changes doc by @ReneWerner87 in https://github.com/gofiber/fiber/pull/3650\r\n* Fix RequestID docs by @gaby in https://github.com/gofiber/fiber/pull/3648\r\n* Fix Proxy middleware docs by @gaby in https://github.com/gofiber/fiber/pull/3647\r\n* Fix Compress middleware docs by @gaby in https://github.com/gofiber/fiber/pull/3645\r\n* Fix Cache middleware docs by @gaby in https://github.com/gofiber/fiber/pull/3644\r\n* Fix Favicon middleware documentation by @gaby in https://github.com/gofiber/fiber/pull/3640\r\n* Fix Static middleware docs by @gaby in https://github.com/gofiber/fiber/pull/3643\r\n* Fix Healthcheck middleware documentation by @gaby in https://github.com/gofiber/fiber/pull/3657\r\n* Fix KeyAuth middleware docs by @gaby in https://github.com/gofiber/fiber/pull/3641\r\n* Improve Timeout middleware documentation by @gaby in https://github.com/gofiber/fiber/pull/3675\r\n* Add Learning Resources section with Go Interview Practice platform by @RezaSi in https://github.com/gofiber/fiber/pull/3691\r\n* Fix typos in documentation by @kianmeng in https://github.com/gofiber/fiber/pull/3695\r\n* document utils package migration by @ReneWerner87 in https://github.com/gofiber/fiber/pull/3704\r\n* Note CSRF ContextKey removal by @ReneWerner87 in https://github.com/gofiber/fiber/pull/3706\r\n* Note removal of context keys by @ReneWerner87 in https://github.com/gofiber/fiber/pull/3707\r\n\r\n## New Contributors\r\n\r\n* @RezaSi made their first contribution in https://github.com/gofiber/fiber/pull/3691\r\n* @kianmeng made their first contribution in https://github.com/gofiber/fiber/pull/3695\r\n* @cuiweixie made their first contribution in https://github.com/gofiber/fiber/pull/3698\r\n\r\n> A fully-detailed view of all new features **and** the migration guide is available in our  \r\n> https://docs.gofiber.io/next/whats_new\r\n\r\n**Full Changelog**: https://github.com/gofiber/fiber/compare/v3.0.0-beta.5...v3.0.0-rc.1","reactions":{"url":"https://api.github.com/repos/gofiber/fiber/releases/242476063/reactions","total_count":81,"+1":45,"-1":0,"laugh":0,"hooray":19,"confused":0,"heart":10,"rocket":7,"eyes":0},"mentions_count":10},{"url":"https://api.github.com/repos/gofiber/fiber/releases/233756569","assets_url":"https://api.github.com/repos/gofiber/fiber/releases/233756569/assets","upload_url":"https://uploads.github.com/repos/gofiber/fiber/releases/233756569/assets{?name,label}","html_url":"https://github.com/gofiber/fiber/releases/tag/v3.0.0-beta.5","id":233756569,"author":{"login":"ReneWerner87","id":7063188,"node_id":"MDQ6VXNlcjcwNjMxODg=","avatar_url":"https://avatars.githubusercontent.com/u/7063188?v=4","gravatar_id":"","url":"https://api.github.com/users/ReneWerner87","html_url":"https://github.com/ReneWerner87","followers_url":"https://api.github.com/users/ReneWerner87/followers","following_url":"https://api.github.com/users/ReneWerner87/following{/other_user}","gists_url":"https://api.github.com/users/ReneWerner87/gists{/gist_id}","starred_url":"https://api.github.com/users/ReneWerner87/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ReneWerner87/subscriptions","organizations_url":"https://api.github.com/users/ReneWerner87/orgs","repos_url":"https://api.github.com/users/ReneWerner87/repos","events_url":"https://api.github.com/users/ReneWerner87/events{/privacy}","received_events_url":"https://api.github.com/users/ReneWerner87/received_events","type":"User","user_view_type":"public","site_admin":false},"node_id":"RE_kwDODfYWS84N7teZ","tag_name":"v3.0.0-beta.5","target_commitish":"main","name":"v3.0.0-beta.5","draft":false,"immutable":false,"prerelease":true,"created_at":"2025-07-20T14:38:31Z","updated_at":"2025-07-20T15:38:07Z","published_at":"2025-07-20T14:49:17Z","assets":[],"tarball_url":"https://api.github.com/repos/gofiber/fiber/tarball/v3.0.0-beta.5","zipball_url":"https://api.github.com/repos/gofiber/fiber/zipball/v3.0.0-beta.5","body":"## 🚀 New Features\r\n\r\n* Middleware/keyAuth: Add support for context.Context in keyauth middleware by @vhespanha in https://github.com/gofiber/fiber/pull/3287\r\n* Middleware/logger: Add Skip function to logger middleware by @JIeJaitt in https://github.com/gofiber/fiber/pull/3333\r\n* Middleware/logger: Add predefined log formats by @edvardsanta in https://github.com/gofiber/fiber/pull/3359\r\n* Middleware/logger: Add support for ForceColors in Logger middleware by @yorickdewid in https://github.com/gofiber/fiber/pull/3428\r\n* Middleware/session: Add support for Keys() in session middleware by @sixcolors in https://github.com/gofiber/fiber/pull/3517\r\n* Middelware/timeout: Add config for Timeout middleware by @ReneWerner87 in https://github.com/gofiber/fiber/pull/3604\r\n* Add End() method to Ctx by @grivera64 in https://github.com/gofiber/fiber/pull/3280\r\n* Improve and Optimize ShutdownWithContext Func by @JIeJaitt in https://github.com/gofiber/fiber/pull/3162\r\n* Add support for multipart file binding by @efectn in https://github.com/gofiber/fiber/pull/3309\r\n* Add Req and Res API by @nickajacks1 in https://github.com/gofiber/fiber/pull/2894\r\n* Add support for application state management by @efectn in https://github.com/gofiber/fiber/pull/3360\r\n* Enhance CheckConstraint method for improved error handling by @JIeJaitt in https://github.com/gofiber/fiber/pull/3356\r\n* Add `All` method to Bind by @edvardsanta in https://github.com/gofiber/fiber/pull/3373\r\n* Add Support for service dependencies by @mdelapenya in https://github.com/gofiber/fiber/pull/3434\r\n* Add Support for Removing Routes by @ckoch786 in https://github.com/gofiber/fiber/pull/3230\r\n* `fiber.Context` implement context.Context by @pjebs in https://github.com/gofiber/fiber/pull/3382\r\n* Add support for NewErrorf by @gaby in https://github.com/gofiber/fiber/pull/3463\r\n* Add NewWithCustomCtx initialization helper by @ReneWerner87 in https://github.com/gofiber/fiber/pull/3476\r\n* Add UNIX socket support by @LaptopCat in https://github.com/gofiber/fiber/pull/3535\r\n* Add support for Msgpack by @hotrungnhan in https://github.com/gofiber/fiber/pull/3565\r\n* Add context methods to `fiber.Storage` interface by @efectn in https://github.com/gofiber/fiber/pull/3566\r\n\r\n## 🧹 Updates\r\n\r\n* Middleware/basicAuth: Enhance BasicAuth middleware to better comply with RFC 6750 by @gaby in https://github.com/gofiber/fiber/pull/3484\r\n* Middleware/basicAuth: Improve BasicAuth middleware default security by @gaby in https://github.com/gofiber/fiber/pull/3522\r\n* Middleware/cache: Improve cache middleware RFC compliance by @gaby in https://github.com/gofiber/fiber/pull/3488\r\n* Middleware/cors: Improve CORS middleware response headers  by @gaby in https://github.com/gofiber/fiber/pull/3505\r\n* Middleware/cors: Improve CORS tests coverage by @gaby in https://github.com/gofiber/fiber/pull/3530\r\n* Middleware/csrf: Improve CSRF tests coverage by @gaby in https://github.com/gofiber/fiber/pull/3531\r\n* Middleware/csrf: Add missing CSRF token extractor tests by @gaby in https://github.com/gofiber/fiber/pull/3527\r\n* Middleware/csrf: Refactor CSRF middleware and enhance documentation by @sixcolors in https://github.com/gofiber/fiber/pull/3598\r\n* Middleware/csrf: Enhance CSRF tests to address unsafe header value issue (#2045) by @sixcolors in https://github.com/gofiber/fiber/pull/3485\r\n* Middleware/earlyData: Improve EarlyData middleware tests coverage by @gaby in https://github.com/gofiber/fiber/pull/3520\r\n* Middleware/encryptCookie: Enhance config validation in EncryptCookie middleware by @gaby in https://github.com/gofiber/fiber/pull/3491\r\n* Middleware/envVar: Refactor EnvVar middleware by @gaby in https://github.com/gofiber/fiber/pull/3513\r\n* Middleware/helmet: Improve Helmet middleware tests coverage by @gaby in https://github.com/gofiber/fiber/pull/3523\r\n* Middleware/idempotency: Improve Idempotency middleware tests coverage by @gaby in https://github.com/gofiber/fiber/pull/3521\r\n* Middleware/keyAuth: Enhance KeyAuth middleware to better comply with RFC 6750 by @gaby in https://github.com/gofiber/fiber/pull/3482\r\n* Middleware/logger: Logger Middleware tests to use regex for time validation by @ReneWerner87 in https://github.com/gofiber/fiber/pull/3392\r\n* Middleware/timeout: unify and enhance timeout middleware by @ReneWerner87 in https://github.com/gofiber/fiber/pull/3275\r\n* Middleware/proxy: Fix proxy middleware tests for offline environments by @gaby in https://github.com/gofiber/fiber/pull/3467\r\n* Middleware/proxy: Improve proxy middleware by @ReneWerner87 in https://github.com/gofiber/fiber/pull/3468\r\n* Middleware/static: Improve static middleware security by @gaby in https://github.com/gofiber/fiber/pull/3595\r\n* Middleware/static: Improve sanitizePath performance by @ReneWerner87 in https://github.com/gofiber/fiber/pull/3601\r\n* Value of map is unused in uniqueRouteStack by @ksw2000 in https://github.com/gofiber/fiber/pull/3320\r\n* Reduce the Memory Usage of ignoreHeaders by @ksw2000 in https://github.com/gofiber/fiber/pull/3322\r\n* Improve Performance of getSplicedStrList by @ksw2000 in https://github.com/gofiber/fiber/pull/3318\r\n* Add go1.24 to CI matrix by @gaby in https://github.com/gofiber/fiber/pull/3325\r\n* Migrate randString to rand v2 by @ksw2000 in https://github.com/gofiber/fiber/pull/3329\r\n* Sorting error in sortAcceptedTypes by @ksw2000 in https://github.com/gofiber/fiber/pull/3331\r\n* Reduce the memory usage of RoutePatternMatch by @ksw2000 in https://github.com/gofiber/fiber/pull/3335\r\n* Replace findLastCharsetPosition with strings.LastIndexByte by @ksw2000 in https://github.com/gofiber/fiber/pull/3338\r\n* Replace isInCharset with bytes.IndexByte by @ksw2000 in https://github.com/gofiber/fiber/pull/3342\r\n* Optimize routeParser by using sync.Pool by @ksw2000 in https://github.com/gofiber/fiber/pull/3343\r\n* Fix linter workflow failures by @gaby in https://github.com/gofiber/fiber/pull/3354\r\n* Mark unused tests with t.SkipNow by @alexandear in https://github.com/gofiber/fiber/pull/3366\r\n* Remove two string fields in DefaultCtx to save 32 bytes by @ksw2000 in https://github.com/gofiber/fiber/pull/3353\r\n* Replace treePath with treePathHash in DefaultCtx to reduce memory usage by @ksw2000 in https://github.com/gofiber/fiber/pull/3368\r\n* Add Immutable benchmarks for default case by @gaby in https://github.com/gofiber/fiber/pull/3374\r\n* Remove redundant field `method` in `DefaultCtx` by @ksw2000 in https://github.com/gofiber/fiber/pull/3372\r\n* Simplify HealthCheck middleware by @gaby in https://github.com/gofiber/fiber/pull/3380\r\n* Add findNextNonEscapedCharPosition for single-byte charset cases by @ksw2000 in https://github.com/gofiber/fiber/pull/3378\r\n* Change c.Redirect() default status by @andradei in https://github.com/gofiber/fiber/pull/3415\r\n* Improve routing treeBuild flow by @ReneWerner87 in https://github.com/gofiber/fiber/pull/3456\r\n* Add unit-test for header injection by @gaby in https://github.com/gofiber/fiber/pull/3470\r\n* Performance optimizations by @ReneWerner87 in https://github.com/gofiber/fiber/pull/3477\r\n* Make genericParseType return error by @ksw2000 in https://github.com/gofiber/fiber/pull/3473\r\n* Add URI Test case for Test_Ctx_Binders by @ReneWerner87 in https://github.com/gofiber/fiber/pull/3480\r\n* Improve performance for \"equalFieldType\" function by @ReneWerner87 in https://github.com/gofiber/fiber/pull/3479\r\n* Update minimum go version to 1.24 by @ReneWerner87 in https://github.com/gofiber/fiber/pull/3481\r\n* Use slices.Contains to simplify code by @tongjicoder in https://github.com/gofiber/fiber/pull/3486\r\n* Use maps.Copy to simplify code by @alexandear in https://github.com/gofiber/fiber/pull/3490\r\n* Remove deprecated comments and documenting recent changes by @ReneWerner87 in https://github.com/gofiber/fiber/pull/3498\r\n* Update loop syntax for retry mechanism by @MonkyMars in https://github.com/gofiber/fiber/pull/3516\r\n* Remove repo codecov.yml by @gaby in https://github.com/gofiber/fiber/pull/3525\r\n* Improve Retry addon tests coverage by @gaby in https://github.com/gofiber/fiber/pull/3526\r\n* Improve hooks test coverage by @gaby in https://github.com/gofiber/fiber/pull/3524\r\n* Update codecov configuration by @gaby in https://github.com/gofiber/fiber/pull/3528\r\n* Improve Binder tests coverage by @gaby in https://github.com/gofiber/fiber/pull/3529\r\n* Use GetState to reduce duplicate code by @ksw2000 in https://github.com/gofiber/fiber/pull/3542\r\n* Improve Cookie() validation by @gaby in https://github.com/gofiber/fiber/pull/3546\r\n* Improve Router tests coverage by @gaby in https://github.com/gofiber/fiber/pull/3550\r\n* Improve Accept* compliance with RFC 9110 by @gaby in https://github.com/gofiber/fiber/pull/3548\r\n* Refactor fasthttp iter calls to range loops by @ReneWerner87 in https://github.com/gofiber/fiber/pull/3559\r\n* Fix compression benchmarks by @gaby in https://github.com/gofiber/fiber/pull/3561\r\n* Add iterator helpers for client types by @ReneWerner87 in https://github.com/gofiber/fiber/pull/3560\r\n* Improve iterator performance. by @ksw2000 in https://github.com/gofiber/fiber/pull/3562\r\n* Update utils dependency by @ReneWerner87 in https://github.com/gofiber/fiber/pull/3576\r\n* Refactor Opt-in support for CBOR by @ReneWerner87 in https://github.com/gofiber/fiber/pull/3580\r\n* Simplify generic function calls by @axrav in https://github.com/gofiber/fiber/pull/3578\r\n* Add modernize lint by @ReneWerner87 in https://github.com/gofiber/fiber/pull/3590\r\n* Revert \"Add support for context.Context in keyauth middleware\" by @sixcolors in https://github.com/gofiber/fiber/pull/3364\r\n* Revert \"Add Context Support to RequestID Middleware\" by @sixcolors in https://github.com/gofiber/fiber/pull/3365\r\n\r\n## 🐛 Bug Fixes\r\n\r\n* Middleware/envVar: Fix missing Allow header in EnvVar middleware per RFC 9110 by @gaby in https://github.com/gofiber/fiber/pull/3570\r\n* Middleware/static: Fix static/favicon middlewares file descriptor leaks by @gaby in https://github.com/gofiber/fiber/pull/3579\r\n* Make Render bind parameter type any again by @efectn in https://github.com/gofiber/fiber/pull/3270\r\n* Fix app.Test() auto-failing when a connection is closed early by @grivera64 in https://github.com/gofiber/fiber/pull/3279\r\n* Align cache middleware with RFC7231 by @miyamo2 in https://github.com/gofiber/fiber/pull/3283\r\n* Goroutine leakage by @JIeJaitt in https://github.com/gofiber/fiber/pull/3306\r\n* `genericParseType parsing large uint leads to overflow by @ksw2000 in https://github.com/gofiber/fiber/pull/3315\r\n* Fix handler order in routing by @ReneWerner87 in https://github.com/gofiber/fiber/pull/3321\r\n* Update binder in form_test by @devhaozi in https://github.com/gofiber/fiber/pull/3336\r\n* Fix client iterators when using break statement by @efectn in https://github.com/gofiber/fiber/pull/3357\r\n* Handling of next param position by @KatzuYoru in https://github.com/gofiber/fiber/pull/3418\r\n* Fix redirection flash messages violate cookie structure by @efectn in https://github.com/gofiber/fiber/pull/3457\r\n* Parsing of IPv6 addresses by @gaby in https://github.com/gofiber/fiber/pull/3466\r\n* Middlewares immutable config handling by @gaby in https://github.com/gofiber/fiber/pull/3494\r\n* Subdomains offset handling by @gaby in https://github.com/gofiber/fiber/pull/3495\r\n* Fix Cache-Control header parsing by @gaby in https://github.com/gofiber/fiber/pull/3534\r\n* Fix Content-Type comparison in Is() by @gaby in https://github.com/gofiber/fiber/pull/3536\r\n* Fix Subdomains() parsing for IDNs by @gaby in https://github.com/gofiber/fiber/pull/3538\r\n* Fix Range() parsing of bytes unit by @gaby in https://github.com/gofiber/fiber/pull/3541\r\n* Fix Range() handling of HTTP 416 per RFC 9110 by @gaby in https://github.com/gofiber/fiber/pull/3552\r\n* Fix Etag validation per RFC 9110 by @gaby in https://github.com/gofiber/fiber/pull/3554\r\n* Fix Accept-Language matching per RFC 4647 by @gaby in https://github.com/gofiber/fiber/pull/3553\r\n* Fix Cache middleware handling of Age by @gaby in https://github.com/gofiber/fiber/pull/3547\r\n* Fix Content-Disposition header per RFC 6266  by @gaby in https://github.com/gofiber/fiber/pull/3551\r\n* Fix Body() handling of Content-Encoding per RFC 9110 by @gaby in https://github.com/gofiber/fiber/pull/3543\r\n* Fix multipart boundary for Client per RFC 2046 by @gaby in https://github.com/gofiber/fiber/pull/3563\r\n* Fix address parsing for leading/trailing spaces by @gaby in https://github.com/gofiber/fiber/pull/3569\r\n* Fix CookieJar domain logic by @gaby in https://github.com/gofiber/fiber/pull/3564\r\n* Fix handling of negative BodyLimit by @gaby in https://github.com/gofiber/fiber/pull/3599\r\n* Fix MIME type equality checks by @gaby in https://github.com/gofiber/fiber/pull/3602\r\n\r\n## 🛠️ Maintenance\r\n\r\n* build(deps): bump kenchan0130/actions-system-info from 1.3.0 to 1.3.1 by @dependabot[bot] in https://github.com/gofiber/fiber/pull/3492\r\n* build(deps): bump golang.org/x/net from 0.41.0 to 0.42.0 by @dependabot[bot] in https://github.com/gofiber/fiber/pull/3572\r\n* build(deps): bump golang.org/x/net from 0.40.0 to 0.41.0 by @dependabot[bot] in https://github.com/gofiber/fiber/pull/3544\r\n* build(deps): bump golang.org/x/net from 0.31.0 to 0.33.0 in the go_modules group by @dependabot[bot] in https://github.com/gofiber/fiber/pull/3293\r\n* build(deps): bump golang.org/x/crypto from 0.38.0 to 0.39.0 by @dependabot[bot] in https://github.com/gofiber/fiber/pull/3506\r\n* build(deps): bump golang.org/x/crypto from 0.37.0 to 0.38.0 by @dependabot[bot] in https://github.com/gofiber/fiber/pull/3438\r\n* build(deps): bump golang.org/x/crypto from 0.36.0 to 0.37.0 by @dependabot[bot] in https://github.com/gofiber/fiber/pull/3395\r\n* build(deps): bump golang.org/x/crypto from 0.35.0 to 0.36.0 by @dependabot[bot] in https://github.com/gofiber/fiber/pull/3341\r\n* build(deps): bump golang.org/x/crypto from 0.33.0 to 0.35.0 by @dependabot[bot] in https://github.com/gofiber/fiber/pull/3327\r\n* build(deps): bump golang.org/x/crypto from 0.32.0 to 0.33.0 by @dependabot[bot] in https://github.com/gofiber/fiber/pull/3305\r\n* build(deps): bump golang.org/x/crypto from 0.31.0 to 0.32.0 by @dependabot[bot] in https://github.com/gofiber/fiber/pull/3274\r\n* build(deps): bump github.com/valyala/fasthttp from 1.63.0 to 1.64.0 by @dependabot[bot] in https://github.com/gofiber/fiber/pull/3586\r\n* build(deps): bump github.com/valyala/fasthttp from 1.62.0 to 1.63.0 by @dependabot[bot] in https://github.com/gofiber/fiber/pull/3557\r\n* build(deps): bump github.com/valyala/fasthttp from 1.60.0 to 1.62.0 by @dependabot[bot] in https://github.com/gofiber/fiber/pull/3440\r\n* build(deps): bump github.com/valyala/fasthttp from 1.59.0 to 1.60.0 by @dependabot[bot] in https://github.com/gofiber/fiber/pull/3391\r\n* build(deps): bump github.com/valyala/fasthttp from 1.58.0 to 1.59.0 by @dependabot[bot] in https://github.com/gofiber/fiber/pull/3314\r\n* build(deps): bump github.com/tinylib/msgp from 1.2.5 to 1.3.0 by @dependabot[bot] in https://github.com/gofiber/fiber/pull/3447\r\n* build(deps): bump github.com/mattn/go-colorable from 0.1.13 to 0.1.14 by @dependabot[bot] in https://github.com/gofiber/fiber/pull/3277\r\n* build(deps): bump github.com/gofiber/utils/v2 from 2.0.0-beta.9 to 2.0.0-beta.10 by @dependabot[bot] in https://github.com/gofiber/fiber/pull/3568\r\n* build(deps): bump github.com/gofiber/utils/v2 from 2.0.0-beta.8 to 2.0.0-beta.9 by @dependabot[bot] in https://github.com/gofiber/fiber/pull/3540\r\n* build(deps): bump github.com/gofiber/utils/v2 from 2.0.0-beta.7 to 2.0.0-beta.8 by @dependabot[bot] in https://github.com/gofiber/fiber/pull/3389\r\n* build(deps): bump github.com/gofiber/schema from 1.5.0 to 1.6.0 by @dependabot[bot] in https://github.com/gofiber/fiber/pull/3574\r\n* build(deps): bump github.com/gofiber/schema from 1.4.0 to 1.5.0 by @dependabot[bot] in https://github.com/gofiber/fiber/pull/3504\r\n* build(deps): bump github.com/gofiber/schema from 1.3.0 to 1.4.0 by @dependabot[bot] in https://github.com/gofiber/fiber/pull/3462\r\n* build(deps): bump github.com/gofiber/schema from 1.2.0 to 1.3.0 by @dependabot[bot] in https://github.com/gofiber/fiber/pull/3308\r\n* build(deps): bump github.com/fxamacker/cbor/v2 from 2.8.0 to 2.9.0 by @dependabot[bot] in https://github.com/gofiber/fiber/pull/3581\r\n* build(deps): bump github.com/fxamacker/cbor/v2 from 2.7.0 to 2.8.0 by @dependabot[bot] in https://github.com/gofiber/fiber/pull/3384\r\n* build(deps): bump DavidAnson/markdownlint-cli2-action from 19 to 20 by @dependabot[bot] in https://github.com/gofiber/fiber/pull/3453\r\n* build(deps): bump codecov/codecov-action from 5.4.2 to 5.4.3 by @dependabot[bot] in https://github.com/gofiber/fiber/pull/3459\r\n* build(deps): bump codecov/codecov-action from 5.4.0 to 5.4.2 by @dependabot[bot] in https://github.com/gofiber/fiber/pull/3413\r\n* build(deps): bump codecov/codecov-action from 5.3.1 to 5.4.0 by @dependabot[bot] in https://github.com/gofiber/fiber/pull/3334\r\n* build(deps): bump codecov/codecov-action from 5.3.0 to 5.3.1 by @dependabot[bot] in https://github.com/gofiber/fiber/pull/3295\r\n* build(deps): bump codecov/codecov-action from 5.1.2 to 5.3.0 by @dependabot[bot] in https://github.com/gofiber/fiber/pull/3292\r\n\r\n## 📚 Documentation\r\n\r\n* Middleware/adapter: Update adapter middleware documentation by @ReneWerner87 in https://github.com/gofiber/fiber/pull/3317\r\n* Middleware/cors: Enhance CORS middleware documentation with preflight request details and infrastructure considerations by @sixcolors in https://github.com/gofiber/fiber/pull/3509\r\n* Middleware/csrf: fix CSRF handler example by @sixcolors in https://github.com/gofiber/fiber/pull/3412\r\n* Middleware/helmet: Update Helmet Middleware default values by @devhaozi in https://github.com/gofiber/fiber/pull/3348\r\n* Middleware/helmet: Update helmet.md default values by @gaby in https://github.com/gofiber/fiber/pull/3350\r\n* Middleware/idempotency: Idempotency add more detailed description for next method by @ReneWerner87 in https://github.com/gofiber/fiber/pull/3443\r\n* Middleware/logger: Document usage of Custom Tags in Logger middleware by @sixcolors in https://github.com/gofiber/fiber/pull/3446\r\n* Middleware/session: Fix examples in middleware/session by @AuroraTea in https://github.com/gofiber/fiber/pull/3435\r\n* Middleware/static: Fix static middleware CacheDuration data type typo by @grivera64 in https://github.com/gofiber/fiber/pull/3273\r\n* Update intro.md Static Files section by @lars-schumann in https://github.com/gofiber/fiber/pull/3303\r\n* Add ctx.Drop() to whats_new.md by @aliziyacevik in https://github.com/gofiber/fiber/pull/3284\r\n* Add `c.Drop()` example to `whats_new.md` by @grivera64 in https://github.com/gofiber/fiber/pull/3285\r\n* Add Retry Addon documentation by @grivera64 in https://github.com/gofiber/fiber/pull/3330\r\n* Add more validation examples by @mazyaryousefinia in https://github.com/gofiber/fiber/pull/3369\r\n* Update docs for State Management by @gaby in https://github.com/gofiber/fiber/pull/3388\r\n* Fix typos by @gaby in https://github.com/gofiber/fiber/pull/3464\r\n* Fix more typos across code base by @gaby in https://github.com/gofiber/fiber/pull/3465\r\n* Incorrect usage of backslash characters in the constraint … by @hungthai1401 in https://github.com/gofiber/fiber/pull/3549\r\n* Fix typos in code and docs by @gaby in https://github.com/gofiber/fiber/pull/3507\r\n* Add custom constraint example by @ReneWerner87 in https://github.com/gofiber/fiber/pull/3539\r\n* Add net/http compatiblity section by @gaby in https://github.com/gofiber/fiber/pull/3556\r\n* Add documentation for Stale() by @gaby in https://github.com/gofiber/fiber/pull/3555\r\n* Update utils guide documentation by @ReneWerner87 in https://github.com/gofiber/fiber/pull/3575\r\n\r\n## New Contributors\r\n\r\n* @aliziyacevik made their first contribution in https://github.com/gofiber/fiber/pull/3284\r\n* @lars-schumann made their first contribution in https://github.com/gofiber/fiber/pull/3303\r\n* @vhespanha made their first contribution in https://github.com/gofiber/fiber/pull/3287\r\n* @alexandear made their first contribution in https://github.com/gofiber/fiber/pull/3366\r\n* @edvardsanta made their first contribution in https://github.com/gofiber/fiber/pull/3359\r\n* @mazyaryousefinia made their first contribution in https://github.com/gofiber/fiber/pull/3369\r\n* @ZihxS made their first contribution in https://github.com/gofiber/fiber/pull/3432\r\n* @KatzuYoru made their first contribution in https://github.com/gofiber/fiber/pull/3418\r\n* @yorickdewid made their first contribution in https://github.com/gofiber/fiber/pull/3428\r\n* @mdelapenya made their first contribution in https://github.com/gofiber/fiber/pull/3460\r\n* @ckoch786 made their first contribution in https://github.com/gofiber/fiber/pull/3230\r\n* @tongjicoder made their first contribution in https://github.com/gofiber/fiber/pull/3486\r\n* @MonkyMars made their first contribution in https://github.com/gofiber/fiber/pull/3516\r\n* @hungthai1401 made their first contribution in https://github.com/gofiber/fiber/pull/3549\r\n* @LaptopCat made their first contribution in https://github.com/gofiber/fiber/pull/3535\r\n* @hotrungnhan made their first contribution in https://github.com/gofiber/fiber/pull/3565\r\n* @axrav made their first contribution in https://github.com/gofiber/fiber/pull/3578\r\n\r\n> A fully-detailed view of all new features **and** the migration guide is available in our docs:  \r\n> https://docs.gofiber.io/next/whats_new\r\n\r\n**Full Changelog**: https://github.com/gofiber/fiber/compare/v3.0.0-beta.4...v3.0.0-beta.5","reactions":{"url":"https://api.github.com/repos/gofiber/fiber/releases/233756569/reactions","total_count":59,"+1":31,"-1":0,"laugh":0,"hooray":18,"confused":0,"heart":4,"rocket":6,"eyes":0},"mentions_count":31},{"url":"https://api.github.com/repos/gofiber/fiber/releases/233753222","assets_url":"https://api.github.com/repos/gofiber/fiber/releases/233753222/assets","upload_url":"https://uploads.github.com/repos/gofiber/fiber/releases/233753222/assets{?name,label}","html_url":"https://github.com/gofiber/fiber/releases/tag/v2.52.9","id":233753222,"author":{"login":"ReneWerner87","id":7063188,"node_id":"MDQ6VXNlcjcwNjMxODg=","avatar_url":"https://avatars.githubusercontent.com/u/7063188?v=4","gravatar_id":"","url":"https://api.github.com/users/ReneWerner87","html_url":"https://github.com/ReneWerner87","followers_url":"https://api.github.com/users/ReneWerner87/followers","following_url":"https://api.github.com/users/ReneWerner87/following{/other_user}","gists_url":"https://api.github.com/users/ReneWerner87/gists{/gist_id}","starred_url":"https://api.github.com/users/ReneWerner87/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ReneWerner87/subscriptions","organizations_url":"https://api.github.com/users/ReneWerner87/orgs","repos_url":"https://api.github.com/users/ReneWerner87/repos","events_url":"https://api.github.com/users/ReneWerner87/events{/privacy}","received_events_url":"https://api.github.com/users/ReneWerner87/received_events","type":"User","user_view_type":"public","site_admin":false},"node_id":"RE_kwDODfYWS84N7sqG","tag_name":"v2.52.9","target_commitish":"v2","name":"v2.52.9","draft":false,"immutable":false,"prerelease":false,"created_at":"2025-07-20T13:43:40Z","updated_at":"2025-07-20T13:54:37Z","published_at":"2025-07-20T13:43:53Z","assets":[],"tarball_url":"https://api.github.com/repos/gofiber/fiber/tarball/v2.52.9","zipball_url":"https://api.github.com/repos/gofiber/fiber/zipball/v2.52.9","body":"## 🐛 Bug Fixes\r\n\r\n* Add upper index limit for parsers by @gaby in https://github.com/gofiber/fiber/pull/3503\r\n* Embedded struct parsing by @ReneWerner87 in https://github.com/gofiber/fiber/pull/3478\r\n* Fix Content-Type comparison in `Is()` by @gaby in https://github.com/gofiber/fiber/pull/3537\r\n* Fix MIME type equality checks by @gaby in https://github.com/gofiber/fiber/pull/3603\r\n\r\n**Full Changelog**: https://github.com/gofiber/fiber/compare/v2.52.8...v2.52.9","reactions":{"url":"https://api.github.com/repos/gofiber/fiber/releases/233753222/reactions","total_count":23,"+1":11,"-1":0,"laugh":0,"hooray":5,"confused":0,"heart":3,"rocket":2,"eyes":2},"mentions_count":2},{"url":"https://api.github.com/repos/gofiber/fiber/releases/220265027","assets_url":"https://api.github.com/repos/gofiber/fiber/releases/220265027/assets","upload_url":"https://uploads.github.com/repos/gofiber/fiber/releases/220265027/assets{?name,label}","html_url":"https://github.com/gofiber/fiber/releases/tag/v2.52.8","id":220265027,"author":{"login":"ReneWerner87","id":7063188,"node_id":"MDQ6VXNlcjcwNjMxODg=","avatar_url":"https://avatars.githubusercontent.com/u/7063188?v=4","gravatar_id":"","url":"https://api.github.com/users/ReneWerner87","html_url":"https://github.com/ReneWerner87","followers_url":"https://api.github.com/users/ReneWerner87/followers","following_url":"https://api.github.com/users/ReneWerner87/following{/other_user}","gists_url":"https://api.github.com/users/ReneWerner87/gists{/gist_id}","starred_url":"https://api.github.com/users/ReneWerner87/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ReneWerner87/subscriptions","organizations_url":"https://api.github.com/users/ReneWerner87/orgs","repos_url":"https://api.github.com/users/ReneWerner87/repos","events_url":"https://api.github.com/users/ReneWerner87/events{/privacy}","received_events_url":"https://api.github.com/users/ReneWerner87/received_events","type":"User","user_view_type":"public","site_admin":false},"node_id":"RE_kwDODfYWS84NIPpD","tag_name":"v2.52.8","target_commitish":"v2","name":"v2.52.8","draft":false,"immutable":false,"prerelease":false,"created_at":"2025-05-22T07:00:28Z","updated_at":"2025-05-22T07:01:43Z","published_at":"2025-05-22T07:01:43Z","assets":[],"tarball_url":"https://api.github.com/repos/gofiber/fiber/tarball/v2.52.8","zipball_url":"https://api.github.com/repos/gofiber/fiber/zipball/v2.52.8","body":"## 👮 Security\r\n\r\n* Fix for BodyParser - GHSA-hg3g-gphw-5hhm\r\n\r\n## 🧹 Updates\r\n\r\n* Backport ctx.String() from v3 by @gaby in https://github.com/gofiber/fiber/pull/3294\r\n\r\n\r\n## 🐛 Bug Fixes\r\n\r\n* Fix routing with mount and static by @ReneWerner87 in https://github.com/gofiber/fiber/pull/3454\r\n\r\n## 📚 Documentation\r\n\r\n* Update usage of ctx.Redirect() by @andradei in https://github.com/gofiber/fiber/pull/3417\r\n* Add AGENTS.md by @gaby in https://github.com/gofiber/fiber/pull/3461\r\n\r\n\r\n**Full Changelog**: https://github.com/gofiber/fiber/compare/v2.52.6...v2.52.8","reactions":{"url":"https://api.github.com/repos/gofiber/fiber/releases/220265027/reactions","total_count":38,"+1":24,"-1":0,"laugh":0,"hooray":2,"confused":0,"heart":0,"rocket":12,"eyes":0},"mentions_count":3},{"url":"https://api.github.com/repos/gofiber/fiber/releases/192803244","assets_url":"https://api.github.com/repos/gofiber/fiber/releases/192803244/assets","upload_url":"https://uploads.github.com/repos/gofiber/fiber/releases/192803244/assets{?name,label}","html_url":"https://github.com/gofiber/fiber/releases/tag/v3.0.0-beta.4","id":192803244,"author":{"login":"ReneWerner87","id":7063188,"node_id":"MDQ6VXNlcjcwNjMxODg=","avatar_url":"https://avatars.githubusercontent.com/u/7063188?v=4","gravatar_id":"","url":"https://api.github.com/users/ReneWerner87","html_url":"https://github.com/ReneWerner87","followers_url":"https://api.github.com/users/ReneWerner87/followers","following_url":"https://api.github.com/users/ReneWerner87/following{/other_user}","gists_url":"https://api.github.com/users/ReneWerner87/gists{/gist_id}","starred_url":"https://api.github.com/users/ReneWerner87/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ReneWerner87/subscriptions","organizations_url":"https://api.github.com/users/ReneWerner87/orgs","repos_url":"https://api.github.com/users/ReneWerner87/repos","events_url":"https://api.github.com/users/ReneWerner87/events{/privacy}","received_events_url":"https://api.github.com/users/ReneWerner87/received_events","type":"User","user_view_type":"public","site_admin":false},"node_id":"RE_kwDODfYWS84LffGs","tag_name":"v3.0.0-beta.4","target_commitish":"main","name":"v3.0.0-beta.4","draft":false,"immutable":false,"prerelease":true,"created_at":"2024-12-31T16:00:40Z","updated_at":"2024-12-31T17:00:22Z","published_at":"2024-12-31T17:00:22Z","assets":[],"tarball_url":"https://api.github.com/repos/gofiber/fiber/tarball/v3.0.0-beta.4","zipball_url":"https://api.github.com/repos/gofiber/fiber/zipball/v3.0.0-beta.4","body":"## 🚀 New Features\r\n\r\n* Add Startup Probe to Healthcheck Middleware by @kirankumar-grootan in https://github.com/gofiber/fiber/pull/3069\r\n* Add support for RebuildTree by @luk3skyw4lker in https://github.com/gofiber/fiber/pull/3074\r\n* Add Max Func to Limiter Middleware by @luk3skyw4lker in https://github.com/gofiber/fiber/pull/3070\r\n* Add support for TrustProxy by @xEricL in https://github.com/gofiber/fiber/pull/3170\r\n* Add Context Support to RequestID Middleware by @JIeJaitt in https://github.com/gofiber/fiber/pull/3200\r\n* Add TestConfig to app.Test() for configurable testing by @grivera64 in https://github.com/gofiber/fiber/pull/3161\r\n* Add support for creating Fiber client from existing FastHTTP client by @mitulagr2 in https://github.com/gofiber/fiber/pull/3214\r\n* Add buffered streaming support by @grivera64 in https://github.com/gofiber/fiber/pull/3131\r\n* Add support for CBOR encoding by @imsk17 in https://github.com/gofiber/fiber/pull/3173\r\n* Add AllLogger to Config by @haochunchang in https://github.com/gofiber/fiber/pull/3153\r\n* Add support for graceful shutdown timeout in ListenConfig by @ksw2000 in https://github.com/gofiber/fiber/pull/3220\r\n* Add support for AutoTLS / ACME by @wangjq4214 in https://github.com/gofiber/fiber/pull/3201\r\n* Add support for iterator methods to Fiber client by @efectn in https://github.com/gofiber/fiber/pull/3228\r\n* Add support for configuring TLS Min Version by @dozheiny in https://github.com/gofiber/fiber/pull/3248\r\n* Add Drop method to DefaultCtx for silent connection termination by @ryanbekhen in https://github.com/gofiber/fiber/pull/3257\r\n* Middleware/session: re-write session middleware with handler by @sixcolors in https://github.com/gofiber/fiber/pull/3016\r\n\r\n## 🧹 Updates\r\n\r\n* Updates to fiberlog benchmarks and documentation by @gaby in https://github.com/gofiber/fiber/pull/3059\r\n* Update benchmarks for Logger Middleware by @gaby in https://github.com/gofiber/fiber/pull/3061\r\n* Enforce key length for EncryptCookie middleware default functions by @gaby in https://github.com/gofiber/fiber/pull/3056\r\n* Improve and simplify logic of ctx.Next() by @gaby in https://github.com/gofiber/fiber/pull/3063\r\n* Improve performance of Adaptor Middleware by @gaby in https://github.com/gofiber/fiber/pull/3078\r\n* Refactor Benchmark Results Workflow by @gaby in https://github.com/gofiber/fiber/pull/3082\r\n* Use Named Fields Instead of Positional and Align Structures to Reduce Memory Usage by @gaby in https://github.com/gofiber/fiber/pull/3079\r\n* Improve performance of helper functions by @gaby in https://github.com/gofiber/fiber/pull/3086\r\n* Use utils Trim functions instead of the strings/bytes functions by @ReneWerner87 in https://github.com/gofiber/fiber/pull/3087\r\n* Improve Performance of c.Body() by 125% by @gaby in https://github.com/gofiber/fiber/pull/3090\r\n* Add Benchmarks for Rewrite Middleware by @gaby in https://github.com/gofiber/fiber/pull/3092\r\n* Consolidate Logic of Handling the Request Body by @ad3n in https://github.com/gofiber/fiber/pull/3093\r\n* Add support for go1.23 and golangci-lint v1.60.1 by @gaby in https://github.com/gofiber/fiber/pull/3101\r\n* Use msgp for flash message encoding/decoding by @efectn in https://github.com/gofiber/fiber/pull/3099\r\n* Optimize IsFromLocal() performance by @gaby in https://github.com/gofiber/fiber/pull/3140\r\n* Replace vendored gorilla/schema package by @efectn in https://github.com/gofiber/fiber/pull/3152\r\n* Middleware/CORS Remove Scheme Restriction by @zingi in https://github.com/gofiber/fiber/pull/3163\r\n* Improve naming convention for Context returning functions by @gaby in https://github.com/gofiber/fiber/pull/3193\r\n* Mark go1.23 as minimum go version by @efectn in https://github.com/gofiber/fiber/pull/3226\r\n* Rename the Method Names of FormData and FormDatas (#3251) by @ksw2000 in https://github.com/gofiber/fiber/pull/3255\r\n* Improve Performance of Fiber Router by @gaby in https://github.com/gofiber/fiber/pull/3261\r\n\r\n## 🐛 Bug Fixes\r\n\r\n* Middleware/cache: Fix typo by @miyamo2 in https://github.com/gofiber/fiber/pull/3145\r\n* Middleware/cache: Runtime error: index out of range [0] with length 0 by @brunodmartins in https://github.com/gofiber/fiber/pull/3075\r\n* Middleware/Adaptor: Duplicates cookies by @sigmundxia in https://github.com/gofiber/fiber/pull/3151\r\n* Client: Fix SetProxyURL functionality by @efectn in https://github.com/gofiber/fiber/pull/3109\r\n* Fix square bracket notation in Multipart FormData by @efectn in https://github.com/gofiber/fiber/pull/3235\r\n* Fasthttp errors cause panic when Params is used by @efectn in https://github.com/gofiber/fiber/pull/3055\r\n* Use Content-Length for bytesReceived and bytesSent tags in Logger Middleware by @gaby in https://github.com/gofiber/fiber/pull/3066\r\n* Error check in Form binder by @devhaozi in https://github.com/gofiber/fiber/pull/3110\r\n* Handle un-matched open brackets in the query params by @dojutsu-user in https://github.com/gofiber/fiber/pull/3126\r\n* Fix issue with default logger when creating RequestCtx by @gaby in https://github.com/gofiber/fiber/pull/3134\r\n* Behavior of `DefaultCtx.Fresh` when 'Last-Modified' and 'If-Modified-Since' are equal by @miyamo2 in https://github.com/gofiber/fiber/pull/3150\r\n* Close File After SaveFileToStorage by @gopkg-dev in https://github.com/gofiber/fiber/pull/3197\r\n* Make SetValWithStruct set zero values and support more types #3167 by @ksw2000 in https://github.com/gofiber/fiber/pull/3227\r\n* EnableSplittingOnParsers is not functional by @efectn in https://github.com/gofiber/fiber/pull/3231\r\n* Memory leak removal in the idempotency middleware by @sunnyyssh in https://github.com/gofiber/fiber/pull/3263\r\n* Fix race condition by @sixcolors in https://github.com/gofiber/fiber/pull/3081\r\n* Nil pointer dereference with Must Bind binding by @ItsMeSamey in https://github.com/gofiber/fiber/pull/3171\r\n\r\n## 🛠️ Maintenance\r\n\r\n* Bump golangci-lint to v1.62.0 by @gaby in https://github.com/gofiber/fiber/pull/3196\r\n* Bump golangci-lint to v1.61.0 by @gaby in https://github.com/gofiber/fiber/pull/3135\r\n* Bump golangci-lint to v1.60.3 by @gaby in https://github.com/gofiber/fiber/pull/3119\r\n* Bump golang.org/x/crypto from 0.30.0 to 0.31.0 by @dependabot in https://github.com/gofiber/fiber/pull/3247\r\n* Bump golang.org/x/crypto from 0.28.0 to 0.30.0 by @dependabot in https://github.com/gofiber/fiber/pull/3243\r\n* Bump github.com/valyala/fasthttp from 1.57.0 to 1.58.0 by @dependabot in https://github.com/gofiber/fiber/pull/3244\r\n* Bump github.com/valyala/fasthttp from 1.56.0 to 1.57.0 by @dependabot in https://github.com/gofiber/fiber/pull/3183\r\n* Bump github.com/valyala/fasthttp from 1.55.0 to 1.56.0 by @dependabot in https://github.com/gofiber/fiber/pull/3146\r\n* Bump github.com/tinylib/msgp from 1.2.4 to 1.2.5 by @dependabot in https://github.com/gofiber/fiber/pull/3240\r\n* Bump github.com/tinylib/msgp from 1.2.3 to 1.2.4 by @dependabot in https://github.com/gofiber/fiber/pull/3185\r\n* Bump github.com/tinylib/msgp from 1.2.1 to 1.2.3 by @dependabot in https://github.com/gofiber/fiber/pull/3182\r\n* Bump github.com/tinylib/msgp from 1.1.8 to 1.2.1 by @ReneWerner87 in https://github.com/gofiber/fiber/pull/3147\r\n* Bump github.com/stretchr/testify from 1.9.0 to 1.10.0 by @dependabot in https://github.com/gofiber/fiber/pull/3217\r\n* Bump github.com/gofiber/utils/v2 from 2.0.0-beta.6 to 2.0.0-beta.7 by @dependabot in https://github.com/gofiber/fiber/pull/3174\r\n* Bump github.com/gofiber/utils/v2 from 2.0.0-beta.4 to 2.0.0-beta.5 by @dependabot in https://github.com/gofiber/fiber/pull/3062\r\n* Bump DavidAnson/markdownlint-cli2-action from 18 to 19 by @dependabot in https://github.com/gofiber/fiber/pull/3266\r\n* Bump DavidAnson/markdownlint-cli2-action from 17 to 18 by @dependabot in https://github.com/gofiber/fiber/pull/3208\r\n* Bump DavidAnson/markdownlint-cli2-action from 16 to 17 by @dependabot in https://github.com/gofiber/fiber/pull/3128\r\n* Bump codecov/codecov-action from 5.1.1 to 5.1.2 by @dependabot in https://github.com/gofiber/fiber/pull/3256\r\n* Bump codecov/codecov-action from 5.0.7 to 5.1.1 by @dependabot in https://github.com/gofiber/fiber/pull/3234\r\n* Bump codecov/codecov-action from 5.0.4 to 5.0.7 by @dependabot in https://github.com/gofiber/fiber/pull/3213\r\n* Bump codecov/codecov-action from 5.0.2 to 5.0.4 by @dependabot in https://github.com/gofiber/fiber/pull/3210\r\n* Bump codecov/codecov-action from 5.0.0 to 5.0.2 by @dependabot in https://github.com/gofiber/fiber/pull/3209\r\n* Bump codecov/codecov-action from 4.6.0 to 5.0.0 by @dependabot in https://github.com/gofiber/fiber/pull/3207\r\n* Bump codecov/codecov-action from 4.5.0 to 4.6.0 by @dependabot in https://github.com/gofiber/fiber/pull/3154\r\n* Bump benchmark-action/github-action-benchmark from 1.20.3 to 1.20.4 by @dependabot in https://github.com/gofiber/fiber/pull/3177\r\n* Bump actions/checkout from 3 to 4 by @dependabot in https://github.com/gofiber/fiber/pull/3083\r\n\r\n## 📚 Documentation\r\n\r\n* Add support for consistent documentation using markdownlint by @gaby in https://github.com/gofiber/fiber/pull/3064\r\n* Update example in middleware/cors to v3 by @AuroraTea in https://github.com/gofiber/fiber/pull/3116\r\n* Update recover docs to not use reserved keyword by @glensargent in https://github.com/gofiber/fiber/pull/3129\r\n* Fix typos in client hooks documentation by @yinheli in https://github.com/gofiber/fiber/pull/3133\r\n* Replaced link to russian mozilla docs by @nexovec in https://github.com/gofiber/fiber/pull/3142\r\n* Removed zero width white space from logger docs by @oktayozkan0 in https://github.com/gofiber/fiber/pull/3144\r\n* Fix typo on comment by @ad3n in https://github.com/gofiber/fiber/pull/3158\r\n* Typo in hooks documentation by @SantiagoBobrik in https://github.com/gofiber/fiber/pull/3164\r\n* Update README.md by @s19835 in https://github.com/gofiber/fiber/pull/3165\r\n* Revert \"Update README.md (#3165)\" by @gaby in https://github.com/gofiber/fiber/pull/3166\r\n* Update What's New documentation by @alequilesl in https://github.com/gofiber/fiber/pull/3181\r\n* Clarify SendFile Docs by @xEricL in https://github.com/gofiber/fiber/pull/3172\r\n* Update intro documentation by @gaby in https://github.com/gofiber/fiber/pull/3204\r\n* Updates to API documentation and README by @gaby in https://github.com/gofiber/fiber/pull/3205\r\n* Updates to Context documentation by @gaby in https://github.com/gofiber/fiber/pull/3206\r\n* Update documentation for Fiber client by @gaby in https://github.com/gofiber/fiber/pull/3249\r\n* Optimize the menu item text by @AuroraTea in https://github.com/gofiber/fiber/pull/3267\r\n\r\n**Full Changelog**: https://github.com/gofiber/fiber/compare/v3.0.0-beta.3...v3.0.0-beta.4","reactions":{"url":"https://api.github.com/repos/gofiber/fiber/releases/192803244/reactions","total_count":21,"+1":0,"-1":0,"laugh":0,"hooray":18,"confused":0,"heart":0,"rocket":3,"eyes":0},"mentions_count":35},{"url":"https://api.github.com/repos/gofiber/fiber/releases/192803996","assets_url":"https://api.github.com/repos/gofiber/fiber/releases/192803996/assets","upload_url":"https://uploads.github.com/repos/gofiber/fiber/releases/192803996/assets{?name,label}","html_url":"https://github.com/gofiber/fiber/releases/tag/v2.52.6","id":192803996,"author":{"login":"ReneWerner87","id":7063188,"node_id":"MDQ6VXNlcjcwNjMxODg=","avatar_url":"https://avatars.githubusercontent.com/u/7063188?v=4","gravatar_id":"","url":"https://api.github.com/users/ReneWerner87","html_url":"https://github.com/ReneWerner87","followers_url":"https://api.github.com/users/ReneWerner87/followers","following_url":"https://api.github.com/users/ReneWerner87/following{/other_user}","gists_url":"https://api.github.com/users/ReneWerner87/gists{/gist_id}","starred_url":"https://api.github.com/users/ReneWerner87/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ReneWerner87/subscriptions","organizations_url":"https://api.github.com/users/ReneWerner87/orgs","repos_url":"https://api.github.com/users/ReneWerner87/repos","events_url":"https://api.github.com/users/ReneWerner87/events{/privacy}","received_events_url":"https://api.github.com/users/ReneWerner87/received_events","type":"User","user_view_type":"public","site_admin":false},"node_id":"RE_kwDODfYWS84LffSc","tag_name":"v2.52.6","target_commitish":"v2","name":"v2.52.6","draft":false,"immutable":false,"prerelease":false,"created_at":"2024-12-31T17:04:19Z","updated_at":"2024-12-31T17:12:37Z","published_at":"2024-12-31T17:12:37Z","assets":[],"tarball_url":"https://api.github.com/repos/gofiber/fiber/tarball/v2.52.6","zipball_url":"https://api.github.com/repos/gofiber/fiber/zipball/v2.52.6","body":"## 🐛 Bug Fixes\r\n\r\n* Use Content-Length for bytesReceived and bytesSent tags in Logger Middleware in v2 by @gaby in https://github.com/gofiber/fiber/pull/3067\r\n* Fix handle un-matched open brackets in the query params by @dojutsu-user in https://github.com/gofiber/fiber/pull/3121\r\n* Middleware/CORS: Remove Scheme Restriction by @zingi in https://github.com/gofiber/fiber/pull/3168\r\n* Respect Immutable config for Body() by @nickajacks1 in https://github.com/gofiber/fiber/pull/3246\r\n* Support Square Bracket Notation in Multipart Form data by @ReneWerner87 in https://github.com/gofiber/fiber/pull/3268\r\n\r\n## 📚 Documentation\r\n\r\n* Add detailed documentation for the templates guide by @grivera64 in https://github.com/gofiber/fiber/pull/3113\r\n\r\n## 🛠️ Maintenance\r\n\r\n* Update benchmark-action to v1.20.3 by @gaby in https://github.com/gofiber/fiber/pull/3084\r\n* Add CODEOWNERS file by @gaby in https://github.com/gofiber/fiber/pull/3124\r\n* Update dependencies by @gaby in https://github.com/gofiber/fiber/pull/3254\r\n* Add parallel benchmark for Next() by @gaby in https://github.com/gofiber/fiber/pull/3259\r\n\r\n**Full Changelog**: https://github.com/gofiber/fiber/compare/v2.52.5...v2.52.6","reactions":{"url":"https://api.github.com/repos/gofiber/fiber/releases/192803996/reactions","total_count":21,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":21,"rocket":0,"eyes":0},"mentions_count":6},{"url":"https://api.github.com/repos/gofiber/fiber/releases/163230894","assets_url":"https://api.github.com/repos/gofiber/fiber/releases/163230894/assets","upload_url":"https://uploads.github.com/repos/gofiber/fiber/releases/163230894/assets{?name,label}","html_url":"https://github.com/gofiber/fiber/releases/tag/v3.0.0-beta.3","id":163230894,"author":{"login":"ReneWerner87","id":7063188,"node_id":"MDQ6VXNlcjcwNjMxODg=","avatar_url":"https://avatars.githubusercontent.com/u/7063188?v=4","gravatar_id":"","url":"https://api.github.com/users/ReneWerner87","html_url":"https://github.com/ReneWerner87","followers_url":"https://api.github.com/users/ReneWerner87/followers","following_url":"https://api.github.com/users/ReneWerner87/following{/other_user}","gists_url":"https://api.github.com/users/ReneWerner87/gists{/gist_id}","starred_url":"https://api.github.com/users/ReneWerner87/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ReneWerner87/subscriptions","organizations_url":"https://api.github.com/users/ReneWerner87/orgs","repos_url":"https://api.github.com/users/ReneWerner87/repos","events_url":"https://api.github.com/users/ReneWerner87/events{/privacy}","received_events_url":"https://api.github.com/users/ReneWerner87/received_events","type":"User","user_view_type":"public","site_admin":false},"node_id":"RE_kwDODfYWS84JurSu","tag_name":"v3.0.0-beta.3","target_commitish":"main","name":"v3.0.0-beta.3","draft":false,"immutable":false,"prerelease":true,"created_at":"2024-06-30T20:08:19Z","updated_at":"2024-06-30T20:35:38Z","published_at":"2024-06-30T20:35:38Z","assets":[],"tarball_url":"https://api.github.com/repos/gofiber/fiber/tarball/v3.0.0-beta.3","zipball_url":"https://api.github.com/repos/gofiber/fiber/zipball/v3.0.0-beta.3","body":"## 🚀 New Features\r\n\r\n- Middleware/static: add static middleware (#3006)\r\n- Middleware/cache: Add Cache Invalidation Option to Cache Middleware (#3036)\r\n- Middleware/keyauth: Add support for custom KeyLookup functions in the Keyauth middleware (#3028)\r\n- Add support for zstd compression (#3041)\r\n- Add configuration support to c.SendFile() (#3017)\r\n- Add support for longtests during CI (#3054)\r\n- Add CHIPS support to Cookie (#3047)\r\n\r\n## 🧹 Updates\r\n\r\n- Middleware/cors: Config, lists as list types (#2962)\r\n- Middleware/session: Remove extra release and acquire ctx calls in session_test.go (#3044)\r\n- Optimize Cache middleware handler (#3031)\r\n- Adding a generator to generate the CTX interface (#3024)\r\n- Add Benchmarks for IsProxyTrusted() (#2933)\r\n\r\n## 🐛 Bug Fixes\r\n\r\n- Fix some struct names in comments (#2974)\r\n- Fixes #3038 \"v3 Flash Message with redirect is not working\" (#3046)\r\n- Middleware/session: mutex for thread safety (#3049)\r\n- Middleware/session: fix data-race with sync.Pool (#3051)\r\n\r\n## 🛠️ Maintenance\r\n\r\n- Bump github.com/valyala/fasthttp from 1.52.0 to 1.53.0 (#3000)\r\n- Bump github.com/valyala/fasthttp from 1.54.0 to 1.55.0 (#3037)\r\n- Updated fasthttp to 1.54.0 release (#3010)\r\n\r\n## 📚 Documentation\r\n\r\n- Add docs for new client (#2991)\r\n- Consolidate and Document Core Changes in v3 (#2934)\r\n- Fix broken link to slim template in FAQ (#2969)\r\n- Fix merge conflict in documentation (#2957)\r\n- Fix some comments (#2983)\r\n- Update intro.md to make clear `fiber.Ctx` is not thread-safe. (#3014)\r\n- Improve ctx.Locals method description, godoc and example (#3032)\r\n- Add zero-allocation section to README (#3039)\r\n- Middleware/csrf: Update config TrustedOrigin comments (#2963)\r\n- Middleware/cors middleware (#2979)\r\n\r\n**Full Changelog**: https://github.com/gofiber/fiber/compare/v3.0.0-beta.2...v3.0.0-beta.3\r\n\r\nThank you @efectn, @gaby, @hcancelik, @dave-gray101, @sixcolors, @ReneWerner87, @orvillesimba, @deferdeter, @rabarar, @dockercui and @omaskery for making this update possible.\r\n\r\n","reactions":{"url":"https://api.github.com/repos/gofiber/fiber/releases/163230894/reactions","total_count":72,"+1":27,"-1":0,"laugh":0,"hooray":9,"confused":0,"heart":15,"rocket":21,"eyes":0},"mentions_count":11},{"url":"https://api.github.com/repos/gofiber/fiber/releases/163230321","assets_url":"https://api.github.com/repos/gofiber/fiber/releases/163230321/assets","upload_url":"https://uploads.github.com/repos/gofiber/fiber/releases/163230321/assets{?name,label}","html_url":"https://github.com/gofiber/fiber/releases/tag/v2.52.5","id":163230321,"author":{"login":"ReneWerner87","id":7063188,"node_id":"MDQ6VXNlcjcwNjMxODg=","avatar_url":"https://avatars.githubusercontent.com/u/7063188?v=4","gravatar_id":"","url":"https://api.github.com/users/ReneWerner87","html_url":"https://github.com/ReneWerner87","followers_url":"https://api.github.com/users/ReneWerner87/followers","following_url":"https://api.github.com/users/ReneWerner87/following{/other_user}","gists_url":"https://api.github.com/users/ReneWerner87/gists{/gist_id}","starred_url":"https://api.github.com/users/ReneWerner87/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ReneWerner87/subscriptions","organizations_url":"https://api.github.com/users/ReneWerner87/orgs","repos_url":"https://api.github.com/users/ReneWerner87/repos","events_url":"https://api.github.com/users/ReneWerner87/events{/privacy}","received_events_url":"https://api.github.com/users/ReneWerner87/received_events","type":"User","user_view_type":"public","site_admin":false},"node_id":"RE_kwDODfYWS84JurJx","tag_name":"v2.52.5","target_commitish":"v2","name":"v2.52.5","draft":false,"immutable":false,"prerelease":false,"created_at":"2024-06-30T20:11:08Z","updated_at":"2024-06-30T20:36:05Z","published_at":"2024-06-30T20:19:10Z","assets":[],"tarball_url":"https://api.github.com/repos/gofiber/fiber/tarball/v2.52.5","zipball_url":"https://api.github.com/repos/gofiber/fiber/zipball/v2.52.5","body":"## 👮 Security\r\n\r\n<details>\r\n  <summary>Middleware/session: Session Middleware Token Injection Vulnerability - GHSA-98j2-3j3p-fw2v</summary>\r\n\r\nhttps://docs.gofiber.io/api/middleware/session\r\n</details>\r\n\r\n## 🧹 Updates\r\n\r\n- Middleware/session: Remove extra release and aquire ctx calls in session_test.go (#3043)\r\n\r\n##  🐛 Bug Fixes\r\n\r\n- Middleware/monitor: middleware reporting of CPU usage (#2984)\r\n- Middleware/session: mutex for thread safety (#3050)\r\n\r\n## 📚 Documentation\r\n\r\n- Improve ctx.Locals method description and example (#3030)\r\n- Improve ctx.Locals method documentation (#3033)\r\n- Update README_id.md (#3045)\r\n\r\n**Full Changelog**: https://github.com/gofiber/fiber/compare/v2.52.4...v2.52.5\r\n\r\nThank you @nyufeng, @PaulTitto and @sixcolors for making this update possible.","reactions":{"url":"https://api.github.com/repos/gofiber/fiber/releases/163230321/reactions","total_count":8,"+1":6,"-1":0,"laugh":0,"hooray":1,"confused":0,"heart":0,"rocket":1,"eyes":0},"mentions_count":3},{"url":"https://api.github.com/repos/gofiber/fiber/releases/136200322","assets_url":"https://api.github.com/repos/gofiber/fiber/releases/136200322/assets","upload_url":"https://uploads.github.com/repos/gofiber/fiber/releases/136200322/assets{?name,label}","html_url":"https://github.com/gofiber/fiber/releases/tag/v3.0.0-beta.2","id":136200322,"author":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"node_id":"RE_kwDODfYWS84IHkCC","tag_name":"v3.0.0-beta.2","target_commitish":"main","name":"v3.0.0-beta.2","draft":false,"immutable":false,"prerelease":true,"created_at":"2024-04-07T18:34:23Z","updated_at":"2024-04-07T19:38:13Z","published_at":"2024-04-07T19:38:13Z","assets":[],"tarball_url":"https://api.github.com/repos/gofiber/fiber/tarball/v3.0.0-beta.2","zipball_url":"https://api.github.com/repos/gofiber/fiber/zipball/v3.0.0-beta.2","body":"## 🚀 New\r\n\r\n* Binding: Initial support for binding (#1981)\r\n* Addon: add retry mechanism (#1972)\r\n* Client: client refactor (#1986)\r\n* Middleware/csrf: Add support for trusted origins (#2910)\r\n* Middleware/csrf: TrustedOrigins using https://*.example.com style subdomains (#2925)\r\n* Middleware/cors: Add support for Access-Control-Allow-Private-Network (#2908)\r\n* Middleware/proxy: Add DialDualStack option for upstream IPv6 support (#2900)\r\n* Convert fiber.Ctx type to interface (#1928)\r\n* Merge Listen methods & ListenConfig (#1930)\r\n* New Route method (#2065)\r\n* Router interface changes (#2176)\r\n* New redirection methods (#2014)\r\n* New mounting system (#2022)\r\n* Generate msgp tests (#2263)\r\n* Make app.Test accept a time.Duration timeout (#2269)\r\n* Add QueryParser for get query using generic (#2776)\r\n* Addition of Locals Function with Go Generics as an Alternative to c.Locals (#2813)\r\n* Add support for custom constraints (#2807)\r\n* Adding GetReqHeaders and GetRespHeaders (#2831)\r\n* Implement new generic functions: Params, Get and Convert (#2850)\r\n\r\n## 🧹 Updates\r\n\r\n* Middleware/adpator: Add parallel benchmarks to adaptor middleware (#2870)\r\n* Middleware/csrf,limiter: Update CSRF and Limiter to remove repetitive names (#2846)\r\n* Middleware/earlydata (#2270)\r\n* Middleware/filesystem: Refactor filesystem middleware with `io/fs` (#2027)\r\n* Middleware/healthchecker: Migrate HealthChecker to v3 (#2884)\r\n* Middleware/idempotency (#2253)\r\n* Middleware/logger: Remove mutex lock in logger middleware (#2840)\r\n* Middleware/logger: refactor logger middleware (#1979)\r\n* Client: Rename \"ClientNew\" Function to \"New\" (#2896)\r\n* Router: return status 501 instead of 400 on unknown method (#2220)\r\n* Add `[]byte` support to `utils.EqualFold` (#2029)\r\n* Remove `utils.Trim*` because stdlib has same performance in go1.19 (#2030)\r\n* Use testify for assertion (#2036)\r\n* Change startup message (#2041)\r\n* Cleanup (#2255)\r\n* Update Ctx.Format to match Express's res.format (#2766)\r\n* Change interface{} to any (#2796)\r\n* Clean up errcheck config (#2841)\r\n* Update startup message formatting (#2847)\r\n* Add inamedparam linter (#2848)\r\n* Simplify content negotiation code (#2865)\r\n* Expand Tests and Benchmarks for Log package (#2886)\r\n* Performance optimizations (#2838, #2947)\r\n\r\n## 🐛 Fixes\r\n\r\n* Middleware/cors: CORS handling (#2938)\r\n* Middleware/logger: Fix logger benchmarks (#2074)\r\n* Middleware/logger: Print to stderr if log fails for default format (#2830)\r\n* Fix benchmark results (#1982, #2130)\r\n* Rename WithTlsConfig method to WithTLSConfig (#2570)\r\n* ContextKey collisions (#2781)\r\n* Fix testifylint errors in middleware (#2805)\r\n* Fix remaining testifylint errors (#2806)\r\n* Fix force type assertions in session_test.go (#2815)\r\n* Added respects body immutability to ctx.Body() and ctx.BodyRaw() functions. (#2812)\r\n* Testifylint failure that fell through the cracks (#2821)\r\n* Inconsistent and flaky unit-tests (#2892)\r\n* Improper query/body parsing with embedded structs (#2906)\r\n\r\n\r\n## 🛠️ Maintenance\r\n\r\n* Bump minimum version of Go to 1.21 (#2911)\r\n* Add go1.22 to test matrix (#2835)\r\n* Update to use gofiber/utils/v2 (#2184)\r\n* Speed up addon/retry tests (#2800)\r\n* Re-enable tparallel linter (#2801)\r\n* Do not retry flaky tests (#2875)\r\n* Update test workflow to use gotestsum (#2895)\r\n* Enabling shuffling, cleanup and consistency across tests (#2931)\r\n* Run tests against Apple M1 platform (#2852)\r\n* Merge V2 to v3 (#2864, #2944)\r\n* Middleware/cors: Merge changes from v2 (#2922)\r\n* Update golangci-lint to v1.55.2 (#2817)\r\n* Address multiple lint rules (#2869)\r\n* Make golangci-lint config stricter (#2874)\r\n* Update golangci-lint to enable more lint rules (#2923)\r\n* Bump golangci-lint to v1.56.1 (#2842)\r\n* Bump golangci-lint to v1.56.2 (#2862)\r\n* Bump golangci-lint to v1.57.1 (#2929)\r\n* Bump github.com/google/uuid from 1.5.0 to 1.6.0 (#2810)\r\n* Bump github.com/valyala/fasthttp from 1.51.0 to 1.52.0 (#2857)\r\n* Bump github.com/stretchr/testify from 1.8.4 to 1.9.0 (#2888)\r\n* Bump github.com/gofiber/utils/v2 from 2.0.0-beta.3 to 2.0.0-beta.4 (#2935)\r\n\r\n## 📚 Documentation\r\n\r\n* Update handler signature for v3 (#2794)\r\n* Undocumented function in session.md (#2795)\r\n* Fix typo in documentation (#2802)\r\n* Fix a misspelled comment (#2809)\r\n* Update Typo documentation (#2820)\r\n* Fix typo in routing.md (#2836)\r\n* Add CODEOWNERS file (#2851)\r\n* Update Version Numbers in Docs (#2853)\r\n* Fix code snippet indentation in /docs/api/middleware/keyauth.md (#2868)\r\n* Update docs to reflect fiber.Ctx struct to interface change (#2880)\r\n* Fix TrustedProxies documentation related to IP ranges (#2887)\r\n* Improve translation (#2899)\r\n* Refactor Documenation for HealthCheck (#2905)\r\n* Fixed a typo in app.go (#2912)\r\n* Cleanup and updates to README files (#2914)\r\n* Remove repetitive words (#2917)\r\n\r\n\r\n**Full Changelog**: https://github.com/gofiber/fiber/compare/v2.52.4...v3.0.0-beta.2\r\n\r\nThank you @efectn, @Behzad-Khokher, @the-hotmann, @gozeloglu, @trim21, @wangjq4214, @KrisCarr, @pjebs, @balcieren, @leonklingele, @sixcolors, @nickajacks1, @gandaldf, @StrawHatHacker, @ryanbekhen, @theleeeo, @nnnkkk7, @canks69, @asyslinux, @brunodmartins, @gaby, @linogomez, @Fenny, @grivera64, @ReneWerner87, @luk3skyw4lker, @dreamscached, @emirhansirkeci, @sebytza23, @techerfan, @racerole, @negrel, @devhsoj, @dozheiny for making this update possible.","reactions":{"url":"https://api.github.com/repos/gofiber/fiber/releases/136200322/reactions","total_count":95,"+1":45,"-1":0,"laugh":0,"hooray":18,"confused":0,"heart":20,"rocket":12,"eyes":0},"mentions_count":34},{"url":"https://api.github.com/repos/gofiber/fiber/releases/148566967","assets_url":"https://api.github.com/repos/gofiber/fiber/releases/148566967/assets","upload_url":"https://uploads.github.com/repos/gofiber/fiber/releases/148566967/assets{?name,label}","html_url":"https://github.com/gofiber/fiber/releases/tag/v2.52.4","id":148566967,"author":{"login":"ReneWerner87","id":7063188,"node_id":"MDQ6VXNlcjcwNjMxODg=","avatar_url":"https://avatars.githubusercontent.com/u/7063188?v=4","gravatar_id":"","url":"https://api.github.com/users/ReneWerner87","html_url":"https://github.com/ReneWerner87","followers_url":"https://api.github.com/users/ReneWerner87/followers","following_url":"https://api.github.com/users/ReneWerner87/following{/other_user}","gists_url":"https://api.github.com/users/ReneWerner87/gists{/gist_id}","starred_url":"https://api.github.com/users/ReneWerner87/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ReneWerner87/subscriptions","organizations_url":"https://api.github.com/users/ReneWerner87/orgs","repos_url":"https://api.github.com/users/ReneWerner87/repos","events_url":"https://api.github.com/users/ReneWerner87/events{/privacy}","received_events_url":"https://api.github.com/users/ReneWerner87/received_events","type":"User","user_view_type":"public","site_admin":false},"node_id":"RE_kwDODfYWS84I2vO3","tag_name":"v2.52.4","target_commitish":"v2","name":"v2.52.4","draft":false,"immutable":false,"prerelease":false,"created_at":"2024-03-26T21:40:09Z","updated_at":"2024-03-27T06:30:30Z","published_at":"2024-03-27T06:30:30Z","assets":[],"tarball_url":"https://api.github.com/repos/gofiber/fiber/tarball/v2.52.4","zipball_url":"https://api.github.com/repos/gofiber/fiber/zipball/v2.52.4","body":"# 🐛 Fixes\r\n\r\n* Middleware/cors: CORS handling by @sixcolors in https://github.com/gofiber/fiber/pull/2937\r\n* Middleware/cors: Vary header handling non-cors OPTIONS requests by @sixcolors in https://github.com/gofiber/fiber/pull/2939\r\n\r\n\r\n**Full Changelog**: https://github.com/gofiber/fiber/compare/v2.52.3...v2.52.4","reactions":{"url":"https://api.github.com/repos/gofiber/fiber/releases/148566967/reactions","total_count":40,"+1":12,"-1":0,"laugh":0,"hooray":10,"confused":0,"heart":7,"rocket":11,"eyes":0},"mentions_count":1},{"url":"https://api.github.com/repos/gofiber/fiber/releases/148318412","assets_url":"https://api.github.com/repos/gofiber/fiber/releases/148318412/assets","upload_url":"https://uploads.github.com/repos/gofiber/fiber/releases/148318412/assets{?name,label}","html_url":"https://github.com/gofiber/fiber/releases/tag/v2.52.3","id":148318412,"author":{"login":"ReneWerner87","id":7063188,"node_id":"MDQ6VXNlcjcwNjMxODg=","avatar_url":"https://avatars.githubusercontent.com/u/7063188?v=4","gravatar_id":"","url":"https://api.github.com/users/ReneWerner87","html_url":"https://github.com/ReneWerner87","followers_url":"https://api.github.com/users/ReneWerner87/followers","following_url":"https://api.github.com/users/ReneWerner87/following{/other_user}","gists_url":"https://api.github.com/users/ReneWerner87/gists{/gist_id}","starred_url":"https://api.github.com/users/ReneWerner87/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ReneWerner87/subscriptions","organizations_url":"https://api.github.com/users/ReneWerner87/orgs","repos_url":"https://api.github.com/users/ReneWerner87/repos","events_url":"https://api.github.com/users/ReneWerner87/events{/privacy}","received_events_url":"https://api.github.com/users/ReneWerner87/received_events","type":"User","user_view_type":"public","site_admin":false},"node_id":"RE_kwDODfYWS84I1yjM","tag_name":"v2.52.3","target_commitish":"v2","name":"v2.52.3","draft":false,"immutable":false,"prerelease":false,"created_at":"2024-03-25T19:26:29Z","updated_at":"2024-03-25T19:40:39Z","published_at":"2024-03-25T19:40:39Z","assets":[],"tarball_url":"https://api.github.com/repos/gofiber/fiber/tarball/v2.52.3","zipball_url":"https://api.github.com/repos/gofiber/fiber/zipball/v2.52.3","body":"## 🐛 Fixes\r\n\r\n* Middleware/cors: Handling and wildcard subdomain matching by @sixcolors in https://github.com/gofiber/fiber/pull/2915\r\n* Middleware/cors: Categorize requests correctly by @sixcolors in https://github.com/gofiber/fiber/pull/2921\r\n* Middleware/csrf: Fix Benchmark Tests by @sixcolors in https://github.com/gofiber/fiber/pull/2932\r\n\r\n**Full Changelog**: https://github.com/gofiber/fiber/compare/v2.52.2...v2.52.3","reactions":{"url":"https://api.github.com/repos/gofiber/fiber/releases/148318412/reactions","total_count":27,"+1":10,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":8,"rocket":9,"eyes":0},"mentions_count":1},{"url":"https://api.github.com/repos/gofiber/fiber/releases/144507113","assets_url":"https://api.github.com/repos/gofiber/fiber/releases/144507113/assets","upload_url":"https://uploads.github.com/repos/gofiber/fiber/releases/144507113/assets{?name,label}","html_url":"https://github.com/gofiber/fiber/releases/tag/v2.52.2","id":144507113,"author":{"login":"ReneWerner87","id":7063188,"node_id":"MDQ6VXNlcjcwNjMxODg=","avatar_url":"https://avatars.githubusercontent.com/u/7063188?v=4","gravatar_id":"","url":"https://api.github.com/users/ReneWerner87","html_url":"https://github.com/ReneWerner87","followers_url":"https://api.github.com/users/ReneWerner87/followers","following_url":"https://api.github.com/users/ReneWerner87/following{/other_user}","gists_url":"https://api.github.com/users/ReneWerner87/gists{/gist_id}","starred_url":"https://api.github.com/users/ReneWerner87/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ReneWerner87/subscriptions","organizations_url":"https://api.github.com/users/ReneWerner87/orgs","repos_url":"https://api.github.com/users/ReneWerner87/repos","events_url":"https://api.github.com/users/ReneWerner87/events{/privacy}","received_events_url":"https://api.github.com/users/ReneWerner87/received_events","type":"User","user_view_type":"public","site_admin":false},"node_id":"RE_kwDODfYWS84InQDp","tag_name":"v2.52.2","target_commitish":"v2","name":"v2.52.2","draft":false,"immutable":false,"prerelease":false,"created_at":"2024-03-02T17:56:50Z","updated_at":"2024-03-02T18:07:52Z","published_at":"2024-03-02T18:07:52Z","assets":[],"tarball_url":"https://api.github.com/repos/gofiber/fiber/tarball/v2.52.2","zipball_url":"https://api.github.com/repos/gofiber/fiber/zipball/v2.52.2","body":"## 🐛 Fixes\r\n\r\n* Middleware/cors: Validation of multiple Origins (https://github.com/gofiber/fiber/pull/2883)\r\n\r\n\r\n**Full Changelog**: https://github.com/gofiber/fiber/compare/v2.52.1...v2.52.2","reactions":{"url":"https://api.github.com/repos/gofiber/fiber/releases/144507113/reactions","total_count":55,"+1":26,"-1":0,"laugh":0,"hooray":7,"confused":0,"heart":12,"rocket":10,"eyes":0}},{"url":"https://api.github.com/repos/gofiber/fiber/releases/142999109","assets_url":"https://api.github.com/repos/gofiber/fiber/releases/142999109/assets","upload_url":"https://uploads.github.com/repos/gofiber/fiber/releases/142999109/assets{?name,label}","html_url":"https://github.com/gofiber/fiber/releases/tag/v2.52.1","id":142999109,"author":{"login":"ReneWerner87","id":7063188,"node_id":"MDQ6VXNlcjcwNjMxODg=","avatar_url":"https://avatars.githubusercontent.com/u/7063188?v=4","gravatar_id":"","url":"https://api.github.com/users/ReneWerner87","html_url":"https://github.com/ReneWerner87","followers_url":"https://api.github.com/users/ReneWerner87/followers","following_url":"https://api.github.com/users/ReneWerner87/following{/other_user}","gists_url":"https://api.github.com/users/ReneWerner87/gists{/gist_id}","starred_url":"https://api.github.com/users/ReneWerner87/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ReneWerner87/subscriptions","organizations_url":"https://api.github.com/users/ReneWerner87/orgs","repos_url":"https://api.github.com/users/ReneWerner87/repos","events_url":"https://api.github.com/users/ReneWerner87/events{/privacy}","received_events_url":"https://api.github.com/users/ReneWerner87/received_events","type":"User","user_view_type":"public","site_admin":false},"node_id":"RE_kwDODfYWS84Ihf5F","tag_name":"v2.52.1","target_commitish":"v2","name":"v2.52.1","draft":false,"immutable":false,"prerelease":false,"created_at":"2024-02-21T20:18:56Z","updated_at":"2024-02-21T20:31:42Z","published_at":"2024-02-21T20:28:33Z","assets":[],"tarball_url":"https://api.github.com/repos/gofiber/fiber/tarball/v2.52.1","zipball_url":"https://api.github.com/repos/gofiber/fiber/zipball/v2.52.1","body":"## 👮 Security\r\n\r\n<details>\r\n  <summary>Middleware/cors: Insecure CORS Configuration Allowing Wildcard Origin with Credentials - \r\n GHSA-fmg4-x8pw-hjhg</summary>\r\n\r\nhttps://docs.gofiber.io/api/middleware/cors\r\n</details>\r\n\r\n## 🐛 Fixes\r\n\r\n- Middleware/healthcheck: Not working with route group(#2863)\r\n\r\n\r\n## 📚 Documentation\r\n\r\n- Fix default value to false in docs of QueryBool (#2811)\r\n- Fix code snippet indentation in /docs/api/middleware/keyauth.md (#2867)\r\n\r\n**Full Changelog**: https://github.com/gofiber/fiber/compare/v2.52.0...v2.52.1\r\n\r\nThank you @luk3skyw4lker, @CAEL0, @grivera64, @gaby and @sixcolors for making this update possible.","reactions":{"url":"https://api.github.com/repos/gofiber/fiber/releases/142999109/reactions","total_count":40,"+1":14,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":18,"rocket":7,"eyes":1},"mentions_count":5},{"url":"https://api.github.com/repos/gofiber/fiber/releases/129499000","assets_url":"https://api.github.com/repos/gofiber/fiber/releases/129499000/assets","upload_url":"https://uploads.github.com/repos/gofiber/fiber/releases/129499000/assets{?name,label}","html_url":"https://github.com/gofiber/fiber/releases/tag/v2.52.0","id":129499000,"author":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"node_id":"RE_kwDODfYWS84Ht_94","tag_name":"v2.52.0","target_commitish":"refs/heads/master","name":"v2.52.0","draft":false,"immutable":false,"prerelease":false,"created_at":"2024-01-05T13:36:18Z","updated_at":"2024-01-05T13:41:09Z","published_at":"2024-01-05T13:41:08Z","assets":[],"tarball_url":"https://api.github.com/repos/gofiber/fiber/tarball/v2.52.0","zipball_url":"https://api.github.com/repos/gofiber/fiber/zipball/v2.52.0","body":"## 🚀 New\r\n\r\n- Middleware/healthcheck: Add liveness and readiness checks (#2509)\r\nhttps://docs.gofiber.io/api/middleware/healthcheck\r\n```go\r\n// Direct usage with default config\r\napp.Use(healthcheck.New())\r\n\r\n// Or extend your config for customization\r\napp.Use(healthcheck.New(healthcheck.Config{\r\n    LivenessEndpoint: \"/live\",\r\n    LivenessProbe: func(c *fiber.Ctx) bool {\r\n        return true\r\n    },\r\n    ReadinessEndpoint: \"/ready\",\r\n    ReadinessProbe: func(c *fiber.Ctx) bool {\r\n        return serviceA.Ready() && serviceB.Ready() && ...\r\n    },\r\n}))\r\n```\r\n\r\n## 🧹 Updates\r\n\r\n- Middlewares: don't constrain middlewares context-keys to strings (#2751)\r\n- Middleware/logger: colorize logger error message #2593 (#2773)\r\n- Middleware/logger: changing default log output (#2730)\r\n- Middleware/logger: log client IP address by default (#2755)\r\n- Middleware/encryptcookie: update default config (#2753)\r\n- Improve benchmarks for getOffer (#2739)\r\n\r\n## 🛠️ Maintenance\r\n\r\n- Bump github/codeql-action from 2 to 3 (#2763)\r\n- Bump github.com/google/uuid from 1.4.0 to 1.5.0 (#2762)\r\n- Bump actions/setup-go from 4 to 5 (#2754)\r\n- Bump golang.org/x/sys from 0.14.0 to 0.15.0 (#2744)\r\n- Bump github.com/valyala/fasthttp from 1.50.0 to 1.51.0 (#2721)\r\n\r\n## 🐛 Fixes\r\n\r\n- Middleware/redirect : fix for redirect with query params (#2748)\r\n- Middleware/adaptor: Adaptor + otelfiber issue #2641 (#2772)\r\n- Middleware/cors: Should use the defined AllowedOriginsFunc config when AllowedOrigins is empty (#2771)\r\n- Middleware/session: Race in session middleware tests (#2740)\r\n- Middleware/csrf: Fix failing CSRF tests (#2720)\r\n- Fix race condition in parallel tests (#2734)\r\n- utils.IsIPv4 and net.ParseIP have inconsistent results #2735 (#2736)\r\n\r\n## 📚 Documentation\r\n\r\n- Middleware/csrf: Improve csrf docs (#2726)\r\n- Update app.md for indentation (#2761)\r\n- Update default config (#2753)\r\n- Update CONTRIBUTING.md (#2752)\r\n\r\n**Full Changelog**: https://github.com/gofiber/fiber/compare/v2.51.0...v2.52.0\r\n\r\nThank you @MehmetFiratKomurcu, @benjajaja, @brunodmartins, @gilwo, @iredmail, @itswcg, @luk3skyw4lker, @muhammadkholidb, @nickajacks1, @sixcolors and @tokelo-12 for making this update possible.\r\n","reactions":{"url":"https://api.github.com/repos/gofiber/fiber/releases/129499000/reactions","total_count":52,"+1":25,"-1":0,"laugh":0,"hooray":7,"confused":0,"heart":11,"rocket":9,"eyes":0},"mentions_count":11},{"url":"https://api.github.com/repos/gofiber/fiber/releases/125224048","assets_url":"https://api.github.com/repos/gofiber/fiber/releases/125224048/assets","upload_url":"https://uploads.github.com/repos/gofiber/fiber/releases/125224048/assets{?name,label}","html_url":"https://github.com/gofiber/fiber/releases/tag/v2.51.0","id":125224048,"author":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"node_id":"RE_kwDODfYWS84HdsRw","tag_name":"v2.51.0","target_commitish":"refs/heads/master","name":"v2.51.0","draft":false,"immutable":false,"prerelease":false,"created_at":"2023-11-14T07:18:46Z","updated_at":"2024-01-05T13:25:21Z","published_at":"2023-11-14T07:35:14Z","assets":[],"tarball_url":"https://api.github.com/repos/gofiber/fiber/tarball/v2.51.0","zipball_url":"https://api.github.com/repos/gofiber/fiber/zipball/v2.51.0","body":"## 🚀 New\r\n\r\n- Add support for parameters in content negotiation (#2678) [RFC](https://www.rfc-editor.org/rfc/rfc9110#name-parameters)\r\n  https://docs.gofiber.io/api/ctx#accepts\r\n```go\r\n// Consideration of parameters in the accepted headers\r\n// Accept: text/plain, application/json; version=1; foo=bar\r\n\r\napp.Get(\"/\", func(c *fiber.Ctx) error {\r\n  // Extra parameters in the accept are ignored\r\n  c.Accepts(\"text/plain;format=flowed\") // \"text/plain;format=flowed\"\r\n\r\n  // An offer must contain all parameters present in the Accept type\r\n  c.Accepts(\"application/json\") // \"\"\r\n\r\n  // Parameter order and capitalization does not matter. Quotes on values are stripped.\r\n  c.Accepts(`application/json;foo=\"bar\";VERSION=1`) // \"application/json;foo=\"bar\";VERSION=1\"\r\n})\r\n```\r\n- Add support for application/problem+json (#2704)\r\n  https://docs.gofiber.io/api/ctx#json\r\n  https://docs.gofiber.io/api/client#json\r\n```go\r\n// Passing a custom json type\r\nctx.JSON(fiber.Map{\r\n    \"type\": \"https://example.com/probs/out-of-credit\",\r\n    \"title\": \"You do not have enough credit.\",\r\n    \"status\": 403,\r\n    \"detail\": \"Your current balance is 30, but that costs 50.\",\r\n    \"instance\": \"/account/12345/msgs/abc\",\r\n  }, fiber.)\r\n```\r\n\r\n## 🧹 Updates\r\n\r\n- Ctx.Range: reduce allocations (#2705)\r\n- Middleware/pprof: improve performance (#2709)\r\n\r\n\r\n## 🛠️ Maintenance\r\n- Bump golang.org/x/sys from 0.13.0 to 0.14.0 (#2707)\r\n- Bump github.com/google/uuid from 1.3.1 to 1.4.0 (#2693)\r\n- Bump actions/setup-node from 3 to 4 (#2690)\r\n- Bump github.com/mattn/go-isatty from 0.0.19 to 0.0.20 (#2679)\r\n\r\n## 🐛 Fixes\r\n\r\n- Middleware/limiter: fix intermittent failures (#2716)\r\n- Naming of routes works wrong after mount #2688 (#2689)\r\n- Fix method validation on route naming (#2686)\r\n\r\n## 📚 Documentation\r\n\r\n- Changed \"Twitter\" to \"X (Twitter)\" in README.md Contribute Section  (#2696)\r\n- Add additional information as to why GetReqHeaders returns a map where the values are slices of strings  (#2698)\r\n- Enhance csrf.md (#2692)\r\n\r\n**Full Changelog**: https://github.com/gofiber/fiber/compare/v2.50.0...v2.51.0\r\n\r\nThank you @BandhiyaHardik, @database64128, @efectn, @moritz157, @nickajacks1, @rhburt and @sixcolors for making this update possible.\r\n","reactions":{"url":"https://api.github.com/repos/gofiber/fiber/releases/125224048/reactions","total_count":36,"+1":11,"-1":0,"laugh":0,"hooray":7,"confused":0,"heart":2,"rocket":16,"eyes":0},"mentions_count":7},{"url":"https://api.github.com/repos/gofiber/fiber/releases/121134275","assets_url":"https://api.github.com/repos/gofiber/fiber/releases/121134275/assets","upload_url":"https://uploads.github.com/repos/gofiber/fiber/releases/121134275/assets{?name,label}","html_url":"https://github.com/gofiber/fiber/releases/tag/v2.50.0","id":121134275,"author":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"node_id":"RE_kwDODfYWS84HOFzD","tag_name":"v2.50.0","target_commitish":"refs/heads/master","name":"v2.50.0","draft":false,"immutable":false,"prerelease":false,"created_at":"2023-10-16T08:35:42Z","updated_at":"2023-10-16T13:21:28Z","published_at":"2023-10-16T12:17:17Z","assets":[],"tarball_url":"https://api.github.com/repos/gofiber/fiber/tarball/v2.50.0","zipball_url":"https://api.github.com/repos/gofiber/fiber/zipball/v2.50.0","body":"## ❗ Breaking Changes\r\n\r\n- Change signatures of GetReqHeaders and GetRespHeaders (#2650)\r\n> To allow single and list values under headers according to the [rfc standard](https://datatracker.ietf.org/doc/html/rfc9110#section-5.2)\r\n```diff\r\n- func (c *Ctx) GetReqHeaders() map[string]string\r\n+ func (c *Ctx) GetReqHeaders() map[string][]string\r\n```\r\n```diff\r\n- func (c *Ctx) GetRespHeaders() map[string]string\r\n+ func (c *Ctx) GetRespHeaders() map[string][]string\r\n```\r\n\r\n\r\n## 👮 Security\r\n\r\n<details>\r\n  <summary>Middleware/csrf: Token Vulnerability (GHSA-mv73-f69x-444p, GHSA-94w9-97p3-p368)</summary>\r\n\r\nhttps://docs.gofiber.io/api/middleware/csrf\r\n\r\n🚀 Improvements to the CSRF middleware:\r\n\r\n- Added support for single-use tokens through the `SingleUseToken` configuration option.\r\n- Optional integration with GoFiber session middleware through the `Session` and `SessionKey` configuration options.\r\n- Introduction of origin checks for HTTPS connections to verify referer headers.\r\n- Implementation of a Double Submit Cookie approach for CSRF token generation and validation when used without `Session`.\r\n- Enhancement of error handling with more descriptive error messages.\r\n- The documentation for the CSRF middleware has been enhanced with the addition of the new options and best practices to improve security.\r\n\r\nThank you @sixcolors \r\n</details>\r\n\r\n## 🚀 New\r\n\r\n- Cookie parser (#2656)\r\nhttps://docs.gofiber.io/api/ctx#cookieparser\r\n```go\r\n// Field names should start with an uppercase letter\r\ntype Person struct {\r\n    Name     string  `cookie:\"name\"`\r\n    Age      int     `cookie:\"age\"`\r\n    Job      bool    `cookie:\"job\"`\r\n}\r\n// Example route\r\napp.Get(\"/\", func(c *fiber.Ctx) error {\r\n    p := new(Person)\r\n    // This method is similar to BodyParser, but for cookie parameters\r\n    if err := c.CookieParser(p); err != nil {\r\n        return err\r\n    }\r\n    \r\n    log.Println(p.Name)     // Joseph\r\n    log.Println(p.Age)      // 23\r\n    log.Println(p.Job)      // true\r\n})\r\n```\r\n- Middleware/cors: Allow disabling caching in preflight requests (#2649)\r\nhttps://docs.gofiber.io/api/middleware/cors#config\r\n```go\r\n// To disable caching completely, pass MaxAge value negative. It will set the Access-Control-Max-Age header 0.\r\napp.Use(cors.New(cors.Config{MaxAge: -1})) \r\n```\r\n- Middleware/session: Add Reset method to Session struct in session middleware (#2654)\r\nhttps://docs.gofiber.io/api/middleware/session#signatures\r\n```go\r\n// Provide more flexibility in session management, especially in scenarios like repeated user logins\r\nfunc (s *Session) Reset() error\r\n```\r\nExample usage:\r\n```go\r\n// Initialize default config\r\n// This stores all of your app's sessions\r\nstore := session.New()\r\n\r\napp.Post(\"/login\", func(c *fiber.Ctx) error {\r\n    // Get session from storage\r\n    sess, err := store.Get(c)\r\n    if err != nil {\r\n        panic(err)\r\n    }\r\n    \r\n    // ... validate login ...\r\n    \r\n    // Check if the session is fresh\r\n    if !sess.Fresh() {\r\n        // If the session is not fresh, reset it\r\n        if err := sess.Reset(); err != nil {\r\n            panic(err)\r\n        }\r\n    }\r\n    // Set new session data\r\n    sess.Set(\"user_id\", user.ID)\r\n    // Save session\r\n    if err := sess.Save(); err != nil {\r\n        panic(err)\r\n    }\r\n\r\n    return c.SendString(fmt.Sprintf(\"Welcome %v\", user.ID))\r\n})\r\n```\r\n- Middleware/session: Add Delete method to Store struct in session middleware (#2655)\r\nhttps://docs.gofiber.io/api/middleware/session#signatures\r\n```go\r\n// Provide more control over individual session management, especially in scenarios \r\n// like administrator-enforced user logout or user-initiated logout from a specific device session\r\nfunc (s *Store) Delete(id string) error\r\n```\r\nExample usage:\r\n```go\r\napp.Post(\"/admin/session/:id/logout\", func(c *fiber.Ctx) error {\r\n    // Get session id from request\r\n    sessionID := c.Params(\"id\")\r\n\r\n    // Delete the session\r\n    if err := store.Delete(sessionID); err != nil {\r\n        return c.Status(500).SendString(err.Error())\r\n    }\r\n\r\n    return c.SendString(\"Logout successful\")\r\n})\r\n```\r\n\r\n## 🧹 Updates\r\n\r\n- Middleware/filesystem: Improve status for SendFile (#2664)\r\n- Middleware/filesystem: Set response code (#2632)\r\n- Refactor Ctx.Method func to improve code readability (#2647)\r\n\r\n## 🛠️ Maintenance\r\n\r\n- Fix loop variable captured by func literal (#2660)\r\n- Run gofumpt and goimports (#2662)\r\n- Use utils.AssertEqual instead of t.Fatal on some tests (#2653)\r\n- Apply go fix ./... with latest version of go in repository (#2661)\r\n- Bump github.com/valyala/fasthttp from 1.49.0 to 1.50.0 (#2634)\r\n- Bump golang.org/x/sys from 0.12.0 to 0.13.0 (#2665)\r\n\r\n## 🐛 Fixes\r\n\r\n- Path checking on route naming (#2676)\r\n- Incorrect log depth when use log.WithContext (#2666)\r\n- Jsonp ignoring custom json encoder (#2658)\r\n- PassLocalsToView when bind parameter is nil (#2651)\r\n- Parse ips return invalid in abnormal case (#2642)\r\n- Bug parse custom header (#2638)\r\n- Middleware/adaptor: Reduce memory usage by replacing io.ReadAll() with io.Copy() (#2637)\r\n- Middleware/idempotency: Nil pointer dereference issue on idempotency middleware (#2668)\r\n\r\n## 📚 Documentation\r\n\r\n- Incorrect status code source (#2667)\r\n- Middleware/requestid: Typo in requestid.md (#2675)\r\n- Middleware/cors: Update docs to better explain AllowOriginsFunc (#2652)\r\n\r\n**Full Changelog**: https://github.com/gofiber/fiber/compare/v2.49.2...v2.50.0\r\n\r\nThank you @KaptinLin, @Skyenought, @cuipeiyu, @dairlair, @efectn, @gaby, @geerew, @huykn, @jimmyl02, @joey1123455, @joshlarsen, @jscappini, @peczenyj and @sixcolors for making this update possible.\r\n","reactions":{"url":"https://api.github.com/repos/gofiber/fiber/releases/121134275/reactions","total_count":38,"+1":20,"-1":0,"laugh":0,"hooray":8,"confused":0,"heart":0,"rocket":5,"eyes":5},"mentions_count":14}]