{"full_name":"gin-gonic/gin","owner":"gin-gonic","name":"gin","url":"https://github.com/gin-gonic/gin","description":"Gin is a high-performance HTTP web framework written in Go. It provides a Martini-like API but with significantly better performance—up to 40 times faster—thanks to httprouter. Gin is designed for building REST APIs, web applications, and microservices.","homepage":"https://gin-gonic.com/","topics":[],"language":"Go","license":"MIT","avatar":"https://avatars.githubusercontent.com/u/7894478?v=4","created_at":"2014-06-16T23:57:25Z","pushed_at":"2026-10-10T04:20:35Z","metrics":{"stars":89615,"forks":8915,"watchers":1376,"issues":2415,"prs":2402,"releases":29,"issues_open":null,"issues_closed":null,"prs_open":null,"prs_closed":null,"prs_merged":null,"discussions":22},"growth":{"day":{"stars":10,"forks":0,"base_day":"2026-11-09"}},"history":{"dates":["2026-11-09","2026-11-10"],"stars":[89605,89615],"forks":[8915,8915],"watchers":[1376,1376],"issues_open":[null,null],"prs_open":[null,null]},"boards":{"total":188},"same_owner":[],"issues":[{"number":2535,"title":"how to binding param and json ","comments":21,"created_at":"2020-10-20T15:01:09Z"},{"number":2026,"title":"How to access the context from a template function?","comments":17,"created_at":"2019-08-20T21:33:31Z"},{"number":4278,"title":"Why no call to Request.MultipartForm.RemoveAll","comments":12,"created_at":"2025-06-26T07:15:54Z"},{"number":3501,"title":"Can't get ClientIP run in AWS Lambda with gin","comments":12,"created_at":"2023-02-16T04:40:39Z"},{"number":1985,"title":"Middleware doesn't apply to Redirect","comments":12,"created_at":"2019-07-12T06:33:59Z"},{"number":1898,"title":"DefaultQuery of type int, float or bool","comments":12,"created_at":"2019-05-13T10:38:19Z"},{"number":2811,"title":"Is there a way to list all the required fields using gin-gonic","comments":11,"created_at":"2021-08-04T06:34:04Z"},{"number":1847,"title":"Huge dependency","comments":11,"created_at":"2019-04-06T12:33:58Z"}],"discussions":[{"number":4849,"title":"Patch Release for CVE Fixes (CVE-2026-88031)","comments":4,"category":"General","created_at":"2026-09-22T17:51:42Z"},{"number":4780,"title":"Proposal: Support the QUERY method.","comments":0,"category":"Ideas","created_at":"2026-07-31T18:23:03Z"},{"number":4774,"title":"RFC: Extract optional serialization formats from Gin core into gin-contrib","comments":0,"category":"General","created_at":"2026-07-30T12:27:13Z"},{"number":4736,"title":"Consider making BSON support optional to avoid introducing the MongoDB driver as a core dependency","comments":1,"category":"Q&A","created_at":"2026-07-13T09:08:34Z"},{"number":4719,"title":"Proposal: Expose Middleware Information Through RouteInfo","comments":0,"category":"Ideas","created_at":"2026-06-28T04:50:06Z"},{"number":4700,"title":"[removed]","comments":0,"category":"Show and tell","created_at":"2026-06-10T13:56:12Z"},{"number":4649,"title":"Embed Agent Friendly Code Score Badge","comments":0,"category":"General","created_at":"2026-05-08T07:09:58Z"},{"number":4589,"title":"Changenotes — free AI changelog generator for gin","comments":0,"category":"Show and tell","created_at":"2026-03-17T06:06:26Z"}],"latest_release":{"name":"v1.12.0","tag":"v1.12.0","published_at":"2026-02-28T10:12:25Z","body":"## Changelog\r\n### Features\r\n* 192ac89eefc1c30f7c97ae48a9ffb1c6f1c8c8bc: feat(binding): add support for encoding.UnmarshalText in uri/query binding (#4203) (@takanuva15)\r\n* 53410d2e07054369e0960fbe2eed97e1b9966f12: feat(context): add GetError and GetErrorSlice methods for error retrieval (#4502) (@raju-mechatronics)\r\n* acc55e049e33b401e810dbd8c0d6dcb6b3ba2b05: feat(context): add Protocol Buffers support to content negotiation (#4423) (@1911860538)\r\n* 38e765119241d990705169bedb5002a29ae0cbd1: feat(context): implemented Delete method (@Spyder01)\r\n* 771dcc6476d7bc6abb9ec0235ecefa4d38fe6fb0: feat(gin): add option to use escaped path (#4420) (@ldesauw)\r\n* 4dec17afdff48e8018c83618fbbe69fceeb2b41d: feat(logger): color latency (#4146) (@wsyqn6)\r\n* d7776de7d444935ea4385999711bd6331a98fecb: feat(render): add bson protocol (#4145) (@laurentcau)\r\n### Bug fixes\r\n* b917b14ff9d189f16a7492be79d123a47806ee19: fix(binding): empty value error (#2169) (@guonaihong)\r\n* c3d1092b3b48addf6f9cd00fe274ec3bd14650eb: fix(binding): improve empty slice/array handling in form binding (#4380) (@1911860538)\r\n* 9914178584e42458ff7d23891463a880f58c9d86: fix(context): ClientIP handling for multiple X-Forwarded-For header values (#4472) (@Nurysso)\r\n* 2a794cd0b0faa7d829291375b27a3467ea972b0d: fix(debug): version mismatch (#4403) (@zeek0x)\r\n* c3d5a28ed6d3849da820195b6774d212bcc038a9: fix(gin): close os.File in RunFd to prevent resource leak (#4422) (@1911860538)\r\n* 5fad976b372e381312f8de69f0969f1284d229d3: fix(gin): literal colon routes not working with engine.Handler() (#4415) (@pawannn)\r\n* 63dd3e60cab89c27fb66bce1423bd268d52abad1: fix(recover): suppress http.ErrAbortHandler in recover (#4336) (@MondayCha)\r\n* 5c00df8afadd06cc5be530dde00fe6d9fa4a2e4a: fix(render): write content length in Data.Render (#4206) (@dengaleev)\r\n* 234a6d4c00cb77af9852aca0b8289745d5529b4b: fix(response): refine hijack behavior for response lifecycle (#4373) (@appleboy)\r\n* 472d086af2acd924cb4b9d7be0525f7d790f69bc: fix(tree): panic in findCaseInsensitivePathRec with RedirectFixedPath (#4535) (@veeceey)\r\n* 8e07d37c63e5536eb25f4af4c91eabeee4011fba: fix: Correct typos, improve documentation clarity, and remove dead code (#4511) (@mahanadh)\r\n### Enhancements\r\n* ba093d19477b896ac89a7fc3246af23d290b8e26: chore(binding): upgrade bson dependency to mongo-driver v2 (#4549) (@BobDu)\r\n* b2b489dbf4826c2c630717a77fd5e42774625410: chore(context): always trust xff headers from unix socket (#3359) (@WeidiDeng)\r\n* ecb3f7b5e2f3915bf1db240ed5eee572f8dbea36: chore(deps): upgrade golang.org/x/crypto to v0.45.0 (#4449) (@appleboy)\r\n* af6e8b70b8261bb0c99ad094fe552ab92991620a: chore(deps): upgrade quic-go to v0.57.1 (@appleboy)\r\n* db309081bc5c137b2aa15701ef53f7f19788da25: chore(logger): allow skipping query string output (#4547) (@USA-RedDragon)\r\n* 26c3a628655cad2388380cb8102d6ce7d4875f3b: chore(response): prevent Flush() panic when `http.Flusher` (#4479) (@Twacqwq)\r\n* 5dd833f1f26de0eb30eae47b17e05ced2482dc41: chore: bump minimum Go version to 1.24 and update workflows (#4388) (@appleboy)\r\n### Refactor\r\n* 39858a0859c914bd26948fa950477e11bd8d3823: refactor(binding): use maps.Copy for cleaner map handling (#4352) (@russcoss)\r\n* c0048f645ee945c4db30593afdea10123e2c30a6: refactor(context): omit the return value names (#4395) (@wanghaolong613)\r\n* 915e4c90d28ec4cffc6eb146e208ab5a65eac772: refactor(context): replace hardcoded localhost IPs with constants (#4481) (@pauloappbr)\r\n* 414de60574449457f3192a7a1d5528940db2836d: refactor(context): using maps.Clone (#4333) (@cuiweixie)\r\n* 59e9d4a794f12c4f9a6c7bed441b9644e5f6d99b: refactor(ginS): use sync.OnceValue to simplify engine function (#4314) (@1911860538)\r\n* 3ab698dc5110af1977d57226e4995c57dd34c233: refactor(recovery): smart error comparison (#4142) (@zeek0x)\r\n* d1a15347b1e45a8ee816193d3578a93bfd73b70f: refactor(utils): move util functions to utils.go (#4467) (@zeek0x)\r\n* e3118cc378d263454098924ebbde7e8d1dd2e904: refactor: for loop can be modernized using range over int (#439"},"readme":true,"readme_zh":false,"news":[{"title":"Ask HN: Which Go Web Framework (Pros and Cons)?","url":"https://news.ycombinator.com/item?id=8772760","hn":"https://news.ycombinator.com/item?id=8772760","source":"Hacker News","lang":"en","date":"2014-12-19","points":16,"comments":12},{"title":"Gin is 40x faster than Martini","url":"https://github.com/gin-gonic/gin","hn":"https://news.ycombinator.com/item?id=32374051","source":"Hacker News","lang":"en","date":"2022-08-07","points":2,"comments":0},{"title":"Execute Gin, Iris, Gorilla or Whatever Else on AWS Lambda Seamlessly","url":"https://news.ycombinator.com/item?id=12871069","hn":"https://news.ycombinator.com/item?id=12871069","source":"Hacker News","lang":"en","date":"2016-11-04","points":2,"comments":0},{"title":"Gin is a HTTP web framework written in Go (Golang)","url":"https://github.com/gin-gonic/gin","hn":"https://news.ycombinator.com/item?id=21105324","source":"Hacker News","lang":"en","date":"2019-09-29","points":1,"comments":0},{"title":"GHI: anyone know how to run golang gin with ssl?","url":"https://github.com/gin-gonic/gin/issues/614","hn":"https://news.ycombinator.com/item?id=11639487","source":"Hacker News","lang":"en","date":"2016-05-05","points":1,"comments":0},{"title":"GitHub开源项目Codex2API遭遇账号封禁，API反代服务面临监管风险","url":"https://news.google.com/rss/articles/CBMiY0FVX3lxTE1aSUxkbDB4a0RmcmwwbUE4QXhQU1F5WWNEYVRTNmN2RDZIeEdXR2JsYktqTG9DTUpEVkEwZ2l2RnpZUkMwa0lUSWZQbDBJSHczbkU4N2lkdENMQjJiNnlrNkVaRQ?oc=5","source":"www.80aj.com","lang":"zh","date":"2026-06-02"},{"title":"刚刚，DeepSeek开始频繁更新：Tile Kernels、DeepEP V2","url":"https://news.google.com/rss/articles/CBMieEFVX3lxTFB0WC10SjBrcE5aSWZVUllwY29HWnE3SVMxV3hHeWxXYlVTVlltSmVEN1A1cTVQdkN6SDVVZTVqNDlWQW5HeTRzQlVnUzRENjBJLXVZdDhjdkFuOV91S2p0b2RHZkFtV09Hb1haYU1LTlFHMnFrWWhnbg?oc=5","source":"新浪财经_金融信息服务商","lang":"zh","date":"2026-04-23"},{"title":"基于昇腾RecSDK的生成式推荐实践，快速训练生成式推荐网络","url":"https://news.google.com/rss/articles/CBMieEFVX3lxTE00aXZ5RUowSDFta1JYWnk1cENhSllrajVHRnlmeGM5MldYWTdpNXYwNXFXSE5qTWtfRVo0RGFIOVlyYTAxRFRaeUJEQUtYX2t6RDBjTnZuZWpQZU1mUUo2cUNzQ1lIR1ZoMXRRMWVTY2NNTjM0WFJycA?oc=5","source":"新浪财经","lang":"zh","date":"2026-01-27"},{"title":"Fusing Communication and Compute with New Device API and Copy Engine Collectives in NVIDIA NCCL 2.28","url":"https://news.google.com/rss/articles/CBMi0AFBVV95cUxQc0d4cjlJMklrNHlZaEszMVR2aUFObk8xVUotUDNOYUhSUkZkelJJVGhSeWtldS1SakFJZnBmMm1lNV9pM2VIU2RpQ01BM1JBaFR0eEZLQjdKOGZidml3bndFc1o1NEFCbFJJVnJqUkJEVEd4VGVrX3hDbXBJMFZsZGVzWVExNXZReHRpSVBuUEJfYU5TNjB3UWtueEpxakg3dEd2TU1RdjhmcmdXLWZ0V1Z3X0xVMVdpS292Z19WNTB6N3NFVWJWVFZOMGx1b0ht?oc=5","source":"NVIDIA Developer","lang":"en","date":"2025-11-10"},{"title":"Modeling CORS frameworks with CodeQL to find security vulnerabilities","url":"https://news.google.com/rss/articles/CBMivAFBVV95cUxORFRDdUNsWmhlQnZ0UVp1OTFEVXdPWkQtd2JxdzJoSlNkS1kxZkxaS01Ha01WV2w1NGlfTi1ldkRWdTM5WVdVdi1FbDZnZGlBS1ItUHkwSEJtUlAtR1lKR0JmV051UWx3VmFUSlpINlhGZkZqb3NJVFcyMVIyUmFYaFZCM2V2YVFYVHBHXzMwQmNUTXRMcVFqUmZRWmZFNHp6ZjBHc29RREJoNmRHNWUxSkdYTW15TmdLVHYtXw?oc=5","source":"The GitHub Blog","lang":"en","date":"2025-07-10"},{"title":"九个必备的Go语言GitHub库","url":"https://news.google.com/rss/articles/CBMiU0FVX3lxTE54VnRuOGN2T3FVTm0zZVN1RWxLNHZNeDBVVmM3TFNPWmh0dDh6cWVRdlpQTTUyY1h2RmpFYWw1X3AyQ1dGQm9ibWtMT29tc3l2eW53?oc=5","source":"51CTO","lang":"zh","date":"2024-02-26"},{"title":"M3 MacBook Pro 能提效？程序员、产品经理自证后，CTO：你赢了，新电脑在路上了","url":"https://news.google.com/rss/articles/CBMiVkFVX3lxTE95YUFBUEdqMHRyMU5JZkt1QzhlN19Hd0VNOWxEUjlvdTF4VTc1aTU0WURzdDYtVjZ4cUszMnpuWXpVbTRSWUFkdW1NZTlfWWUxMGRjY1dB?oc=5","source":"腾讯新闻","lang":"zh","date":"2024-01-03"},{"title":"How to establish and maintain a multimodal animal research dataset using DataLad","url":"https://news.google.com/rss/articles/CBMiX0FVX3lxTE16NkJ5eFJsYTNiSVJzM05KT3hsMWwxWTA4aWc0Q0Z4VE1ma1Z0WjEtdU5kMjJkYWdPV0tDbTNmYmJNMEI4RGlNcl9XaHItR0pFem55UTkwRGQ1Q3duMkRJ?oc=5","source":"Nature","lang":"en","date":"2023-06-05"},{"title":"Build, Test, and Deploy Scalable REST APIs in Go","url":"https://news.google.com/rss/articles/CBMickFVX3lxTE1FbU5fYV9ia1A4T1pzV3dseDBrbXRWUE13Z2NZTlJKWl91NjJfNmpoQ3BaU0RVUjRNN0EtLTcyUl8xOGw4blpJVlJ0STRoOU43aTdQazdUU001cEVFVmdJNDBwNEo5VUttR1RsY3VnWm5Qdw?oc=5","source":"infoq.com","lang":"en","date":"2022-11-02"},{"title":"5 Go Frameworks for Your Next Web App","url":"https://news.google.com/rss/articles/CBMiXEFVX3lxTE14UWs3c3RNUnE0d3pMLU5GMmQtazhRUXliY3JYSWlLVVg0U2p3ZkFabnBtcEwxVkxaTTdNc3FyblJpOE9TNWp3VHJoeFJlMlpyeEJBUzc1c2t2elpW?oc=5","source":"MakeUseOf","lang":"en","date":"2022-08-26"},{"title":"百尺竿头更进一步 – 拓展 Aurora的读写能力之Gaea篇","url":"https://news.google.com/rss/articles/CBMivwFBVV95cUxOSXZHcWI1QUJVVmMtemtZbENjYXFIU0xiZW9XMElybjJpcHVwTm9jbUxpTnFIX09vZnIza0RYdDRfOWFqVlVqdVFsb2NXY2VqVXA3a29tRDlaRDRHbjE4SnhnMElwb1otdzZuX3FIRnBuZnhqMkRXSmJ0REJzNnFYSTFYNkxSa1dxWWNHU0RxQ1EyMjFkX3R4MDNyTlFzWmdIQVgtU3NTY1U5OHh5M2Vld3NUSXUwM0o0WFpkSkd3aw?oc=5","source":"Amazon Web Services (AWS)","lang":"zh","date":"2022-04-18"}],"stale":false,"snapshot_at":"2026-11-10T09:35:25Z","history_start":"2026-09-06"}