github.com/gin-gonic/gin
v1.12.0
#10 most downloaded on Go modules
gin-gonic/gin
What this package is like to depend on
Last release 9 days ago
15 Aug 2026
Ships fairly regularly
a new release about every 2 weeks
Most releases are documented
notes for 24 of 28 stable releases
Nothing withdrawn
no release was ever pulled
12 years old
2357 releases · first in 2014
151 releases in the last 12 months
see the full history below
Release timeline
2357 releases · Aug 2018 to Aug 2026Releases
latest 60 of 2357-
v1.12.1-0.20260815054419-dcaa4296d11115 Aug 2026 pre-releaseNothing published for this version
-
v1.12.1-0.20260626164816-34dac209ffb626 Jun 2026 pre-releaseNothing published for this version
-
v1.12.1-0.20260623120830-03f3e420a3c323 Jun 2026 pre-releaseNothing published for this version
-
v1.12.1-0.20260622153441-d9307dbcbbe722 Jun 2026 pre-releaseNothing published for this version
-
v1.12.1-0.20260622131824-074b669a95fd22 Jun 2026 pre-releaseNothing published for this version
-
v1.12.1-0.20260622125628-4a3eb31fb15b22 Jun 2026 pre-releaseNothing published for this version
-
v1.12.1-0.20260602140214-d75fcd4c9ab202 Jun 2026 pre-releaseNothing published for this version
-
v1.12.1-0.20260509022032-5f4f9643258d09 May 2026 pre-releaseNothing published for this version
-
v1.12.1-0.20260330225428-a6315125d2a530 Mar 2026 pre-releaseNothing published for this version
-
v1.12.1-0.20260316124959-d3ffc998528116 Mar 2026 pre-releaseNothing published for this version
-
v1.12.1-0.20260315091642-ecd26c88355715 Mar 2026 pre-releaseNothing published for this version
-
v1.12.1-0.20260315063458-a749e4d33c2d15 Mar 2026 pre-releaseNothing published for this version
-
v1.12.1-0.20260313144200-6d880724cc5513 Mar 2026 pre-releaseNothing published for this version
-
v1.12.1-0.20260313144018-48667a2dd11713 Mar 2026 pre-releaseNothing published for this version
-
v1.12.1-0.20260304061036-3e44fdc4d16304 Mar 2026 pre-releaseNothing published for this version
-
v1.12.1-0.20260228135528-cb2b764cc8a828 Feb 2026 pre-releaseNothing published for this version
-
v1.12.1-0.20260228123849-ff00c01e674228 Feb 2026 pre-releaseNothing published for this version
-
v1.12.028 Feb 2026Release notes
Open source →Changelog
Features
- 192ac89: feat(binding): add support for encoding.UnmarshalText in uri/query binding (#4203) (@takanuva15)
- 53410d2: feat(context): add GetError and GetErrorSlice methods for error retrieval (#4502) (@raju-mechatronics)
- acc55e0: feat(context): add Protocol Buffers support to content negotiation (#4423) (@1911860538)
- 38e7651: feat(context): implemented Delete method (@Spyder01)
- 771dcc6: feat(gin): add option to use escaped path (#4420) (@ldesauw)
- 4dec17a: feat(logger): color latency (#4146) (@wsyqn6)
- d7776de: feat(render): add bson protocol (#4145) (@laurentcau)
Bug fixes
- b917b14: fix(binding): empty value error (#2169) (@guonaihong)
- c3d1092: fix(binding): improve empty slice/array handling in form binding (#4380) (@1911860538)
- 9914178: fix(context): ClientIP handling for multiple X-Forwarded-For header values (#4472) (@Nurysso)
- 2a794cd: fix(debug): version mismatch (#4403) (@zeek0x)
- c3d5a28: fix(gin): close os.File in RunFd to prevent resource leak (#4422) (@1911860538)
- 5fad976: fix(gin): literal colon routes not working with engine.Handler() (#4415) (@pawannn)
- 63dd3e6: fix(recover): suppress http.ErrAbortHandler in recover (#4336) (@MondayCha)
- 5c00df8: fix(render): write content length in Data.Render (#4206) (@dengaleev)
- 234a6d4: fix(response): refine hijack behavior for response lifecycle (#4373) (@appleboy)
- 472d086: fix(tree): panic in findCaseInsensitivePathRec with RedirectFixedPath (#4535) (@veeceey)
- 8e07d37: fix: Correct typos, improve documentation clarity, and remove dead code (#4511) (@mahanadh)
Enhancements
- ba093d1: chore(binding): upgrade bson dependency to mongo-driver v2 (#4549) (@BobDu)
- b2b489d: chore(context): always trust xff headers from unix socket (#3359) (@WeidiDeng)
- ecb3f7b: chore(deps): upgrade golang.org/x/crypto to v0.45.0 (#4449) (@appleboy)
- af6e8b7: chore(deps): upgrade quic-go to v0.57.1 (@appleboy)
- db30908: chore(logger): allow skipping query string output (#4547) (@USA-RedDragon)
- 26c3a62: chore(response): prevent Flush() panic when
http.Flusher(#4479) (@Twacqwq) - 5dd833f: chore: bump minimum Go version to 1.24 and update workflows (#4388) (@appleboy)
Refactor
- 39858a0: refactor(binding): use maps.Copy for cleaner map handling (#4352) (@russcoss)
- c0048f6: refactor(context): omit the return value names (#4395) (@wanghaolong613)
- 915e4c9: refactor(context): replace hardcoded localhost IPs with constants (#4481) (@pauloappbr)
- 414de60: refactor(context): using maps.Clone (#4333) (@cuiweixie)
- 59e9d4a: refactor(ginS): use sync.OnceValue to simplify engine function (#4314) (@1911860538)
- 3ab698d: refactor(recovery): smart error comparison (#4142) (@zeek0x)
- d1a1534: refactor(utils): move util functions to utils.go (#4467) (@zeek0x)
- e3118cc: refactor: for loop can be modernized using range over int (#4392) (@wanghaolong613)
- 488f8c3: refactor: replace magic numbers with named constants in bodyAllowedForStatus (#4529) (@veeceey)
- 9968c4b: refactor: use b.Loop() to simplify the code and improve performance (#4389) (@reddaisyy)
- a85ef5c: refactor: use b.Loop() to simplify the code and improve performance (#4432) (@efcking)
Build process updates
- 61b67de: ci(bot): increase frequency and group updates for dependencies (#4367) (@appleboy)
- fb27ef2: ci(lint): refactor test assertions and linter configuration (#4436) (@appleboy)
- 93ff771: ci(sec): improve type safety and server organization in HTTP middleware (#4437) (@appleboy)
- e88fc89: ci(sec): schedule Trivy security scans to run daily at midnight UTC (#4439) (@appleboy)
- 5e5ff3a: ci: replace vulnerability scanning workflow with Trivy integration (#4421) (@appleboy)
- 00900fb: ci: update CI workflows and standardize Trivy config quotes (#4531) (@appleboy)
- ae3f524: ci: update Go version support to 1.25+ across CI and docs (#4550) (@appleboy)
Documentation updates
- dceb61e: docs(README): add a Trivy security scan badge (#4426) (@appleboy)
- 58135f0: docs(context): add example comments for ShouldBind* methods (#4428) (@AtoriUzawa)
- c221133: docs(context): fix some comments (#4396) (@letreturn)
- 731374f: docs(context): fix wrong function name in comment (#4382) (@goldlinker)
- 4dd00f8: docs(readme): revamp and expand documentation for clarity and completeness (#4362) (@appleboy)
- 1bbbec0: docs: announce Gin 1.11.0 release with blog link (#4363) (@appleboy)
- e292e5c: docs: document and finalize Gin v1.12.0 release (#4551) (@appleboy)
- 7925414: docs: revamp GitHub contribution and support templates (#4364) (@appleboy)
- 6a1d121: docs: revamp contributing guidelines with comprehensive instructions (#4365) (@appleboy)
- 73726dc: docs: update documentation to reflect Go version changes (#4552) (@appleboy)
- f3a5e78: docs: update feature documentation instructions for broken doc link (@appleboy)
Others
- 440eb14: perf(path): replace regex with custom functions in redirectTrailingSlash (#4414) (@1911860538)
- 64a6ed9: perf(recovery): optimize line reading in stack function (#4466) (@1911860538)
- 2e22e50: perf(tree): optimize path parsing using strings.Count (#4246) (@1911860538)
- cad29c5: perf(tree): reduce allocations in findCaseInsensitivePath (#4417) (@arturmelanchyk)
- ed150e7: test(benchmarks): fix the incorrect function name (#4375) (@mengxunQAQ)
- 583db59: test(bytesconv): add tests for empty/nil cases (#4454) (@miladev95)
- fb25834: test(context): use http.StatusContinue constant instead of magic number 100 (#4542) (@mehrdadbn9)
- 19b877f: test(debug): improve the test coverage of debug.go to 100% (#4404) (@zeek0x)
- c358d56: test(gin): Add comprehensive test coverage for ginS package (#4442) (@miladev95)
- f416d1e: test(gin): resolve race conditions in integration tests (#4453) (@Planckbaka)
- 6f1d5fe: test(render): add comprehensive error handling tests (#4541) (@Amirhf1)
- 216a4a7: test(render): add comprehensive tests for MsgPack render (#4537) (@Amirhf1)
Release notes
Open source →Features
- feat(render): add bson protocol (#4145)
- feat(context): add GetError and GetErrorSlice methods for error retrieval (#4502)
- feat(binding): add support for encoding.UnmarshalText in uri/query binding (#4203)
- feat(gin): add option to use escaped path (#4420)
- feat(context): add Protocol Buffers support to content negotiation (#4423)
- feat(context): implemented Delete method (#38e7651)
- feat(logger): color latency (#4146)
Enhancements
- perf(tree): reduce allocations in findCaseInsensitivePath (#4417)
- perf(recovery): optimize line reading in stack function (#4466)
- perf(path): replace regex with custom functions in redirectTrailingSlash (#4414)
- perf(tree): optimize path parsing using strings.Count (#4246)
- chore(logger): allow skipping query string output (#4547)
- chore(context): always trust xff headers from unix socket (#3359)
- chore(response): prevent Flush() panic when the underlying ResponseWriter does not implement
http.Flusher(#4479) - refactor(recovery): smart error comparison (#4142)
- refactor(context): replace hardcoded localhost IPs with constants (#4481)
- refactor(utils): move util functions to utils.go (#4467)
- refactor(binding): use maps.Copy for cleaner map handling (#4352)
- refactor(context): using maps.Clone (#4333)
- refactor(ginS): use sync.OnceValue to simplify engine function (#4314)
- refactor: replace magic numbers with named constants in bodyAllowedForStatus (#4529)
- refactor: for loop can be modernized using range over int (#4392)
Bug Fixes
- fix(tree): panic in findCaseInsensitivePathRec with RedirectFixedPath (#4535)
- fix(render): write content length in Data.Render (#4206)
- fix(context): ClientIP handling for multiple X-Forwarded-For header values (#4472)
- fix(binding): empty value error (#2169)
- fix(recover): suppress http.ErrAbortHandler in recover (#4336)
- fix(gin): literal colon routes not working with engine.Handler() (#4415)
- fix(gin): close os.File in RunFd to prevent resource leak (#4422)
- fix(response): refine hijack behavior for response lifecycle (#4373)
- fix(binding): improve empty slice/array handling in form binding (#4380)
- fix(debug): version mismatch (#4403)
- fix: correct typos, improve documentation clarity, and remove dead code (#4511)
Build process updates / CI
-
v1.11.1-0.20260228031527-472d086af2ac28 Feb 2026 pre-releaseNothing published for this version
-
v1.11.1-0.20260228021311-fb2583442c4d28 Feb 2026 pre-releaseNothing published for this version
-
v1.11.1-0.20260228020731-5c00df8afadd28 Feb 2026 pre-releaseNothing published for this version
-
v1.11.1-0.20260227153346-db309081bc5c27 Feb 2026 pre-releaseNothing published for this version
-
v1.11.1-0.20260221143956-81dba468722f21 Feb 2026 pre-releaseNothing published for this version
-
v1.11.1-0.20260217164002-5260de6a832817 Feb 2026 pre-releaseNothing published for this version
-
v1.11.1-0.20260215025817-f5c267d2f84b15 Feb 2026 pre-releaseNothing published for this version
-
v1.11.1-0.20260213055640-71cefce08e9e13 Feb 2026 pre-releaseNothing published for this version
-
v1.11.1-0.20260127020901-d7776de7d44427 Jan 2026 pre-releaseNothing published for this version
-
v1.11.1-0.20260124165111-e3118cc378d224 Jan 2026 pre-releaseNothing published for this version
-
v1.11.1-0.20260124095509-d9e5cdf9c6f924 Jan 2026 pre-releaseNothing published for this version
-
v1.11.1-0.20260118045622-b2b489dbf48218 Jan 2026 pre-releaseNothing published for this version
-
v1.11.1-0.20260117084043-3ab698dc511017 Jan 2026 pre-releaseNothing published for this version
-
v1.11.1-0.20260102021527-9914178584e402 Jan 2026 pre-releaseNothing published for this version
-
v1.11.1-0.20251227112517-915e4c90d28e27 Dec 2025 pre-releaseNothing published for this version
-
v1.11.1-0.20251224103520-26c3a628655c24 Dec 2025 pre-releaseNothing published for this version
-
v1.11.1-0.20251212054325-d1a15347b1e412 Dec 2025 pre-releaseNothing published for this version
-
v1.11.1-0.20251212054203-64a6ed9a41ab12 Dec 2025 pre-releaseNothing published for this version
-
v1.11.1-0.20251205031808-19b877fa50cb05 Dec 2025 pre-releaseNothing published for this version
-
v1.11.1-0.20251204024937-2a794cd0b0fa04 Dec 2025 pre-releaseNothing published for this version
-
v1.11.1-0.20251203111810-b917b14ff9d103 Dec 2025 pre-releaseNothing published for this version
-
v1.11.1-0.20251202120941-fad706f1216e02 Dec 2025 pre-releaseNothing published for this version
-
v1.11.1-0.20251130073807-f416d1e594a030 Nov 2025 pre-releaseNothing published for this version
-
v1.11.1-0.20251130072546-583db590ec2a30 Nov 2025 pre-releaseNothing published for this version
-
v1.11.1-0.20251130035247-af6e8b70b82630 Nov 2025 pre-releaseNothing published for this version
-
v1.11.1-0.20251127152052-63dd3e60cab827 Nov 2025 pre-releaseNothing published for this version
-
v1.11.1-0.20251127150157-c358d5656d0f27 Nov 2025 pre-releaseNothing published for this version
-
v1.11.1-0.20251127095534-771dcc6476d727 Nov 2025 pre-releaseNothing published for this version
-
v1.11.1-0.20251126153308-52ecf029bd2e26 Nov 2025 pre-releaseNothing published for this version
-
v1.11.1-0.20251126153218-440eb14ab8ed26 Nov 2025 pre-releaseNothing published for this version
-
v1.11.1-0.20251123034613-ecb3f7b5e2f323 Nov 2025 pre-releaseNothing published for this version
-
v1.11.1-0.20251118150554-e88fc8927a5218 Nov 2025 pre-releaseNothing published for this version
-
v1.11.1-0.20251116012207-5fad976b372e16 Nov 2025 pre-releaseNothing published for this version
-
v1.11.1-0.20251115150332-93ff771e6dbf15 Nov 2025 pre-releaseNothing published for this version
-
v1.11.1-0.20251115114645-58135f06cf2015 Nov 2025 pre-releaseNothing published for this version
-
v1.11.1-0.20251115112218-a85ef5ce4d0c15 Nov 2025 pre-releaseNothing published for this version
-
v1.11.1-0.20251115112142-fb27ef26c2fd15 Nov 2025 pre-releaseNothing published for this version
-
v1.11.1-0.20251115044225-19c2d5c0d1d015 Nov 2025 pre-releaseNothing published for this version
-
v1.11.1-0.20251115043248-a9401cd2383715 Nov 2025 pre-releaseNothing published for this version
-
v1.11.1-0.20251115043223-d1bcabc7ee4c15 Nov 2025 pre-releaseNothing published for this version
-
v1.11.1-0.20251107040119-c3d5a28ed6d307 Nov 2025 pre-releaseNothing published for this version
-
v1.11.1-0.20251107035958-acc55e049e3307 Nov 2025 pre-releaseNothing published for this version