v3.0.0
For a detailed view of all changes and the migration guide, visit: https://docs.gofiber.io/next/whats_new
Try our new migration tool to help you upgrade from v2 to v3:
go install github.com/gofiber/cli/fiber@latest
fiber migrate --to v3
- 🚀 App (Docs)
Rename WithTlsConfigmethod toWithTLSConfigin (#2570)- Use any as default Message type of Error struct in (#1925)
- Add support for custom constraints in (#2807)
- Add support for trusted origins in (#2910)
- Add DialDualStack option for upstream IPv6 support in (#2900)
- TrustedOrigins using
https://*.example.comstyle subdomains in (#2925) - Add configuration support to
c.SendFile()in (#3017) - Add CHIPS support to Cookie in (#3047)
- Add TestConfig to
app.Test()for configurable testing in (#3161) - Add buffered streaming support in (#3131)
- Add support for AutoTLS / ACME in (#3201)
- Add support for configuring TLS Min Version in (#3248)
- Fix square bracket notation in Multipart FormData in (#3235)
- Add support for application state management in (#3360)
- Add support for
NewErrorfin (#3463) - Add UNIX socket support in (#3535)
- Add support for Msgpack in (#3565)
- Add default UTF-8 charset in (#3583)
- Support for SendEarlyHints in (#3483)
- Add conditional copy helpers in (#3703)
- Add request inspection helpers in (#3727)
- Add support for redacting values in (#3759)
- Add support for handling unsupported HTTP methods as HTTP 501 in (#3854)
- Add support for ReloadViews() in (#3876)
- Expose startup message customization hooks in (#3824)
- Migrate from UUIDv4 to SecureToken for key generation in (#3946)
- Add ExpirationFunc for dynamic expiration in (#3984)
- Auto-enforce Secure=true for Partitioned cookies in Cookie() in (#3976)
- 📎 Binding (Docs)
- Initial support for binding in (#1981)
- Bind: add support for multipart file binding in (#3309)
- Add All method to Bind in (#3373)
- 🌎 Client (Docs)
- Client refactor in (#1986)
- Add support for creating Fiber client from existing FastHTTP client in (#3214)
- Add support for iterator methods to Fiber client in (#3228)
- Add support for HostClient and LBClient in (#3774)
- Add support for streaming response bodies in client and response handling in (#4014)
- 🧠 Context (Docs)
Convert fiber.Ctxtype to interface in (#1928)- Add Drop method to DefaultCtx for silent connection termination in (#3257)
- Add
End()method toCtxin (#3280) - Improve and Optimize
ShutdownWithContextFunc in (#3162) - Add support for
context.Contextin keyauth middleware in (#3287) Fiber.Contextimplementcontext.Contextin (#3382)- Add NewWithCustomCtx initialization helper in (#3476)
- Add context methods to fiber.Storage interface in (#3566)
- Add Fiber Context to BasicAuth Authorizer in (#3621)
- Implement OverrideParam override behavior for DefaultCtx in (#3962)
- Add context common request helpers in (#4007)
- Adding GetReqHeaders and GetRespHeaders in (#2831)
- Add Req and Res API in (#2894)
- 🔬 Extractors (Docs)
- Introduce Extractor pattern for session ID retrieval in (#3625)
- Enhance extractor functionality with metadata and security validation in (#3630)
- Add extractors package in (#3725)
- 🧰 Generic (Docs)
- Add QueryParser for get query using generic in (#2776)
- Addition of Locals Function with Go Generics as an Alternative to c.Locals in (#2813)
- Implement new generic functions: Params, Get and Convert in (#2850)
- Support generic configurable logger in (#3705)
- 🚀 Listen (Docs)
Merge Listenmethods &ListenConfigin (#1930)- Add support for graceful shutdown timeout in ListenConfig in (#3220)
- Add TLSConfig to ListenConfig in (#4024)
- 🔌 Addons/retry (Docs)
- Add retry mechanism in (#1972)
- 🧬 Middleware – adaptor (Docs)
- Add
BodyStream()logic toadaptor.FiberHandlermiddleware in (#3799) - Add local context support to adaptor middleware in (#3975)
- Add
- 🧬 Middleware – basicauth (Docs)
- Add HeaderLimit option to BasicAuth middleware in (#3620)
- Support hashed BasicAuth passwords in (#3631)
- 🧬 Middleware – cache (Docs)
- Add Cache Invalidation Option to Cache Middleware in (#3036)
- Add Max Func to Limiter Middleware in (#3070)
- Support for disabling response headers in Limiter Middleware in (#3618)
- 🧬 Middleware – compression (Docs)
- Add support for zstd compression in (#3041)
- Add support for CBOR encoding in (#3173)
- 🧬 Middleware – cors (Docs)
- Add support for Access-Control-Allow-Private-Network in (#2908)
- 🧬 Middleware – csrf (Docs)
- Add support for Sec-Fetch-Site header in CSRF middleware in (#3913)
- 🧬 Middleware – encryptcookie (Docs)
- Add cookie name authentication for EncryptCookie middleware in (#3788)
- 🧬 Middleware – favicon (Docs)
- Add MaxBytes to favicon middleware in (#4016)
- 🧬 Middleware – earlydata (Docs)
- Add earlydata middleware in (#2270)
- 🧬 Middleware – healthcheck (Docs)
- Migrate HealthChecker to v3 in (#2884)
- Add Startup Probe to Healthcheck Middleware in (#3069)
- 🧬 Middleware – idempotency (Docs)
- Add idempotency middleware in (#2253)
- 🧬 Middleware – keyauth (Docs)
- Add support for custom KeyLookup functions in the Keyauth middleware in (#3028)
- 🧬 Middleware – logger (Docs)
- Refactor logger middleware in (#1979)
- Add AllLogger to Config in (#3153)
- Add Skip function to logger middleware in (#3333)
- Add predefined log formats in (#3359)
- Add support for ForceColors in Logger middleware in (#3428)
- 🧬 Middleware – proxy (Docs)
- Add support for TrustProxy in (#3170)
- Add KeepConnectionHeader option to Proxy middleware in (#3662)
- 🧬 Middleware – requestid (Docs)
- Add Context Support to RequestID Middleware in (#3200)
- Validate HTTP headers in RequestID middleware in (#3919)
- 🧬 Middleware – responsetime (Docs)
- Add response time middleware in (#3891)
- 🧬 Middleware – session (Docs)
- Re-write session middleware with handler in (#3016)
- Add support for
Keys()in session middleware in (#3517)
- 🧬 Middleware – static (Docs)
- Add static middleware in (#3006)
- 🧬 Middleware – timeout (Docs)
- Add config for Timeout middleware in (#3604)
- 🔄️ Redirect (Docs)
- New redirection methods in (#2014)
- 🗺️ Router (Docs)
- Router interface changes in (#2176)
- Native support for
net/httpand fasthttp handlers in (#3769) - New Route method in (#2065)
- New mounting system in (#2022)
- Add support for RebuildTree in (#3074)
- Add support for Express.js style req/res handlers in (#3809)
- Add support for DisableAutoRegister of HEAD routes in (#3817)
- Enhance CheckConstraint method for improved error handling in (#3356)
- Add Support for Removing Routes in (#3230)
- Add support for embedded Koa-Style Req and Res structs in (#3533)
- Support Express-style next callback handlers in (#4029)
- 🧩 Services (Docs)
- Add Support for service dependencies in (#3434)
- ⚙️ Core & API
- Replace string functions in (#3923)
- Update conditional instructions for startup skip in (#3475)
- Update AGENTS startup instructions in (#3474)
- Add
[]bytesupport toutils.EqualFoldin (#2029) - Change startup message in (#2041)
- Update to use gofiber/utils/v2 in (#2184)
- Router: return status 501 instead of 400 on unknown method in (#2220)
- Cleanup in (#2255)
- Fix ContextKey collisions in (#2781)
- Update Ctx.Format to match Express's res.format in (#2766)
- Update handler signature for v3 in (#2794)
- Change
interface{}to any in (#2796) - Added respects body immutability to ctx.Body() and ctx.BodyRaw() functions. in (#2812)
- Print to stderr if log fails for default format in (#2830)
- Clean up errcheck config in (#2841)
- Update startup message formatting in (#2847)
- Simplify content negotiation code in (#2865)
- Rename "ClientNew" Function to "New" in (#2896)
- Remove repetitive words in (#2917)
- Improper query/body parsing with embedded structs in (#2906)
- Improve and simplify logic of ctx.Next() in (#3063)
- Use Named Fields Instead of Positional and Align Structures to Reduce Memory Usage in (#3079)
- Use utils Trim functions instead of the strings/bytes functions in (#3087)
- Consolidate Logic of Handling the Request Body in (#3093)
- Use msgp for flash message encoding/decoding in (#3099)
- Replace vendored gorilla/schema package in (#3152)
- Improve naming convention for Context returning functions in (#3193)
- Nil pointer dereference with Must Bind binding in (#3171)
- Mark go1.23 as minimum go version in (#3226)
- Rename the Method Names of FormData and FormDatas (#3251) in (#3255)
- Reduce the Memory Usage of ignoreHeaders in (#3322)
- Migrate randString to rand v2 in (#3329)
- Sorting error in sortAcceptedTypes in (#3331)
- Reduce the memory usage of RoutePatternMatch in (#3335)
- Replace findLastCharsetPosition with strings.LastIndexByte in (#3338)
- Replace isInCharset with bytes.IndexByte in (#3342)
- Remove two string fields in DefaultCtx to save 32 bytes in (#3353)
- Replace treePath with treePathHash in DefaultCtx to reduce memory usage in (#3368)
- Remove redundant field
methodinDefaultCtxin (#3372) - Add findNextNonEscapedCharPosition for single-byte charset cases in (#3378)
- Change
c.Redirect()default status in (#3415) - Improve routing treeBuild flow in (#3456)
- Make genericParseType return error in (#3473)
- Update minimum go version to 1.24 in (#3481)
- Use slices.Contains to simplify code in (#3486)
- Use maps.Copy to simplify code in (#3490)
- Update loop syntax for retry mechanism in (#3516)
- Update codecov configuration in (#3528)
- Use GetState to reduce duplicate code in (#3542)
- Improve
Cookie()validation in (#3546) - Improve
Accept*compliance with RFC 9110 in (#3548) - Refactor fasthttp iter calls to range loops in (#3559)
- Add iterator helpers for client types in (#3560)
- Update utils dependency in (#3576)
- Refactor Opt-in support for CBOR in (#3580)
- Simplify generic function calls in (#3578)
- Replace math/rand with crypto/rand in (#3508)
- Add sync pool and release helpers for Bind in (#3660)
- Add CBOR support to AutoFormat() in (#3665)
- Fix AcceptsLanguages() RFC compliance in (#3672)
- Respect immutable config in Params(), Protocol(), and Body() in (#3676)
- Delay routing error creation in (#3683)
- Using
reflect.TypeAssertin (#3698) - Handle Transfer-Encoding bodies in HasBody in (#3748)
- Improve error handling when using storage drivers in (#3754)
- Use sync.Pool for Client hooks in (#3758)
- Avoid locking in gc() if nothing to delete in (#3765)
- Cleanup return error logic in Bind() in (#3764)
- Update RouteChain function in (#3761)
- Make boundary a const in (#3783)
- Preallocate slice size in
Client::Param()in (#3782) - Skip locking garbage collector if nothing to delete in (#3787)
- Enhance Body handling in setConfigToRequest for better type su… in (#3820)
- Improve propagation of context.Context in (#3822)
- Inline Request state wrappers in (#3827)
- Remove unneeded "utils" alias in (#3834)
- Add
FullPath()helper to context in (#3837) - Handle nil map targets in Binder in (#3839)
- Extracted generic releasePooledBinder function in (#3841)
- Return error during EncryptCookie failure in (#3842)
- Fix gocritic httpNoBody and hugeParam issues in (#3855)
- Refactor internal errors to use sentinel values in (#3864)
- Improve byte-range handling for SendFile() in (#3870)
- Use int64 when dealing with HTTP Ranges in (#3874)
- Replace strings.TrimSpace with utils.TrimSpace in (#3918)
- Replace strings.Index with strings.Cut for improved readallity in (#3956)
- Validate constraint by bit operation in (#3963)
- Use sync.Pool for form and multipart binding in (#3967)
- Use sync.Pool for redirect old input map in (#3971)
- Replace anonymous struct key with named type in (#4020)
- 🧬 Middleware & Addons
- Document "null" origin handling in CORS middleware in (#4001) (Docs)
- Refactor CSRF middleware and enhance documentation in (#3598)
- Fix pprof middleware docs and default config in (#3642)
- Fix CORS docs and comments in (#3637)
- Fix CSRF error message mismatch with documentation in (#3636)
- Refactor filesystem middleware with
io/fsin (#2027) (Docs) - Remove mutex lock in logger middleware in (#2840)
- Update CSRF and Limiter to remove repetitive names in (#2846)
- Refactor(middleware/cors): Config, lists as list types. in (#2962)
- Enforce key length for EncryptCookie middleware default functions in (#3056)
- Middleware/CORS Remove Scheme Restriction in (#3163)
- Unify and enhance timeout middleware in (#3275)
- Simplify HealthCheck middleware in (#3380)
- Improve proxy middleware in (#3468)
- Enhance KeyAuth middleware to better comply with RFC 6750 in (#3482)
- Enhance BasicAuth middleware to better comply with RFC 6750 in (#3484)
- Improve cache middleware RFC compliance in (#3488)
- Enhance config validation in EncryptCookie middleware in (#3491)
- Refactor EnvVar middleware in (#3513)
- Improve CORS middleware response headers in (#3505)
- Improve BasicAuth middleware default security in (#3522)
- Improve static middleware security in (#3595)
- Remove SHA-1/MD5 support in BasicAuth middleware in (#3634)
- Remove support for PasswordFromContext from BasicAuth middleware in (#3638)
- Refactor KeyAuth Middleware: Extractor-Based Configuration and Enhanced Flexibility in (#3685)
- Return generic errors in KeyAuth middleware in (#3692)
- Fix CSRF subdomain wildcard boundary in (#3694)
- Improve Cache middleware defaults in (#3740)
- Migrate Session middleware to new extractors package in (#3744)
- Improve Compress middleware RFC compliance in (#3745)
- Improve KeyAuth middleware RFC compliance in (#3742)
- Update CSRF middleware to use shared extractors in (#3746)
- Update keyauth middleware to use shared extractors in (#3747)
- Fix cache cleanup and redact token values in (#3757)
- Ensure middleware prefix matching requires slash boundary in (#3755)
- Reduce the memory usage of cacheableStatusCodes in (#3789)
- Refactor configuration management for favicon and envvar middlewares in (#3898)
- Improve Cache middleware compliance in (#3973)
- Further improvements to Cache middleware in (#3989)
- Skip caching oversized responses in idempotency middleware in (#4018)
- ⚡️ Performance & Benchmarks
- Optimize the menu item text in (#3267)
- Remove
utils.Trim*because stdlib has same performance in go1.19 in (#2030) - Performance improvements in (#2838)
- Add parallel benchmarks to adaptor middleware in (#2870)
- Expand Tests and Benchmarks for Log package in (#2886)
- Performance optimizations in (#2947)
- Add Benchmarks for IsProxyTrusted() in (#2933)
- Optimize Cache middleware handler in (#3031)
- Update benchmarks for Logger Middleware in (#3061)
- Improve performance of Adaptor Middleware in (#3078)
- Refactor Benchmark Results Workflow in (#3082)
- Improve performance of helper functions in (#3086)
- Improve Performance of
c.Body()by 125% in (#3090) - Add Benchmarks for Rewrite Middleware in (#3092)
- Optimize
IsFromLocal()performance in (#3140) - Improve Performance of Fiber Router in (#3261)
- Improve Performance of getSplicedStrList in (#3318)
- Optimize routeParser by using sync.Pool in (#3343)
- Add Immutable benchmarks for default case in (#3374)
- Performance optimizations in (#3477)
- Improve performance for "equalFieldType" function in (#3479)
- Fix compression benchmarks in (#3561)
- Improve iterator performance. in (#3562)
- Improve sanitizePath performance in (#3601)
- Skip unstable GenericParseType benchmarks in (#3614)
- Reduce allocation in AutoFormat in (#3652)
- Optimize Fresh header parsing for fasthttp 1.65 in (#3687)
- Improve Req/Res Benchmarks in (#3693)
- Improve performance analyseConstantPart in (#3753)
- Improve allocations for Request Params() in (#3766)
- Reduce allocations in Request (saves ~16% B/op) in (#3768)
- Benchmark for cache miss case in (#3836)
- Improve performance of
RebuildTree()by 68% in (#3895) - Optimize string handling and memory allocations in (#3922)
- Improve performance (reduce allocations) in (#3964)
- 🛠️ Testing & Tooling
- Use testify for assertion in (#2036)
- Generate msgp tests in (#2263)
- V3 Feature: Make app.Test accept a time.Duration timeout in (#2269)
- Speed up addon/retry tests in (#2800)
- Re-enable tparallel linter in (#2801)
- Fix testifylint errors in middleware in (#2805)
- Fix remaining testifylint errors in (#2806)
- Fix force type assertions in session_test.go in (#2815)
- Address multiple lint rules in (#2869)
- Do not retry flaky tests in (#2875)
- Enabling shuffling, cleanup and consistency across tests in (#2931)
- Adding a generator to generate the CTX interface in (#3024)
- Test(middleware/session): Remove extra release and acquire ctx calls in session_test.go in (#3044)
- Test(ctx_test): Fix race condition in (#3081)
- The value of map is unused in uniqueRouteStack in (#3320)
- Mark unused tests with t.SkipNow in (#3366)
- Fix proxy middleware tests for offline environments in (#3467)
- Add unit-test for header injection in (#3470)
- Add URI Test case for Test_Ctx_Binders in (#3480)
- Test: Enhance CSRF tests to address unsafe header value issue (#2045) in (#3485)
- Improve EarlyData middleware tests coverage in (#3520)
- Improve Idempotency middleware tests coverage in (#3521)
- Improve Helmet middleware tests coverage in (#3523)
- Improve Retry addon tests coverage in (#3526)
- Add missing CSRF token extractor tests in (#3527)
- Improve hooks test coverage in (#3524)
- Improve Binder tests coverage in (#3529)
- Improve CORS tests coverage in (#3530)
- Improve CSRF tests coverage in (#3531)
- Improve Router tests coverage in (#3550)
- Add tests for quoteRawString in (#3613)
- Fix Makefile to install tools before running them in (#3612)
- Fix Cookie SameSite constants to Pascal case per RFC specification in (#3608)
- Fix timing for streaming test in (#3628)
- Add missing checks in Ctx tests in (#3670)
- Stabilize interrupted stream writer test in (#3669)
- Use ephemeral ports in unit tests in (#3686)
- Use project toolchain for go run tools in (#3709)
- Expand Binder tests coverage in (#3714)
- Prevent CopyContextToFiberContext panic and add comprehensive test coverage in (#3770)
- Add flushing-related unit tests for net/http adaptor in (#3807)
- Fix fatal error calls in adapter_test.go in (#3810)
- Test HEAD request compliance in (#3868)
- Improve OPTIONS wildcard regression test in (#3869)
- Add table-driven integration tests in (#3894)
- Improve timing robustness in flaky cache and session tests in (#3994)
- Fix logger benchmarks in (#2074)
- Fix benchmark results related to handler, next in (#2130)
- Testifylint failure that fell through the cracks in (#2821)
- Inconsistent and flaky unit-tests in (#2892)
- CORS handling in (#2938)
- Fix some struct names in comments in (#2974)
- Fixes #3038 "v3 Flash Message with redirect is not working" in (#3046)
- Mutex for thread safety in (#3049)
- Fix data-race with sync.Pool in (#3051)
- Fasthttp errors cause panic when Params is used in (#3055)
- Use Content-Length for bytesReceived and bytesSent tags in Logger Middleware in (#3066)
- Cache middleware: runtime error: "index out of range [0] with length 0" in (#3075)
- Error check in Form binder in (#3110)
- Client: fix SetProxyURL functionality in (#3109)
- Fix handle un-matched open brackets in the query params in (#3126)
- Fix issue with default logger when creating RequestCtx in (#3134)
- Fix typo in (#3145)
- Behavior of
DefaultCtx.Freshwhen 'Last-Modified' and 'If-Modified-Since' are equal in (#3150) - Adaptor middleware duplicates cookies in (#3151)
- Close File After SaveFileToStorage in (#3197)
- Make SetValWithStruct set zero values and support more types #3167 in (#3227)
- Fix EnableSplittingOnParsers is not functional in (#3231)
- Memory leak removal in the idempotency middleware in (#3263)
- Make Render bind parameter type any again in (#3270)
- Fix app.Test() auto-failing when a connection is closed early in (#3279)
- Align cache middleware with RFC7231 in (#3283)
- Goroutine leakage in (#3306)
- GenericParseType parsing large uint leads to overflow in (#3315)
- Fix handler order in routing in (#3321)
- Update binder in form_test in (#3336)
- Fix client iterators when using break statement in (#3357)
- Fix: Logger Middleware tests to use regex for time validation in (#3392)
- Handling of next param position in (#3418)
- Fix redirection flash messages violate cookie structure in (#3457)
- Fix AGENTS markdown lint in (#3460)
- Parsing of IPv6 addresses in (#3466)
- Middlewares immutable config handling in (#3494)
- Subdomains offset handling in (#3495)
- Fix Cache-Control header parsing in (#3534)
- Fix Content-Type comparison in Is() in (#3536)
- Fix
Subdomains()parsing for IDNs in (#3538) - Fix
Range()parsing of bytes unit in (#3541) - Fix Etag validation per RFC 9110 in (#3554)
- Fix
Range()handling of HTTP 416 per RFC 9110 in (#3552) - Fix Accept-Language matching per RFC 4647 in (#3553)
- Fix Cache middleware handling of Age in (#3547)
- Fix Content-Disposition header per RFC 6266 in (#3551)
- Fix
Body()handling of Content-Encoding per RFC 9110 in (#3543) - Fix multipart boundary for Client per RFC 2046 in (#3563)
- Fix address parsing for leading/trailing spaces in (#3569)
- Fix missing Allow header in EnvVar middleware per RFC 9110 in (#3570)
- Fix static/favicon middlewares file descriptor leaks in (#3579)
- Fix CookieJar domain logic in (#3564)
- Fix handling of negative BodyLimit in (#3599)
- Fix MIME type equality checks in (#3602)
- Fix retry config handling in (#3609)
- Fix limiter middleware not counting fiber.NewErrorf responses as failed requests in (#3623)
- Fix race in cookie tests in (#3629)
- Fix bind
All()merging logic in (#3659) - Fix Static middleware browser support for subdirectories in (#3673)
- Fix CORS subdomain wildcard boundary in (#3690)
- Fix support for context.Context in (#3720)
- Improve BasicAuth middleware RFC compliance in (#3743)
- Handle Unix sockets in adaptor middleware in (#3760)
- Fix usage of runtime RO data for ppc64 and s390x platforms in (#3772)
- Respect DisablePathNormalizing during client requests in (#3773)
- Always close form file in (#3786)
- Fix recover middleware panic output formatting in (#3816)
- Correct fresh flag logic in getSession in (#3825)
- Prevent memory corruption in internal memory storage from pooled buffers in (#3828)
- Avoid writing into released Response in core::execFunc() in (#3830)
- Remove Flash Cookie from Response headers after parsing in (#3840)
- Fix binder splitting for pointer-backed slice fields in (#3844)
- Fix typos in some files in (#3847)
- Execute middleware routes when handling errors in (#3846)
- Fix copying of key/values in internal/memory in (#3829)
- Fix maintain CustomCtx across middlewares in (#3852)
- Fix default value for MaxFunc in Limiter middleware in (#3871)
- Fix handling of wildcard matching in acceptsOffer in (#3880)
- Fix handling of no-body HTTP statuses in (#3883)
- Fix and improvements for the sliding window Limiter in (#3893)
- Improve suffix range normalization in (#3902)
- Enhance Origin and Referer Validation in CSRF middleware in (#3904)
- Respect Authorization when caching responses in (#3905)
- Fprint to use format instead of fmtArgs in (#3925)
- Enforce body limits in SaveFileToStorage in (#3929)
- V3 fix custom errorhandler invokation in (#3930)
- Fix example in whats_new.md in (#3949)
- Ensure flash messages are consumed after retrieval in (#3936)
- Fix FIPS-140 compliance for EncryptCookie middleware in (#3955)
- Guard Binds decoder sync.Pool in (#3969)
- Fix Early-Data trusted proxy handling in (#3974)
- Preserve session data map across resets in (#3968)
- Improve cookie decryption handling by deleting invalid cookies after iteration in (#3988)
- Respect body limit configuration in adaptor middleware in (#3990)
- Security: Enforce case-sensitive null origin validation in CORS in (#3995)
- Optimize CORS origin validation to avoid unnecessary processing in (#3996)
- Validate CORS origins before using AllowOriginsFunc in (#3991)
- Trim forwarded host values in (#4012)
- Normalize forwarded scheme parsing in (#4011)
- Return immediately on timeout and propagate context correctly in (#4009)
- Trim values from getSplicedStrList in (#4026)
- Return bytes read from readContent in (#4027)
- Reload mounted view engines in ReloadViews in (#4031)
- Handle typed-nil http handler funcs in (#4030)
- 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)
- Updated fasthttp to 1.54.0 release in (#3010)
- Bump github.com/gofiber/schema from 1.2.0 to 1.6.0 in (#3308, #3462, #3504, #3574)
- 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)
- Bump github.com/tinylib/msgp from 1.1.8 to 1.6.3 in (#3147, #3182, #3185, #3240, #3447, #3716, #3823, #3920, #3977, #3978)
- Bump github.com/shamaton/msgpack/v2 from 2.2.3 to 2.4.0 in (#3678, #3719, #3808)
- Bump github.com/klauspost/compress from 1.18.1 to 1.18.3 in (#3911, #4013)
- Bump github.com/google/uuid from 1.5.0 to 1.6.0 in (#2810)
- 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)
- Bump golang.org/x/net from 0.31.0 to 0.47.0 in (#3293, #3544, #3572, #3738, #3791, #3795, #3861)
- Bump golang.org/x/text from 0.29.0 to 0.33.0 in (#3797, #4003)
- Bump golang.org/x/sys from 0.39.0 to 0.40.0 in the golang-modules group in (#4000)
- Bump github.com/mattn/go-colorable from 0.1.13 to 0.1.14 in (#3277)
- Bump github.com/fxamacker/cbor/v2 from 2.7.0 to 2.9.0 in (#3384, #3581)
- Upgrade shamaton/msgpack from v2.4.0 to v3.0.0 in (#4023)
- Bump minimum version of Go to 1.21 in (#2911)
- Bump golangci-lint from v1.56.1 to v1.62.0 in (#2842, #2862, #3029, #3119, #3135, #3196)
- Make golangci-lint config stricter in (#2874)
- Add support for longtests during CI in (#3054)
- Bump nick-fields/retry from 2 to 3 in (#2824)
- Bump benchmark-action/github-action-benchmark from 1.16.2 to 1.20.7 in (#2827, #2950, #3008, #3177, #3730, #3736)
- Bump release-drafter/release-drafter from 5 to 6.2.0 in (#2826, #4022, #4025)
- Bump golangci/golangci-lint-action from 3 to 9.2.0 in (#2855, #2986, #2994, #3896, #3916)
- Bump github.com/stretchr/testify from 1.8.4 to 1.11.1 in (#2888, #3217, #3712, #3715)
- 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)
- Bump actions/setup-go from 4 to 6.2.0 in (#2789, #3732, #3886, #4006)
- Bump github/codeql-action from 2 to 4.32.0 in (#2788, #3792, #3866, #3878, #3897, #3910, #3927, #3945, #3950, #4004, #4034, #4036)
- Bump actions/cache from 3 to 5.0.3 in (#2803, #3944, #3947, #4017, #4040)
- Bump fuxingloh/multi-labeler from 2 to 4 in (#2856)
- Bump DavidAnson/markdownlint-cli2-action from 16 to 22.0.0 in (#3128, #3208, #3266, #3453, #3873, #3932)
- Bump streetsidesoftware/cspell-action from 8.0.0 to 8.2.0 in (#3938, #3993, #4039)
- Bump kenchan0130/actions-system-info from 1.3.0 to 1.4.0 in (#3492, #3679)
- Bump actions/setup-node from 4 to 6.2.0 in (#3733, #3804, #3915, #4008)
- Bump actions/checkout from 3 to 6.0.2 in (#3083, #3681, #3877, #3887, #3917, #4028)
- Bump lewagon/wait-on-check-action from 1.4.1 to 1.5.0 in (#4033)
- Bump the golang-modules group with 4 updates in (#3931)
- Bump the golang-modules group with 2 updates in (#4005)
- Add go1.22 to test matrix in (#2835)
- Replace release-drafter autolabel with fuxingloh/multi-labeler in (#3872)
- Add CODEOWNERS file in (#2851)
- Update golangci-lint to v1.55.2 in (#2817)
- Update golangci-lint to enable more lint rules in (#2923)
- Add support for go1.23 and golangci-lint v1.60.1 in (#3101)
- Add go1.24 to CI matrix in (#3325)
- Add modernize lint in (#3590)
- Add inamedparam linter in (#2848)
- Remove repo codecov.yml in (#3525)
- Enable govet shadow in (#3617)
- Fix benchmark results in (#1982)
- Fix spelling issues in (#3813)
- Golangci-lint issue for go1.25.0 in (#3775)
- Require Go 1.25 in (#3682)
- Run tests against Apple M1 platform in (#2852)
- Update AGENTS.md in (#3901)
- Update Version Numbers in Docs in (#2853)
- Updates to fiberlog benchmarks and documentation in (#3059)
- Remove deprecated comments and documenting recent changes in (#3498)
- Update godoc for
fiber.New()in (#3928) - Undocumented function in session.md in (#2795)
- Fix typo in documentation in (#2802)
- Fix a misspelled comment in (#2809)
- Update Typo documentation in (#2820)
- Typo in routing.md in (#2836)
- Fix code snippet indentation in /docs/api/middleware/keyauth.md in (#2868)
- Fix TrustedProxies documentation related to IP ranges in (#2887)
- Update docs to reflect fiber.Ctx struct to interface change in (#2880)
- Improve translation in (#2899)
- Update Copilot docs and setup in (#3585)
- Refactor Documenation for HealthCheck in (#2905)
- Fixed a typo in app.go in (#2912)
- Cleanup and updates to README files in (#2914)
- Fix merge conflict in documentation in (#2957)
- Fix broken link to slim template in FAQ in (#2969)
- Update config TrustedOrigin comments in (#2963)
- Consolidate and Document Core Changes in v3 in (#2934)
- Fix some comments in (#2983)
- CORS middleware in (#2979)
- Add docs for new client in (#2991)
- Update intro.md to make clear
fiber.Ctxis not thread-safe. in (#3014) - Improve ctx.Locals method description, godoc and example in (#3032)
- Add zero-allocation section to README in (#3039)
- Add support for consistent documentation using markdownlint in (#3064)
- Update example in middleware/cors to v3 in (#3116)
- Update recover docs to not use reserved keyword in (#3129)
- Fix typos in client hooks documentation in (#3133)
- Replaced link to russian mozilla docs in (#3142)
- Removed zero width white space from logger docs in (#3144)
- Fix typo on comment in (#3158)
- Typo in hooks documentation in (#3164)
- Update README.md in (#3165)
- Update What's New documentation in (#3181)
- Clarify SendFile Docs in (#3172)
- Update intro documentation in (#3204)
- Updates to API documentation and README in (#3205)
- Updates to Context documentation in (#3206)
- Update documentation for Fiber client in (#3249)
- Fix static middleware CacheDuration data type typo in (#3273)
- Add
ctx.Drop()to whats_new.md in (#3284) - Add
c.Drop()example towhats_new.mdin (#3285) - Update intro.md Static Files section in (#3303)
- Update adapter middleware documentation in (#3317)
- Add Retry Addon documentation in (#3330)
- Update Helmet Middleware default values in (#3348)
- Update helmet.md default values in (#3350)
- Add more validation examples in (#3369)
- Update docs for State Management in (#3388)
- Fix CSRF handler example in (#3412)
- Adjust Funding Custom URL in (#3432)
- Fix examples in middleware/session in (#3435)
- Idempotency add more detailed description for next method in (#3443)
- Document usage of Custom Tags in Logger middleware in (#3446)
- Fix typos in (#3464)
- Fix more typos across code base in (#3465)
- Fix typos in code and docs in (#3507)
- Enhance CORS middleware documentation with preflight request details and infrastructure considerations in (#3509)
- Add custom constraint example in (#3539)
- Incorrect usage of backslash characters in the constraint … in (#3549)
- Add net/http compatiblity section in (#3556)
- Add documentation for Stale() in (#3555)
- Update utils guide documentation in (#3575)
- Fix EarlyData middleware docs in (#3646)
- Fix Skip middleware docs in (#3649)
- Fix context changes doc in (#3650)
- Fix RequestID docs in (#3648)
- Fix Proxy middleware docs in (#3647)
- Fix Compress middleware docs in (#3645)
- Fix Cache middleware docs in (#3644)
- Fix Favicon middleware documentation in (#3640)
- Fix Static middleware docs in (#3643)
- Fix Healthcheck middleware documentation in (#3657)
- Fix KeyAuth middleware docs in (#3641)
- Improve Timeout middleware documentation in (#3675)
- Add context guide in (#3677)
- Add Learning Resources section with Go Interview Practice platform in (#3691)
- Fix typos in documentation in (#3695)
- Add early hints documentation in (#3697)
- Document utils package migration in (#3704)
- Note CSRF ContextKey removal in (#3706)
- Note removal of context keys in (#3707)
- Add migration tool info in (#3708)
- Improve wording and fix typos in (#3713)
- Full audit of documentation in (#3717)
- Add RoutePatternMatch documentation in (#3722)
- Clarify context interface implementation in (#3729)
- Ensure all exported elements are documented in (#3752)
- Document usage of reverse proxies for SendEarlyHints in (#3778)
- Fix broken link in the Routing guide in (#3831)
- Update docs/whats_new.md in (#3889)
- Clarify handler execution order and usage in Add() in (#3890)
- Update cache migration guidance in (#3908)
- Clarify client migration examples in (#3921)
- Add goroutine cancellation example using context.WithTimeout in (#3884)
- Fix some comments to improve readability in (#3943)
- Update logger middleware format constants in (#3951)
- Refresh adaptor middleware guidance in (#3981)
- Update Services icon and prefork warning for State Management in (#4002)
Thank you to all contributors: @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
Full Changelog: https://github.com/gofiber/fiber/compare/v2.52.11...v3.0.0
For a detailed view of all changes and the migration guide, visit: https://docs.gofiber.io/next/whats_new
v2.52.11
- Improve mount functionality by @gaby in https://github.com/gofiber/fiber/pull/3900
- Backport defensive copying fixes from #3828 and #3829 to v2 by @sixcolors in https://github.com/gofiber/fiber/pull/3888
- Fixes and improvements for limiter middleware by @gaby in https://github.com/gofiber/fiber/pull/3899
Full Changelog: https://github.com/gofiber/fiber/compare/v2.52.10...v2.52.11
v3.0.0-rc.3
- Middleware/encryptCookie: Add cookie name authentication for EncryptCookie middleware by @gaby in https://github.com/gofiber/fiber/pull/3788
- Middleware/proxy: Add BodyStream() logic to
adaptor.FiberHandlermiddleware by @grivera64 in https://github.com/gofiber/fiber/pull/3799 - Client: Add support for HostClient and LBClient by @gaby in https://github.com/gofiber/fiber/pull/3774
- Native support for net/http and fasthttp handlers by @gaby in https://github.com/gofiber/fiber/pull/3769
- Add support for Express.js style req/res handlers by @gaby in https://github.com/gofiber/fiber/pull/3809
- Add support for DisableAutoRegister of HEAD routes by @ReneWerner87 in https://github.com/gofiber/fiber/pull/3817
- Add support for handling unsupported HTTP methods as HTTP 501 by @gaby in https://github.com/gofiber/fiber/pull/3854
- Add support for ReloadViews() by @gaby in https://github.com/gofiber/fiber/pull/3876
- Expose startup message customization hooks by @efectn in https://github.com/gofiber/fiber/pull/3824
- Middleware/adaptor: prevent CopyContextToFiberContext panic and add comprehensive test coverage by @sixcolors in https://github.com/gofiber/fiber/pull/3770
- Middleware/adaptor: Add flushing-related unit tests for net/http adaptor by @grivera64 in https://github.com/gofiber/fiber/pull/3807
- Middleware/encryptCookie: Return error during EncryptCookie failure by @gaby in https://github.com/gofiber/fiber/pull/3842
- Client: Preallocate slice size in Client::Param() by @arturmelanchyk in https://github.com/gofiber/fiber/pull/3782
- Reduce allocations in Request (saves ~16% B/op) by @arturmelanchyk in https://github.com/gofiber/fiber/pull/3768
- Make boundary a const by @arturmelanchyk in https://github.com/gofiber/fiber/pull/3783
- Skip locking garbage collector if nothing to delete by @arturmelanchyk in https://github.com/gofiber/fiber/pull/3787
- Reduce the memory usage of cacheableStatusCodes by @ZihxS in https://github.com/gofiber/fiber/pull/3789
- Merge duplicate constants by @jsoref in https://github.com/gofiber/fiber/pull/3812
- Improve propagation of context.Context by @gaby in https://github.com/gofiber/fiber/pull/3822
- Inline Request state wrappers by @arturmelanchyk in https://github.com/gofiber/fiber/pull/3827
- Remove unneeded "utils" alias by @arturmelanchyk in https://github.com/gofiber/fiber/pull/3834
- Benchmark for cache miss case by @arturmelanchyk in https://github.com/gofiber/fiber/pull/3836
- Add FullPath() helper to context by @gaby in https://github.com/gofiber/fiber/pull/3837
- Handle nil map targets in Binder by @gaby in https://github.com/gofiber/fiber/pull/3839
- Extracted generic releasePooledBinder function by @arturmelanchyk in https://github.com/gofiber/fiber/pull/3841
- Refactor internal errors to use sentinel values by @gaby in https://github.com/gofiber/fiber/pull/3864
- Test HEAD request compliance by @gaby in https://github.com/gofiber/fiber/pull/3868
- Improve OPTIONS wildcard regression test by @gaby in https://github.com/gofiber/fiber/pull/3869
- Improve byte-range handling for SendFile() by @gaby in https://github.com/gofiber/fiber/pull/3870
- Use int64 when dealing with HTTP Ranges by @gaby in https://github.com/gofiber/fiber/pull/3874
- Middleware/limiter: Fix default value for MaxFunc in Limiter middleware by @gaby in https://github.com/gofiber/fiber/pull/3871
- Middleware/recover: Fix recover middleware panic output formatting by @gaby in https://github.com/gofiber/fiber/pull/3816
- Middleware/session: correct fresh flag logic in getSession by @sixcolors in https://github.com/gofiber/fiber/pull/3825
- Fix spelling issues by @jsoref in https://github.com/gofiber/fiber/pull/3813
- Fix fatal error calls in adapter_test.go by @ReneWerner87 in https://github.com/gofiber/fiber/pull/3810
- Fix usage of runtime RO data for ppc64 and s390x platforms by @gaby in https://github.com/gofiber/fiber/pull/3772
- Respect DisablePathNormalizing during client requests by @gaby in https://github.com/gofiber/fiber/pull/3773
- Always close form file by @arturmelanchyk in https://github.com/gofiber/fiber/pull/3786
- Fix gocritic httpNoBody and hugeParam issues by @ReneWerner87 in https://github.com/gofiber/fiber/pull/3855
- Prevent memory corruption in internal memory storage from pooled buffers by @sixcolors in https://github.com/gofiber/fiber/pull/3828
- Avoid writing into released Response in core::execFunc() by @arturmelanchyk in https://github.com/gofiber/fiber/pull/3830
- Remove Flash Cookie from Response headers after parsing by @gaby in https://github.com/gofiber/fiber/pull/3840
- Fix binder splitting for pointer-backed slice fields by @gaby in https://github.com/gofiber/fiber/pull/3844
- Execute middleware routes when handling errors by @gaby in https://github.com/gofiber/fiber/pull/3846
- fix copying of key/values in internal/memory by @sixcolors in https://github.com/gofiber/fiber/pull/3829
- Fix maintain CustomCtx across middlewares by @ReneWerner87 in https://github.com/gofiber/fiber/pull/3852
- Enhance Body handling in setConfigToRequest for better type su… by @K0ng2 in https://github.com/gofiber/fiber/pull/3820
- Replace release-drafter autolabel with fuxingloh/multi-labeler by @gaby in https://github.com/gofiber/fiber/pull/3872
- Golangci-lint issue for go1.25.0 by @laughing-nerd in https://github.com/gofiber/fiber/pull/3775
- Add automation for v3 label assignments by @ReneWerner87 in https://github.com/gofiber/fiber/pull/3845
- Update workflow path filters for Go module changes by @ReneWerner87 in https://github.com/gofiber/fiber/pull/3856
- Improvements to GitHub Workflows by @gaby in https://github.com/gofiber/fiber/pull/3857
- Update release-drafter workflow by @gaby in https://github.com/gofiber/fiber/pull/3860
- Add support for codespell in spell-check workflow by @gaby in https://github.com/gofiber/fiber/pull/3850
- Add spell check CI workflow by @gaby in https://github.com/gofiber/fiber/pull/3814
- Fix autolabeler for release-drafter by @gaby in https://github.com/gofiber/fiber/pull/3865
- Enable manual workflow dispatch for CI by @ReneWerner87 in https://github.com/gofiber/fiber/pull/3881
- build(deps): bump github.com/valyala/fasthttp from 1.65.0 to 1.67.0 by @dependabot[bot] in https://github.com/gofiber/fiber/pull/3790
- build(deps): bump golang.org/x/net from 0.44.0 to 0.45.0 by @dependabot[bot] in https://github.com/gofiber/fiber/pull/3791
- build(deps): bump github/codeql-action from 3 to 4 by @dependabot[bot] in https://github.com/gofiber/fiber/pull/3792
- build(deps): bump golang.org/x/text from 0.29.0 to 0.30.0 by @dependabot[bot] in https://github.com/gofiber/fiber/pull/3797
- build(deps): bump golang.org/x/crypto from 0.42.0 to 0.43.0 by @dependabot[bot] in https://github.com/gofiber/fiber/pull/3796
- build(deps): bump golang.org/x/net from 0.45.0 to 0.46.0 by @dependabot[bot] in https://github.com/gofiber/fiber/pull/3795
- build(deps): bump actions/setup-node from 5 to 6 by @dependabot[bot] in https://github.com/gofiber/fiber/pull/3804
- build(deps): bump github.com/shamaton/msgpack/v2 from 2.3.1 to 2.4.0 by @dependabot[bot] in https://github.com/gofiber/fiber/pull/3808
- build(deps): bump github.com/valyala/fasthttp from 1.67.0 to 1.68.0 by @dependabot[bot] in https://github.com/gofiber/fiber/pull/3819
- build(deps): bump github.com/tinylib/msgp from 1.4.0 to 1.5.0 by @dependabot[bot] in https://github.com/gofiber/fiber/pull/3823
- build(deps): bump github.com/gofiber/utils/v2 from 2.0.0-rc.1 to 2.0.0-rc.2 by @dependabot[bot] in https://github.com/gofiber/fiber/pull/3853
- build(deps): bump golang.org/x/crypto from 0.43.0 to 0.44.0 by @dependabot[bot] in https://github.com/gofiber/fiber/pull/3863
- build(deps): bump golang.org/x/net from 0.46.0 to 0.47.0 by @dependabot[bot] in https://github.com/gofiber/fiber/pull/3861
- build(deps): bump github/codeql-action from 4.31.2 to 4.31.3 by @dependabot[bot] in https://github.com/gofiber/fiber/pull/3866
- 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
- build(deps): bump actions/checkout from 5.0.0 to 5.0.1 - by @dependabot[bot] in https://github.com/gofiber/fiber/pull/3877
- build(deps): bump github/codeql-action from 4.31.3 to 4.31.4 by @dependabot[bot] in https://github.com/gofiber/fiber/pull/3878
- Fix typos in some files by @khanhkhanhlele in https://github.com/gofiber/fiber/pull/3847
- Document usage of reverse proxies for SendEarlyHints by @akilesh1706 in https://github.com/gofiber/fiber/pull/3778
- Fix broken link in the Routing guide by @guerzon in https://github.com/gofiber/fiber/pull/3831
- @akilesh1706 made their first contribution in https://github.com/gofiber/fiber/pull/3778
- @laughing-nerd made their first contribution in https://github.com/gofiber/fiber/pull/3775
- @jsoref made their first contribution in https://github.com/gofiber/fiber/pull/3812
- @K0ng2 made their first contribution in https://github.com/gofiber/fiber/pull/3820
- @guerzon made their first contribution in https://github.com/gofiber/fiber/pull/3831
- @khanhkhanhlele made their first contribution in https://github.com/gofiber/fiber/pull/3847
A fully-detailed view of all new features and the migration guide is available in our https://docs.gofiber.io/next/whats_new
Full Changelog: https://github.com/gofiber/fiber/compare/v3.0.0-rc.2...v3.0.0-rc.3
v2.52.10
- Handle invalid path in filesystem by @rokostik in https://github.com/gofiber/fiber/pull/3688
- Fix recover middleware panic output formatting by @ReneWerner87 in https://github.com/gofiber/fiber/pull/3818
- Fix enforcement of Immutable config for some edge cases by @gaby in https://github.com/gofiber/fiber/pull/3835
- Document RoutePatternMatch by @ReneWerner87 in https://github.com/gofiber/fiber/pull/3723
- @rokostik made their first contribution in https://github.com/gofiber/fiber/pull/3688
Full Changelog: https://github.com/gofiber/fiber/compare/v2.52.9...v2.52.10
v3.0.0-rc.2
- Add request inspection helpers by @gaby in https://github.com/gofiber/fiber/pull/3727
- Add extractors package by @sixcolors in https://github.com/gofiber/fiber/pull/3725
- Add support for redacting values by @gaby in https://github.com/gofiber/fiber/pull/3759
- Middleware/cache: Improve Cache middleware defaults by @gaby in https://github.com/gofiber/fiber/pull/3740
- Middleware/cache: Fix cache cleanup and redact token values by @gaby in https://github.com/gofiber/fiber/pull/3757
- Middleware/compress: Improve Compress middleware RFC compliance by @gaby in https://github.com/gofiber/fiber/pull/3745
- Middleware/csrf: update CSRF middleware to use shared extractors by @sixcolors in https://github.com/gofiber/fiber/pull/3746
- Middleware/keyAuth: Improve KeyAuth middleware RFC compliance by @gaby in https://github.com/gofiber/fiber/pull/3742
- Middleware/keyAuth: Update keyauth middleware to use shared extractors by @sixcolors in https://github.com/gofiber/fiber/pull/3747
- Middleware/session: Migrate Session middleware to new extractors package by @sixcolors in https://github.com/gofiber/fiber/pull/3744
- Handle Transfer-Encoding bodies in HasBody by @gaby in https://github.com/gofiber/fiber/pull/3748
- Improve error handling when using storage drivers by @gaby in https://github.com/gofiber/fiber/pull/3754
- Improve performance analyseConstantPart by @ksw2000 in https://github.com/gofiber/fiber/pull/3753
- Ensure middleware prefix matching requires slash boundary by @ReneWerner87 in https://github.com/gofiber/fiber/pull/3755
- Use sync.Pool for Client hooks by @arturmelanchyk in https://github.com/gofiber/fiber/pull/3758
- Avoid locking in gc() if nothing to delete by @arturmelanchyk in https://github.com/gofiber/fiber/pull/3765
- Improve allocations for Request Params() by @arturmelanchyk in https://github.com/gofiber/fiber/pull/3766
- Cleanup return error logic in Bind() by @arturmelanchyk in https://github.com/gofiber/fiber/pull/3764
- Update RouteChain function by @ReneWerner87 in https://github.com/gofiber/fiber/pull/3761
- Expand Binder tests coverage by @gaby in https://github.com/gofiber/fiber/pull/3714
- Middleware/BasicAuth: Improve BasicAuth middleware RFC compliance by @gaby in https://github.com/gofiber/fiber/pull/3743
- Middleware/Adapter: Handle Unix sockets in adaptor middleware by @Dishank-Sen in https://github.com/gofiber/fiber/pull/3760
- Fix support for context.Context by @gaby in https://github.com/gofiber/fiber/pull/3720
- 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
- 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
- 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
- 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
- build(deps): bump actions/setup-go from 5 to 6 by @dependabot[bot] in https://github.com/gofiber/fiber/pull/3732
- build(deps): bump actions/setup-node from 4 to 5 by @dependabot[bot] in https://github.com/gofiber/fiber/pull/3733
- 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
- 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
- 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
- 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
- Improve wording and fix typos by @gaby in https://github.com/gofiber/fiber/pull/3713
- Full audit of documentation by @gaby in https://github.com/gofiber/fiber/pull/3717
- Add RoutePatternMatch documentation by @ReneWerner87 in https://github.com/gofiber/fiber/pull/3722
- Clarify context interface implementation by @ReneWerner87 in https://github.com/gofiber/fiber/pull/3729
- Ensure all exported elements are documented by @gaby in https://github.com/gofiber/fiber/pull/3752
- @arturmelanchyk made their first contribution in https://github.com/gofiber/fiber/pull/3758
- @Dishank-Sen made their first contribution in https://github.com/gofiber/fiber/pull/3760
A fully-detailed view of all new features and the migration guide is available in our
https://docs.gofiber.io/next/whats_new
Full Changelog: https://github.com/gofiber/fiber/compare/v3.0.0-rc.1...v3.0.0-rc.2
v3.0.0-rc.1
- Middleware/basicAuth: Add Fiber Context to BasicAuth Authorizer by @gaby in https://github.com/gofiber/fiber/pull/3621
- Middleware/basicAuth: Add HeaderLimit option to BasicAuth middleware by @gaby in https://github.com/gofiber/fiber/pull/3620
- Middleware/basicAuth: Support hashed BasicAuth passwords by @gaby in https://github.com/gofiber/fiber/pull/3631
- Middleware/csrf: Enhance extractor functionality with metadata and security validation by @sixcolors in https://github.com/gofiber/fiber/pull/3630
- Middleware/limiter: Support for disabling response headers in Limiter Middleware by @gaby in https://github.com/gofiber/fiber/pull/3618
- Middleware/proxy: Add KeepConnectionHeader option to Proxy middleware by @gaby in https://github.com/gofiber/fiber/pull/3662
- Middleware/session: Introduce Extractor pattern for session ID retrieval by @sixcolors in https://github.com/gofiber/fiber/pull/3625
- Support for SendEarlyHints by @pjebs in https://github.com/gofiber/fiber/pull/3483
- Support generic configurable logger by @ReneWerner87 in https://github.com/gofiber/fiber/pull/3705
- Add conditional copy helpers by @ReneWerner87 in https://github.com/gofiber/fiber/pull/3703
- Add support for embedded Koa-Style Req and Res structs by @grivera64 in https://github.com/gofiber/fiber/pull/3533
- Add default UTF-8 charset by @Copilot in https://github.com/gofiber/fiber/pull/3583
- Middleware/basicAuth: Remove SHA-1/MD5 support in BasicAuth middleware by @gaby in https://github.com/gofiber/fiber/pull/3634
- Middleware/basicAuth: Remove support for PasswordFromContext from BasicAuth middleware by @gaby in https://github.com/gofiber/fiber/pull/3638
- Middleware/cors: Fix CORS docs and comments by @gaby in https://github.com/gofiber/fiber/pull/3637
- Middleware/csrf: Fix CSRF error message mismatch with documentation by @gaby in https://github.com/gofiber/fiber/pull/3636
- Middleware/csrf: Fix CSRF subdomain wildcard boundary by @gaby in https://github.com/gofiber/fiber/pull/3694
- Middleware/keyAuth: Extractor-Based Configuration and Enhanced Flexibility by @sixcolors in https://github.com/gofiber/fiber/pull/3685
- Middleware/keyAuth: Return generic errors in KeyAuth middleware by @gaby in https://github.com/gofiber/fiber/pull/3692
- Middleware/pprof: Fix pprof middleware docs and default config by @gaby in https://github.com/gofiber/fiber/pull/3642
- Add tests for quoteRawString by @gaby in https://github.com/gofiber/fiber/pull/3613
- Replace math/rand with crypto/rand by @gaby in https://github.com/gofiber/fiber/pull/3508
- Enable govet shadow by @ReneWerner87 in https://github.com/gofiber/fiber/pull/3617
- Fix Cookie SameSite constants to Pascal case per RFC specification by @Copilot in https://github.com/gofiber/fiber/pull/3608
- Fix timing for streaming test by @ReneWerner87 in https://github.com/gofiber/fiber/pull/3628
- Reduce allocation in AutoFormat by @ReneWerner87 in https://github.com/gofiber/fiber/pull/3652
- Add sync pool and release helpers for Bind by @ReneWerner87 in https://github.com/gofiber/fiber/pull/3660
- Add CBOR support to AutoFormat() by @gaby in https://github.com/gofiber/fiber/pull/3665
- Add missing checks in Ctx tests by @gaby in https://github.com/gofiber/fiber/pull/3670
- Stabilize interrupted stream writer test by @ReneWerner87 in https://github.com/gofiber/fiber/pull/3669
- Fix AcceptsLanguages() RFC compliance by @gaby in https://github.com/gofiber/fiber/pull/3672
- Respect immutable config in Params(), Protocol(), and Body() by @gaby in https://github.com/gofiber/fiber/pull/3676
- Optimize Fresh header parsing for fasthttp 1.65 by @ReneWerner87 in https://github.com/gofiber/fiber/pull/3687
- Use ephemeral ports in unit tests by @ReneWerner87 in https://github.com/gofiber/fiber/pull/3686
- Delay routing error creation by @ReneWerner87 in https://github.com/gofiber/fiber/pull/3683
- Improve Req/Res Benchmarks by @grivera64 in https://github.com/gofiber/fiber/pull/3693
- Using reflect.TypeAssert by @cuiweixie in https://github.com/gofiber/fiber/pull/3698
- Skip unstable GenericParseType benchmarks by @ReneWerner87 in https://github.com/gofiber/fiber/pull/3614
- Require Go 1.25 by @ReneWerner87 in https://github.com/gofiber/fiber/pull/3682
- Middleware/cors: Fix CORS subdomain wildcard boundary by @gaby in https://github.com/gofiber/fiber/pull/3690
- Middleware/limiter: Fix limiter middleware not counting fiber.NewErrorf responses as failed requests by @Copilot in https://github.com/gofiber/fiber/pull/3623
- Middleware/static: Fix Static middleware browser support for subdirectories by @efectn in https://github.com/gofiber/fiber/pull/3673
- Fix retry config handling by @gaby in https://github.com/gofiber/fiber/pull/3609
- Fix race in cookie tests by @ReneWerner87 in https://github.com/gofiber/fiber/pull/3629
- Fix bind All() merging logic by @gaby in https://github.com/gofiber/fiber/pull/3659
- 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
- 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
- build(deps): bump actions/checkout from 4 to 5 by @dependabot[bot] in https://github.com/gofiber/fiber/pull/3681
- 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
- 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
- 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
- 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
- Add early hints documentation by @ReneWerner87 in https://github.com/gofiber/fiber/pull/3697
- Add migration tool info by @ReneWerner87 in https://github.com/gofiber/fiber/pull/3708
- Add context guide by @gaby in https://github.com/gofiber/fiber/pull/3677
- Fix EarlyData middleware docs by @gaby in https://github.com/gofiber/fiber/pull/3646
- Fix Skip middleware docs by @gaby in https://github.com/gofiber/fiber/pull/3649
- Fix context changes doc by @ReneWerner87 in https://github.com/gofiber/fiber/pull/3650
- Fix RequestID docs by @gaby in https://github.com/gofiber/fiber/pull/3648
- Fix Proxy middleware docs by @gaby in https://github.com/gofiber/fiber/pull/3647
- Fix Compress middleware docs by @gaby in https://github.com/gofiber/fiber/pull/3645
- Fix Cache middleware docs by @gaby in https://github.com/gofiber/fiber/pull/3644
- Fix Favicon middleware documentation by @gaby in https://github.com/gofiber/fiber/pull/3640
- Fix Static middleware docs by @gaby in https://github.com/gofiber/fiber/pull/3643
- Fix Healthcheck middleware documentation by @gaby in https://github.com/gofiber/fiber/pull/3657
- Fix KeyAuth middleware docs by @gaby in https://github.com/gofiber/fiber/pull/3641
- Improve Timeout middleware documentation by @gaby in https://github.com/gofiber/fiber/pull/3675
- Add Learning Resources section with Go Interview Practice platform by @RezaSi in https://github.com/gofiber/fiber/pull/3691
- Fix typos in documentation by @kianmeng in https://github.com/gofiber/fiber/pull/3695
- document utils package migration by @ReneWerner87 in https://github.com/gofiber/fiber/pull/3704
- Note CSRF ContextKey removal by @ReneWerner87 in https://github.com/gofiber/fiber/pull/3706
- Note removal of context keys by @ReneWerner87 in https://github.com/gofiber/fiber/pull/3707
- @Copilot made their first contribution in https://github.com/gofiber/fiber/pull/3583
- @RezaSi made their first contribution in https://github.com/gofiber/fiber/pull/3691
- @kianmeng made their first contribution in https://github.com/gofiber/fiber/pull/3695
- @cuiweixie made their first contribution in https://github.com/gofiber/fiber/pull/3698
A fully-detailed view of all new features and the migration guide is available in our
https://docs.gofiber.io/next/whats_new
Full Changelog: https://github.com/gofiber/fiber/compare/v3.0.0-beta.5...v3.0.0-rc.1
v3.0.0-beta.5
- Middleware/keyAuth: Add support for context.Context in keyauth middleware by @vhespanha in https://github.com/gofiber/fiber/pull/3287
- Middleware/logger: Add Skip function to logger middleware by @JIeJaitt in https://github.com/gofiber/fiber/pull/3333
- Middleware/logger: Add predefined log formats by @edvardsanta in https://github.com/gofiber/fiber/pull/3359
- Middleware/logger: Add support for ForceColors in Logger middleware by @yorickdewid in https://github.com/gofiber/fiber/pull/3428
- Middleware/session: Add support for Keys() in session middleware by @sixcolors in https://github.com/gofiber/fiber/pull/3517
- Middelware/timeout: Add config for Timeout middleware by @ReneWerner87 in https://github.com/gofiber/fiber/pull/3604
- Add End() method to Ctx by @grivera64 in https://github.com/gofiber/fiber/pull/3280
- Improve and Optimize ShutdownWithContext Func by @JIeJaitt in https://github.com/gofiber/fiber/pull/3162
- Add support for multipart file binding by @efectn in https://github.com/gofiber/fiber/pull/3309
- Add Req and Res API by @nickajacks1 in https://github.com/gofiber/fiber/pull/2894
- Add support for application state management by @efectn in https://github.com/gofiber/fiber/pull/3360
- Enhance CheckConstraint method for improved error handling by @JIeJaitt in https://github.com/gofiber/fiber/pull/3356
- Add
Allmethod to Bind by @edvardsanta in https://github.com/gofiber/fiber/pull/3373 - Add Support for service dependencies by @mdelapenya in https://github.com/gofiber/fiber/pull/3434
- Add Support for Removing Routes by @ckoch786 in https://github.com/gofiber/fiber/pull/3230
fiber.Contextimplement context.Context by @pjebs in https://github.com/gofiber/fiber/pull/3382- Add support for NewErrorf by @gaby in https://github.com/gofiber/fiber/pull/3463
- Add NewWithCustomCtx initialization helper by @ReneWerner87 in https://github.com/gofiber/fiber/pull/3476
- Add UNIX socket support by @LaptopCat in https://github.com/gofiber/fiber/pull/3535
- Add support for Msgpack by @hotrungnhan in https://github.com/gofiber/fiber/pull/3565
- Add context methods to
fiber.Storageinterface by @efectn in https://github.com/gofiber/fiber/pull/3566
- Middleware/basicAuth: Enhance BasicAuth middleware to better comply with RFC 6750 by @gaby in https://github.com/gofiber/fiber/pull/3484
- Middleware/basicAuth: Improve BasicAuth middleware default security by @gaby in https://github.com/gofiber/fiber/pull/3522
- Middleware/cache: Improve cache middleware RFC compliance by @gaby in https://github.com/gofiber/fiber/pull/3488
- Middleware/cors: Improve CORS middleware response headers by @gaby in https://github.com/gofiber/fiber/pull/3505
- Middleware/cors: Improve CORS tests coverage by @gaby in https://github.com/gofiber/fiber/pull/3530
- Middleware/csrf: Improve CSRF tests coverage by @gaby in https://github.com/gofiber/fiber/pull/3531
- Middleware/csrf: Add missing CSRF token extractor tests by @gaby in https://github.com/gofiber/fiber/pull/3527
- Middleware/csrf: Refactor CSRF middleware and enhance documentation by @sixcolors in https://github.com/gofiber/fiber/pull/3598
- Middleware/csrf: Enhance CSRF tests to address unsafe header value issue (#2045) by @sixcolors in https://github.com/gofiber/fiber/pull/3485
- Middleware/earlyData: Improve EarlyData middleware tests coverage by @gaby in https://github.com/gofiber/fiber/pull/3520
- Middleware/encryptCookie: Enhance config validation in EncryptCookie middleware by @gaby in https://github.com/gofiber/fiber/pull/3491
- Middleware/envVar: Refactor EnvVar middleware by @gaby in https://github.com/gofiber/fiber/pull/3513
- Middleware/helmet: Improve Helmet middleware tests coverage by @gaby in https://github.com/gofiber/fiber/pull/3523
- Middleware/idempotency: Improve Idempotency middleware tests coverage by @gaby in https://github.com/gofiber/fiber/pull/3521
- Middleware/keyAuth: Enhance KeyAuth middleware to better comply with RFC 6750 by @gaby in https://github.com/gofiber/fiber/pull/3482
- Middleware/logger: Logger Middleware tests to use regex for time validation by @ReneWerner87 in https://github.com/gofiber/fiber/pull/3392
- Middleware/timeout: unify and enhance timeout middleware by @ReneWerner87 in https://github.com/gofiber/fiber/pull/3275
- Middleware/proxy: Fix proxy middleware tests for offline environments by @gaby in https://github.com/gofiber/fiber/pull/3467
- Middleware/proxy: Improve proxy middleware by @ReneWerner87 in https://github.com/gofiber/fiber/pull/3468
- Middleware/static: Improve static middleware security by @gaby in https://github.com/gofiber/fiber/pull/3595
- Middleware/static: Improve sanitizePath performance by @ReneWerner87 in https://github.com/gofiber/fiber/pull/3601
- Value of map is unused in uniqueRouteStack by @ksw2000 in https://github.com/gofiber/fiber/pull/3320
- Reduce the Memory Usage of ignoreHeaders by @ksw2000 in https://github.com/gofiber/fiber/pull/3322
- Improve Performance of getSplicedStrList by @ksw2000 in https://github.com/gofiber/fiber/pull/3318
- Add go1.24 to CI matrix by @gaby in https://github.com/gofiber/fiber/pull/3325
- Migrate randString to rand v2 by @ksw2000 in https://github.com/gofiber/fiber/pull/3329
- Sorting error in sortAcceptedTypes by @ksw2000 in https://github.com/gofiber/fiber/pull/3331
- Reduce the memory usage of RoutePatternMatch by @ksw2000 in https://github.com/gofiber/fiber/pull/3335
- Replace findLastCharsetPosition with strings.LastIndexByte by @ksw2000 in https://github.com/gofiber/fiber/pull/3338
- Replace isInCharset with bytes.IndexByte by @ksw2000 in https://github.com/gofiber/fiber/pull/3342
- Optimize routeParser by using sync.Pool by @ksw2000 in https://github.com/gofiber/fiber/pull/3343
- Fix linter workflow failures by @gaby in https://github.com/gofiber/fiber/pull/3354
- Mark unused tests with t.SkipNow by @alexandear in https://github.com/gofiber/fiber/pull/3366
- Remove two string fields in DefaultCtx to save 32 bytes by @ksw2000 in https://github.com/gofiber/fiber/pull/3353
- Replace treePath with treePathHash in DefaultCtx to reduce memory usage by @ksw2000 in https://github.com/gofiber/fiber/pull/3368
- Add Immutable benchmarks for default case by @gaby in https://github.com/gofiber/fiber/pull/3374
- Remove redundant field
methodinDefaultCtxby @ksw2000 in https://github.com/gofiber/fiber/pull/3372 - Simplify HealthCheck middleware by @gaby in https://github.com/gofiber/fiber/pull/3380
- Add findNextNonEscapedCharPosition for single-byte charset cases by @ksw2000 in https://github.com/gofiber/fiber/pull/3378
- Change c.Redirect() default status by @andradei in https://github.com/gofiber/fiber/pull/3415
- Improve routing treeBuild flow by @ReneWerner87 in https://github.com/gofiber/fiber/pull/3456
- Add unit-test for header injection by @gaby in https://github.com/gofiber/fiber/pull/3470
- Performance optimizations by @ReneWerner87 in https://github.com/gofiber/fiber/pull/3477
- Make genericParseType return error by @ksw2000 in https://github.com/gofiber/fiber/pull/3473
- Add URI Test case for Test_Ctx_Binders by @ReneWerner87 in https://github.com/gofiber/fiber/pull/3480
- Improve performance for "equalFieldType" function by @ReneWerner87 in https://github.com/gofiber/fiber/pull/3479
- Update minimum go version to 1.24 by @ReneWerner87 in https://github.com/gofiber/fiber/pull/3481
- Use slices.Contains to simplify code by @tongjicoder in https://github.com/gofiber/fiber/pull/3486
- Use maps.Copy to simplify code by @alexandear in https://github.com/gofiber/fiber/pull/3490
- Remove deprecated comments and documenting recent changes by @ReneWerner87 in https://github.com/gofiber/fiber/pull/3498
- Update loop syntax for retry mechanism by @MonkyMars in https://github.com/gofiber/fiber/pull/3516
- Remove repo codecov.yml by @gaby in https://github.com/gofiber/fiber/pull/3525
- Improve Retry addon tests coverage by @gaby in https://github.com/gofiber/fiber/pull/3526
- Improve hooks test coverage by @gaby in https://github.com/gofiber/fiber/pull/3524
- Update codecov configuration by @gaby in https://github.com/gofiber/fiber/pull/3528
- Improve Binder tests coverage by @gaby in https://github.com/gofiber/fiber/pull/3529
- Use GetState to reduce duplicate code by @ksw2000 in https://github.com/gofiber/fiber/pull/3542
- Improve Cookie() validation by @gaby in https://github.com/gofiber/fiber/pull/3546
- Improve Router tests coverage by @gaby in https://github.com/gofiber/fiber/pull/3550
- Improve Accept* compliance with RFC 9110 by @gaby in https://github.com/gofiber/fiber/pull/3548
- Refactor fasthttp iter calls to range loops by @ReneWerner87 in https://github.com/gofiber/fiber/pull/3559
- Fix compression benchmarks by @gaby in https://github.com/gofiber/fiber/pull/3561
- Add iterator helpers for client types by @ReneWerner87 in https://github.com/gofiber/fiber/pull/3560
- Improve iterator performance. by @ksw2000 in https://github.com/gofiber/fiber/pull/3562
- Update utils dependency by @ReneWerner87 in https://github.com/gofiber/fiber/pull/3576
- Refactor Opt-in support for CBOR by @ReneWerner87 in https://github.com/gofiber/fiber/pull/3580
- Simplify generic function calls by @axrav in https://github.com/gofiber/fiber/pull/3578
- Add modernize lint by @ReneWerner87 in https://github.com/gofiber/fiber/pull/3590
- Revert "Add support for context.Context in keyauth middleware" by @sixcolors in https://github.com/gofiber/fiber/pull/3364
- Revert "Add Context Support to RequestID Middleware" by @sixcolors in https://github.com/gofiber/fiber/pull/3365
- Middleware/envVar: Fix missing Allow header in EnvVar middleware per RFC 9110 by @gaby in https://github.com/gofiber/fiber/pull/3570
- Middleware/static: Fix static/favicon middlewares file descriptor leaks by @gaby in https://github.com/gofiber/fiber/pull/3579
- Make Render bind parameter type any again by @efectn in https://github.com/gofiber/fiber/pull/3270
- Fix app.Test() auto-failing when a connection is closed early by @grivera64 in https://github.com/gofiber/fiber/pull/3279
- Align cache middleware with RFC7231 by @miyamo2 in https://github.com/gofiber/fiber/pull/3283
- Goroutine leakage by @JIeJaitt in https://github.com/gofiber/fiber/pull/3306
- `genericParseType parsing large uint leads to overflow by @ksw2000 in https://github.com/gofiber/fiber/pull/3315
- Fix handler order in routing by @ReneWerner87 in https://github.com/gofiber/fiber/pull/3321
- Update binder in form_test by @devhaozi in https://github.com/gofiber/fiber/pull/3336
- Fix client iterators when using break statement by @efectn in https://github.com/gofiber/fiber/pull/3357
- Handling of next param position by @KatzuYoru in https://github.com/gofiber/fiber/pull/3418
- Fix redirection flash messages violate cookie structure by @efectn in https://github.com/gofiber/fiber/pull/3457
- Parsing of IPv6 addresses by @gaby in https://github.com/gofiber/fiber/pull/3466
- Middlewares immutable config handling by @gaby in https://github.com/gofiber/fiber/pull/3494
- Subdomains offset handling by @gaby in https://github.com/gofiber/fiber/pull/3495
- Fix Cache-Control header parsing by @gaby in https://github.com/gofiber/fiber/pull/3534
- Fix Content-Type comparison in Is() by @gaby in https://github.com/gofiber/fiber/pull/3536
- Fix Subdomains() parsing for IDNs by @gaby in https://github.com/gofiber/fiber/pull/3538
- Fix Range() parsing of bytes unit by @gaby in https://github.com/gofiber/fiber/pull/3541
- Fix Range() handling of HTTP 416 per RFC 9110 by @gaby in https://github.com/gofiber/fiber/pull/3552
- Fix Etag validation per RFC 9110 by @gaby in https://github.com/gofiber/fiber/pull/3554
- Fix Accept-Language matching per RFC 4647 by @gaby in https://github.com/gofiber/fiber/pull/3553
- Fix Cache middleware handling of Age by @gaby in https://github.com/gofiber/fiber/pull/3547
- Fix Content-Disposition header per RFC 6266 by @gaby in https://github.com/gofiber/fiber/pull/3551
- Fix Body() handling of Content-Encoding per RFC 9110 by @gaby in https://github.com/gofiber/fiber/pull/3543
- Fix multipart boundary for Client per RFC 2046 by @gaby in https://github.com/gofiber/fiber/pull/3563
- Fix address parsing for leading/trailing spaces by @gaby in https://github.com/gofiber/fiber/pull/3569
- Fix CookieJar domain logic by @gaby in https://github.com/gofiber/fiber/pull/3564
- Fix handling of negative BodyLimit by @gaby in https://github.com/gofiber/fiber/pull/3599
- Fix MIME type equality checks by @gaby in https://github.com/gofiber/fiber/pull/3602
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- build(deps): bump DavidAnson/markdownlint-cli2-action from 19 to 20 by @dependabot[bot] in https://github.com/gofiber/fiber/pull/3453
- 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
- 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
- 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
- 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
- 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
- Middleware/adapter: Update adapter middleware documentation by @ReneWerner87 in https://github.com/gofiber/fiber/pull/3317
- Middleware/cors: Enhance CORS middleware documentation with preflight request details and infrastructure considerations by @sixcolors in https://github.com/gofiber/fiber/pull/3509
- Middleware/csrf: fix CSRF handler example by @sixcolors in https://github.com/gofiber/fiber/pull/3412
- Middleware/helmet: Update Helmet Middleware default values by @devhaozi in https://github.com/gofiber/fiber/pull/3348
- Middleware/helmet: Update helmet.md default values by @gaby in https://github.com/gofiber/fiber/pull/3350
- Middleware/idempotency: Idempotency add more detailed description for next method by @ReneWerner87 in https://github.com/gofiber/fiber/pull/3443
- Middleware/logger: Document usage of Custom Tags in Logger middleware by @sixcolors in https://github.com/gofiber/fiber/pull/3446
- Middleware/session: Fix examples in middleware/session by @AuroraTea in https://github.com/gofiber/fiber/pull/3435
- Middleware/static: Fix static middleware CacheDuration data type typo by @grivera64 in https://github.com/gofiber/fiber/pull/3273
- Update intro.md Static Files section by @lars-schumann in https://github.com/gofiber/fiber/pull/3303
- Add ctx.Drop() to whats_new.md by @aliziyacevik in https://github.com/gofiber/fiber/pull/3284
- Add
c.Drop()example towhats_new.mdby @grivera64 in https://github.com/gofiber/fiber/pull/3285 - Add Retry Addon documentation by @grivera64 in https://github.com/gofiber/fiber/pull/3330
- Add more validation examples by @mazyaryousefinia in https://github.com/gofiber/fiber/pull/3369
- Update docs for State Management by @gaby in https://github.com/gofiber/fiber/pull/3388
- Fix typos by @gaby in https://github.com/gofiber/fiber/pull/3464
- Fix more typos across code base by @gaby in https://github.com/gofiber/fiber/pull/3465
- Incorrect usage of backslash characters in the constraint … by @hungthai1401 in https://github.com/gofiber/fiber/pull/3549
- Fix typos in code and docs by @gaby in https://github.com/gofiber/fiber/pull/3507
- Add custom constraint example by @ReneWerner87 in https://github.com/gofiber/fiber/pull/3539
- Add net/http compatiblity section by @gaby in https://github.com/gofiber/fiber/pull/3556
- Add documentation for Stale() by @gaby in https://github.com/gofiber/fiber/pull/3555
- Update utils guide documentation by @ReneWerner87 in https://github.com/gofiber/fiber/pull/3575
- @aliziyacevik made their first contribution in https://github.com/gofiber/fiber/pull/3284
- @lars-schumann made their first contribution in https://github.com/gofiber/fiber/pull/3303
- @vhespanha made their first contribution in https://github.com/gofiber/fiber/pull/3287
- @alexandear made their first contribution in https://github.com/gofiber/fiber/pull/3366
- @edvardsanta made their first contribution in https://github.com/gofiber/fiber/pull/3359
- @mazyaryousefinia made their first contribution in https://github.com/gofiber/fiber/pull/3369
- @ZihxS made their first contribution in https://github.com/gofiber/fiber/pull/3432
- @KatzuYoru made their first contribution in https://github.com/gofiber/fiber/pull/3418
- @yorickdewid made their first contribution in https://github.com/gofiber/fiber/pull/3428
- @mdelapenya made their first contribution in https://github.com/gofiber/fiber/pull/3460
- @ckoch786 made their first contribution in https://github.com/gofiber/fiber/pull/3230
- @tongjicoder made their first contribution in https://github.com/gofiber/fiber/pull/3486
- @MonkyMars made their first contribution in https://github.com/gofiber/fiber/pull/3516
- @hungthai1401 made their first contribution in https://github.com/gofiber/fiber/pull/3549
- @LaptopCat made their first contribution in https://github.com/gofiber/fiber/pull/3535
- @hotrungnhan made their first contribution in https://github.com/gofiber/fiber/pull/3565
- @axrav made their first contribution in https://github.com/gofiber/fiber/pull/3578
A fully-detailed view of all new features and the migration guide is available in our docs:
https://docs.gofiber.io/next/whats_new
Full Changelog: https://github.com/gofiber/fiber/compare/v3.0.0-beta.4...v3.0.0-beta.5
v2.52.9
- Add upper index limit for parsers by @gaby in https://github.com/gofiber/fiber/pull/3503
- Embedded struct parsing by @ReneWerner87 in https://github.com/gofiber/fiber/pull/3478
- Fix Content-Type comparison in
Is()by @gaby in https://github.com/gofiber/fiber/pull/3537 - Fix MIME type equality checks by @gaby in https://github.com/gofiber/fiber/pull/3603
Full Changelog: https://github.com/gofiber/fiber/compare/v2.52.8...v2.52.9
v2.52.8
- Fix for BodyParser - GHSA-hg3g-gphw-5hhm
- Backport ctx.String() from v3 by @gaby in https://github.com/gofiber/fiber/pull/3294
- Fix routing with mount and static by @ReneWerner87 in https://github.com/gofiber/fiber/pull/3454
- Update usage of ctx.Redirect() by @andradei in https://github.com/gofiber/fiber/pull/3417
- Add AGENTS.md by @gaby in https://github.com/gofiber/fiber/pull/3461
Full Changelog: https://github.com/gofiber/fiber/compare/v2.52.6...v2.52.8
v2.52.6
- Use Content-Length for bytesReceived and bytesSent tags in Logger Middleware in v2 by @gaby in https://github.com/gofiber/fiber/pull/3067
- Fix handle un-matched open brackets in the query params by @dojutsu-user in https://github.com/gofiber/fiber/pull/3121
- Middleware/CORS: Remove Scheme Restriction by @zingi in https://github.com/gofiber/fiber/pull/3168
- Respect Immutable config for Body() by @nickajacks1 in https://github.com/gofiber/fiber/pull/3246
- Support Square Bracket Notation in Multipart Form data by @ReneWerner87 in https://github.com/gofiber/fiber/pull/3268
- Add detailed documentation for the templates guide by @grivera64 in https://github.com/gofiber/fiber/pull/3113
- Update benchmark-action to v1.20.3 by @gaby in https://github.com/gofiber/fiber/pull/3084
- Add CODEOWNERS file by @gaby in https://github.com/gofiber/fiber/pull/3124
- Update dependencies by @gaby in https://github.com/gofiber/fiber/pull/3254
- Add parallel benchmark for Next() by @gaby in https://github.com/gofiber/fiber/pull/3259
Full Changelog: https://github.com/gofiber/fiber/compare/v2.52.5...v2.52.6