{"id":674,"name":"github.com/gin-gonic/gin","ecosystem":"go","repository_url":"https://github.com/gin-gonic/gin","issues_count":1656,"created_at":"2025-06-06T15:01:36.447Z","updated_at":"2025-06-06T15:01:36.447Z","purl":"pkg:golang/github.com/gin-gonic/gin","metadata":{"id":3493160,"name":"github.com/gin-gonic/gin","ecosystem":"go","description":"Package gin implements a HTTP web framework called gin.\n\nSee https://gin-gonic.com/ for more information about gin.","homepage":"https://github.com/gin-gonic/gin","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/gin-gonic/gin","keywords_array":[],"namespace":"github.com/gin-gonic","versions_count":26,"first_release_published_at":"2016-12-03T17:45:30.000Z","latest_release_published_at":"2025-05-20T09:33:47.000Z","latest_release_number":"v1.10.1","last_synced_at":"2025-06-05T20:01:10.844Z","created_at":"2022-04-10T19:14:56.203Z","updated_at":"2025-06-05T20:01:10.844Z","registry_url":"https://pkg.go.dev/github.com/gin-gonic/gin","install_command":"go get github.com/gin-gonic/gin","documentation_url":"https://pkg.go.dev/github.com/gin-gonic/gin#section-documentation","metadata":{},"repo_metadata":{"uuid":"20904437","full_name":"gin-gonic/gin","owner":"gin-gonic","description":"Gin is a HTTP web framework written in Go (Golang). It features a Martini-like API with much better performance -- up to 40 times faster. If you need smashing performance, get yourself some Gin.","archived":false,"fork":false,"pushed_at":"2023-03-13T22:58:22.000Z","size":3209,"stargazers_count":67304,"open_issues_count":657,"forks_count":7295,"subscribers_count":1373,"default_branch":"master","last_synced_at":"2023-03-19T11:26:36.062Z","etag":null,"topics":["framework","gin","go","middleware","performance","router","server"],"latest_commit_sha":null,"homepage":"https://gin-gonic.com/","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"logo_url":null,"metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-06-16T23:57:25.000Z","updated_at":"2023-03-19T11:07:19.000Z","dependencies_parsed_at":"2023-01-16T21:01:12.135Z","dependency_job_id":null,"html_url":"https://github.com/gin-gonic/gin","commit_stats":null,"repository_url":"http://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gin-gonic%2Fgin","tags_url":"http://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gin-gonic%2Fgin/tags","manifests_url":"http://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gin-gonic%2Fgin/manifests","owner_url":"http://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gin-gonic","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":108921946,"host_url":"http://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"http://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"http://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names"},"owner_record":{"login":"gin-gonic","name":"Gin-Gonic","uuid":"7894478","kind":"organization","description":"","email":null,"website":"https://gin-gonic.com/","location":"$GOPATH","twitter":null,"company":null,"avatar_url":"https://avatars.githubusercontent.com/u/7894478?v=4","repositories_count":13,"last_synced_at":"2023-02-19T18:02:21.463Z","metadata":{"has_sponsors_listing":false},"owner_url":"http://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gin-gonic"},"tags":[{"name":"v1.8.2","sha":"6a2a26093d046d8ea92542a0fb38721c4ee40bd5","kind":"commit","published_at":"2022-12-22T13:39:25.000Z","download_url":"https://codeload.github.com/gin-gonic/gin/tar.gz/v1.8.2","html_url":"https://github.com/gin-gonic/gin/releases/tag/v1.8.2"},{"name":"v1.8.1","sha":"ed049dd850fb09f93c6993c829744997269a35b5","kind":"commit","published_at":"2022-06-06T13:01:40.000Z","download_url":"https://codeload.github.com/gin-gonic/gin/tar.gz/v1.8.1","html_url":"https://github.com/gin-gonic/gin/releases/tag/v1.8.1"},{"name":"v1.8.0","sha":"38eb5acc6b07eea5bf455e8d188bf79fa897c7c3","kind":"commit","published_at":"2022-05-30T07:16:10.000Z","download_url":"https://codeload.github.com/gin-gonic/gin/tar.gz/v1.8.0","html_url":"https://github.com/gin-gonic/gin/releases/tag/v1.8.0"},{"name":"v1.7.7","sha":"84d927b8ad57ed9e1cda240b41fa2eed55066103","kind":"commit","published_at":"2021-11-24T13:54:13.000Z","download_url":"https://codeload.github.com/gin-gonic/gin/tar.gz/v1.7.7","html_url":"https://github.com/gin-gonic/gin/releases/tag/v1.7.7"},{"name":"v1.7.4","sha":"92eeaa4ebbadec2376e2ca5f5749888da1a42e24","kind":"commit","published_at":"2021-08-03T02:40:44.000Z","download_url":"https://codeload.github.com/gin-gonic/gin/tar.gz/v1.7.4","html_url":"https://github.com/gin-gonic/gin/releases/tag/v1.7.4"},{"name":"v1.7.3","sha":"92eeaa4ebbadec2376e2ca5f5749888da1a42e24","kind":"commit","published_at":"2021-08-03T02:40:44.000Z","download_url":"https://codeload.github.com/gin-gonic/gin/tar.gz/v1.7.3","html_url":"https://github.com/gin-gonic/gin/releases/tag/v1.7.3"},{"name":"v1.7.6","sha":"92eeaa4ebbadec2376e2ca5f5749888da1a42e24","kind":"commit","published_at":"2021-08-03T02:40:44.000Z","download_url":"https://codeload.github.com/gin-gonic/gin/tar.gz/v1.7.6","html_url":"https://github.com/gin-gonic/gin/releases/tag/v1.7.6"},{"name":"v1.7.2","sha":"3f5c0518286b50108bc123eaf061ef80141dc701","kind":"commit","published_at":"2021-05-21T23:41:37.000Z","download_url":"https://codeload.github.com/gin-gonic/gin/tar.gz/v1.7.2","html_url":"https://github.com/gin-gonic/gin/releases/tag/v1.7.2"},{"name":"v1.7.1","sha":"51c7d001e086ef3eda9cb08d5bbb63c605ec06af","kind":"commit","published_at":"2021-04-08T23:38:13.000Z","download_url":"https://codeload.github.com/gin-gonic/gin/tar.gz/v1.7.1","html_url":"https://github.com/gin-gonic/gin/releases/tag/v1.7.1"},{"name":"v1.7.0","sha":"d496f64540b6707602de50ab57aeea8ff4080b74","kind":"commit","published_at":"2021-04-08T07:47:41.000Z","download_url":"https://codeload.github.com/gin-gonic/gin/tar.gz/v1.7.0","html_url":"https://github.com/gin-gonic/gin/releases/tag/v1.7.0"},{"name":"v1.6.3","sha":"6a8b8b6651a228590bbc42145483ff864f4f6e89","kind":"commit","published_at":"2020-05-03T14:00:20.000Z","download_url":"https://codeload.github.com/gin-gonic/gin/tar.gz/v1.6.3","html_url":"https://github.com/gin-gonic/gin/releases/tag/v1.6.3"},{"name":"v1.6.2","sha":"298ebca69107001096eaf81c4b4977b14ffa0e6d","kind":"commit","published_at":"2020-03-27T02:57:36.000Z","download_url":"https://codeload.github.com/gin-gonic/gin/tar.gz/v1.6.2","html_url":"https://github.com/gin-gonic/gin/releases/tag/v1.6.2"},{"name":"v1.6.1","sha":"07a6818d24f9b0e3c97b6c44e19af877003bad46","kind":"commit","published_at":"2020-03-23T10:00:58.000Z","download_url":"https://codeload.github.com/gin-gonic/gin/tar.gz/v1.6.1","html_url":"https://github.com/gin-gonic/gin/releases/tag/v1.6.1"},{"name":"v1.6.0","sha":"c4fd2489ced13e86c6e9328e7d66cd3bb2957f00","kind":"commit","published_at":"2020-03-22T02:25:35.000Z","download_url":"https://codeload.github.com/gin-gonic/gin/tar.gz/v1.6.0","html_url":"https://github.com/gin-gonic/gin/releases/tag/v1.6.0"},{"name":"v1.5.0","sha":"15ced05c5316609bce5b43389f8e3f06102a8b18","kind":"commit","published_at":"2019-11-24T02:25:21.000Z","download_url":"https://codeload.github.com/gin-gonic/gin/tar.gz/v1.5.0","html_url":"https://github.com/gin-gonic/gin/releases/tag/v1.5.0"},{"name":"v1.4.0","sha":"b75d67cd51eb53c3c3a2fc406524c940021ffbda","kind":"commit","published_at":"2019-05-07T11:43:05.000Z","download_url":"https://codeload.github.com/gin-gonic/gin/tar.gz/v1.4.0","html_url":"https://github.com/gin-gonic/gin/releases/tag/v1.4.0"},{"name":"v1.3.0","sha":"b869fe1415e4b9eb52f247441830d502aece2d4d","kind":"commit","published_at":"2018-08-14T08:58:52.000Z","download_url":"https://codeload.github.com/gin-gonic/gin/tar.gz/v1.3.0","html_url":"https://github.com/gin-gonic/gin/releases/tag/v1.3.0"},{"name":"v1.2","sha":"d459835d2b077e44f7c9b453505ee29881d5d12d","kind":"tag","published_at":"2017-07-02T09:29:42.000Z","download_url":"https://codeload.github.com/gin-gonic/gin/tar.gz/v1.2","html_url":"https://github.com/gin-gonic/gin/releases/tag/v1.2"},{"name":"v1.1.4","sha":"e2212d40c62a98b388a5eb48ecbdcf88534688ba","kind":"tag","published_at":"2016-12-04T22:13:30.000Z","download_url":"https://codeload.github.com/gin-gonic/gin/tar.gz/v1.1.4","html_url":"https://github.com/gin-gonic/gin/releases/tag/v1.1.4"},{"name":"v1.1.3","sha":"041ca04a4768ededad44dcc2748f3d47e4b59bde","kind":"tag","published_at":"2016-12-03T21:10:29.000Z","download_url":"https://codeload.github.com/gin-gonic/gin/tar.gz/v1.1.3","html_url":"https://github.com/gin-gonic/gin/releases/tag/v1.1.3"},{"name":"v1.1.2","sha":"7dc96be477778b6912cd12417e57a99256e201a6","kind":"tag","published_at":"2016-12-03T21:05:54.000Z","download_url":"https://codeload.github.com/gin-gonic/gin/tar.gz/v1.1.2","html_url":"https://github.com/gin-gonic/gin/releases/tag/v1.1.2"},{"name":"v1.1.1","sha":"556287ff0856a5ad1f9a1b493c188cabeceba929","kind":"tag","published_at":"2016-12-03T20:56:18.000Z","download_url":"https://codeload.github.com/gin-gonic/gin/tar.gz/v1.1.1","html_url":"https://github.com/gin-gonic/gin/releases/tag/v1.1.1"},{"name":"v1.1","sha":"32cab500ecc71d2975f5699c8a65c6debb29cfbe","kind":"tag","published_at":"2016-12-03T09:11:33.000Z","download_url":"https://codeload.github.com/gin-gonic/gin/tar.gz/v1.1","html_url":"https://github.com/gin-gonic/gin/releases/tag/v1.1"},{"name":"v1.0","sha":"2dae550eb5392006a4582ce9c90016a9b5a74e8b","kind":"tag","published_at":"2016-10-12T14:43:24.000Z","download_url":"https://codeload.github.com/gin-gonic/gin/tar.gz/v1.0","html_url":"https://github.com/gin-gonic/gin/releases/tag/v1.0"},{"name":"v1.0-rc.2","sha":"2dae550eb5392006a4582ce9c90016a9b5a74e8b","kind":"tag","published_at":"2016-10-12T12:20:11.000Z","download_url":"https://codeload.github.com/gin-gonic/gin/tar.gz/v1.0-rc.2","html_url":"https://github.com/gin-gonic/gin/releases/tag/v1.0-rc.2"},{"name":"v1.0rc1","sha":"9163ee543d3f1fab9b0ad8cdf6dc2a6ec2c07dbb","kind":"tag","published_at":"2015-05-22T15:01:16.000Z","download_url":"https://codeload.github.com/gin-gonic/gin/tar.gz/v1.0rc1","html_url":"https://github.com/gin-gonic/gin/releases/tag/v1.0rc1"},{"name":"v0.6","sha":"e2fa89777e344782ef5d31929f095f4589c35dcc","kind":"tag","published_at":"2015-03-09T01:53:17.000Z","download_url":"https://codeload.github.com/gin-gonic/gin/tar.gz/v0.6","html_url":"https://github.com/gin-gonic/gin/releases/tag/v0.6"},{"name":"v0.5","sha":"50e7e427300a7eeeb299a4cd5bc1ebfa04d48528","kind":"tag","published_at":"2015-02-07T14:12:20.000Z","download_url":"https://codeload.github.com/gin-gonic/gin/tar.gz/v0.5","html_url":"https://github.com/gin-gonic/gin/releases/tag/v0.5"},{"name":"v0.4","sha":"2d94e272434dfa6fd010c307fbd0d69430bbab98","kind":"commit","published_at":"2014-08-20T23:15:31.000Z","download_url":"https://codeload.github.com/gin-gonic/gin/tar.gz/v0.4","html_url":"https://github.com/gin-gonic/gin/releases/tag/v0.4"},{"name":"v0.3","sha":"7a6d58d8c4be09b14a7cf5a3c5e313d81934d5b1","kind":"commit","published_at":"2014-07-18T13:22:38.000Z","download_url":"https://codeload.github.com/gin-gonic/gin/tar.gz/v0.3","html_url":"https://github.com/gin-gonic/gin/releases/tag/v0.3"},{"name":"v0.2b","sha":"545101811abffb554e6d84e878734c5f08b91bcf","kind":"commit","published_at":"2014-07-07T23:32:41.000Z","download_url":"https://codeload.github.com/gin-gonic/gin/tar.gz/v0.2b","html_url":"https://github.com/gin-gonic/gin/releases/tag/v0.2b"},{"name":"v0.1","sha":"bf1ecfcf70c295d88fd38f3bea31fca7c65ccdaf","kind":"commit","published_at":"2014-06-30T02:04:45.000Z","download_url":"https://codeload.github.com/gin-gonic/gin/tar.gz/v0.1","html_url":"https://github.com/gin-gonic/gin/releases/tag/v0.1"}]},"repo_metadata_updated_at":"2023-03-21T18:38:08.276Z","dependent_packages_count":30041,"downloads":null,"downloads_period":null,"dependent_repos_count":55159,"rankings":{"downloads":null,"dependent_repos_count":0.021970643524255488,"dependent_packages_count":0.007905325006390993,"stargazers_count":0.008213324681964668,"forks_count":0.033366631520481464,"docker_downloads_count":0.18089847612027182,"average":0.05047088017067288},"purl":"pkg:golang/github.com/gin-gonic/gin","advisories":[{"uuid":"GSA_kwCzR0hTQS0zdnA0LW0zcmYtODM1aM4AAzFG","url":"https://github.com/advisories/GHSA-3vp4-m3rf-835h","title":"Improper input validation in github.com/gin-gonic/gin","description":"Versions of the package github.com/gin-gonic/gin before version 1.9.0 are vulnerable to Improper Input Validation by allowing an attacker to use a specially crafted request via the X-Forwarded-Prefix header, potentially leading to cache poisoning.\n\n**Note:** Although this issue does not pose a significant threat on its own it can serve as an input vector for other more impactful vulnerabilities. However, successful exploitation may depend on the server configuration and whether the header is used in the application logic.","origin":"UNSPECIFIED","severity":"MODERATE","published_at":"2023-05-04T06:30:12.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":0.0,"cvss_vector":null,"references":["https://nvd.nist.gov/vuln/detail/CVE-2023-26125","https://github.com/gin-gonic/gin/pull/3500","https://github.com/gin-gonic/gin/pull/3503","https://github.com/t0rchwo0d/gin/commit/fd9f98e70fb4107ee68c783482d231d35e60507b","https://github.com/gin-gonic/gin/releases/tag/v1.9.0","https://security.snyk.io/vuln/SNYK-GOLANG-GITHUBCOMGINGONICGIN-3324285","https://github.com/advisories/GHSA-3vp4-m3rf-835h"],"source_kind":"github","identifiers":["GHSA-3vp4-m3rf-835h","CVE-2023-26125"],"repository_url":"https://github.com/gin-gonic/gin","blast_radius":0.0,"packages":[{"versions":[{"first_patched_version":"1.9.0","vulnerable_version_range":"\u003c 1.9.0"}],"ecosystem":"go","package_name":"github.com/gin-gonic/gin"}],"created_at":"2023-05-05T03:03:15.917Z","updated_at":"2025-01-29T18:48:19.000Z","epss_percentage":0.00126,"epss_percentile":0.33268},{"uuid":"GSA_kwCzR0hTQS04NjljLWo3d2MtOGpxds4AA9as","url":"https://github.com/advisories/GHSA-869c-j7wc-8jqv","title":"Gin mishandles a wildcard at the end of an origin string","description":"parseWildcardRules in Gin-Gonic CORS middleware before 1.6.0 mishandles a wildcard at the end of an origin string, e.g., https://example.community/* is allowed when the intention is that only https://example.com/* should be allowed, and http://localhost.example.com/* is allowed when the intention is that only http://localhost/* should be allowed.","origin":"UNSPECIFIED","severity":"CRITICAL","published_at":"2024-06-29T06:31:40.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":9.3,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N","references":["https://nvd.nist.gov/vuln/detail/CVE-2019-25211","https://github.com/gin-contrib/cors/pull/106","https://github.com/gin-contrib/cors/pull/57","https://github.com/gin-contrib/cors/commit/27b723a473efd80d5a498fa9f5933c80204c850d","https://github.com/gin-contrib/cors/compare/v1.5.0...v1.6.0","https://github.com/gin-contrib/cors/releases/tag/v1.6.0","https://github.com/advisories/GHSA-869c-j7wc-8jqv"],"source_kind":"github","identifiers":["GHSA-869c-j7wc-8jqv","CVE-2019-25211"],"repository_url":"https://github.com/gin-contrib/cors","blast_radius":44.09703237188311,"packages":[{"versions":[{"first_patched_version":"1.6.0","vulnerable_version_range":"\u003c 1.6.0"}],"ecosystem":"go","package_name":"github.com/gin-contrib/cors"},{"versions":[{"first_patched_version":"1.6.0","vulnerable_version_range":"\u003c 1.6.0"}],"ecosystem":"go","package_name":"github.com/gin-gonic/gin"}],"created_at":"2024-07-01T22:05:21.467Z","updated_at":"2025-03-14T21:38:52.000Z","epss_percentage":0.00133,"epss_percentile":0.34441},{"uuid":"GSA_kwCzR0hTQS0yYzRtLTU5eDktZnIyZ84AAzUB","url":"https://github.com/advisories/GHSA-2c4m-59x9-fr2g","title":"Gin Web Framework does not properly sanitize filename parameter of Context.FileAttachment function","description":"The filename parameter of the Context.FileAttachment function is not properly sanitized. A maliciously crafted filename can cause the Content-Disposition header to be sent with an unexpected filename value or otherwise modify the Content-Disposition header. For example, a filename of \"setup.bat\u0026quot;;x=.txt\" will be sent as a file named \"setup.bat\".\n\nIf the FileAttachment function is called with names provided by an untrusted source, this may permit an attacker to cause a file to be served with a name different than provided. Maliciously crafted attachment file name can modify the Content-Disposition header.","origin":"UNSPECIFIED","severity":"MODERATE","published_at":"2023-05-12T20:19:25.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":0.0,"cvss_vector":null,"references":["https://github.com/gin-gonic/gin/issues/3555","https://github.com/gin-gonic/gin/pull/3556","https://pkg.go.dev/vuln/GO-2023-1737","https://github.com/gin-gonic/gin/releases/tag/v1.9.1","https://nvd.nist.gov/vuln/detail/CVE-2023-29401","https://github.com/advisories/GHSA-2c4m-59x9-fr2g"],"source_kind":"github","identifiers":["GHSA-2c4m-59x9-fr2g","CVE-2023-29401"],"repository_url":"https://github.com/gin-gonic/gin","blast_radius":0.0,"packages":[{"versions":[{"first_patched_version":"1.9.1","vulnerable_version_range":"\u003e= 1.3.1-0.20190301021747-ccb9e902956d, \u003c 1.9.1"}],"ecosystem":"go","package_name":"github.com/gin-gonic/gin"}],"created_at":"2023-05-12T21:03:17.849Z","updated_at":"2025-05-25T01:11:01.949Z","epss_percentage":0.00333,"epss_percentile":0.55507},{"uuid":"GSA_kwCzR0hTQS02dm0zLWpqOTktNzIyOc4AAwoG","url":"https://github.com/advisories/GHSA-6vm3-jj99-7229","title":"Gin's default logger allows unsanitized input that can allow remote attackers to inject arbitrary log lines","description":"Gin is a HTTP web framework written in Go (Golang). Unsanitized input in the default logger in github.com/gin-gonic/gin before v1.6.0 allows remote attackers to inject arbitrary log lines.","origin":"UNSPECIFIED","severity":"HIGH","published_at":"2022-12-27T21:30:20.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":0.0,"cvss_vector":null,"references":["https://nvd.nist.gov/vuln/detail/CVE-2020-36567","https://github.com/gin-gonic/gin/pull/2237","https://github.com/gin-gonic/gin/commit/a71af9c144f9579f6dbe945341c1df37aaf09c0d","https://pkg.go.dev/vuln/GO-2020-0001","https://github.com/advisories/GHSA-6vm3-jj99-7229"],"source_kind":"github","identifiers":["GHSA-6vm3-jj99-7229","CVE-2020-36567"],"repository_url":"https://github.com/gin-gonic/gin","blast_radius":0.0,"packages":[{"versions":[{"first_patched_version":"1.6.0","vulnerable_version_range":"\u003c 1.6.0"}],"ecosystem":"go","package_name":"github.com/gin-gonic/gin"}],"created_at":"2022-12-30T01:03:09.461Z","updated_at":"2023-02-03T05:01:33.000Z","epss_percentage":0.00443,"epss_percentile":0.62048},{"uuid":"MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLWgzOTUtcWNydy01dm1x","url":"https://github.com/advisories/GHSA-h395-qcrw-5vmq","title":"Inconsistent Interpretation of HTTP Requests in github.com/gin-gonic/gin","description":"When gin is exposed directly to the internet, a client's IP can be spoofed by setting the X-Forwarded-For header. This affects all versions of package github.com/gin-gonic/gin under 1.7.7. ","origin":"UNSPECIFIED","severity":"HIGH","published_at":"2021-06-23T17:53:21.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":0.0,"cvss_vector":null,"references":["https://nvd.nist.gov/vuln/detail/CVE-2020-28483","https://github.com/gin-gonic/gin/pull/2632","https://github.com/gin-gonic/gin/commit/bfc8ca285eb46dad60e037d57c545cd260636711","https://github.com/gin-gonic/gin/releases/tag/v1.7.0","https://snyk.io/vuln/SNYK-GOLANG-GITHUBCOMGINGONICGIN-1041736","https://github.com/gin-gonic/gin/issues/2232","https://github.com/gin-gonic/gin/issues/2473","https://github.com/gin-gonic/gin/issues/2862","https://github.com/gin-gonic/gin/pull/2474#23issuecomment-729696437","https://github.com/gin-gonic/gin/pull/2675","https://github.com/gin-gonic/gin/pull/2844","https://github.com/gin-gonic/gin/commit/03e5e05ae089bc989f1ca41841f05504d29e3fd9","https://github.com/gin-gonic/gin/commit/5929d521715610c9dd14898ebbe1d188d5de8937","https://github.com/gin-gonic/gin/releases/tag/v1.7.7","https://pkg.go.dev/vuln/GO-2021-0052","https://github.com/gin-gonic/gin/pull/2844/files#diff-e6ce689a25eaef174c2dd51fe869fabbe04a6c6afbd416b23eda138c82e761baR1432","https://github.com/gin-gonic/gin/pull/2474","https://github.com/advisories/GHSA-h395-qcrw-5vmq"],"source_kind":"github","identifiers":["GHSA-h395-qcrw-5vmq","CVE-2020-28483"],"repository_url":"https://github.com/gin-gonic/gin","blast_radius":0.0,"packages":[{"versions":[{"first_patched_version":"1.7.7","vulnerable_version_range":"\u003c 1.7.7"}],"ecosystem":"go","package_name":"github.com/gin-gonic/gin"}],"created_at":"2022-12-21T16:13:04.101Z","updated_at":"2024-05-20T19:29:08.000Z","epss_percentage":0.00324,"epss_percentile":0.54524}],"docker_usage_url":"https://docker.ecosyste.ms/usage/go/github.com/gin-gonic/gin","docker_dependents_count":3286,"docker_downloads_count":443789501,"usage_url":"https://repos.ecosyste.ms/usage/go/github.com/gin-gonic/gin","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/go/github.com/gin-gonic/gin/dependencies","status":null,"funding_links":[],"critical":true,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fgin-gonic%2Fgin/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fgin-gonic%2Fgin/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fgin-gonic%2Fgin/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fgin-gonic%2Fgin/related_packages","maintainers":[],"registry":{"name":"proxy.golang.org","url":"https://proxy.golang.org","ecosystem":"go","default":true,"packages_count":1882879,"maintainers_count":0,"namespaces_count":723926,"keywords_count":97872,"github":"golang","metadata":{"funded_packages_count":39346},"icon_url":"https://github.com/golang.png","created_at":"2022-04-04T15:19:22.939Z","updated_at":"2025-06-06T05:22:27.920Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/namespaces"}},"unique_repositories_count":946,"unique_repositories_count_past_30_days":8,"recent_issues":[{"uuid":"4661290544","node_id":"PR_kwDONJpy787mV18d","number":619,"state":"open","title":"fix(deps): bump the go-minor-patch group in /apps/api/src with 2 updates","user":"dependabot[bot]","labels":["dependencies"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-06-15T01:05:33.000Z","updated_at":"2026-06-15T01:08:57.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"fix(deps): bump","group_name":"go-minor-patch","update_count":2,"packages":[{"name":"github.com/gin-gonic/gin","old_version":"1.11.0","new_version":"1.12.0","repository_url":"https://github.com/gin-gonic/gin"},{"name":"github.com/rs/zerolog","old_version":"1.34.0","new_version":"1.35.1","repository_url":"https://github.com/rs/zerolog"}],"path":"/apps/api/src","ecosystem":"go"},"body":"Bumps the go-minor-patch group in /apps/api/src with 2 updates: [github.com/gin-gonic/gin](https://github.com/gin-gonic/gin) and [github.com/rs/zerolog](https://github.com/rs/zerolog).\n\nUpdates `github.com/gin-gonic/gin` from 1.11.0 to 1.12.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/gin-gonic/gin/releases\"\u003egithub.com/gin-gonic/gin's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.12.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e192ac89eefc1c30f7c97ae48a9ffb1c6f1c8c8bc: feat(binding): add support for encoding.UnmarshalText in uri/query binding (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4203\"\u003e#4203\u003c/a\u003e) (\u003ca href=\"https://github.com/takanuva15\"\u003e\u003ccode\u003e@​takanuva15\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e53410d2e07054369e0960fbe2eed97e1b9966f12: feat(context): add GetError and GetErrorSlice methods for error retrieval (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4502\"\u003e#4502\u003c/a\u003e) (\u003ca href=\"https://github.com/raju-mechatronics\"\u003e\u003ccode\u003e@​raju-mechatronics\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eacc55e049e33b401e810dbd8c0d6dcb6b3ba2b05: feat(context): add Protocol Buffers support to content negotiation (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4423\"\u003e#4423\u003c/a\u003e) (\u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e38e765119241d990705169bedb5002a29ae0cbd1: feat(context): implemented Delete method (\u003ca href=\"https://github.com/Spyder01\"\u003e\u003ccode\u003e@​Spyder01\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e771dcc6476d7bc6abb9ec0235ecefa4d38fe6fb0: feat(gin): add option to use escaped path (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4420\"\u003e#4420\u003c/a\u003e) (\u003ca href=\"https://github.com/ldesauw\"\u003e\u003ccode\u003e@​ldesauw\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e4dec17afdff48e8018c83618fbbe69fceeb2b41d: feat(logger): color latency (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4146\"\u003e#4146\u003c/a\u003e) (\u003ca href=\"https://github.com/wsyqn6\"\u003e\u003ccode\u003e@​wsyqn6\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ed7776de7d444935ea4385999711bd6331a98fecb: feat(render): add bson protocol (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4145\"\u003e#4145\u003c/a\u003e) (\u003ca href=\"https://github.com/laurentcau\"\u003e\u003ccode\u003e@​laurentcau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eb917b14ff9d189f16a7492be79d123a47806ee19: fix(binding): empty value error (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/2169\"\u003e#2169\u003c/a\u003e) (\u003ca href=\"https://github.com/guonaihong\"\u003e\u003ccode\u003e@​guonaihong\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ec3d1092b3b48addf6f9cd00fe274ec3bd14650eb: fix(binding): improve empty slice/array handling in form binding (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4380\"\u003e#4380\u003c/a\u003e) (\u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e9914178584e42458ff7d23891463a880f58c9d86: fix(context): ClientIP handling for multiple X-Forwarded-For header values (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4472\"\u003e#4472\u003c/a\u003e) (\u003ca href=\"https://github.com/Nurysso\"\u003e\u003ccode\u003e@​Nurysso\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e2a794cd0b0faa7d829291375b27a3467ea972b0d: fix(debug): version mismatch (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4403\"\u003e#4403\u003c/a\u003e) (\u003ca href=\"https://github.com/zeek0x\"\u003e\u003ccode\u003e@​zeek0x\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ec3d5a28ed6d3849da820195b6774d212bcc038a9: fix(gin): close os.File in RunFd to prevent resource leak (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4422\"\u003e#4422\u003c/a\u003e) (\u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e5fad976b372e381312f8de69f0969f1284d229d3: fix(gin): literal colon routes not working with engine.Handler() (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4415\"\u003e#4415\u003c/a\u003e) (\u003ca href=\"https://github.com/pawannn\"\u003e\u003ccode\u003e@​pawannn\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e63dd3e60cab89c27fb66bce1423bd268d52abad1: fix(recover): suppress http.ErrAbortHandler in recover (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4336\"\u003e#4336\u003c/a\u003e) (\u003ca href=\"https://github.com/MondayCha\"\u003e\u003ccode\u003e@​MondayCha\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e5c00df8afadd06cc5be530dde00fe6d9fa4a2e4a: fix(render): write content length in Data.Render (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4206\"\u003e#4206\u003c/a\u003e) (\u003ca href=\"https://github.com/dengaleev\"\u003e\u003ccode\u003e@​dengaleev\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e234a6d4c00cb77af9852aca0b8289745d5529b4b: fix(response): refine hijack behavior for response lifecycle (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4373\"\u003e#4373\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e472d086af2acd924cb4b9d7be0525f7d790f69bc: fix(tree): panic in findCaseInsensitivePathRec with RedirectFixedPath (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4535\"\u003e#4535\u003c/a\u003e) (\u003ca href=\"https://github.com/veeceey\"\u003e\u003ccode\u003e@​veeceey\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e8e07d37c63e5536eb25f4af4c91eabeee4011fba: fix: Correct typos, improve documentation clarity, and remove dead code (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4511\"\u003e#4511\u003c/a\u003e) (\u003ca href=\"https://github.com/mahanadh\"\u003e\u003ccode\u003e@​mahanadh\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eba093d19477b896ac89a7fc3246af23d290b8e26: chore(binding): upgrade bson dependency to mongo-driver v2 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4549\"\u003e#4549\u003c/a\u003e) (\u003ca href=\"https://github.com/BobDu\"\u003e\u003ccode\u003e@​BobDu\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eb2b489dbf4826c2c630717a77fd5e42774625410: chore(context): always trust xff headers from unix socket (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/3359\"\u003e#3359\u003c/a\u003e) (\u003ca href=\"https://github.com/WeidiDeng\"\u003e\u003ccode\u003e@​WeidiDeng\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eecb3f7b5e2f3915bf1db240ed5eee572f8dbea36: chore(deps): upgrade golang.org/x/crypto to v0.45.0 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4449\"\u003e#4449\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eaf6e8b70b8261bb0c99ad094fe552ab92991620a: chore(deps): upgrade quic-go to v0.57.1 (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edb309081bc5c137b2aa15701ef53f7f19788da25: chore(logger): allow skipping query string output (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4547\"\u003e#4547\u003c/a\u003e) (\u003ca href=\"https://github.com/USA-RedDragon\"\u003e\u003ccode\u003e@​USA-RedDragon\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e26c3a628655cad2388380cb8102d6ce7d4875f3b: chore(response): prevent Flush() panic when \u003ccode\u003ehttp.Flusher\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4479\"\u003e#4479\u003c/a\u003e) (\u003ca href=\"https://github.com/Twacqwq\"\u003e\u003ccode\u003e@​Twacqwq\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e5dd833f1f26de0eb30eae47b17e05ced2482dc41: chore: bump minimum Go version to 1.24 and update workflows (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4388\"\u003e#4388\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRefactor\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e39858a0859c914bd26948fa950477e11bd8d3823: refactor(binding): use maps.Copy for cleaner map handling (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4352\"\u003e#4352\u003c/a\u003e) (\u003ca href=\"https://github.com/russcoss\"\u003e\u003ccode\u003e@​russcoss\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ec0048f645ee945c4db30593afdea10123e2c30a6: refactor(context): omit the return value names (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4395\"\u003e#4395\u003c/a\u003e) (\u003ca href=\"https://github.com/wanghaolong613\"\u003e\u003ccode\u003e@​wanghaolong613\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e915e4c90d28ec4cffc6eb146e208ab5a65eac772: refactor(context): replace hardcoded localhost IPs with constants (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4481\"\u003e#4481\u003c/a\u003e) (\u003ca href=\"https://github.com/pauloappbr\"\u003e\u003ccode\u003e@​pauloappbr\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e414de60574449457f3192a7a1d5528940db2836d: refactor(context): using maps.Clone (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4333\"\u003e#4333\u003c/a\u003e) (\u003ca href=\"https://github.com/cuiweixie\"\u003e\u003ccode\u003e@​cuiweixie\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e59e9d4a794f12c4f9a6c7bed441b9644e5f6d99b: refactor(ginS): use sync.OnceValue to simplify engine function (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4314\"\u003e#4314\u003c/a\u003e) (\u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e3ab698dc5110af1977d57226e4995c57dd34c233: refactor(recovery): smart error comparison (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4142\"\u003e#4142\u003c/a\u003e) (\u003ca href=\"https://github.com/zeek0x\"\u003e\u003ccode\u003e@​zeek0x\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ed1a15347b1e45a8ee816193d3578a93bfd73b70f: refactor(utils): move util functions to utils.go (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4467\"\u003e#4467\u003c/a\u003e) (\u003ca href=\"https://github.com/zeek0x\"\u003e\u003ccode\u003e@​zeek0x\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ee3118cc378d263454098924ebbde7e8d1dd2e904: refactor: for loop can be modernized using range over int (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4392\"\u003e#4392\u003c/a\u003e) (\u003ca href=\"https://github.com/wanghaolong613\"\u003e\u003ccode\u003e@​wanghaolong613\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e488f8c3ffa579a8d19beb2bae95ff8ef36b3d53f: refactor: replace magic numbers with named constants in bodyAllowedForStatus (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4529\"\u003e#4529\u003c/a\u003e) (\u003ca href=\"https://github.com/veeceey\"\u003e\u003ccode\u003e@​veeceey\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e9968c4bf9d5a99edc3eee2c068a4c9160ece8915: refactor: use b.Loop() to simplify the code and improve performance (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4389\"\u003e#4389\u003c/a\u003e) (\u003ca href=\"https://github.com/reddaisyy\"\u003e\u003ccode\u003e@​reddaisyy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ea85ef5ce4d0cda8834c59c855068ed48b51192d1: refactor: use b.Loop() to simplify the code and improve performance (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4432\"\u003e#4432\u003c/a\u003e) (\u003ca href=\"https://github.com/efcking\"\u003e\u003ccode\u003e@​efcking\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBuild process updates\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e61b67de522a189b568aced4c5c16917c558e3387: ci(bot): increase frequency and group updates for dependencies (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4367\"\u003e#4367\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efb27ef26c2fdfe25344b4c039d8a53551f9e912c: ci(lint): refactor test assertions and linter configuration (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4436\"\u003e#4436\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e93ff771e6dbf10e432864b30f3719ac5c84a4d4a: ci(sec): improve type safety and server organization in HTTP middleware (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4437\"\u003e#4437\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ee88fc8927a52b74f55bec0351604a56ac0aa1c51: ci(sec): schedule Trivy security scans to run daily at midnight UTC (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4439\"\u003e#4439\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e5e5ff3ace496a31b138b0820136a146bfb5de0ef: ci: replace vulnerability scanning workflow with Trivy integration (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4421\"\u003e#4421\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e00900fb3e1ea9dde33985a0e4f6afec793d5e786: ci: update CI workflows and standardize Trivy config quotes (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4531\"\u003e#4531\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eae3f524974fc4f55d18c9e7fae4614503c015226: ci: update Go version support to 1.25+ across CI and docs (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4550\"\u003e#4550\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/gin-gonic/gin/blob/master/CHANGELOG.md\"\u003egithub.com/gin-gonic/gin's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eGin v1.12.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat(render): add bson protocol (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4145\"\u003e#4145\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(context): add GetError and GetErrorSlice methods for error retrieval (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4502\"\u003e#4502\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(binding): add support for encoding.UnmarshalText in uri/query binding (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4203\"\u003e#4203\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(gin): add option to use escaped path (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4420\"\u003e#4420\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(context): add Protocol Buffers support to content negotiation (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4423\"\u003e#4423\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(context): implemented Delete method (\u003ca href=\"https://github.com/gin-gonic/gin/commit/38e7651\"\u003e#38e7651\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(logger): color latency (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4146\"\u003e#4146\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eperf(tree): reduce allocations in findCaseInsensitivePath (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4417\"\u003e#4417\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eperf(recovery): optimize line reading in stack function (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4466\"\u003e#4466\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eperf(path): replace regex with custom functions in redirectTrailingSlash (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4414\"\u003e#4414\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eperf(tree): optimize path parsing using strings.Count (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4246\"\u003e#4246\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(logger): allow skipping query string output (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4547\"\u003e#4547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(context): always trust xff headers from unix socket (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/3359\"\u003e#3359\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(response): prevent Flush() panic when the underlying ResponseWriter does not implement \u003ccode\u003ehttp.Flusher\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4479\"\u003e#4479\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(recovery): smart error comparison (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4142\"\u003e#4142\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(context): replace hardcoded localhost IPs with constants (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4481\"\u003e#4481\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(utils): move util functions to utils.go (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4467\"\u003e#4467\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(binding): use maps.Copy for cleaner map handling (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4352\"\u003e#4352\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(context): using maps.Clone (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4333\"\u003e#4333\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(ginS): use sync.OnceValue to simplify engine function (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4314\"\u003e#4314\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor: replace magic numbers with named constants in bodyAllowedForStatus (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4529\"\u003e#4529\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor: for loop can be modernized using range over int (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4392\"\u003e#4392\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(tree): panic in findCaseInsensitivePathRec with RedirectFixedPath (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4535\"\u003e#4535\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(render): write content length in Data.Render (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4206\"\u003e#4206\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(context): ClientIP handling for multiple X-Forwarded-For header values (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4472\"\u003e#4472\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(binding): empty value error (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/2169\"\u003e#2169\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(recover): suppress http.ErrAbortHandler in recover (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4336\"\u003e#4336\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(gin): literal colon routes not working with engine.Handler() (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4415\"\u003e#4415\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(gin): close os.File in RunFd to prevent resource leak (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4422\"\u003e#4422\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(response): refine hijack behavior for response lifecycle (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4373\"\u003e#4373\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(binding): improve empty slice/array handling in form binding (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4380\"\u003e#4380\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(debug): version mismatch (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4403\"\u003e#4403\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: correct typos, improve documentation clarity, and remove dead code (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4511\"\u003e#4511\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBuild process updates / CI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eci: update Go version support to 1.25+ across CI and docs (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4550\"\u003e#4550\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(binding): upgrade bson dependency to mongo-driver v2 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4549\"\u003e#4549\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/73726dc606796a025971fe451f0aa6f1b9b847f6\"\u003e\u003ccode\u003e73726dc\u003c/code\u003e\u003c/a\u003e docs: update documentation to reflect Go version changes (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4552\"\u003e#4552\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/e292e5caa777bce70b66fe08c94cbe9cef3e2ec9\"\u003e\u003ccode\u003ee292e5c\u003c/code\u003e\u003c/a\u003e docs: document and finalize Gin v1.12.0 release (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4551\"\u003e#4551\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/ae3f524974fc4f55d18c9e7fae4614503c015226\"\u003e\u003ccode\u003eae3f524\u003c/code\u003e\u003c/a\u003e ci: update Go version support to 1.25+ across CI and docs (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4550\"\u003e#4550\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/38534e2bf98a06e1f62d6b24384e90b5f78699bf\"\u003e\u003ccode\u003e38534e2\u003c/code\u003e\u003c/a\u003e chore(deps): bump golang.org/x/net from 0.50.0 to 0.51.0 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4548\"\u003e#4548\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/472d086af2acd924cb4b9d7be0525f7d790f69bc\"\u003e\u003ccode\u003e472d086\u003c/code\u003e\u003c/a\u003e fix(tree): panic in findCaseInsensitivePathRec with RedirectFixedPath (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4535\"\u003e#4535\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/fb2583442c4d9bccb75e6d26f1aa6e7c01950db6\"\u003e\u003ccode\u003efb25834\u003c/code\u003e\u003c/a\u003e test(context): use http.StatusContinue constant instead of magic number 100 (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/6f1d5fe3cdb171a08928c3c9dd3fbcfc9ee1b521\"\u003e\u003ccode\u003e6f1d5fe\u003c/code\u003e\u003c/a\u003e test(render): add comprehensive error handling tests (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4541\"\u003e#4541\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/5c00df8afadd06cc5be530dde00fe6d9fa4a2e4a\"\u003e\u003ccode\u003e5c00df8\u003c/code\u003e\u003c/a\u003e fix(render): write content length in Data.Render (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4206\"\u003e#4206\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/db309081bc5c137b2aa15701ef53f7f19788da25\"\u003e\u003ccode\u003edb30908\u003c/code\u003e\u003c/a\u003e chore(logger): allow skipping query string output (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4547\"\u003e#4547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/ba093d19477b896ac89a7fc3246af23d290b8e26\"\u003e\u003ccode\u003eba093d1\u003c/code\u003e\u003c/a\u003e chore(binding): upgrade bson dependency to mongo-driver v2 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4549\"\u003e#4549\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/gin-gonic/gin/compare/v1.11.0...v1.12.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/rs/zerolog` from 1.34.0 to 1.35.1\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rs/zerolog/commit/116c8060e034e8d46855354d22db2acbc8df9e1e\"\u003e\u003ccode\u003e116c806\u003c/code\u003e\u003c/a\u003e event: restore Err() logging when ErrorStackMarshaler returns nil (\u003ca href=\"https://redirect.github.com/rs/zerolog/issues/763\"\u003e#763\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rs/zerolog/commit/13966551e7cc9f174723bddde692f0f0f9a833aa\"\u003e\u003ccode\u003e1396655\u003c/code\u003e\u003c/a\u003e Bump CI Go matrix minimum from 1.21 to 1.23\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rs/zerolog/commit/4b65a2f6f63437b9db07d57733d34d381b8f0696\"\u003e\u003ccode\u003e4b65a2f\u003c/code\u003e\u003c/a\u003e Bump actions/cache from 4 to 5 (\u003ca href=\"https://redirect.github.com/rs/zerolog/issues/741\"\u003e#741\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rs/zerolog/commit/b83579670fae2aef5d260f1350975e4c0b16864c\"\u003e\u003ccode\u003eb835796\u003c/code\u003e\u003c/a\u003e Bump actions/setup-go from 5 to 6 (\u003ca href=\"https://redirect.github.com/rs/zerolog/issues/742\"\u003e#742\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rs/zerolog/commit/134caf82aab8ea832731c5b4e5967d970abbc538\"\u003e\u003ccode\u003e134caf8\u003c/code\u003e\u003c/a\u003e Added sanitization of journald keys (\u003ca href=\"https://redirect.github.com/rs/zerolog/issues/751\"\u003e#751\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rs/zerolog/commit/e133b6a5173130c6ce2349645111829ba80d589e\"\u003e\u003ccode\u003ee133b6a\u003c/code\u003e\u003c/a\u003e Added variadic StrsV, ObjectsV, and StringersV (\u003ca href=\"https://redirect.github.com/rs/zerolog/issues/752\"\u003e#752\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rs/zerolog/commit/82017d8fff8d7739ba4daf9b1cf096d501ba7732\"\u003e\u003ccode\u003e82017d8\u003c/code\u003e\u003c/a\u003e Bump github.com/coreos/go-systemd/v22 from 22.6.0 to 22.7.0 (\u003ca href=\"https://redirect.github.com/rs/zerolog/issues/753\"\u003e#753\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rs/zerolog/commit/2f5b8a91be2cea93c2a6792d4ad00f5a06967dae\"\u003e\u003ccode\u003e2f5b8a9\u003c/code\u003e\u003c/a\u003e fix: UpdateContext skips Nop and zero-value loggers (\u003ca href=\"https://redirect.github.com/rs/zerolog/issues/754\"\u003e#754\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rs/zerolog/commit/d64c9a7138d98305e963fd437246d2ca0f0c4833\"\u003e\u003ccode\u003ed64c9a7\u003c/code\u003e\u003c/a\u003e Add slog.Handler implementation for zerolog (\u003ca href=\"https://redirect.github.com/rs/zerolog/issues/755\"\u003e#755\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rs/zerolog/commit/a0d61dc2c7439bdea7e1a9920713b1134367be58\"\u003e\u003ccode\u003ea0d61dc\u003c/code\u003e\u003c/a\u003e fix: return dict to Event pool (\u003ca href=\"https://redirect.github.com/rs/zerolog/issues/749\"\u003e#749\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rs/zerolog/compare/v1.34.0...v1.35.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e\n\n\u003c!-- This is an auto-generated comment: release notes by coderabbit.ai --\u003e\n\n## Summary by CodeRabbit\n\n* **Chores**\n  * Upgraded Go toolchain from version 1.23.1 to 1.25.0, providing improved performance and stability enhancements\n  * Updated core dependencies including HTTP framework and logging utilities to their latest compatible versions\n  * Refreshed all transitive dependencies to maintain security standards and ensure compatibility with the upgraded runtime environment\n\n\u003c!-- end of auto-generated comment: release notes by coderabbit.ai --\u003e","html_url":"https://github.com/mlorentedev/kubelab/pull/619","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/mlorentedev%2Fkubelab/issues/619","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/619/packages"},{"uuid":"4584852814","node_id":"PR_kwDOIebONs7ielEq","number":155,"state":"open","title":"chore(deps): bump the security-updates group with 22 updates","user":"dependabot[bot]","labels":["size/L","dependencies","go"],"assignees":[],"locked":false,"comments_count":4,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-06-04T01:01:24.000Z","updated_at":"2026-06-04T01:07:03.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"security-updates","update_count":22,"packages":[{"name":"github.com/BurntSushi/toml","old_version":"1.5.0","new_version":"1.6.0","repository_url":"https://github.com/BurntSushi/toml"},{"name":"github.com/gin-gonic/gin","old_version":"1.11.0","new_version":"1.12.0","repository_url":"https://github.com/gin-gonic/gin"},{"name":"github.com/go-sql-driver/mysql","old_version":"1.9.2","new_version":"1.10.0","repository_url":"https://github.com/go-sql-driver/mysql"},{"name":"github.com/prometheus/client_golang","old_version":"1.22.0","new_version":"1.23.2","repository_url":"https://github.com/prometheus/client_golang"},{"name":"github.com/redis/go-redis/v9","old_version":"9.19.0","new_version":"9.20.0","repository_url":"https://github.com/redis/go-redis"},{"name":"go.etcd.io/etcd/api/v3","old_version":"3.5.21","new_version":"3.6.12","repository_url":"https://github.com/etcd-io/etcd"},{"name":"go.etcd.io/etcd/client/v3","old_version":"3.5.21","new_version":"3.6.12","repository_url":"https://github.com/etcd-io/etcd"},{"name":"go.etcd.io/etcd/server/v3","old_version":"3.5.21","new_version":"3.6.12","repository_url":"https://github.com/etcd-io/etcd"},{"name":"go.opentelemetry.io/contrib/propagators/autoprop","old_version":"0.63.0","new_version":"0.69.0","repository_url":"https://github.com/open-telemetry/opentelemetry-go-contrib"},{"name":"go.opentelemetry.io/contrib/samplers/jaegerremote","old_version":"0.37.0","new_version":"0.37.1","repository_url":"https://github.com/open-telemetry/opentelemetry-go-contrib"},{"name":"go.opentelemetry.io/otel","old_version":"1.43.0","new_version":"1.44.0","repository_url":"https://github.com/open-telemetry/opentelemetry-go"},{"name":"go.opentelemetry.io/otel/bridge/opentracing","old_version":"1.36.0","new_version":"1.44.0","repository_url":"https://github.com/open-telemetry/opentelemetry-go"},{"name":"go.opentelemetry.io/otel/exporters/jaeger","old_version":"1.16.0","new_version":"1.17.0","repository_url":"https://github.com/open-telemetry/opentelemetry-go"},{"name":"go.opentelemetry.io/otel/exporters/otlp/otlptrace","old_version":"1.38.0","new_version":"1.44.0","repository_url":"https://github.com/open-telemetry/opentelemetry-go"},{"name":"go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc","old_version":"1.38.0","new_version":"1.44.0","repository_url":"https://github.com/open-telemetry/opentelemetry-go"},{"name":"go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp","old_version":"1.36.0","new_version":"1.44.0","repository_url":"https://github.com/open-telemetry/opentelemetry-go"},{"name":"go.opentelemetry.io/otel/sdk","old_version":"1.43.0","new_version":"1.44.0","repository_url":"https://github.com/open-telemetry/opentelemetry-go"},{"name":"go.opentelemetry.io/otel/trace","old_version":"1.43.0","new_version":"1.44.0","repository_url":"https://github.com/open-telemetry/opentelemetry-go"},{"name":"go.uber.org/zap","old_version":"1.27.0","new_version":"1.28.0","repository_url":"https://github.com/uber-go/zap"},{"name":"golang.org/x/sys","old_version":"0.42.0","new_version":"0.45.0","repository_url":"https://github.com/golang/sys"},{"name":"gorm.io/gorm","old_version":"1.30.0","new_version":"1.31.1","repository_url":"https://github.com/go-gorm/gorm"},{"name":"k8s.io/client-go","old_version":"0.34.1","new_version":"0.36.1","repository_url":"https://github.com/kubernetes/client-go"}],"path":null,"ecosystem":"go"},"body":"Bumps the security-updates group with 22 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [github.com/BurntSushi/toml](https://github.com/BurntSushi/toml) | `1.5.0` | `1.6.0` |\n| [github.com/gin-gonic/gin](https://github.com/gin-gonic/gin) | `1.11.0` | `1.12.0` |\n| [github.com/go-sql-driver/mysql](https://github.com/go-sql-driver/mysql) | `1.9.2` | `1.10.0` |\n| [github.com/prometheus/client_golang](https://github.com/prometheus/client_golang) | `1.22.0` | `1.23.2` |\n| [github.com/redis/go-redis/v9](https://github.com/redis/go-redis) | `9.19.0` | `9.20.0` |\n| [go.etcd.io/etcd/api/v3](https://github.com/etcd-io/etcd) | `3.5.21` | `3.6.12` |\n| [go.etcd.io/etcd/client/v3](https://github.com/etcd-io/etcd) | `3.5.21` | `3.6.12` |\n| [go.etcd.io/etcd/server/v3](https://github.com/etcd-io/etcd) | `3.5.21` | `3.6.12` |\n| [go.opentelemetry.io/contrib/propagators/autoprop](https://github.com/open-telemetry/opentelemetry-go-contrib) | `0.63.0` | `0.69.0` |\n| [go.opentelemetry.io/contrib/samplers/jaegerremote](https://github.com/open-telemetry/opentelemetry-go-contrib) | `0.37.0` | `0.37.1` |\n| [go.opentelemetry.io/otel](https://github.com/open-telemetry/opentelemetry-go) | `1.43.0` | `1.44.0` |\n| [go.opentelemetry.io/otel/bridge/opentracing](https://github.com/open-telemetry/opentelemetry-go) | `1.36.0` | `1.44.0` |\n| [go.opentelemetry.io/otel/exporters/jaeger](https://github.com/open-telemetry/opentelemetry-go) | `1.16.0` | `1.17.0` |\n| [go.opentelemetry.io/otel/exporters/otlp/otlptrace](https://github.com/open-telemetry/opentelemetry-go) | `1.38.0` | `1.44.0` |\n| [go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc](https://github.com/open-telemetry/opentelemetry-go) | `1.38.0` | `1.44.0` |\n| [go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp](https://github.com/open-telemetry/opentelemetry-go) | `1.36.0` | `1.44.0` |\n| [go.opentelemetry.io/otel/sdk](https://github.com/open-telemetry/opentelemetry-go) | `1.43.0` | `1.44.0` |\n| [go.opentelemetry.io/otel/trace](https://github.com/open-telemetry/opentelemetry-go) | `1.43.0` | `1.44.0` |\n| [go.uber.org/zap](https://github.com/uber-go/zap) | `1.27.0` | `1.28.0` |\n| [golang.org/x/sys](https://github.com/golang/sys) | `0.42.0` | `0.45.0` |\n| [gorm.io/gorm](https://github.com/go-gorm/gorm) | `1.30.0` | `1.31.1` |\n| [k8s.io/client-go](https://github.com/kubernetes/client-go) | `0.34.1` | `0.36.1` |\n\nUpdates `github.com/BurntSushi/toml` from 1.5.0 to 1.6.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/BurntSushi/toml/releases\"\u003egithub.com/BurntSushi/toml's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.6.0\u003c/h2\u003e\n\u003cp\u003eTOML 1.1 is now enabled by default. The TOML changelog has an overview of changes: \u003ca href=\"https://github.com/toml-lang/toml/blob/main/CHANGELOG.md\"\u003ehttps://github.com/toml-lang/toml/blob/main/CHANGELOG.md\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eAlso two small fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eEncode large floats as exponent syntax so that round-tripping things like \u003ccode\u003e5e+22\u003c/code\u003e is correct.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUsing duplicate array keys would not give an error:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003earr = [1]\r\narr = [2]\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eThis will now correctly give a \u0026quot;Key 'arr' has already been defined\u0026quot; error.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/BurntSushi/toml/commit/52534926c55b4cd85b05aee90569dd0668b8cf30\"\u003e\u003ccode\u003e5253492\u003c/code\u003e\u003c/a\u003e Enable TOML 1.1 by default (\u003ca href=\"https://redirect.github.com/BurntSushi/toml/issues/457\"\u003e#457\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/BurntSushi/toml/commit/e954445330492727c18483838a15f88a4fc2d03a\"\u003e\u003ccode\u003ee954445\u003c/code\u003e\u003c/a\u003e Reject duplicate arrays (\u003ca href=\"https://redirect.github.com/BurntSushi/toml/issues/455\"\u003e#455\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/BurntSushi/toml/commit/6b16cbdb0f5a152aad1a6b89798a89655b84150d\"\u003e\u003ccode\u003e6b16cbd\u003c/code\u003e\u003c/a\u003e Update toml-test test cases from upstream (\u003ca href=\"https://redirect.github.com/BurntSushi/toml/issues/456\"\u003e#456\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/BurntSushi/toml/commit/011fa2bc64cec3bb4ec450d11984f5e87b8e158c\"\u003e\u003ccode\u003e011fa2b\u003c/code\u003e\u003c/a\u003e Ensure constant format strings in wf calls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/BurntSushi/toml/commit/4b439bf5c6ef125a94df7a136733df5ba37d4c16\"\u003e\u003ccode\u003e4b439bf\u003c/code\u003e\u003c/a\u003e Remove itemNil\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/BurntSushi/toml/commit/a473c125bce7078efea98a29698b7c1eb453ff0b\"\u003e\u003ccode\u003ea473c12\u003c/code\u003e\u003c/a\u003e Add test for out of range float64\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/BurntSushi/toml/commit/b535ff89e48996de98ace1301decf94a3a480aa8\"\u003e\u003ccode\u003eb535ff8\u003c/code\u003e\u003c/a\u003e Add some boring tests for lex.go\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/BurntSushi/toml/commit/6011ef0c32b214ac134b8228af2a667e171dad6e\"\u003e\u003ccode\u003e6011ef0\u003c/code\u003e\u003c/a\u003e Remove unreachable condition in lexTableNameStart\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/BurntSushi/toml/commit/c8ca9e6c2d5987a6c23f89d13987ac335aad90c3\"\u003e\u003ccode\u003ec8ca9e6\u003c/code\u003e\u003c/a\u003e Remove unreachable condition\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/BurntSushi/toml/commit/1121f81c60f5947e13057fa5efecbf21369c651e\"\u003e\u003ccode\u003e1121f81\u003c/code\u003e\u003c/a\u003e Make tomlv read from stdin\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/BurntSushi/toml/compare/v1.5.0...v1.6.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/gin-gonic/gin` from 1.11.0 to 1.12.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/gin-gonic/gin/releases\"\u003egithub.com/gin-gonic/gin's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.12.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e192ac89eefc1c30f7c97ae48a9ffb1c6f1c8c8bc: feat(binding): add support for encoding.UnmarshalText in uri/query binding (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4203\"\u003e#4203\u003c/a\u003e) (\u003ca href=\"https://github.com/takanuva15\"\u003e\u003ccode\u003e@​takanuva15\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e53410d2e07054369e0960fbe2eed97e1b9966f12: feat(context): add GetError and GetErrorSlice methods for error retrieval (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4502\"\u003e#4502\u003c/a\u003e) (\u003ca href=\"https://github.com/raju-mechatronics\"\u003e\u003ccode\u003e@​raju-mechatronics\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eacc55e049e33b401e810dbd8c0d6dcb6b3ba2b05: feat(context): add Protocol Buffers support to content negotiation (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4423\"\u003e#4423\u003c/a\u003e) (\u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e38e765119241d990705169bedb5002a29ae0cbd1: feat(context): implemented Delete method (\u003ca href=\"https://github.com/Spyder01\"\u003e\u003ccode\u003e@​Spyder01\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e771dcc6476d7bc6abb9ec0235ecefa4d38fe6fb0: feat(gin): add option to use escaped path (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4420\"\u003e#4420\u003c/a\u003e) (\u003ca href=\"https://github.com/ldesauw\"\u003e\u003ccode\u003e@​ldesauw\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e4dec17afdff48e8018c83618fbbe69fceeb2b41d: feat(logger): color latency (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4146\"\u003e#4146\u003c/a\u003e) (\u003ca href=\"https://github.com/wsyqn6\"\u003e\u003ccode\u003e@​wsyqn6\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ed7776de7d444935ea4385999711bd6331a98fecb: feat(render): add bson protocol (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4145\"\u003e#4145\u003c/a\u003e) (\u003ca href=\"https://github.com/laurentcau\"\u003e\u003ccode\u003e@​laurentcau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eb917b14ff9d189f16a7492be79d123a47806ee19: fix(binding): empty value error (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/2169\"\u003e#2169\u003c/a\u003e) (\u003ca href=\"https://github.com/guonaihong\"\u003e\u003ccode\u003e@​guonaihong\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ec3d1092b3b48addf6f9cd00fe274ec3bd14650eb: fix(binding): improve empty slice/array handling in form binding (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4380\"\u003e#4380\u003c/a\u003e) (\u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e9914178584e42458ff7d23891463a880f58c9d86: fix(context): ClientIP handling for multiple X-Forwarded-For header values (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4472\"\u003e#4472\u003c/a\u003e) (\u003ca href=\"https://github.com/Nurysso\"\u003e\u003ccode\u003e@​Nurysso\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e2a794cd0b0faa7d829291375b27a3467ea972b0d: fix(debug): version mismatch (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4403\"\u003e#4403\u003c/a\u003e) (\u003ca href=\"https://github.com/zeek0x\"\u003e\u003ccode\u003e@​zeek0x\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ec3d5a28ed6d3849da820195b6774d212bcc038a9: fix(gin): close os.File in RunFd to prevent resource leak (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4422\"\u003e#4422\u003c/a\u003e) (\u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e5fad976b372e381312f8de69f0969f1284d229d3: fix(gin): literal colon routes not working with engine.Handler() (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4415\"\u003e#4415\u003c/a\u003e) (\u003ca href=\"https://github.com/pawannn\"\u003e\u003ccode\u003e@​pawannn\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e63dd3e60cab89c27fb66bce1423bd268d52abad1: fix(recover): suppress http.ErrAbortHandler in recover (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4336\"\u003e#4336\u003c/a\u003e) (\u003ca href=\"https://github.com/MondayCha\"\u003e\u003ccode\u003e@​MondayCha\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e5c00df8afadd06cc5be530dde00fe6d9fa4a2e4a: fix(render): write content length in Data.Render (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4206\"\u003e#4206\u003c/a\u003e) (\u003ca href=\"https://github.com/dengaleev\"\u003e\u003ccode\u003e@​dengaleev\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e234a6d4c00cb77af9852aca0b8289745d5529b4b: fix(response): refine hijack behavior for response lifecycle (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4373\"\u003e#4373\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e472d086af2acd924cb4b9d7be0525f7d790f69bc: fix(tree): panic in findCaseInsensitivePathRec with RedirectFixedPath (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4535\"\u003e#4535\u003c/a\u003e) (\u003ca href=\"https://github.com/veeceey\"\u003e\u003ccode\u003e@​veeceey\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e8e07d37c63e5536eb25f4af4c91eabeee4011fba: fix: Correct typos, improve documentation clarity, and remove dead code (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4511\"\u003e#4511\u003c/a\u003e) (\u003ca href=\"https://github.com/mahanadh\"\u003e\u003ccode\u003e@​mahanadh\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eba093d19477b896ac89a7fc3246af23d290b8e26: chore(binding): upgrade bson dependency to mongo-driver v2 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4549\"\u003e#4549\u003c/a\u003e) (\u003ca href=\"https://github.com/BobDu\"\u003e\u003ccode\u003e@​BobDu\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eb2b489dbf4826c2c630717a77fd5e42774625410: chore(context): always trust xff headers from unix socket (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/3359\"\u003e#3359\u003c/a\u003e) (\u003ca href=\"https://github.com/WeidiDeng\"\u003e\u003ccode\u003e@​WeidiDeng\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eecb3f7b5e2f3915bf1db240ed5eee572f8dbea36: chore(deps): upgrade golang.org/x/crypto to v0.45.0 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4449\"\u003e#4449\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eaf6e8b70b8261bb0c99ad094fe552ab92991620a: chore(deps): upgrade quic-go to v0.57.1 (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edb309081bc5c137b2aa15701ef53f7f19788da25: chore(logger): allow skipping query string output (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4547\"\u003e#4547\u003c/a\u003e) (\u003ca href=\"https://github.com/USA-RedDragon\"\u003e\u003ccode\u003e@​USA-RedDragon\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e26c3a628655cad2388380cb8102d6ce7d4875f3b: chore(response): prevent Flush() panic when \u003ccode\u003ehttp.Flusher\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4479\"\u003e#4479\u003c/a\u003e) (\u003ca href=\"https://github.com/Twacqwq\"\u003e\u003ccode\u003e@​Twacqwq\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e5dd833f1f26de0eb30eae47b17e05ced2482dc41: chore: bump minimum Go version to 1.24 and update workflows (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4388\"\u003e#4388\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRefactor\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e39858a0859c914bd26948fa950477e11bd8d3823: refactor(binding): use maps.Copy for cleaner map handling (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4352\"\u003e#4352\u003c/a\u003e) (\u003ca href=\"https://github.com/russcoss\"\u003e\u003ccode\u003e@​russcoss\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ec0048f645ee945c4db30593afdea10123e2c30a6: refactor(context): omit the return value names (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4395\"\u003e#4395\u003c/a\u003e) (\u003ca href=\"https://github.com/wanghaolong613\"\u003e\u003ccode\u003e@​wanghaolong613\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e915e4c90d28ec4cffc6eb146e208ab5a65eac772: refactor(context): replace hardcoded localhost IPs with constants (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4481\"\u003e#4481\u003c/a\u003e) (\u003ca href=\"https://github.com/pauloappbr\"\u003e\u003ccode\u003e@​pauloappbr\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e414de60574449457f3192a7a1d5528940db2836d: refactor(context): using maps.Clone (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4333\"\u003e#4333\u003c/a\u003e) (\u003ca href=\"https://github.com/cuiweixie\"\u003e\u003ccode\u003e@​cuiweixie\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e59e9d4a794f12c4f9a6c7bed441b9644e5f6d99b: refactor(ginS): use sync.OnceValue to simplify engine function (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4314\"\u003e#4314\u003c/a\u003e) (\u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e3ab698dc5110af1977d57226e4995c57dd34c233: refactor(recovery): smart error comparison (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4142\"\u003e#4142\u003c/a\u003e) (\u003ca href=\"https://github.com/zeek0x\"\u003e\u003ccode\u003e@​zeek0x\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ed1a15347b1e45a8ee816193d3578a93bfd73b70f: refactor(utils): move util functions to utils.go (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4467\"\u003e#4467\u003c/a\u003e) (\u003ca href=\"https://github.com/zeek0x\"\u003e\u003ccode\u003e@​zeek0x\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ee3118cc378d263454098924ebbde7e8d1dd2e904: refactor: for loop can be modernized using range over int (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4392\"\u003e#4392\u003c/a\u003e) (\u003ca href=\"https://github.com/wanghaolong613\"\u003e\u003ccode\u003e@​wanghaolong613\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e488f8c3ffa579a8d19beb2bae95ff8ef36b3d53f: refactor: replace magic numbers with named constants in bodyAllowedForStatus (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4529\"\u003e#4529\u003c/a\u003e) (\u003ca href=\"https://github.com/veeceey\"\u003e\u003ccode\u003e@​veeceey\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e9968c4bf9d5a99edc3eee2c068a4c9160ece8915: refactor: use b.Loop() to simplify the code and improve performance (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4389\"\u003e#4389\u003c/a\u003e) (\u003ca href=\"https://github.com/reddaisyy\"\u003e\u003ccode\u003e@​reddaisyy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ea85ef5ce4d0cda8834c59c855068ed48b51192d1: refactor: use b.Loop() to simplify the code and improve performance (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4432\"\u003e#4432\u003c/a\u003e) (\u003ca href=\"https://github.com/efcking\"\u003e\u003ccode\u003e@​efcking\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBuild process updates\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e61b67de522a189b568aced4c5c16917c558e3387: ci(bot): increase frequency and group updates for dependencies (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4367\"\u003e#4367\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efb27ef26c2fdfe25344b4c039d8a53551f9e912c: ci(lint): refactor test assertions and linter configuration (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4436\"\u003e#4436\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e93ff771e6dbf10e432864b30f3719ac5c84a4d4a: ci(sec): improve type safety and server organization in HTTP middleware (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4437\"\u003e#4437\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ee88fc8927a52b74f55bec0351604a56ac0aa1c51: ci(sec): schedule Trivy security scans to run daily at midnight UTC (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4439\"\u003e#4439\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e5e5ff3ace496a31b138b0820136a146bfb5de0ef: ci: replace vulnerability scanning workflow with Trivy integration (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4421\"\u003e#4421\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e00900fb3e1ea9dde33985a0e4f6afec793d5e786: ci: update CI workflows and standardize Trivy config quotes (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4531\"\u003e#4531\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eae3f524974fc4f55d18c9e7fae4614503c015226: ci: update Go version support to 1.25+ across CI and docs (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4550\"\u003e#4550\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/gin-gonic/gin/blob/master/CHANGELOG.md\"\u003egithub.com/gin-gonic/gin's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eGin v1.12.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat(render): add bson protocol (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4145\"\u003e#4145\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(context): add GetError and GetErrorSlice methods for error retrieval (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4502\"\u003e#4502\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(binding): add support for encoding.UnmarshalText in uri/query binding (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4203\"\u003e#4203\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(gin): add option to use escaped path (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4420\"\u003e#4420\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(context): add Protocol Buffers support to content negotiation (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4423\"\u003e#4423\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(context): implemented Delete method (\u003ca href=\"https://github.com/gin-gonic/gin/commit/38e7651\"\u003e#38e7651\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(logger): color latency (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4146\"\u003e#4146\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eperf(tree): reduce allocations in findCaseInsensitivePath (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4417\"\u003e#4417\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eperf(recovery): optimize line reading in stack function (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4466\"\u003e#4466\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eperf(path): replace regex with custom functions in redirectTrailingSlash (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4414\"\u003e#4414\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eperf(tree): optimize path parsing using strings.Count (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4246\"\u003e#4246\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(logger): allow skipping query string output (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4547\"\u003e#4547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(context): always trust xff headers from unix socket (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/3359\"\u003e#3359\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(response): prevent Flush() panic when the underlying ResponseWriter does not implement \u003ccode\u003ehttp.Flusher\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4479\"\u003e#4479\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(recovery): smart error comparison (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4142\"\u003e#4142\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(context): replace hardcoded localhost IPs with constants (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4481\"\u003e#4481\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(utils): move util functions to utils.go (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4467\"\u003e#4467\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(binding): use maps.Copy for cleaner map handling (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4352\"\u003e#4352\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(context): using maps.Clone (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4333\"\u003e#4333\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(ginS): use sync.OnceValue to simplify engine function (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4314\"\u003e#4314\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor: replace magic numbers with named constants in bodyAllowedForStatus (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4529\"\u003e#4529\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor: for loop can be modernized using range over int (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4392\"\u003e#4392\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(tree): panic in findCaseInsensitivePathRec with RedirectFixedPath (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4535\"\u003e#4535\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(render): write content length in Data.Render (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4206\"\u003e#4206\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(context): ClientIP handling for multiple X-Forwarded-For header values (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4472\"\u003e#4472\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(binding): empty value error (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/2169\"\u003e#2169\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(recover): suppress http.ErrAbortHandler in recover (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4336\"\u003e#4336\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(gin): literal colon routes not working with engine.Handler() (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4415\"\u003e#4415\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(gin): close os.File in RunFd to prevent resource leak (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4422\"\u003e#4422\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(response): refine hijack behavior for response lifecycle (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4373\"\u003e#4373\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(binding): improve empty slice/array handling in form binding (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4380\"\u003e#4380\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(debug): version mismatch (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4403\"\u003e#4403\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: correct typos, improve documentation clarity, and remove dead code (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4511\"\u003e#4511\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBuild process updates / CI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eci: update Go version support to 1.25+ across CI and docs (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4550\"\u003e#4550\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(binding): upgrade bson dependency to mongo-driver v2 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4549\"\u003e#4549\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/73726dc606796a025971fe451f0aa6f1b9b847f6\"\u003e\u003ccode\u003e73726dc\u003c/code\u003e\u003c/a\u003e docs: update documentation to reflect Go version changes (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4552\"\u003e#4552\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/e292e5caa777bce70b66fe08c94cbe9cef3e2ec9\"\u003e\u003ccode\u003ee292e5c\u003c/code\u003e\u003c/a\u003e docs: document and finalize Gin v1.12.0 release (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4551\"\u003e#4551\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/ae3f524974fc4f55d18c9e7fae4614503c015226\"\u003e\u003ccode\u003eae3f524\u003c/code\u003e\u003c/a\u003e ci: update Go version support to 1.25+ across CI and docs (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4550\"\u003e#4550\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/38534e2bf98a06e1f62d6b24384e90b5f78699bf\"\u003e\u003ccode\u003e38534e2\u003c/code\u003e\u003c/a\u003e chore(deps): bump golang.org/x/net from 0.50.0 to 0.51.0 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4548\"\u003e#4548\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/472d086af2acd924cb4b9d7be0525f7d790f69bc\"\u003e\u003ccode\u003e472d086\u003c/code\u003e\u003c/a\u003e fix(tree): panic in findCaseInsensitivePathRec with RedirectFixedPath (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4535\"\u003e#4535\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/fb2583442c4d9bccb75e6d26f1aa6e7c01950db6\"\u003e\u003ccode\u003efb25834\u003c/code\u003e\u003c/a\u003e test(context): use http.StatusContinue constant instead of magic number 100 (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/6f1d5fe3cdb171a08928c3c9dd3fbcfc9ee1b521\"\u003e\u003ccode\u003e6f1d5fe\u003c/code\u003e\u003c/a\u003e test(render): add comprehensive error handling tests (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4541\"\u003e#4541\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/5c00df8afadd06cc5be530dde00fe6d9fa4a2e4a\"\u003e\u003ccode\u003e5c00df8\u003c/code\u003e\u003c/a\u003e fix(render): write content length in Data.Render (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4206\"\u003e#4206\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/db309081bc5c137b2aa15701ef53f7f19788da25\"\u003e\u003ccode\u003edb30908\u003c/code\u003e\u003c/a\u003e chore(logger): allow skipping query string output (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4547\"\u003e#4547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/ba093d19477b896ac89a7fc3246af23d290b8e26\"\u003e\u003ccode\u003eba093d1\u003c/code\u003e\u003c/a\u003e chore(binding): upgrade bson dependency to mongo-driver v2 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4549\"\u003e#4549\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/gin-gonic/gin/compare/v1.11.0...v1.12.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/go-sql-driver/mysql` from 1.9.2 to 1.10.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/go-sql-driver/mysql/releases\"\u003egithub.com/go-sql-driver/mysql's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.10.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eadd Go 1.24 to the test matrix by \u003ca href=\"https://github.com/shogo82148\"\u003e\u003ccode\u003e@​shogo82148\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/pull/1681\"\u003ego-sql-driver/mysql#1681\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003emodernize for Go 1.22 by \u003ca href=\"https://github.com/methane\"\u003e\u003ccode\u003e@​methane\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/pull/1695\"\u003ego-sql-driver/mysql#1695\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etest stability improvement. by \u003ca href=\"https://github.com/methane\"\u003e\u003ccode\u003e@​methane\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/pull/1698\"\u003ego-sql-driver/mysql#1698\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003esimplify collation tests by \u003ca href=\"https://github.com/methane\"\u003e\u003ccode\u003e@​methane\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/pull/1700\"\u003ego-sql-driver/mysql#1700\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix bigint unsigned null column scan to err type int64 by \u003ca href=\"https://github.com/elonnzhang\"\u003e\u003ccode\u003e@​elonnzhang\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/pull/1612\"\u003ego-sql-driver/mysql#1612\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTransaction Commit/Rollback returns conn's cached error, if present by \u003ca href=\"https://github.com/brad-defined\"\u003e\u003ccode\u003e@​brad-defined\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/pull/1691\"\u003ego-sql-driver/mysql#1691\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eadd BenchmarkReceive10kRowsCompress by \u003ca href=\"https://github.com/methane\"\u003e\u003ccode\u003e@​methane\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/pull/1704\"\u003ego-sql-driver/mysql#1704\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eoptimize readPacket by \u003ca href=\"https://github.com/methane\"\u003e\u003ccode\u003e@​methane\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/pull/1705\"\u003ego-sql-driver/mysql#1705\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMariaDB Metadata skipping and DEPRECATE_EOF by \u003ca href=\"https://github.com/rusher\"\u003e\u003ccode\u003e@​rusher\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/pull/1708\"\u003ego-sql-driver/mysql#1708\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOptimization: statements reuse previous column name by \u003ca href=\"https://github.com/methane\"\u003e\u003ccode\u003e@​methane\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/pull/1711\"\u003ego-sql-driver/mysql#1711\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eupdate outdated MySQL internals documentation links by \u003ca href=\"https://github.com/demouth\"\u003e\u003ccode\u003e@​demouth\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/pull/1714\"\u003ego-sql-driver/mysql#1714\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix PING on compressed connections by \u003ca href=\"https://github.com/methane\"\u003e\u003ccode\u003e@​methane\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/pull/1721\"\u003ego-sql-driver/mysql#1721\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eadd DeepWiki badge by \u003ca href=\"https://github.com/methane\"\u003e\u003ccode\u003e@​methane\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/pull/1722\"\u003ego-sql-driver/mysql#1722\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate edwards25519 dependency to v1.1.1 by \u003ca href=\"https://github.com/williamhaw\"\u003e\u003ccode\u003e@​williamhaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/pull/1749\"\u003ego-sql-driver/mysql#1749\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eConfigure Dependabot for Go modules by \u003ca href=\"https://github.com/methane\"\u003e\u003ccode\u003e@​methane\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/pull/1755\"\u003ego-sql-driver/mysql#1755\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump dominikh/staticcheck-action from 1.3.1 to 1.4.1 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/pull/1759\"\u003ego-sql-driver/mysql#1759\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump github/codeql-action from 3 to 4 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/pull/1760\"\u003ego-sql-driver/mysql#1760\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/setup-go from 5 to 6 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/pull/1757\"\u003ego-sql-driver/mysql#1757\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix staticcheck error by \u003ca href=\"https://github.com/methane\"\u003e\u003ccode\u003e@​methane\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/pull/1761\"\u003ego-sql-driver/mysql#1761\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/checkout from 4 to 6 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/pull/1758\"\u003ego-sql-driver/mysql#1758\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix getSystemVar buffer reuse by \u003ca href=\"https://github.com/morgo\"\u003e\u003ccode\u003e@​morgo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/pull/1754\"\u003ego-sql-driver/mysql#1754\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eConsolidate Dependabot update noise by grouping weekly dependency PRs by \u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/pull/1762\"\u003ego-sql-driver/mysql#1762\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump filippo.io/edwards25519 from 1.1.1 to 1.2.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/pull/1756\"\u003ego-sql-driver/mysql#1756\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCI: Update GitHub Actions Go matrix to 1.24–1.26 by \u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/pull/1763\"\u003ego-sql-driver/mysql#1763\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnhance interpolateParams to correctly handle placeholders by \u003ca href=\"https://github.com/rusher\"\u003e\u003ccode\u003e@​rusher\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/pull/1732\"\u003ego-sql-driver/mysql#1732\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003emodernize by \u003ca href=\"https://github.com/methane\"\u003e\u003ccode\u003e@​methane\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/pull/1764\"\u003ego-sql-driver/mysql#1764\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erelease v1.10.0 by \u003ca href=\"https://github.com/methane\"\u003e\u003ccode\u003e@​methane\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/pull/1765\"\u003ego-sql-driver/mysql#1765\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elonnzhang\"\u003e\u003ccode\u003e@​elonnzhang\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/pull/1612\"\u003ego-sql-driver/mysql#1612\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brad-defined\"\u003e\u003ccode\u003e@​brad-defined\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/pull/1691\"\u003ego-sql-driver/mysql#1691\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rusher\"\u003e\u003ccode\u003e@​rusher\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/pull/1708\"\u003ego-sql-driver/mysql#1708\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/demouth\"\u003e\u003ccode\u003e@​demouth\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/pull/1714\"\u003ego-sql-driver/mysql#1714\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/williamhaw\"\u003e\u003ccode\u003e@​williamhaw\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/pull/1749\"\u003ego-sql-driver/mysql#1749\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] made their first contribution in \u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/pull/1759\"\u003ego-sql-driver/mysql#1759\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/morgo\"\u003e\u003ccode\u003e@​morgo\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/pull/1754\"\u003ego-sql-driver/mysql#1754\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/pull/1762\"\u003ego-sql-driver/mysql#1762\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/go-sql-driver/mysql/compare/v1.9.2...v1.10.0\"\u003ehttps://github.com/go-sql-driver/mysql/compare/v1.9.2...v1.10.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.9.3\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e[1.9] test stability improvement. by \u003ca href=\"https://github.com/methane\"\u003e\u003ccode\u003e@​methane\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/pull/1699\"\u003ego-sql-driver/mysql#1699\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[1.9] Transaction Commit/Rollback returns conn's cached error by \u003ca href=\"https://github.com/methane\"\u003e\u003ccode\u003e@​methane\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/pull/1702\"\u003ego-sql-driver/mysql#1702\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebackport benchmark_test by \u003ca href=\"https://github.com/methane\"\u003e\u003ccode\u003e@​methane\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/pull/1706\"\u003ego-sql-driver/mysql#1706\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[1.9] optimize readPacket (\u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/issues/1705\"\u003e#1705\u003c/a\u003e) by \u003ca href=\"https://github.com/methane\"\u003e\u003ccode\u003e@​methane\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/pull/1707\"\u003ego-sql-driver/mysql#1707\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[1.9] fix PING on compressed connections by \u003ca href=\"https://github.com/methane\"\u003e\u003ccode\u003e@​methane\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/pull/1723\"\u003ego-sql-driver/mysql#1723\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erelease v1.9.3 by \u003ca href=\"https://github.com/methane\"\u003e\u003ccode\u003e@​methane\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/pull/1725\"\u003ego-sql-driver/mysql#1725\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/go-sql-driver/mysql/blob/master/CHANGELOG.md\"\u003egithub.com/go-sql-driver/mysql's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.10.0 (2026-04-28)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003egetSystemVar(\u0026quot;max_allowed_packet\u0026quot;)\u003c/code\u003e potentially returned wrong value. (\u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/issues/1754\"\u003e#1754\u003c/a\u003e)\nThis affects only when \u003ccode\u003emaxAllowedPacket=0\u003c/code\u003e is set.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eBump filippo.io/edwards25519 from 1.1.1 to 1.2.0. (\u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/issues/1756\"\u003e#1756\u003c/a\u003e)\nWhile older versions have reported CVEs, they do not affect go-mysql.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdate Go versions to 1.24-1.26. (\u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/issues/1763\"\u003e#1763\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eEnhance interpolateParams to correctly handle placeholders. (\u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/issues/1732\"\u003e#1732\u003c/a\u003e)\nThe question mark (?) within strings and comments will no longer be treated as a placeholder.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.9.3 (2025-06-13)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003etx.Commit()\u003c/code\u003e and \u003ccode\u003etx.Rollback()\u003c/code\u003e returned \u003ccode\u003eErrInvalidConn\u003c/code\u003e always.\nNow they return cached real error if present. (\u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/issues/1690\"\u003e#1690\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eOptimize reading small result sets to fix a performance regression\nintroduced by compression protocol support. (\u003ccode\u003e[#1707](https://github.com/go-sql-driver/mysql/issues/1707)\u003c/code\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003edb.Ping()\u003c/code\u003e on compressed connection. (\u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/issues/1723\"\u003e#1723\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/go-sql-driver/mysql/commit/a065b60ab6d0c8e15468e7709c7f76acf4431647\"\u003e\u003ccode\u003ea065b60\u003c/code\u003e\u003c/a\u003e release v1.10.0 (\u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/issues/1765\"\u003e#1765\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/go-sql-driver/mysql/commit/09e4187be9c52bb13449a662d2a36e1e1789ac95\"\u003e\u003ccode\u003e09e4187\u003c/code\u003e\u003c/a\u003e modernize (\u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/issues/1764\"\u003e#1764\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/go-sql-driver/mysql/commit/6c44a9a0a1769e145dc91c08abe1aded2936ab63\"\u003e\u003ccode\u003e6c44a9a\u003c/code\u003e\u003c/a\u003e Enhance interpolateParams to correctly handle placeholders (\u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/issues/1732\"\u003e#1732\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/go-sql-driver/mysql/commit/688ce563a28598a9b733e6fc2b325050a4dcf261\"\u003e\u003ccode\u003e688ce56\u003c/code\u003e\u003c/a\u003e Update supported Go version to 1.24–1.26 (\u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/issues/1763\"\u003e#1763\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/go-sql-driver/mysql/commit/118d07fdb51f9e523ebcdb00628812e49d7c1881\"\u003e\u003ccode\u003e118d07f\u003c/code\u003e\u003c/a\u003e Bump filippo.io/edwards25519 from 1.1.1 to 1.2.0 (\u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/issues/1756\"\u003e#1756\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/go-sql-driver/mysql/commit/d6b2d3ee2cc8569b6778a7ae7ac2816e185f616b\"\u003e\u003ccode\u003ed6b2d3e\u003c/code\u003e\u003c/a\u003e Consolidate Dependabot update noise by grouping weekly dependency PRs (\u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/issues/1762\"\u003e#1762\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/go-sql-driver/mysql/commit/037dfd872a7b6c88e63c53f32700dffed560120c\"\u003e\u003ccode\u003e037dfd8\u003c/code\u003e\u003c/a\u003e Fix getSystemVar buffer reuse (\u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/issues/1754\"\u003e#1754\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/go-sql-driver/mysql/commit/900f33035615559b6188e4fa98d57ae20af2b73b\"\u003e\u003ccode\u003e900f330\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 4 to 6 (\u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/issues/1758\"\u003e#1758\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/go-sql-driver/mysql/commit/ab9e3804c604d6a60b0d3136f4654f81f184757d\"\u003e\u003ccode\u003eab9e380\u003c/code\u003e\u003c/a\u003e fix staticcheck error (\u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/issues/1761\"\u003e#1761\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/go-sql-driver/mysql/commit/f298c66742396b6921732744b9bb075c7faaca81\"\u003e\u003ccode\u003ef298c66\u003c/code\u003e\u003c/a\u003e Bump actions/setup-go from 5 to 6 (\u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/issues/1757\"\u003e#1757\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/go-sql-driver/mysql/compare/v1.9.2...v1.10.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/prometheus/client_golang` from 1.22.0 to 1.23.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/prometheus/client_golang/releases\"\u003egithub.com/prometheus/client_golang's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.23.2 - 2025-09-05\u003c/h2\u003e\n\u003cp\u003eThis release is made to upgrade to prometheus/common v0.66.1, which drops the dependencies github.com/grafana/regexp and go.uber.org/atomic and replaces gopkg.in/yaml.v2 with go.yaml.in/yaml/v2 (a drop-in replacement). There are no functional changes.\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cul\u003e\n\u003cli\u003e[release-1.23] Upgrade to prometheus/common@v0.66.1 by \u003ca href=\"https://github.com/aknuds1\"\u003e\u003ccode\u003e@​aknuds1\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/prometheus/client_golang/pull/1869\"\u003eprometheus/client_golang#1869\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[release-1.23] Cut v1.23.2 by \u003ca href=\"https://github.com/aknuds1\"\u003e\u003ccode\u003e@​aknuds1\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/prometheus/client_golang/pull/1870\"\u003eprometheus/client_golang#1870\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/prometheus/client_golang/compare/v1.23.1...v1.23.2\"\u003ehttps://github.com/prometheus/client_golang/compare/v1.23.1...v1.23.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.23.1 - 2025-09-04\u003c/h2\u003e\n\u003cp\u003eThis release is made to be compatible with a backwards incompatible API change in prometheus/common v0.66.0. There are no functional changes.\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cul\u003e\n\u003cli\u003e[release-1.23] Upgrade to prometheus/common v0.66 by \u003ca href=\"https://github.com/aknuds1\"\u003e\u003ccode\u003e@​aknuds1\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/prometheus/client_golang/pull/1866\"\u003eprometheus/client_golang#1866\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[release-1.23] Cut v1.23.1 by \u003ca href=\"https://github.com/aknuds1\"\u003e\u003ccode\u003e@​aknuds1\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/prometheus/client_golang/pull/1867\"\u003eprometheus/client_golang#1867\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/prometheus/client_golang/compare/v1.23.0...v1.23.1\"\u003ehttps://github.com/prometheus/client_golang/compare/v1.23.0...v1.23.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.23.0 - 2025-07-30\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e[CHANGE] Minimum required Go version is now 1.23, only the two latest Go versions are supported from now on. \u003ca href=\"https://redirect.github.com/prometheus/client_golang/issues/1812\"\u003e#1812\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[FEATURE] Add WrapCollectorWith and WrapCollectorWithPrefix \u003ca href=\"https://redirect.github.com/prometheus/client_golang/issues/1766\"\u003e#1766\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[FEATURE] Add exemplars for native histograms \u003ca href=\"https://redirect.github.com/prometheus/client_golang/issues/1686\"\u003e#1686\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENHANCEMENT] exp/api: Bubble up status code from writeResponse \u003ca href=\"https://redirect.github.com/prometheus/client_golang/issues/1823\"\u003e#1823\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENHANCEMENT] collector/go: Update runtime metrics for Go v1.23 and v1.24 \u003ca href=\"https://redirect.github.com/prometheus/client_golang/issues/1833\"\u003e#1833\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[BUGFIX] exp/api: client prompt return on context cancellation \u003ca href=\"https://redirect.github.com/prometheus/client_golang/issues/1729\"\u003e#1729\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/prometheus/client_golang/blob/main/CHANGELOG.md\"\u003egithub.com/prometheus/client_golang's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.23.2 / 2025-09-05\u003c/h2\u003e\n\u003cp\u003eThis release is made to upgrade to prometheus/common v0.66.1, which drops the dependencies github.com/grafana/regexp and go.uber.org/atomic and replaces gopkg.in/yaml.v2 with go.yaml.in/yaml/v2 (a drop-in replacement).\nThere are no functional changes.\u003c/p\u003e\n\u003ch2\u003e1.23.1 / 2025-09-04\u003c/h2\u003e\n\u003cp\u003eThis release is made to be compatible with a backwards incompatible API change\nin prometheus/common v0.66.0. There are no functional changes.\u003c/p\u003e\n\u003ch2\u003e1.23.0 / 2025-07-30\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e[CHANGE] Minimum required Go version is now 1.23, only the two latest Go versions are supported from now on. \u003ca href=\"https://redirect.github.com/prometheus/client_golang/issues/1812\"\u003e#1812\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[FEATURE] Add WrapCollectorWith and WrapCollectorWithPrefix \u003ca href=\"https://redirect.github.com/prometheus/client_golang/issues/1766\"\u003e#1766\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[FEATURE] Add exemplars for native histograms \u003ca href=\"https://redirect.github.com/prometheus/client_golang/issues/1686\"\u003e#1686\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENHANCEMENT] exp/api: Bubble up status code from writeResponse \u003ca href=\"https://redirect.github.com/prometheus/client_golang/issues/1823\"\u003e#1823\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENHANCEMENT] collector/go: Update runtime metrics for Go v1.23 and v1.24 \u003ca href=\"https://redirect.github.com/prometheus/client_golang/issues/1833\"\u003e#1833\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[BUGFIX] exp/api: client prompt return on context cancellation \u003ca href=\"https://redirect.github.com/prometheus/client_golang/issues/1729\"\u003e#1729\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prometheus/client_golang/commit/8179a560819f2c64ef6ade70e6ae4c73aecaca3c\"\u003e\u003ccode\u003e8179a56\u003c/code\u003e\u003c/a\u003e Cut v1.23.2 (\u003ca href=\"https://redirect.github.com/prometheus/client_golang/issues/1870\"\u003e#1870\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prometheus/client_golang/commit/4142b5908bb6c8f5e412b72de5ea4b927d8c219d\"\u003e\u003ccode\u003e4142b59\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/prometheus/client_golang/issues/1869\"\u003e#1869\u003c/a\u003e from prometheus/arve/upgrade-common\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prometheus/client_golang/commit/4ff40f0d918efc0f59701d13622913805c2425b4\"\u003e\u003ccode\u003e4ff40f0\u003c/code\u003e\u003c/a\u003e Cut v1.23.1 (\u003ca href=\"https://redirect.github.com/prometheus/client_golang/issues/1867\"\u003e#1867\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prometheus/client_golang/commit/989b0298944e64f88a54ac9c70cd8c8121f10bc9\"\u003e\u003ccode\u003e989b029\u003c/code\u003e\u003c/a\u003e Upgrade to prometheus/common v0.66 (\u003ca href=\"https://redirect.github.com/prometheus/client_golang/issues/1866\"\u003e#1866\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prometheus/client_golang/commit/e4b2208dd8cb6d1425f00250db842ec3c1e8749e\"\u003e\u003ccode\u003ee4b2208\u003c/code\u003e\u003c/a\u003e Cut v1.23.0 (\u003ca href=\"https://redirect.github.com/prometheus/client_golang/issues/1848\"\u003e#1848\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prometheus/client_golang/commit/d9492afd3a6f2e9782a7fc10363281bfd5b743bb\"\u003e\u003ccode\u003ed9492af\u003c/code\u003e\u003c/a\u003e cut v1.23.0-rc.1 (\u003ca href=\"https://redirect.github.com/prometheus/client_golang/issues/1842\"\u003e#1842\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prometheus/client_golang/commit/aeae8a0b4f54a8fa720d19b88638a2d048596f82\"\u003e\u003ccode\u003eaeae8a0\u003c/code\u003e\u003c/a\u003e Cut v1.23.0-rc.0 (\u003ca href=\"https://redirect.github.com/prometheus/client_golang/issues/1837\"\u003e#1837\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prometheus/client_golang/commit/b157309b723f0b8588ea604bb78dbbba196803f2\"\u003e\u003ccode\u003eb157309\u003c/code\u003e\u003c/a\u003e Update common Prometheus files (\u003ca href=\"https://redirect.github.com/prometheus/client_golang/issues/1832\"\u003e#1832\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prometheus/client_golang/commit/a704e287f467b79744c30af996b7d710d4c6900d\"\u003e\u003ccode\u003ea704e28\u003c/code\u003e\u003c/a\u003e build(deps): bump the github-actions group with 3 updates (\u003ca href=\"https://redirect.github.com/prometheus/client_golang/issues/1826\"\u003e#1826\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prometheus/client_golang/commit/c7743110ad2c599de3d8c23682d978a12f9f36d1\"\u003e\u003ccode\u003ec774311\u003c/code\u003e\u003c/a\u003e Fix errNotImplemented reference (\u003ca href=\"https://redirect.github.com/prometheus/client_golang/issues/1835\"\u003e#1835\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/prometheus/client_golang/compare/v1.22.0...v1.23.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/redis/go-redis/v9` from 9.19.0 to 9.20.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/redis/go-redis/releases\"\u003egithub.com/redis/go-redis/v9's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e9.20.0\u003c/h2\u003e\n\u003ch2\u003e🚀 Highlights\u003c/h2\u003e\n\u003ch3\u003eRedis 8.8 Support\u003c/h3\u003e\n\u003cp\u003eThis release adds support for \u003cstrong\u003eRedis 8.8\u003c/strong\u003e. The README's supported-versions list now includes Redis 8.8 alongside 8.0/8.2/8.4, and CI exercises the \u003ccode\u003e8.8\u003c/code\u003e client-libs-test image across the full suite (Makefile, build workflow, doctests, run-tests action, and docker-compose).\u003c/p\u003e\n\u003cp\u003eCoverage for the new commands that ship in the 8.x line, rounded out in this release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eAR*\u003c/code\u003e array data type\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3813\"\u003e#3813\u003c/a\u003e) — new array data structure, exposed via the \u003ccode\u003eArrayCmdable\u003c/code\u003e interface (see the experimental-features highlight below).\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eINCREX\u003c/code\u003e\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3816\"\u003e#3816\u003c/a\u003e) — atomic increment with expiration in a single round-trip.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eXNACK\u003c/code\u003e\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3790\"\u003e#3790\u003c/a\u003e) — explicit negative-acknowledge of pending stream entries.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eXAUTOCLAIM\u003c/code\u003e PEL deletes\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3798\"\u003e#3798\u003c/a\u003e) — \u003ccode\u003eXAUTOCLAIM\u003c/code\u003e/\u003ccode\u003eXAUTOCLAIMJUSTID\u003c/code\u003e now return the list of deleted message IDs from the pending entries list.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eTS.RANGE\u003c/code\u003e multiple aggregators\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3791\"\u003e#3791\u003c/a\u003e) — \u003ccode\u003eTS.RANGE\u003c/code\u003e/\u003ccode\u003eTS.REVRANGE\u003c/code\u003e/\u003ccode\u003eTS.MRANGE\u003c/code\u003e/\u003ccode\u003eTS.MREVRANGE\u003c/code\u003e accept multiple aggregators in a single call.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eZ(UNION|INTER|DIFF)\u003c/code\u003e \u003ccode\u003eCOUNT\u003c/code\u003e aggregator\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3802\"\u003e#3802\u003c/a\u003e) — \u003ccode\u003eCOUNT\u003c/code\u003e reducer for sorted-set set operations.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eJSON.SET FPHA\u003c/code\u003e\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3797\"\u003e#3797\u003c/a\u003e) — new \u003ccode\u003eFPHA\u003c/code\u003e argument that specifies the floating-point type for homogeneous FP arrays.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eCI image bump (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3814\"\u003e#3814\u003c/a\u003e) by \u003ca href=\"https://github.com/ofekshenawa\"\u003e\u003ccode\u003e@​ofekshenawa\u003c/code\u003e\u003c/a\u003e. Command coverage contributions by \u003ca href=\"https://github.com/cxljs\"\u003e\u003ccode\u003e@​cxljs\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/elena-kolevska\"\u003e\u003ccode\u003e@​elena-kolevska\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Khukharr\"\u003e\u003ccode\u003e@​Khukharr\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/ndyakov\"\u003e\u003ccode\u003e@​ndyakov\u003c/code\u003e\u003c/a\u003e, and \u003ca href=\"https://github.com/ofekshenawa\"\u003e\u003ccode\u003e@​ofekshenawa\u003c/code\u003e\u003c/a\u003e.\u003c/p\u003e\n\u003ch3\u003eStable RESP3 for RediSearch (\u003ccode\u003eUnstableResp3\u003c/code\u003e deprecated)\u003c/h3\u003e\n\u003cp\u003e\u003ccode\u003eFT.SEARCH\u003c/code\u003e, \u003ccode\u003eFT.AGGREGATE\u003c/code\u003e, \u003ccode\u003eFT.INFO\u003c/code\u003e, \u003ccode\u003eFT.SPELLCHECK\u003c/code\u003e, and \u003ccode\u003eFT.SYNDUMP\u003c/code\u003e now parse RESP3 (map) responses into the same typed result objects as RESP2 — \u003ccode\u003eVal()\u003c/code\u003e and \u003ccode\u003eResult()\u003c/code\u003e work uniformly on both protocols, no flag required. Previously, RESP3 search responses required \u003ccode\u003eUnstableResp3: true\u003c/code\u003e and were returned as opaque maps accessible only via \u003ccode\u003eRawResult()\u003c/code\u003e / \u003ccode\u003eRawVal()\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eAs a result, the \u003ccode\u003eUnstableResp3\u003c/code\u003e option is now a \u003cstrong\u003eno-op\u003c/strong\u003e across every options struct (\u003ccode\u003eOptions\u003c/code\u003e, \u003ccode\u003eClusterOptions\u003c/code\u003e, \u003ccode\u003eUniversalOptions\u003c/code\u003e, \u003ccode\u003eFailoverOptions\u003c/code\u003e, \u003ccode\u003eRingOptions\u003c/code\u003e) and has been marked \u003ccode\u003e// Deprecated:\u003c/code\u003e. The field is retained for backwards compatibility — existing code that sets \u003ccode\u003eUnstableResp3: true\u003c/code\u003e will continue to compile and behave identically — but it will be removed in a future release and new code should not set it. \u003ccode\u003eRawResult()\u003c/code\u003e / \u003ccode\u003eRawVal()\u003c/code\u003e continue to work for callers that prefer the raw RESP payload.\u003c/p\u003e\n\u003cp\u003e(\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3741\"\u003e#3741\u003c/a\u003e) by \u003ca href=\"https://github.com/ndyakov\"\u003e\u003ccode\u003e@​ndyakov\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eExperimental Array Data Structure Commands\u003c/h3\u003e\n\u003cp\u003eAdds an experimental \u003ccode\u003eArrayCmdable\u003c/code\u003e interface with the \u003ccode\u003eAR*\u003c/code\u003e command family (\u003ccode\u003eARSet\u003c/code\u003e, \u003ccode\u003eARGet\u003c/code\u003e, \u003ccode\u003eARGetRange\u003c/code\u003e, \u003ccode\u003eARMSet\u003c/code\u003e, \u003ccode\u003eARMGet\u003c/code\u003e, \u003ccode\u003eARDel\u003c/code\u003e, \u003ccode\u003eARDelRange\u003c/code\u003e, \u003ccode\u003eARScan\u003c/code\u003e, \u003ccode\u003eARSeek\u003c/code\u003e, \u003ccode\u003eARNext\u003c/code\u003e, \u003ccode\u003eARLastItems\u003c/code\u003e, \u003ccode\u003eARGrep\u003c/code\u003e, \u003ccode\u003eARGrepWithValues\u003c/code\u003e, \u003ccode\u003eARInfo\u003c/code\u003e/\u003ccode\u003eARInfoFull\u003c/code\u003e, and typed reducers \u003ccode\u003eAROpSum\u003c/code\u003e/\u003ccode\u003eAROpMin\u003c/code\u003e/\u003ccode\u003eAROpMax\u003c/code\u003e/\u003ccode\u003eAROpAnd\u003c/code\u003e/\u003ccode\u003eAROpOr\u003c/code\u003e/\u003ccode\u003eAROpXor\u003c/code\u003e/\u003ccode\u003eAROpMatch\u003c/code\u003e/\u003ccode\u003eAROpUsed\u003c/code\u003e) for working with Redis 8.8's new array data type. \u003cstrong\u003eAPI is experimental and may change in a future release.\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003e(\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3813\"\u003e#3813\u003c/a\u003e) by \u003ca href=\"https://github.com/cxljs\"\u003e\u003ccode\u003e@​cxljs\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e✨ New Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eRESP3 search parser\u003c/strong\u003e: First-class RESP3 parsing for \u003ccode\u003eFT.SEARCH\u003c/code\u003e/\u003ccode\u003eFT.AGGREGATE\u003c/code\u003e/\u003ccode\u003eFT.INFO\u003c/code\u003e/\u003ccode\u003eFT.SPELLCHECK\u003c/code\u003e/\u003ccode\u003eFT.SYNDUMP\u003c/code\u003e responses with backwards compatibility for RESP2 (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3741\"\u003e#3741\u003c/a\u003e) by \u003ca href=\"https://github.com/ndyakov\"\u003e\u003ccode\u003e@​ndyakov\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eINCREX\u003c/strong\u003e: New \u003ccode\u003eINCREX\u003c/code\u003e command support — atomic increment with expiration (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3816\"\u003e#3816\u003c/a\u003e) by \u003ca href=\"https://github.com/ndyakov\"\u003e\u003ccode\u003e@​ndyakov\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eXNACK\u003c/strong\u003e: Client support for the \u003ccode\u003eXNACK\u003c/code\u003e stream command for explicitly negative-acknowledging pending entries (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3790\"\u003e#3790\u003c/a\u003e) by \u003ca href=\"https://github.com/elena-kolevska\"\u003e\u003ccode\u003e@​elena-kolevska\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eTS range multiple aggregators\u003c/strong\u003e: \u003ccode\u003eTS.RANGE\u003c/code\u003e/\u003ccode\u003eTS.REVRANGE\u003c/code\u003e/\u003ccode\u003eTS.MRANGE\u003c/code\u003e/\u003ccode\u003eTS.MREVRANGE\u003c/code\u003e now accept multiple aggregators in a single call (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3791\"\u003e#3791\u003c/a\u003e) by \u003ca href=\"https://github.com/elena-kolevska\"\u003e\u003ccode\u003e@​elena-kolevska\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eXAutoClaim\u003c/code\u003e deleted IDs\u003c/strong\u003e: \u003ccode\u003eXAUTOCLAIM\u003c/code\u003e/\u003ccode\u003eXAUTOCLAIMJUSTID\u003c/code\u003e now return the list of deleted message IDs from the PEL (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3798\"\u003e#3798\u003c/a\u003e) by \u003ca href=\"https://github.com/Khukharr\"\u003e\u003ccode\u003e@​Khukharr\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eJSON.SET FPHA\u003c/code\u003e\u003c/strong\u003e: \u003ccode\u003eJSON.SET\u003c/code\u003e accepts a new \u003ccode\u003eFPHA\u003c/code\u003e argument that specifies the floating-point type for homogeneous floating-point arrays (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3797\"\u003e#3797\u003c/a\u003e) by \u003ca href=\"https://github.com/ndyakov\"\u003e\u003ccode\u003e@​ndyakov\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eSorted-set union/intersection COUNT\u003c/strong\u003e: \u003ccode\u003eZUNION\u003c/code\u003e/\u003ccode\u003eZINTER\u003c/code\u003e/\u003ccode\u003eZDIFF\u003c/code\u003e aggregator now supports \u003ccode\u003eCOUNT\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3802\"\u003e#3802\u003c/a\u003e) by \u003ca href=\"https://github.com/ofekshenawa\"\u003e\u003ccode\u003e@​ofekshenawa\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eFT.HYBRID\u003c/code\u003e vector validation\u003c/strong\u003e: Validates hybrid-search vector input types and adds proper typed vector parameters (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3756\"\u003e#3756\u003c/a\u003e) by \u003ca href=\"https://github.com/DengY11\"\u003e\u003ccode\u003e@​DengY11\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eCluster pool wait stats\u003c/strong\u003e: \u003ccode\u003eClusterClient.PoolStats()\u003c/code\u003e now accumulates \u003ccode\u003eWaitCount\u003c/code\u003e and \u003ccode\u003eWaitDurationNs\u003c/code\u003e across all node pools (previously always zero) (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3809\"\u003e#3809\u003c/a\u003e) by \u003ca href=\"https://github.com/LINKIWI\"\u003e\u003ccode\u003e@​LINKIWI\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eTLS-only Cluster PubSub\u003c/strong\u003e: \u003ccode\u003eCLUSTER SLOTS\u003c/code\u003e port-0 entries now fall back to the origin endpoint's port, fixing \u003ccode\u003edial tcp \u0026lt;ip\u0026gt;:0: connection refused\u003c/code\u003e on TLS-only clusters started with \u003ccode\u003e--port 0 --tls-port \u0026lt;port\u0026gt;\u003c/code\u003e (fixes \u003ca href=\"https://redirect.github.com/redis/go-redis/issues/3726\"\u003e#3726\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3828\"\u003e#3828\u003c/a\u003e) by \u003ca href=\"https://github.com/ndyakov\"\u003e\u003ccode\u003e@​ndyakov\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eSharded PubSub reconnect routing\u003c/strong\u003e: \u003ccode\u003ePubSub.conn()\u003c/code\u003e now passes both regular (\u003ccode\u003ec.channels\u003c/code\u003e) and sharded (\u003ccode\u003ec.schannels\u003c/code\u003e) channels into the per-PubSub \u003ccode\u003enewConn\u003c/code\u003e closure. Previously, \u003ccode\u003eClusterClient.SSubscribe\u003c/code\u003e-only PubSubs reconnected to a random node (because the routing closure saw an empty channel list), the \u003ccode\u003eSSUBSCRIBE\u003c/code\u003e was sent to the wrong shard, and the resulting \u003ccode\u003eMOVED\u003c/code\u003e reply was silently dropped (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3829\"\u003e#3829\u003c/a\u003e) by \u003ca href=\"https://github.com/ndyakov\"\u003e\u003ccode\u003e@​ndyakov\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eClusterClient \u003ccode\u003eWatch\u003c/code\u003e retry\u003c/strong\u003e: User errors returned from a \u003ccode\u003eWatch\u003c/code\u003e callback are no longer subjected to cluster-retry classification; transient cluster errors still retry, but a callback returning e.g. \u003ccode\u003enet.ErrClosed\u003c/code\u003e short-circuits immediately (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3821\"\u003e#3821\u003c/a\u003e) by \u003ca href=\"https://github.com/obiyang\"\u003e\u003ccode\u003e@​obiyang\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/redis/go-redis/blob/master/RELEASE-NOTES.md\"\u003egithub.com/redis/go-redis/v9's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e9.20.0 (2026-05-28)\u003c/h1\u003e\n\u003ch2\u003e🚀 Highlights\u003c/h2\u003e\n\u003ch3\u003eRedis 8.8 Support\u003c/h3\u003e\n\u003cp\u003eThis release adds support for \u003cstrong\u003eRedis 8.8\u003c/strong\u003e. The README's supported-versions list now includes Redis 8.8 alongside 8.0/8.2/8.4, and CI exercises the \u003ccode\u003e8.8-rc1\u003c/code\u003e client-libs-test image across the full suite (Makefile, build workflow, doctests, run-tests action, and docker-compose).\u003c/p\u003e\n\u003cp\u003eCoverage for the new commands that ship in the 8.x line, rounded out in this release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eAR*\u003c/code\u003e array data type\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3813\"\u003e#3813\u003c/a\u003e) — new array data structure, exposed via the \u003ccode\u003eArrayCmdable\u003c/code\u003e interface (see the experimental-features highlight below).\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eINCREX\u003c/code\u003e\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3816\"\u003e#3816\u003c/a\u003e) — atomic increment with expiration in a single round-trip.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eXNACK\u003c/code\u003e\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3790\"\u003e#3790\u003c/a\u003e) — explicit negative-acknowledge of pending stream entries.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eXAUTOCLAIM\u003c/code\u003e PEL deletes\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3798\"\u003e#3798\u003c/a\u003e) — \u003ccode\u003eXAUTOCLAIM\u003c/code\u003e/\u003ccode\u003eXAUTOCLAIMJUSTID\u003c/code\u003e now return the list of deleted message IDs from the pending entries list.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eTS.RANGE\u003c/code\u003e multiple aggregators\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3791\"\u003e#3791\u003c/a\u003e) — \u003ccode\u003eTS.RANGE\u003c/code\u003e/\u003ccode\u003eTS.REVRANGE\u003c/code\u003e/\u003ccode\u003eTS.MRANGE\u003c/code\u003e/\u003ccode\u003eTS.MREVRANGE\u003c/code\u003e accept multiple aggregators in a single call.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eZ(UNION|INTER|DIFF)\u003c/code\u003e \u003ccode\u003eCOUNT\u003c/code\u003e aggregator\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3802\"\u003e#3802\u003c/a\u003e) — \u003ccode\u003eCOUNT\u003c/code\u003e reducer for sorted-set set operations.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eJSON.SET FPHA\u003c/code\u003e\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3797\"\u003e#3797\u003c/a\u003e) — new \u003ccode\u003eFPHA\u003c/code\u003e argument that specifies the floating-point type for homogeneous FP arrays.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eCI image bump (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3814\"\u003e#3814\u003c/a\u003e) by \u003ca href=\"https://github.com/ofekshenawa\"\u003e\u003ccode\u003e@​ofekshenawa\u003c/code\u003e\u003c/a\u003e. Command coverage contributions by \u003ca href=\"https://github.com/cxljs\"\u003e\u003ccode\u003e@​cxljs\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/elena-kolevska\"\u003e\u003ccode\u003e@​elena-kolevska\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Khukharr\"\u003e\u003ccode\u003e@​Khukharr\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/ndyakov\"\u003e\u003ccode\u003e@​ndyakov\u003c/code\u003e\u003c/a\u003e, and \u003ca href=\"https://github.com/ofekshenawa\"\u003e\u003ccode\u003e@​ofekshenawa\u003c/code\u003e\u003c/a\u003e.\u003c/p\u003e\n\u003ch3\u003eStable RESP3 for RediSearch (\u003ccode\u003eUnstableResp3\u003c/code\u003e deprecated)\u003c/h3\u003e\n\u003cp\u003e\u003ccode\u003eFT.SEARCH\u003c/code\u003e, \u003ccode\u003eFT.AGGREGATE\u003c/code\u003e, \u003ccode\u003eFT.INFO\u003c/code\u003e, \u003ccode\u003eFT.SPELLCHECK\u003c/code\u003e, and \u003ccode\u003eFT.SYNDUMP\u003c/code\u003e now parse RESP3 (map) responses into the same typed result objects as RESP2 — \u003ccode\u003eVal()\u003c/code\u003e and \u003ccode\u003eResult()\u003c/code\u003e work uniformly on both protocols, no flag required. Previously, RESP3 search responses required \u003ccode\u003eUnstableResp3: true\u003c/code\u003e and were returned as opaque maps accessible only via \u003ccode\u003eRawResult()\u003c/code\u003e / \u003ccode\u003eRawVal()\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eAs a result, the \u003ccode\u003eUnstableResp3\u003c/code\u003e option is now a \u003cstrong\u003eno-op\u003c/strong\u003e across every options struct (\u003ccode\u003eOptions\u003c/code\u003e, \u003ccode\u003eClusterOptions\u003c/code\u003e, \u003ccode\u003eUniversalOptions\u003c/code\u003e, \u003ccode\u003eFailoverOptions\u003c/code\u003e, \u003ccode\u003eRingOptions\u003c/code\u003e) and has been marked \u003ccode\u003e// Deprecated:\u003c/code\u003e. The field is retained for backwards compatibility — existing code that sets \u003ccode\u003eUnstableResp3: true\u003c/code\u003e will continue to compile and behave identically — but it will be removed in a future release and new code should not set it. \u003ccode\u003eRawResult()\u003c/code\u003e / \u003ccode\u003eRawVal()\u003c/code\u003e continue to work for callers that prefer the raw RESP payload.\u003c/p\u003e\n\u003cp\u003e(\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3741\"\u003e#3741\u003c/a\u003e) by \u003ca href=\"https://github.com/ndyakov\"\u003e\u003ccode\u003e@​ndyakov\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eExperimental Array Data Structure Commands\u003c/h3\u003e\n\u003cp\u003eAdds an experimental \u003ccode\u003eArrayCmdable\u003c/code\u003e interface with the \u003ccode\u003eAR*\u003c/code\u003e command family (\u003ccode\u003eARSet\u003c/code\u003e, \u003ccode\u003eARGet\u003c/code\u003e, \u003ccode\u003eARGetRange\u003c/code\u003e, \u003ccode\u003eARMSet\u003c/code\u003e, \u003ccode\u003eARMGet\u003c/code\u003e, \u003ccode\u003eARDel\u003c/code\u003e, \u003ccode\u003eARDelRange\u003c/code\u003e, \u003ccode\u003eARScan\u003c/code\u003e, \u003ccode\u003eARSeek\u003c/code\u003e, \u003ccode\u003eARNext\u003c/code\u003e, \u003ccode\u003eARLastItems\u003c/code\u003e, \u003ccode\u003eARGrep\u003c/code\u003e, \u003ccode\u003eARGrepWithValues\u003c/code\u003e, \u003ccode\u003eARInfo\u003c/code\u003e/\u003ccode\u003eARInfoFull\u003c/code\u003e, and typed reducers \u003ccode\u003eAROpSum\u003c/code\u003e/\u003ccode\u003eAROpMin\u003c/code\u003e/\u003ccode\u003eAROpMax\u003c/code\u003e/\u003ccode\u003eAROpAnd\u003c/code\u003e/\u003ccode\u003eAROpOr\u003c/code\u003e/\u003ccode\u003eAROpXor\u003c/code\u003e/\u003ccode\u003eAROpMatch\u003c/code\u003e/\u003ccode\u003eAROpUsed\u003c/code\u003e) for working with Redis 8.8's new array data type. \u003cstrong\u003eAPI is experimental and may change in a future release.\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003e(\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3813\"\u003e#3813\u003c/a\u003e) by \u003ca href=\"https://github.com/cxljs\"\u003e\u003ccode\u003e@​cxljs\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e✨ New Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eRESP3 search parser\u003c/strong\u003e: First-class RESP3 parsing for \u003ccode\u003eFT.SEARCH\u003c/code\u003e/\u003ccode\u003eFT.AGGREGATE\u003c/code\u003e/\u003ccode\u003eFT.INFO\u003c/code\u003e/\u003ccode\u003eFT.SPELLCHECK\u003c/code\u003e/\u003ccode\u003eFT.SYNDUMP\u003c/code\u003e responses with backwards compatibility for RESP2 (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3741\"\u003e#3741\u003c/a\u003e) by \u003ca href=\"https://github.com/ndyakov\"\u003e\u003ccode\u003e@​ndyakov\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eINCREX\u003c/strong\u003e: New \u003ccode\u003eINCREX\u003c/code\u003e command support — atomic increment with expiration (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3816\"\u003e#3816\u003c/a\u003e) by \u003ca href=\"https://github.com/ndyakov\"\u003e\u003ccode\u003e@​ndyakov\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eXNACK\u003c/strong\u003e: Client support for the \u003ccode\u003eXNACK\u003c/code\u003e stream command for explicitly negative-acknowledging pending entries (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3790\"\u003e#3790\u003c/a\u003e) by \u003ca href=\"https://github.com/elena-kolevska\"\u003e\u003ccode\u003e@​elena-kolevska\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eTS range multiple aggregators\u003c/strong\u003e: \u003ccode\u003eTS.RANGE\u003c/code\u003e/\u003ccode\u003eTS.REVRANGE\u003c/code\u003e/\u003ccode\u003eTS.MRANGE\u003c/code\u003e/\u003ccode\u003eTS.MREVRANGE\u003c/code\u003e now accept multiple aggregators in a single call (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3791\"\u003e#3791\u003c/a\u003e) by \u003ca href=\"https://github.com/elena-kolevska\"\u003e\u003ccode\u003e@​elena-kolevska\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eXAutoClaim\u003c/code\u003e deleted IDs\u003c/strong\u003e: \u003ccode\u003eXAUTOCLAIM\u003c/code\u003e/\u003ccode\u003eXAUTOCLAIMJUSTID\u003c/code\u003e now return the list of deleted message IDs from the PEL (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3798\"\u003e#3798\u003c/a\u003e) by \u003ca href=\"https://github.com/Khukharr\"\u003e\u003ccode\u003e@​Khukharr\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eJSON.SET FPHA\u003c/code\u003e\u003c/strong\u003e: \u003ccode\u003eJSON.SET\u003c/code\u003e accepts a new \u003ccode\u003eFPHA\u003c/code\u003e argument that specifies the floating-point type for homogeneous floating-point arrays (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3797\"\u003e#3797\u003c/a\u003e) by \u003ca href=\"https://github.com/ndyakov\"\u003e\u003ccode\u003e@​ndyakov\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eSorted-set union/intersection COUNT\u003c/strong\u003e: \u003ccode\u003eZUNION\u003c/code\u003e/\u003ccode\u003eZINTER\u003c/code\u003e/\u003ccode\u003eZDIFF\u003c/code\u003e aggregator now supports \u003ccode\u003eCOUNT\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3802\"\u003e#3802\u003c/a\u003e) by \u003ca href=\"https://github.com/ofekshenawa\"\u003e\u003ccode\u003e@​ofekshenawa\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eFT.HYBRID\u003c/code\u003e vector validation\u003c/strong\u003e: Validates hybrid-search vector input types and adds proper typed vector parameters (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3756\"\u003e#3756\u003c/a\u003e) by \u003ca href=\"https://github.com/DengY11\"\u003e\u003ccode\u003e@​DengY11\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eCluster pool wait stats\u003c/strong\u003e: \u003ccode\u003eClusterClient.PoolStats()\u003c/code\u003e now accumulates \u003ccode\u003eWaitCount\u003c/code\u003e and \u003ccode\u003eWaitDurationNs\u003c/code\u003e across all node pools (previously always zero) (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3809\"\u003e#3809\u003c/a\u003e) by \u003ca href=\"https://github.com/LINKIWI\"\u003e\u003ccode\u003e@​LINKIWI\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eTLS-only Cluster PubSub\u003c/strong\u003e: \u003ccode\u003eCLUSTER SLOTS\u003c/code\u003e port-0 entries now fall back to the origin endpoint's port, fixing \u003ccode\u003edial tcp \u0026lt;ip\u0026gt;:0: connection refused\u003c/code\u003e on TLS-only clusters started with \u003ccode\u003e--port 0 --tls-port \u0026lt;port\u0026gt;\u003c/code\u003e (fixes \u003ca href=\"https://redirect.github.com/redis/go-redis/issues/3726\"\u003e#3726\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3828\"\u003e#3828\u003c/a\u003e) by \u003ca href=\"https://github.com/ndyakov\"\u003e\u003ccode\u003e@​ndyakov\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eSharded PubSub reconnect routing\u003c/strong\u003e: \u003ccode\u003ePubSub.conn()\u003c/code\u003e now passes both regular (\u003ccode\u003ec.channels\u003c/code\u003e) and sharded (\u003ccode\u003ec.schannels\u003c/code\u003e) channels into the per-PubSub \u003ccode\u003enewConn\u003c/code\u003e closure. Previously, \u003ccode\u003eClusterClient.SSubscribe\u003c/code\u003e-only PubSubs reconnected to a random node (because the routing closure saw an empty channel list), the \u003ccode\u003eSSUBSCRIBE\u003c/code\u003e was sent to the wrong shard, and the resulting \u003ccode\u003eMOVED\u003c/code\u003e reply was silently dropped (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3829\"\u003e#3829\u003c/a\u003e) by \u003ca href=\"https://github.com/ndyakov\"\u003e\u003ccode\u003e@​ndyakov\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary...\n\n_Description has been truncated_\n\n\u003c!-- This is an auto-generated comment: release notes by coderabbit.ai --\u003e\n\n## Summary by CodeRabbit\n\n* **Chores**\n  * Updated Go version to 1.26.0\n  * Refreshed core project dependencies including web framework, database drivers, monitoring and observability packages, caching, and distributed systems tools\n  * Updated transitive dependencies across the dependency tree, including migration to newer authentication library version\n  * Bumped utility packages for performance and compatibility improvements\n\n\u003c!-- end of auto-generated comment: release notes by coderabbit.ai --\u003e","html_url":"https://github.com/kubeservice-stack/common/pull/155","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/kubeservice-stack%2Fcommon/issues/155","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/155/packages"},{"uuid":"4560042025","node_id":"PR_kwDOR7a7Y87hNLcu","number":799,"state":"closed","title":"chore(deps): bump the go-minor-patch group across 1 directory with 16 updates","user":"dependabot[bot]","labels":["dependencies"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-06-08T01:44:43.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-01T03:15:27.000Z","updated_at":"2026-06-08T01:44:45.000Z","time_to_close":599356,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"go-minor-patch","update_count":16,"packages":[{"name":"github.com/alicebob/miniredis/v2","old_version":"2.37.0","new_version":"2.38.0","repository_url":"https://github.com/alicebob/miniredis"},{"name":"github.com/gin-gonic/gin","old_version":"1.10.0","new_version":"1.12.0","repository_url":"https://github.com/gin-gonic/gin"},{"name":"github.com/go-gormigrate/gormigrate/v2","old_version":"2.1.5","new_version":"2.1.6","repository_url":"https://github.com/go-gormigrate/gormigrate"},{"name":"github.com/golang-migrate/migrate/v4","old_version":"4.18.2","new_version":"4.19.1","repository_url":"https://github.com/golang-migrate/migrate"},{"name":"github.com/mark3labs/mcp-go","old_version":"0.47.0","new_version":"0.54.1","repository_url":"https://github.com/mark3labs/mcp-go"},{"name":"github.com/pquerna/otp","old_version":"1.4.0","new_version":"1.5.0","repository_url":"https://github.com/pquerna/otp"},{"name":"github.com/redis/go-redis/v9","old_version":"9.18.0","new_version":"9.20.0","repository_url":"https://github.com/redis/go-redis"},{"name":"github.com/spf13/cobra","old_version":"1.8.1","new_version":"1.10.2","repository_url":"https://github.com/spf13/cobra"},{"name":"github.com/swaggo/gin-swagger","old_version":"1.6.0","new_version":"1.6.1","repository_url":"https://github.com/swaggo/gin-swagger"},{"name":"k8s.io/api","old_version":"0.32.3","new_version":"0.36.1","repository_url":"https://github.com/kubernetes/api"},{"name":"k8s.io/client-go","old_version":"0.32.3","new_version":"0.36.1","repository_url":"https://github.com/kubernetes/client-go"}],"path":null,"ecosystem":"go"},"body":"Bumps the go-minor-patch group with 11 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [github.com/alicebob/miniredis/v2](https://github.com/alicebob/miniredis) | `2.37.0` | `2.38.0` |\n| [github.com/gin-gonic/gin](https://github.com/gin-gonic/gin) | `1.10.0` | `1.12.0` |\n| [github.com/go-gormigrate/gormigrate/v2](https://github.com/go-gormigrate/gormigrate) | `2.1.5` | `2.1.6` |\n| [github.com/golang-migrate/migrate/v4](https://github.com/golang-migrate/migrate) | `4.18.2` | `4.19.1` |\n| [github.com/mark3labs/mcp-go](https://github.com/mark3labs/mcp-go) | `0.47.0` | `0.54.1` |\n| [github.com/pquerna/otp](https://github.com/pquerna/otp) | `1.4.0` | `1.5.0` |\n| [github.com/redis/go-redis/v9](https://github.com/redis/go-redis) | `9.18.0` | `9.20.0` |\n| [github.com/spf13/cobra](https://github.com/spf13/cobra) | `1.8.1` | `1.10.2` |\n| [github.com/swaggo/gin-swagger](https://github.com/swaggo/gin-swagger) | `1.6.0` | `1.6.1` |\n| [k8s.io/api](https://github.com/kubernetes/api) | `0.32.3` | `0.36.1` |\n| [k8s.io/client-go](https://github.com/kubernetes/client-go) | `0.32.3` | `0.36.1` |\n\n\nUpdates `github.com/alicebob/miniredis/v2` from 2.37.0 to 2.38.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/alicebob/miniredis/releases\"\u003egithub.com/alicebob/miniredis/v2's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eDELEX and fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eXADD TRIM (thanks \u003ca href=\"https://github.com/evan-choi\"\u003e\u003ccode\u003e@​evan-choi\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate XINFO STREAM (thanks \u003ca href=\"https://github.com/TomBailey167\"\u003e\u003ccode\u003e@​TomBailey167\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003elua fix (thanks \u003ca href=\"https://github.com/infastin\"\u003e\u003ccode\u003e@​infastin\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003epartial support for DELEX\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/alicebob/miniredis/blob/master/CHANGELOG.md\"\u003egithub.com/alicebob/miniredis/v2's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.38.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eXADD TRIM (thanks \u003ca href=\"https://github.com/evan-choi\"\u003e\u003ccode\u003e@​evan-choi\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate XINFO STREAM (thanks \u003ca href=\"https://github.com/TomBailey167\"\u003e\u003ccode\u003e@​TomBailey167\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003elua fix (thanks \u003ca href=\"https://github.com/infastin\"\u003e\u003ccode\u003e@​infastin\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003epartial support for DELEX\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/alicebob/miniredis/commit/d67bfae4c370e8451561165eca6ddc50f056f083\"\u003e\u003ccode\u003ed67bfae\u003c/code\u003e\u003c/a\u003e update changelog for v2.38.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/alicebob/miniredis/commit/2b1abd81e1c58fb6d440b4637287d3ee09f7f66a\"\u003e\u003ccode\u003e2b1abd8\u003c/code\u003e\u003c/a\u003e DELEX (partly) (\u003ca href=\"https://redirect.github.com/alicebob/miniredis/issues/442\"\u003e#442\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/alicebob/miniredis/commit/452dd373d138f7ad858dd6e25e2a92753f83498e\"\u003e\u003ccode\u003e452dd37\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/alicebob/miniredis/issues/440\"\u003e#440\u003c/a\u003e from infastin/server-alias\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/alicebob/miniredis/commit/b5b8ec2cfde407552ea028514409599dbd5e1600\"\u003e\u003ccode\u003eb5b8ec2\u003c/code\u003e\u003c/a\u003e feat: add 'server' alias to 'redis' in lua scripts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/alicebob/miniredis/commit/ecc4af14f2444ea1a57d040185781fe197bdfc9d\"\u003e\u003ccode\u003eecc4af1\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/alicebob/miniredis/issues/439\"\u003e#439\u003c/a\u003e from TomBailey167/xinfo-stream-last-generated-id\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/alicebob/miniredis/commit/4a2a33e841b359a2569fe9a35d6d46414bf40aec\"\u003e\u003ccode\u003e4a2a33e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/alicebob/miniredis/issues/435\"\u003e#435\u003c/a\u003e from evan-choi/fix/xadd-equals-trim-modifier\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/alicebob/miniredis/commit/d6261eff59117ccea7387f3a608caa1006b1adef\"\u003e\u003ccode\u003ed6261ef\u003c/code\u003e\u003c/a\u003e feat: add last-generated-id to XINFO STREAM response\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/alicebob/miniredis/commit/f4d8aa342425de1b740a6f22a7dd230f83e3712a\"\u003e\u003ccode\u003ef4d8aa3\u003c/code\u003e\u003c/a\u003e fix: accept = trim modifier in xadd\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/alicebob/miniredis/compare/v2.37.0...v2.38.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/gin-gonic/gin` from 1.10.0 to 1.12.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/gin-gonic/gin/releases\"\u003egithub.com/gin-gonic/gin's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.12.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e192ac89eefc1c30f7c97ae48a9ffb1c6f1c8c8bc: feat(binding): add support for encoding.UnmarshalText in uri/query binding (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4203\"\u003e#4203\u003c/a\u003e) (\u003ca href=\"https://github.com/takanuva15\"\u003e\u003ccode\u003e@​takanuva15\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e53410d2e07054369e0960fbe2eed97e1b9966f12: feat(context): add GetError and GetErrorSlice methods for error retrieval (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4502\"\u003e#4502\u003c/a\u003e) (\u003ca href=\"https://github.com/raju-mechatronics\"\u003e\u003ccode\u003e@​raju-mechatronics\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eacc55e049e33b401e810dbd8c0d6dcb6b3ba2b05: feat(context): add Protocol Buffers support to content negotiation (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4423\"\u003e#4423\u003c/a\u003e) (\u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e38e765119241d990705169bedb5002a29ae0cbd1: feat(context): implemented Delete method (\u003ca href=\"https://github.com/Spyder01\"\u003e\u003ccode\u003e@​Spyder01\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e771dcc6476d7bc6abb9ec0235ecefa4d38fe6fb0: feat(gin): add option to use escaped path (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4420\"\u003e#4420\u003c/a\u003e) (\u003ca href=\"https://github.com/ldesauw\"\u003e\u003ccode\u003e@​ldesauw\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e4dec17afdff48e8018c83618fbbe69fceeb2b41d: feat(logger): color latency (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4146\"\u003e#4146\u003c/a\u003e) (\u003ca href=\"https://github.com/wsyqn6\"\u003e\u003ccode\u003e@​wsyqn6\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ed7776de7d444935ea4385999711bd6331a98fecb: feat(render): add bson protocol (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4145\"\u003e#4145\u003c/a\u003e) (\u003ca href=\"https://github.com/laurentcau\"\u003e\u003ccode\u003e@​laurentcau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eb917b14ff9d189f16a7492be79d123a47806ee19: fix(binding): empty value error (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/2169\"\u003e#2169\u003c/a\u003e) (\u003ca href=\"https://github.com/guonaihong\"\u003e\u003ccode\u003e@​guonaihong\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ec3d1092b3b48addf6f9cd00fe274ec3bd14650eb: fix(binding): improve empty slice/array handling in form binding (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4380\"\u003e#4380\u003c/a\u003e) (\u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e9914178584e42458ff7d23891463a880f58c9d86: fix(context): ClientIP handling for multiple X-Forwarded-For header values (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4472\"\u003e#4472\u003c/a\u003e) (\u003ca href=\"https://github.com/Nurysso\"\u003e\u003ccode\u003e@​Nurysso\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e2a794cd0b0faa7d829291375b27a3467ea972b0d: fix(debug): version mismatch (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4403\"\u003e#4403\u003c/a\u003e) (\u003ca href=\"https://github.com/zeek0x\"\u003e\u003ccode\u003e@​zeek0x\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ec3d5a28ed6d3849da820195b6774d212bcc038a9: fix(gin): close os.File in RunFd to prevent resource leak (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4422\"\u003e#4422\u003c/a\u003e) (\u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e5fad976b372e381312f8de69f0969f1284d229d3: fix(gin): literal colon routes not working with engine.Handler() (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4415\"\u003e#4415\u003c/a\u003e) (\u003ca href=\"https://github.com/pawannn\"\u003e\u003ccode\u003e@​pawannn\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e63dd3e60cab89c27fb66bce1423bd268d52abad1: fix(recover): suppress http.ErrAbortHandler in recover (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4336\"\u003e#4336\u003c/a\u003e) (\u003ca href=\"https://github.com/MondayCha\"\u003e\u003ccode\u003e@​MondayCha\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e5c00df8afadd06cc5be530dde00fe6d9fa4a2e4a: fix(render): write content length in Data.Render (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4206\"\u003e#4206\u003c/a\u003e) (\u003ca href=\"https://github.com/dengaleev\"\u003e\u003ccode\u003e@​dengaleev\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e234a6d4c00cb77af9852aca0b8289745d5529b4b: fix(response): refine hijack behavior for response lifecycle (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4373\"\u003e#4373\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e472d086af2acd924cb4b9d7be0525f7d790f69bc: fix(tree): panic in findCaseInsensitivePathRec with RedirectFixedPath (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4535\"\u003e#4535\u003c/a\u003e) (\u003ca href=\"https://github.com/veeceey\"\u003e\u003ccode\u003e@​veeceey\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e8e07d37c63e5536eb25f4af4c91eabeee4011fba: fix: Correct typos, improve documentation clarity, and remove dead code (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4511\"\u003e#4511\u003c/a\u003e) (\u003ca href=\"https://github.com/mahanadh\"\u003e\u003ccode\u003e@​mahanadh\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eba093d19477b896ac89a7fc3246af23d290b8e26: chore(binding): upgrade bson dependency to mongo-driver v2 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4549\"\u003e#4549\u003c/a\u003e) (\u003ca href=\"https://github.com/BobDu\"\u003e\u003ccode\u003e@​BobDu\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eb2b489dbf4826c2c630717a77fd5e42774625410: chore(context): always trust xff headers from unix socket (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/3359\"\u003e#3359\u003c/a\u003e) (\u003ca href=\"https://github.com/WeidiDeng\"\u003e\u003ccode\u003e@​WeidiDeng\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eecb3f7b5e2f3915bf1db240ed5eee572f8dbea36: chore(deps): upgrade golang.org/x/crypto to v0.45.0 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4449\"\u003e#4449\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eaf6e8b70b8261bb0c99ad094fe552ab92991620a: chore(deps): upgrade quic-go to v0.57.1 (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edb309081bc5c137b2aa15701ef53f7f19788da25: chore(logger): allow skipping query string output (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4547\"\u003e#4547\u003c/a\u003e) (\u003ca href=\"https://github.com/USA-RedDragon\"\u003e\u003ccode\u003e@​USA-RedDragon\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e26c3a628655cad2388380cb8102d6ce7d4875f3b: chore(response): prevent Flush() panic when \u003ccode\u003ehttp.Flusher\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4479\"\u003e#4479\u003c/a\u003e) (\u003ca href=\"https://github.com/Twacqwq\"\u003e\u003ccode\u003e@​Twacqwq\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e5dd833f1f26de0eb30eae47b17e05ced2482dc41: chore: bump minimum Go version to 1.24 and update workflows (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4388\"\u003e#4388\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRefactor\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e39858a0859c914bd26948fa950477e11bd8d3823: refactor(binding): use maps.Copy for cleaner map handling (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4352\"\u003e#4352\u003c/a\u003e) (\u003ca href=\"https://github.com/russcoss\"\u003e\u003ccode\u003e@​russcoss\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ec0048f645ee945c4db30593afdea10123e2c30a6: refactor(context): omit the return value names (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4395\"\u003e#4395\u003c/a\u003e) (\u003ca href=\"https://github.com/wanghaolong613\"\u003e\u003ccode\u003e@​wanghaolong613\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e915e4c90d28ec4cffc6eb146e208ab5a65eac772: refactor(context): replace hardcoded localhost IPs with constants (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4481\"\u003e#4481\u003c/a\u003e) (\u003ca href=\"https://github.com/pauloappbr\"\u003e\u003ccode\u003e@​pauloappbr\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e414de60574449457f3192a7a1d5528940db2836d: refactor(context): using maps.Clone (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4333\"\u003e#4333\u003c/a\u003e) (\u003ca href=\"https://github.com/cuiweixie\"\u003e\u003ccode\u003e@​cuiweixie\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e59e9d4a794f12c4f9a6c7bed441b9644e5f6d99b: refactor(ginS): use sync.OnceValue to simplify engine function (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4314\"\u003e#4314\u003c/a\u003e) (\u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e3ab698dc5110af1977d57226e4995c57dd34c233: refactor(recovery): smart error comparison (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4142\"\u003e#4142\u003c/a\u003e) (\u003ca href=\"https://github.com/zeek0x\"\u003e\u003ccode\u003e@​zeek0x\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ed1a15347b1e45a8ee816193d3578a93bfd73b70f: refactor(utils): move util functions to utils.go (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4467\"\u003e#4467\u003c/a\u003e) (\u003ca href=\"https://github.com/zeek0x\"\u003e\u003ccode\u003e@​zeek0x\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ee3118cc378d263454098924ebbde7e8d1dd2e904: refactor: for loop can be modernized using range over int (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4392\"\u003e#4392\u003c/a\u003e) (\u003ca href=\"https://github.com/wanghaolong613\"\u003e\u003ccode\u003e@​wanghaolong613\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e488f8c3ffa579a8d19beb2bae95ff8ef36b3d53f: refactor: replace magic numbers with named constants in bodyAllowedForStatus (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4529\"\u003e#4529\u003c/a\u003e) (\u003ca href=\"https://github.com/veeceey\"\u003e\u003ccode\u003e@​veeceey\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e9968c4bf9d5a99edc3eee2c068a4c9160ece8915: refactor: use b.Loop() to simplify the code and improve performance (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4389\"\u003e#4389\u003c/a\u003e) (\u003ca href=\"https://github.com/reddaisyy\"\u003e\u003ccode\u003e@​reddaisyy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ea85ef5ce4d0cda8834c59c855068ed48b51192d1: refactor: use b.Loop() to simplify the code and improve performance (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4432\"\u003e#4432\u003c/a\u003e) (\u003ca href=\"https://github.com/efcking\"\u003e\u003ccode\u003e@​efcking\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBuild process updates\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e61b67de522a189b568aced4c5c16917c558e3387: ci(bot): increase frequency and group updates for dependencies (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4367\"\u003e#4367\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efb27ef26c2fdfe25344b4c039d8a53551f9e912c: ci(lint): refactor test assertions and linter configuration (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4436\"\u003e#4436\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e93ff771e6dbf10e432864b30f3719ac5c84a4d4a: ci(sec): improve type safety and server organization in HTTP middleware (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4437\"\u003e#4437\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ee88fc8927a52b74f55bec0351604a56ac0aa1c51: ci(sec): schedule Trivy security scans to run daily at midnight UTC (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4439\"\u003e#4439\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e5e5ff3ace496a31b138b0820136a146bfb5de0ef: ci: replace vulnerability scanning workflow with Trivy integration (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4421\"\u003e#4421\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e00900fb3e1ea9dde33985a0e4f6afec793d5e786: ci: update CI workflows and standardize Trivy config quotes (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4531\"\u003e#4531\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eae3f524974fc4f55d18c9e7fae4614503c015226: ci: update Go version support to 1.25+ across CI and docs (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4550\"\u003e#4550\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/gin-gonic/gin/blob/master/CHANGELOG.md\"\u003egithub.com/gin-gonic/gin's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eGin v1.12.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat(render): add bson protocol (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4145\"\u003e#4145\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(context): add GetError and GetErrorSlice methods for error retrieval (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4502\"\u003e#4502\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(binding): add support for encoding.UnmarshalText in uri/query binding (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4203\"\u003e#4203\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(gin): add option to use escaped path (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4420\"\u003e#4420\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(context): add Protocol Buffers support to content negotiation (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4423\"\u003e#4423\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(context): implemented Delete method (\u003ca href=\"https://github.com/gin-gonic/gin/commit/38e7651\"\u003e#38e7651\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(logger): color latency (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4146\"\u003e#4146\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eperf(tree): reduce allocations in findCaseInsensitivePath (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4417\"\u003e#4417\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eperf(recovery): optimize line reading in stack function (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4466\"\u003e#4466\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eperf(path): replace regex with custom functions in redirectTrailingSlash (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4414\"\u003e#4414\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eperf(tree): optimize path parsing using strings.Count (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4246\"\u003e#4246\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(logger): allow skipping query string output (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4547\"\u003e#4547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(context): always trust xff headers from unix socket (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/3359\"\u003e#3359\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(response): prevent Flush() panic when the underlying ResponseWriter does not implement \u003ccode\u003ehttp.Flusher\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4479\"\u003e#4479\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(recovery): smart error comparison (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4142\"\u003e#4142\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(context): replace hardcoded localhost IPs with constants (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4481\"\u003e#4481\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(utils): move util functions to utils.go (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4467\"\u003e#4467\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(binding): use maps.Copy for cleaner map handling (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4352\"\u003e#4352\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(context): using maps.Clone (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4333\"\u003e#4333\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(ginS): use sync.OnceValue to simplify engine function (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4314\"\u003e#4314\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor: replace magic numbers with named constants in bodyAllowedForStatus (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4529\"\u003e#4529\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor: for loop can be modernized using range over int (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4392\"\u003e#4392\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(tree): panic in findCaseInsensitivePathRec with RedirectFixedPath (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4535\"\u003e#4535\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(render): write content length in Data.Render (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4206\"\u003e#4206\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(context): ClientIP handling for multiple X-Forwarded-For header values (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4472\"\u003e#4472\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(binding): empty value error (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/2169\"\u003e#2169\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(recover): suppress http.ErrAbortHandler in recover (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4336\"\u003e#4336\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(gin): literal colon routes not working with engine.Handler() (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4415\"\u003e#4415\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(gin): close os.File in RunFd to prevent resource leak (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4422\"\u003e#4422\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(response): refine hijack behavior for response lifecycle (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4373\"\u003e#4373\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(binding): improve empty slice/array handling in form binding (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4380\"\u003e#4380\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(debug): version mismatch (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4403\"\u003e#4403\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: correct typos, improve documentation clarity, and remove dead code (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4511\"\u003e#4511\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBuild process updates / CI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eci: update Go version support to 1.25+ across CI and docs (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4550\"\u003e#4550\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(binding): upgrade bson dependency to mongo-driver v2 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4549\"\u003e#4549\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eGin v1.11.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/73726dc606796a025971fe451f0aa6f1b9b847f6\"\u003e\u003ccode\u003e73726dc\u003c/code\u003e\u003c/a\u003e docs: update documentation to reflect Go version changes (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4552\"\u003e#4552\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/e292e5caa777bce70b66fe08c94cbe9cef3e2ec9\"\u003e\u003ccode\u003ee292e5c\u003c/code\u003e\u003c/a\u003e docs: document and finalize Gin v1.12.0 release (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4551\"\u003e#4551\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/ae3f524974fc4f55d18c9e7fae4614503c015226\"\u003e\u003ccode\u003eae3f524\u003c/code\u003e\u003c/a\u003e ci: update Go version support to 1.25+ across CI and docs (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4550\"\u003e#4550\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/38534e2bf98a06e1f62d6b24384e90b5f78699bf\"\u003e\u003ccode\u003e38534e2\u003c/code\u003e\u003c/a\u003e chore(deps): bump golang.org/x/net from 0.50.0 to 0.51.0 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4548\"\u003e#4548\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/472d086af2acd924cb4b9d7be0525f7d790f69bc\"\u003e\u003ccode\u003e472d086\u003c/code\u003e\u003c/a\u003e fix(tree): panic in findCaseInsensitivePathRec with RedirectFixedPath (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4535\"\u003e#4535\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/fb2583442c4d9bccb75e6d26f1aa6e7c01950db6\"\u003e\u003ccode\u003efb25834\u003c/code\u003e\u003c/a\u003e test(context): use http.StatusContinue constant instead of magic number 100 (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/6f1d5fe3cdb171a08928c3c9dd3fbcfc9ee1b521\"\u003e\u003ccode\u003e6f1d5fe\u003c/code\u003e\u003c/a\u003e test(render): add comprehensive error handling tests (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4541\"\u003e#4541\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/5c00df8afadd06cc5be530dde00fe6d9fa4a2e4a\"\u003e\u003ccode\u003e5c00df8\u003c/code\u003e\u003c/a\u003e fix(render): write content length in Data.Render (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4206\"\u003e#4206\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/db309081bc5c137b2aa15701ef53f7f19788da25\"\u003e\u003ccode\u003edb30908\u003c/code\u003e\u003c/a\u003e chore(logger): allow skipping query string output (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4547\"\u003e#4547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/ba093d19477b896ac89a7fc3246af23d290b8e26\"\u003e\u003ccode\u003eba093d1\u003c/code\u003e\u003c/a\u003e chore(binding): upgrade bson dependency to mongo-driver v2 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4549\"\u003e#4549\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/gin-gonic/gin/compare/v1.10.0...v1.12.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/go-gormigrate/gormigrate/v2` from 2.1.5 to 2.1.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/go-gormigrate/gormigrate/releases\"\u003egithub.com/go-gormigrate/gormigrate/v2's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.1.6\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003echore: bump go 1.25 =\u0026gt; 1.26, update go deps\u003c/li\u003e\n\u003cli\u003echore(ci): bump github actions\u003c/li\u003e\n\u003cli\u003echore: bump db images for integration testing\n\u003cul\u003e\n\u003cli\u003epostgres: 18 =\u0026gt; 19\u003c/li\u003e\n\u003cli\u003emariadb: 11 =\u0026gt; 12\u003c/li\u003e\n\u003cli\u003emssql/server: 2022 =\u0026gt; 2025\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/go-gormigrate/gormigrate/commit/0c959b054017835494c5f3df3f919ad35432bdc9\"\u003e\u003ccode\u003e0c959b0\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/go-gormigrate/gormigrate/issues/234\"\u003e#234\u003c/a\u003e from go-gormigrate/update-deps\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/go-gormigrate/gormigrate/commit/3beaebe11e7adae81201504d78c81517ee1cb94c\"\u003e\u003ccode\u003e3beaebe\u003c/code\u003e\u003c/a\u003e chore: bump db images for integration testing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/go-gormigrate/gormigrate/commit/98e2c3fc144b0b1b2ecd1325d6faffc4f8f46b79\"\u003e\u003ccode\u003e98e2c3f\u003c/code\u003e\u003c/a\u003e chore(ci): bump github actions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/go-gormigrate/gormigrate/commit/d6b97c71994510af7d1b814f5cb9fe2f8368f35e\"\u003e\u003ccode\u003ed6b97c7\u003c/code\u003e\u003c/a\u003e chore: bump go 1.25 =\u0026gt; 1.26, update go deps\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/go-gormigrate/gormigrate/compare/v2.1.5...v2.1.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/golang-migrate/migrate/v4` from 4.18.2 to 4.19.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/golang-migrate/migrate/releases\"\u003egithub.com/golang-migrate/migrate/v4's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.19.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump github.com/dvsekhvalnov/jose2go from 1.6.0 to 1.7.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/golang-migrate/migrate/pull/1334\"\u003egolang-migrate/migrate#1334\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate docker image to use go 1.25, addressing vulnerabilities  by \u003ca href=\"https://github.com/matsoob\"\u003e\u003ccode\u003e@​matsoob\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/golang-migrate/migrate/pull/1333\"\u003egolang-migrate/migrate#1333\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump golang.org/x/crypto from 0.36.0 to 0.45.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/golang-migrate/migrate/pull/1335\"\u003egolang-migrate/migrate#1335\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix linter issues by \u003ca href=\"https://github.com/HaraldNordgren\"\u003e\u003ccode\u003e@​HaraldNordgren\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/golang-migrate/migrate/pull/1325\"\u003egolang-migrate/migrate#1325\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRename databaseName to databaseDriverName by \u003ca href=\"https://github.com/iamonah\"\u003e\u003ccode\u003e@​iamonah\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/golang-migrate/migrate/pull/1304\"\u003egolang-migrate/migrate#1304\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: Update cloud.google.com/go/spanner version by \u003ca href=\"https://github.com/jferrl\"\u003e\u003ccode\u003e@​jferrl\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/golang-migrate/migrate/pull/1330\"\u003egolang-migrate/migrate#1330\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump golang.org/x/crypto from 0.43.0 to 0.45.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/golang-migrate/migrate/pull/1336\"\u003egolang-migrate/migrate#1336\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: remove dependency on \u0026quot;hashicorp/go-multierror\u0026quot; by \u003ca href=\"https://github.com/leonklingele\"\u003e\u003ccode\u003e@​leonklingele\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/golang-migrate/migrate/pull/1322\"\u003egolang-migrate/migrate#1322\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matsoob\"\u003e\u003ccode\u003e@​matsoob\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/golang-migrate/migrate/pull/1333\"\u003egolang-migrate/migrate#1333\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/iamonah\"\u003e\u003ccode\u003e@​iamonah\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/golang-migrate/migrate/pull/1304\"\u003egolang-migrate/migrate#1304\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jferrl\"\u003e\u003ccode\u003e@​jferrl\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/golang-migrate/migrate/pull/1330\"\u003egolang-migrate/migrate#1330\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/leonklingele\"\u003e\u003ccode\u003e@​leonklingele\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/golang-migrate/migrate/pull/1322\"\u003egolang-migrate/migrate#1322\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/golang-migrate/migrate/compare/v4.19.0...v4.19.1\"\u003ehttps://github.com/golang-migrate/migrate/compare/v4.19.0...v4.19.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.19.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed sqlserver not actually getting a lock if lock is already set by \u003ca href=\"https://github.com/urbim\"\u003e\u003ccode\u003e@​urbim\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/golang-migrate/migrate/pull/1186\"\u003egolang-migrate/migrate#1186\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump golang.org/x/oauth2 from 0.18.0 to 0.27.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/golang-migrate/migrate/pull/1299\"\u003egolang-migrate/migrate#1299\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate apt-key to gpg by \u003ca href=\"https://github.com/sandhilt\"\u003e\u003ccode\u003e@​sandhilt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/golang-migrate/migrate/pull/1277\"\u003egolang-migrate/migrate#1277\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate dktest to v0.4.6 for docker vuln fix by \u003ca href=\"https://github.com/dhui\"\u003e\u003ccode\u003e@​dhui\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/golang-migrate/migrate/pull/1309\"\u003egolang-migrate/migrate#1309\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor: Remove go.uber.org/atomic in favor of std sync/atomic by \u003ca href=\"https://github.com/romshark\"\u003e\u003ccode\u003e@​romshark\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/golang-migrate/migrate/pull/1303\"\u003egolang-migrate/migrate#1303\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnsure bufferWriter is always closed in Migration.Buffer and propagate close errors by \u003ca href=\"https://github.com/ckantcs\"\u003e\u003ccode\u003e@​ckantcs\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/golang-migrate/migrate/pull/1308\"\u003egolang-migrate/migrate#1308\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for Go 1.25 and drop support for 1.23 by \u003ca href=\"https://github.com/dhui\"\u003e\u003ccode\u003e@​dhui\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/golang-migrate/migrate/pull/1310\"\u003egolang-migrate/migrate#1310\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/urbim\"\u003e\u003ccode\u003e@​urbim\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/golang-migrate/migrate/pull/1186\"\u003egolang-migrate/migrate#1186\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sandhilt\"\u003e\u003ccode\u003e@​sandhilt\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/golang-migrate/migrate/pull/1277\"\u003egolang-migrate/migrate#1277\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/romshark\"\u003e\u003ccode\u003e@​romshark\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/golang-migrate/migrate/pull/1303\"\u003egolang-migrate/migrate#1303\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ckantcs\"\u003e\u003ccode\u003e@​ckantcs\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/golang-migrate/migrate/pull/1308\"\u003egolang-migrate/migrate#1308\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/golang-migrate/migrate/compare/v4.18.3...v4.19.0\"\u003ehttps://github.com/golang-migrate/migrate/compare/v4.18.3...v4.19.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.18.3\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ea4d0a1b Bump github.com/golang-jwt/jwt/v4 from 4.5.1 to 4.5.2\u003c/li\u003e\n\u003cli\u003ef37ef79 Bump golang.org/x/crypto from 0.31.0 to 0.35.0\u003c/li\u003e\n\u003cli\u003e5b97c92 Bump golang.org/x/net from 0.33.0 to 0.38.0\u003c/li\u003e\n\u003cli\u003ee6d84f6 Drop support for Go 1.22 and add support for Go 1.24\u003c/li\u003e\n\u003cli\u003efccd197 Mention CLI install instructions in main README\u003c/li\u003e\n\u003cli\u003e34c2b4a Remove redundant build tags\u003c/li\u003e\n\u003cli\u003ea868033 Update FAQ.md - typo\u003c/li\u003e\n\u003cli\u003e7269490 Update golangci-lint version used in GitHub Actions\u003c/li\u003e\n\u003cli\u003ec5137c4 Update migrate -help output for the readme file\u003c/li\u003e\n\u003cli\u003e033835a Update to dktest v0.4.5\u003c/li\u003e\n\u003cli\u003e8b09191 fix: typo limited not limitted\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/golang-migrate/migrate/commit/89e308c340a2c069c3260f268307d38a7db88227\"\u003e\u003ccode\u003e89e308c\u003c/code\u003e\u003c/a\u003e chore: remove dependency on \u0026quot;hashicorp/go-multierror\u0026quot; (\u003ca href=\"https://redirect.github.com/golang-migrate/migrate/issues/1322\"\u003e#1322\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/golang-migrate/migrate/commit/472ef2e75cf6acfb1d5c4092c9e8e05715631f24\"\u003e\u003ccode\u003e472ef2e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/golang-migrate/migrate/issues/1336\"\u003e#1336\u003c/a\u003e from golang-migrate/dependabot/go_modules/golang.org...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/golang-migrate/migrate/commit/8d7625987a5bcc4f74000a4357c4535b60de2ef6\"\u003e\u003ccode\u003e8d76259\u003c/code\u003e\u003c/a\u003e Bump golang.org/x/crypto from 0.43.0 to 0.45.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/golang-migrate/migrate/commit/9f9df7c897f5fcc4432d36e2c9049339d4010626\"\u003e\u003ccode\u003e9f9df7c\u003c/code\u003e\u003c/a\u003e chore: Update cloud.google.com/go/spanner version (\u003ca href=\"https://redirect.github.com/golang-migrate/migrate/issues/1330\"\u003e#1330\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/golang-migrate/migrate/commit/a371c8ea2b677e6b5fb0bb88a2f0a501748132a3\"\u003e\u003ccode\u003ea371c8e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/golang-migrate/migrate/issues/1304\"\u003e#1304\u003c/a\u003e from iamonah/fix/clarify-databaseName-meaning\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/golang-migrate/migrate/commit/43cc3b3ea50ac4385eab5f6a95b85034d9dbf7a9\"\u003e\u003ccode\u003e43cc3b3\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/golang-migrate/migrate/issues/1325\"\u003e#1325\u003c/a\u003e from HaraldNordgren/linter_issues\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/golang-migrate/migrate/commit/f939a8992502b33eeb4d7cb1e37972e916ec3bf7\"\u003e\u003ccode\u003ef939a89\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/golang-migrate/migrate/issues/1335\"\u003e#1335\u003c/a\u003e from golang-migrate/dependabot/go_modules/golang.org...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/golang-migrate/migrate/commit/6dd86e0ded6f854fb88a54907030077288fda5af\"\u003e\u003ccode\u003e6dd86e0\u003c/code\u003e\u003c/a\u003e Bump golang.org/x/crypto from 0.36.0 to 0.45.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/golang-migrate/migrate/commit/70e6d6d57408f73e126285a976eaa9b70834f5c2\"\u003e\u003ccode\u003e70e6d6d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/golang-migrate/migrate/issues/1333\"\u003e#1333\u003c/a\u003e from matsoob/updateGoInBaseImage\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/golang-migrate/migrate/commit/a51d0da644e28288679c31aadf7ec00e90c9483f\"\u003e\u003ccode\u003ea51d0da\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/golang-migrate/migrate/issues/1334\"\u003e#1334\u003c/a\u003e from golang-migrate/dependabot/go_modules/github.com...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/golang-migrate/migrate/compare/v4.18.2...v4.19.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/mark3labs/mcp-go` from 0.47.0 to 0.54.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mark3labs/mcp-go/releases\"\u003egithub.com/mark3labs/mcp-go's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease v0.54.1\u003c/h2\u003e\n\u003cp\u003eNo release notes provided.\u003c/p\u003e\n\u003ch2\u003eRelease v0.54.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix(server): handle resources/subscribe and resources/unsubscribe (\u003ca href=\"https://redirect.github.com/mark3labs/mcp-go/issues/865\"\u003e#865\u003c/a\u003e) by \u003ca href=\"https://github.com/ezynda3\"\u003e\u003ccode\u003e@​ezynda3\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mark3labs/mcp-go/pull/873\"\u003emark3labs/mcp-go#873\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(oauth): use LATEST_PROTOCOL_VERSION in metadata discovery (\u003ca href=\"https://redirect.github.com/mark3labs/mcp-go/issues/868\"\u003e#868\u003c/a\u003e) by \u003ca href=\"https://github.com/ezynda3\"\u003e\u003ccode\u003e@​ezynda3\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mark3labs/mcp-go/pull/874\"\u003emark3labs/mcp-go#874\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(oauth): don't hold metadataMu across HTTP discovery (\u003ca href=\"https://redirect.github.com/mark3labs/mcp-go/issues/871\"\u003e#871\u003c/a\u003e) by \u003ca href=\"https://github.com/ezynda3\"\u003e\u003ccode\u003e@​ezynda3\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mark3labs/mcp-go/pull/875\"\u003emark3labs/mcp-go#875\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(mcp): add 2025-11-25 sampling-with-tools and capability sub-fields (\u003ca href=\"https://redirect.github.com/mark3labs/mcp-go/issues/867\"\u003e#867\u003c/a\u003e) by \u003ca href=\"https://github.com/ezynda3\"\u003e\u003ccode\u003e@​ezynda3\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mark3labs/mcp-go/pull/876\"\u003emark3labs/mcp-go#876\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor: use MCP method constants by \u003ca href=\"https://github.com/nanookclaw\"\u003e\u003ccode\u003e@​nanookclaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mark3labs/mcp-go/pull/878\"\u003emark3labs/mcp-go#878\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: add missing godoc comments by \u003ca href=\"https://github.com/aqilaziz\"\u003e\u003ccode\u003e@​aqilaziz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mark3labs/mcp-go/pull/877\"\u003emark3labs/mcp-go#877\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: add panic recovery to SSE message handler and stdio tool call worker by \u003ca href=\"https://github.com/blackwell-systems\"\u003e\u003ccode\u003e@​blackwell-systems\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mark3labs/mcp-go/pull/882\"\u003emark3labs/mcp-go#882\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: add panic recovery to task goroutines, fix cleanup goroutine leak by \u003ca href=\"https://github.com/blackwell-systems\"\u003e\u003ccode\u003e@​blackwell-systems\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mark3labs/mcp-go/pull/880\"\u003emark3labs/mcp-go#880\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: add OpenTelemetry tracing hooks to server and client by \u003ca href=\"https://github.com/QuentinBisson\"\u003e\u003ccode\u003e@​QuentinBisson\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mark3labs/mcp-go/pull/856\"\u003emark3labs/mcp-go#856\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: add panic recovery to session hook goroutines by \u003ca href=\"https://github.com/blackwell-systems\"\u003e\u003ccode\u003e@​blackwell-systems\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mark3labs/mcp-go/pull/883\"\u003emark3labs/mcp-go#883\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(mcp): add BaseMetadata.title, Icon.theme, Resource.size (\u003ca href=\"https://redirect.github.com/mark3labs/mcp-go/issues/870\"\u003e#870\u003c/a\u003e) by \u003ca href=\"https://github.com/ezynda3\"\u003e\u003ccode\u003e@​ezynda3\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mark3labs/mcp-go/pull/885\"\u003emark3labs/mcp-go#885\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nanookclaw\"\u003e\u003ccode\u003e@​nanookclaw\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/mark3labs/mcp-go/pull/878\"\u003emark3labs/mcp-go#878\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aqilaziz\"\u003e\u003ccode\u003e@​aqilaziz\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/mark3labs/mcp-go/pull/877\"\u003emark3labs/mcp-go#877\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/mark3labs/mcp-go/compare/v0.53.0...v0.54.0\"\u003ehttps://github.com/mark3labs/mcp-go/compare/v0.53.0...v0.54.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eRelease v0.53.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efeat(server): add WithStrictInputSchemaDefault by \u003ca href=\"https://github.com/QuentinBisson\"\u003e\u003ccode\u003e@​QuentinBisson\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mark3labs/mcp-go/pull/853\"\u003emark3labs/mcp-go#853\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(server): add CloseSessions and prevent double-close panic on SSE sessions by \u003ca href=\"https://github.com/blackwell-systems\"\u003e\u003ccode\u003e@​blackwell-systems\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mark3labs/mcp-go/pull/852\"\u003emark3labs/mcp-go#852\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(transport): suppress closed-pipe shutdown noise by \u003ca href=\"https://github.com/Gujiassh\"\u003e\u003ccode\u003e@​Gujiassh\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mark3labs/mcp-go/pull/863\"\u003emark3labs/mcp-go#863\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: add panic recovery to transport goroutines by \u003ca href=\"https://github.com/blackwell-systems\"\u003e\u003ccode\u003e@​blackwell-systems\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mark3labs/mcp-go/pull/861\"\u003emark3labs/mcp-go#861\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: ToolInputSchema inherits MarshalJSON (fixes \u003ca href=\"https://redirect.github.com/mark3labs/mcp-go/issues/694\"\u003e#694\u003c/a\u003e) by \u003ca href=\"https://github.com/tamish-max\"\u003e\u003ccode\u003e@​tamish-max\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mark3labs/mcp-go/pull/858\"\u003emark3labs/mcp-go#858\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ewe should use pointers on returns for ListPrompts and ListResources by \u003ca href=\"https://github.com/Patryk-Stefanski\"\u003e\u003ccode\u003e@​Patryk-Stefanski\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mark3labs/mcp-go/pull/855\"\u003emark3labs/mcp-go#855\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(mcp): allow _meta on paginated requests by \u003ca href=\"https://github.com/curbol\"\u003e\u003ccode\u003e@​curbol\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mark3labs/mcp-go/pull/854\"\u003emark3labs/mcp-go#854\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor(server): use explicit struct literal in ListTools by \u003ca href=\"https://github.com/ezynda3\"\u003e\u003ccode\u003e@​ezynda3\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mark3labs/mcp-go/pull/864\"\u003emark3labs/mcp-go#864\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/QuentinBisson\"\u003e\u003ccode\u003e@​QuentinBisson\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/mark3labs/mcp-go/pull/853\"\u003emark3labs/mcp-go#853\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tamish-max\"\u003e\u003ccode\u003e@​tamish-max\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/mark3labs/mcp-go/pull/858\"\u003emark3labs/mcp-go#858\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/curbol\"\u003e\u003ccode\u003e@​curbol\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/mark3labs/mcp-go/pull/854\"\u003emark3labs/mcp-go#854\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/mark3labs/mcp-go/compare/v0.52.0...v0.53.0\"\u003ehttps://github.com/mark3labs/mcp-go/compare/v0.52.0...v0.53.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eRelease v0.52.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix(transport): close response body on 404 in sendHTTP by \u003ca href=\"https://github.com/blackwell-systems\"\u003e\u003ccode\u003e@​blackwell-systems\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mark3labs/mcp-go/pull/849\"\u003emark3labs/mcp-go#849\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(server): add transport-agnostic Handle entry point by \u003ca href=\"https://github.com/ezynda3\"\u003e\u003ccode\u003e@​ezynda3\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mark3labs/mcp-go/pull/851\"\u003emark3labs/mcp-go#851\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/mark3labs/mcp-go/compare/v0.51.0...v0.52.0\"\u003ehttps://github.com/mark3labs/mcp-go/compare/v0.51.0...v0.52.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eRelease v0.51.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mark3labs/mcp-go/commit/481f05674f583f20ce114d9e7efdcc6348d792e7\"\u003e\u003ccode\u003e481f056\u003c/code\u003e\u003c/a\u003e fix(tools): print errors to stderr for invalid jsonschema tags (\u003ca href=\"https://redirect.github.com/mark3labs/mcp-go/issues/894\"\u003e#894\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mark3labs/mcp-go/commit/6e7859cbd25deb0454b4abcd2b3e6b423bc44f05\"\u003e\u003ccode\u003e6e7859c\u003c/code\u003e\u003c/a\u003e perf(mcp): reduce content unmarshal allocations (\u003ca href=\"https://redirect.github.com/mark3labs/mcp-go/issues/890\"\u003e#890\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mark3labs/mcp-go/commit/018f1908eddf5e2a3ab171225045e33307f60be7\"\u003e\u003ccode\u003e018f190\u003c/code\u003e\u003c/a\u003e Add Title and Size to ResourceLink (match Resource / spec) (\u003ca href=\"https://redirect.github.com/mark3labs/mcp-go/issues/887\"\u003e#887\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mark3labs/mcp-go/commit/ca267385245e333cc62920d0b6683f393cfdb8ed\"\u003e\u003ccode\u003eca26738\u003c/code\u003e\u003c/a\u003e cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mark3labs/mcp-go/commit/76ea91b7d1c3bc8c3bb0a3fce5e18043eed99233\"\u003e\u003ccode\u003e76ea91b\u003c/code\u003e\u003c/a\u003e refactor(server): collapse client-info and writeJSONRPCError duplication (\u003ca href=\"https://redirect.github.com/mark3labs/mcp-go/issues/886\"\u003e#886\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mark3labs/mcp-go/commit/fac90b64b0dfe25b84acd6797a89d2215cf6b480\"\u003e\u003ccode\u003efac90b6\u003c/code\u003e\u003c/a\u003e fmt\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mark3labs/mcp-go/commit/b817eff0c8d5555741b7af126e0bd9c1c8937150\"\u003e\u003ccode\u003eb817eff\u003c/code\u003e\u003c/a\u003e feat(mcp): add BaseMetadata.title, Icon.theme, Resource.size (\u003ca href=\"https://redirect.github.com/mark3labs/mcp-go/issues/870\"\u003e#870\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/mark3labs/mcp-go/issues/885\"\u003e#885\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mark3labs/mcp-go/commit/602478c1db3d8a90bfc23e9b92af04e920d7a772\"\u003e\u003ccode\u003e602478c\u003c/code\u003e\u003c/a\u003e fix: add panic recovery to session hook goroutines (\u003ca href=\"https://redirect.github.com/mark3labs/mcp-go/issues/883\"\u003e#883\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mark3labs/mcp-go/commit/14ddeb3018e97ee21dee8b8297aa7838ab711c9b\"\u003e\u003ccode\u003e14ddeb3\u003c/code\u003e\u003c/a\u003e feat: add OpenTelemetry tracing hooks to server and client (\u003ca href=\"https://redirect.github.com/mark3labs/mcp-go/issues/856\"\u003e#856\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mark3labs/mcp-go/commit/3f8fc8e8b059c8af76cf2cd2be68c2fc63be5863\"\u003e\u003ccode\u003e3f8fc8e\u003c/code\u003e\u003c/a\u003e fix: add panic recovery to task goroutines, fix cleanup goroutine leak (\u003ca href=\"https://redirect.github.com/mark3labs/mcp-go/issues/880\"\u003e#880\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/mark3labs/mcp-go/compare/v0.47.0...v0.54.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/pquerna/otp` from 1.4.0 to 1.5.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pquerna/otp/releases\"\u003egithub.com/pquerna/otp's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.5.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eReplace deprecated ioutil by \u003ca href=\"https://github.com/erfan-khadem\"\u003e\u003ccode\u003e@​erfan-khadem\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pquerna/otp/pull/91\"\u003epquerna/otp#91\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFeat: Steam TOTP encoding by \u003ca href=\"https://github.com/nikicat\"\u003e\u003ccode\u003e@​nikicat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pquerna/otp/pull/96\"\u003epquerna/otp#96\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(security): Ensure the entire secret is random by \u003ca href=\"https://github.com/alfrunes\"\u003e\u003ccode\u003e@​alfrunes\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pquerna/otp/pull/100\"\u003epquerna/otp#100\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/erfan-khadem\"\u003e\u003ccode\u003e@​erfan-khadem\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pquerna/otp/pull/91\"\u003epquerna/otp#91\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nikicat\"\u003e\u003ccode\u003e@​nikicat\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pquerna/otp/pull/96\"\u003epquerna/otp#96\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/alfrunes\"\u003e\u003ccode\u003e@​alfrunes\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pquerna/otp/pull/100\"\u003epquerna/otp#100\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pquerna/otp/compare/v1.4.0...v1.5.0\"\u003ehttps://github.com/pquerna/otp/compare/v1.4.0...v1.5.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pquerna/otp/commit/5971b1ef1d6652fec2caed37f11e5cacd9249f78\"\u003e\u003ccode\u003e5971b1e\u003c/code\u003e\u003c/a\u003e fix(security): Ensure the entire secret is random (\u003ca href=\"https://redirect.github.com/pquerna/otp/issues/100\"\u003e#100\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pquerna/otp/commit/c95b6974670cfbfe88ed5c0643a66ede01a90547\"\u003e\u003ccode\u003ec95b697\u003c/code\u003e\u003c/a\u003e feat: steam totp encoding (\u003ca href=\"https://redirect.github.com/pquerna/otp/issues/96\"\u003e#96\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pquerna/otp/commit/3357de7c04813a328d6a1e4a514854213e0f8ce8\"\u003e\u003ccode\u003e3357de7\u003c/code\u003e\u003c/a\u003e Replace deprecated ioutil (\u003ca href=\"https://redirect.github.com/pquerna/otp/issues/91\"\u003e#91\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/pquerna/otp/compare/v1.4.0...v1.5.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/redis/go-redis/v9` from 9.18.0 to 9.20.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/redis/go-redis/releases\"\u003egithub.com/redis/go-redis/v9's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e9.20.0\u003c/h2\u003e\n\u003ch2\u003e🚀 Highlights\u003c/h2\u003e\n\u003ch3\u003eRedis 8.8 Support\u003c/h3\u003e\n\u003cp\u003eThis release adds support for \u003cstrong\u003eRedis 8.8\u003c/strong\u003e. The README's supported-versions list now includes Redis 8.8 alongside 8.0/8.2/8.4, and CI exercises the \u003ccode\u003e8.8\u003c/code\u003e client-libs-test image across the full suite (Makefile, build workflow, doctests, run-tests action, and docker-compose).\u003c/p\u003e\n\u003cp\u003eCoverage for the new commands that ship in the 8.x line, rounded out in this release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eAR*\u003c/code\u003e array data type\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3813\"\u003e#3813\u003c/a\u003e) — new array data structure, exposed via the \u003ccode\u003eArrayCmdable\u003c/code\u003e interface (see the experimental-features highlight below).\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eINCREX\u003c/code\u003e\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3816\"\u003e#3816\u003c/a\u003e) — atomic increment with expiration in a single round-trip.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eXNACK\u003c/code\u003e\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3790\"\u003e#3790\u003c/a\u003e) — explicit negative-acknowledge of pending stream entries.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eXAUTOCLAIM\u003c/code\u003e PEL deletes\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3798\"\u003e#3798\u003c/a\u003e) — \u003ccode\u003eXAUTOCLAIM\u003c/code\u003e/\u003ccode\u003eXAUTOCLAIMJUSTID\u003c/code\u003e now return the list of deleted message IDs from the pending entries list.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eTS.RANGE\u003c/code\u003e multiple aggregators\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3791\"\u003e#3791\u003c/a\u003e) — \u003ccode\u003eTS.RANGE\u003c/code\u003e/\u003ccode\u003eTS.REVRANGE\u003c/code\u003e/\u003ccode\u003eTS.MRANGE\u003c/code\u003e/\u003ccode\u003eTS.MREVRANGE\u003c/code\u003e accept multiple aggregators in a single call.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eZ(UNION|INTER|DIFF)\u003c/code\u003e \u003ccode\u003eCOUNT\u003c/code\u003e aggregator\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3802\"\u003e#3802\u003c/a\u003e) — \u003ccode\u003eCOUNT\u003c/code\u003e reducer for sorted-set set operations.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eJSON.SET FPHA\u003c/code\u003e\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3797\"\u003e#3797\u003c/a\u003e) — new \u003ccode\u003eFPHA\u003c/code\u003e argument that specifies the floating-point type for homogeneous FP arrays.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eCI image bump (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3814\"\u003e#3814\u003c/a\u003e) by \u003ca href=\"https://github.com/ofekshenawa\"\u003e\u003ccode\u003e@​ofekshenawa\u003c/code\u003e\u003c/a\u003e. Command coverage contributions by \u003ca href=\"https://github.com/cxljs\"\u003e\u003ccode\u003e@​cxljs\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/elena-kolevska\"\u003e\u003ccode\u003e@​elena-kolevska\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Khukharr\"\u003e\u003ccode\u003e@​Khukharr\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/ndyakov\"\u003e\u003ccode\u003e@​ndyakov\u003c/code\u003e\u003c/a\u003e, and \u003ca href=\"https://github.com/ofekshenawa\"\u003e\u003ccode\u003e@​ofekshenawa\u003c/code\u003e\u003c/a\u003e.\u003c/p\u003e\n\u003ch3\u003eStable RESP3 for RediSearch (\u003ccode\u003eUnstableResp3\u003c/code\u003e deprecated)\u003c/h3\u003e\n\u003cp\u003e\u003ccode\u003eFT.SEARCH\u003c/code\u003e, \u003ccode\u003eFT.AGGREGATE\u003c/code\u003e, \u003ccode\u003eFT.INFO\u003c/code\u003e, \u003ccode\u003eFT.SPELLCHECK\u003c/code\u003e, and \u003ccode\u003eFT.SYNDUMP\u003c/code\u003e now parse RESP3 (map) responses into the same typed result objects as RESP2 — \u003ccode\u003eVal()\u003c/code\u003e and \u003ccode\u003eResult()\u003c/code\u003e work uniformly on both protocols, no flag required. Previously, RESP3 search responses required \u003ccode\u003eUnstableResp3: true\u003c/code\u003e and were returned as opaque maps accessible only via \u003ccode\u003eRawResult()\u003c/code\u003e / \u003ccode\u003eRawVal()\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eAs a result, the \u003ccode\u003eUnstableResp3\u003c/code\u003e option is now a \u003cstrong\u003eno-op\u003c/strong\u003e across every options struct (\u003ccode\u003eOptions\u003c/code\u003e, \u003ccode\u003eClusterOptions\u003c/code\u003e, \u003ccode\u003eUniversalOptions\u003c/code\u003e, \u003ccode\u003eFailoverOptions\u003c/code\u003e, \u003ccode\u003eRingOptions\u003c/code\u003e) and has been marked \u003ccode\u003e// Deprecated:\u003c/code\u003e. The field is retained for backwards compatibility — existing code that sets \u003ccode\u003eUnstableResp3: true\u003c/code\u003e will continue to compile and behave identically — but it will be removed in a future release and new code should not set it. \u003ccode\u003eRawResult()\u003c/code\u003e / \u003ccode\u003eRawVal()\u003c/code\u003e continue to work for callers that prefer the raw RESP payload.\u003c/p\u003e\n\u003cp\u003e(\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3741\"\u003e#3741\u003c/a\u003e) by \u003ca href=\"https://github.com/ndyakov\"\u003e\u003ccode\u003e@​ndyakov\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eExperimental Array Data Structure Commands\u003c/h3\u003e\n\u003cp\u003eAdds an experimental \u003ccode\u003eArrayCmdable\u003c/code\u003e interface with the \u003ccode\u003eAR*\u003c/code\u003e command family (\u003ccode\u003eARSet\u003c/code\u003e, \u003ccode\u003eARGet\u003c/code\u003e, \u003ccode\u003eARGetRange\u003c/code\u003e, \u003ccode\u003eARMSet\u003c/code\u003e, \u003ccode\u003eARMGet\u003c/code\u003e, \u003ccode\u003eARDel\u003c/code\u003e, \u003ccode\u003eARDelRange\u003c/code\u003e, \u003ccode\u003eARScan\u003c/code\u003e, \u003ccode\u003eARSeek\u003c/code\u003e, \u003ccode\u003eARNext\u003c/code\u003e, \u003ccode\u003eARLastItems\u003c/code\u003e, \u003ccode\u003eARGrep\u003c/code\u003e, \u003ccode\u003eARGrepWithValues\u003c/code\u003e, \u003ccode\u003eARInfo\u003c/code\u003e/\u003ccode\u003eARInfoFull\u003c/code\u003e, and typed reducers \u003ccode\u003eAROpSum\u003c/code\u003e/\u003ccode\u003eAROpMin\u003c/code\u003e/\u003ccode\u003eAROpMax\u003c/code\u003e/\u003ccode\u003eAROpAnd\u003c/code\u003e/\u003ccode\u003eAROpOr\u003c/code\u003e/\u003ccode\u003eAROpXor\u003c/code\u003e/\u003ccode\u003eAROpMatch\u003c/code\u003e/\u003ccode\u003eAROpUsed\u003c/code\u003e) for working with Redis 8.8's new array data type. \u003cstrong\u003eAPI is experimental and may change in a future release.\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003e(\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3813\"\u003e#3813\u003c/a\u003e) by \u003ca href=\"https://github.com/cxljs\"\u003e\u003ccode\u003e@​cxljs\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e✨ New Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eRESP3 search parser\u003c/strong\u003e: First-class RESP3 parsing for \u003ccode\u003eFT.SEARCH\u003c/code\u003e/\u003ccode\u003eFT.AGGREGATE\u003c/code\u003e/\u003ccode\u003eFT.INFO\u003c/code\u003e/\u003ccode\u003eFT.SPELLCHECK\u003c/code\u003e/\u003ccode\u003eFT.SYNDUMP\u003c/code\u003e responses with backwards compatibility for RESP2 (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3741\"\u003e#3741\u003c/a\u003e) by \u003ca href=\"https://github.com/ndyakov\"\u003e\u003ccode\u003e@​ndyakov\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eINCREX\u003c/strong\u003e: New \u003ccode\u003eINCREX\u003c/code\u003e command support — atomic increment with expiration (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3816\"\u003e#3816\u003c/a\u003e) by \u003ca href=\"https://github.com/ndyakov\"\u003e\u003ccode\u003e@​ndyakov\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eXNACK\u003c/strong\u003e: Client support for the \u003ccode\u003eXNACK\u003c/code\u003e stream command for explicitly negative-acknowledging pending entries (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3790\"\u003e#3790\u003c/a\u003e) by \u003ca href=\"https://github.com/elena-kolevska\"\u003e\u003ccode\u003e@​elena-kolevska\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eTS range multiple aggregators\u003c/strong\u003e: \u003ccode\u003eTS.RANGE\u003c/code\u003e/\u003ccode\u003eTS.REVRANGE\u003c/code\u003e/\u003ccode\u003eTS.MRANGE\u003c/code\u003e/\u003ccode\u003eTS.MREVRANGE\u003c/code\u003e now accept multiple aggregators in a single call (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3791\"\u003e#3791\u003c/a\u003e) by \u003ca href=\"https://github.com/elena-kolevska\"\u003e\u003ccode\u003e@​elena-kolevska\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eXAutoClaim\u003c/code\u003e deleted IDs\u003c/strong\u003e: \u003ccode\u003eXAUTOCLAIM\u003c/code\u003e/\u003ccode\u003eXAUTOCLAIMJUSTID\u003c/code\u003e now return the list of deleted message IDs from the PEL (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3798\"\u003e#3798\u003c/a\u003e) by \u003ca href=\"https://github.com/Khukharr\"\u003e\u003ccode\u003e@​Khukharr\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eJSON.SET FPHA\u003c/code\u003e\u003c/strong\u003e: \u003ccode\u003eJSON.SET\u003c/code\u003e accepts a new \u003ccode\u003eFPHA\u003c/code\u003e argument that specifies the floating-point type for homogeneous floating-point arrays (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3797\"\u003e#3797\u003c/a\u003e) by \u003ca href=\"https://github.com/ndyakov\"\u003e\u003ccode\u003e@​ndyakov\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eSorted-set union/intersection COUNT\u003c/strong\u003e: \u003ccode\u003eZUNION\u003c/code\u003e/\u003ccode\u003eZINTER\u003c/code\u003e/\u003ccode\u003eZDIFF\u003c/code\u003e aggregator now supports \u003ccode\u003eCOUNT\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3802\"\u003e#3802\u003c/a\u003e) by \u003ca href=\"https://github.com/ofekshenawa\"\u003e\u003ccode\u003e@​ofekshenawa\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eFT.HYBRID\u003c/code\u003e vector validation\u003c/strong\u003e: Validates hybrid-search vector input types and adds proper typed vector parameters (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3756\"\u003e#3756\u003c/a\u003e) by \u003ca href=\"https://github.com/DengY11\"\u003e\u003ccode\u003e@​DengY11\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eCluster pool wait stats\u003c/strong\u003e: \u003ccode\u003eClusterClient.PoolStats()\u003c/code\u003e now accumulates \u003ccode\u003eWaitCount\u003c/code\u003e and \u003ccode\u003eWaitDurationNs\u003c/code\u003e across all node pools (previously always zero) (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3809\"\u003e#3809\u003c/a\u003e) by \u003ca href=\"https://github.com/LINKIWI\"\u003e\u003ccode\u003e@​LINKIWI\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eTLS-only Cluster PubSub\u003c/strong\u003e: \u003ccode\u003eCLUSTER SLOTS\u003c/code\u003e port-0 entries now fall back to the origin endpoint's port, fixing \u003ccode\u003edial tcp \u0026lt;ip\u0026gt;:0: connection refused\u003c/code\u003e on TLS-only clusters started with \u003ccode\u003e--port 0 --tls-port \u0026lt;port\u0026gt;\u003c/code\u003e (fixes \u003ca href=\"https://redirect.github.com/redis/go-redis/issues/3726\"\u003e#3726\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3828\"\u003e#3828\u003c/a\u003e) by \u003ca href=\"https://github.com/ndyakov\"\u003e\u003ccode\u003e@​ndyakov\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eSharded PubSub reconnect routing\u003c/strong\u003e: \u003ccode\u003ePubSub.conn()\u003c/code\u003e now passes both regular (\u003ccode\u003ec.channels\u003c/code\u003e) and sharded (\u003ccode\u003ec.schannels\u003c/code\u003e) channels into the per-PubSub \u003ccode\u003enewConn\u003c/code\u003e closure. Previously, \u003ccode\u003eClusterClient.SSubscribe\u003c/code\u003e-only PubSubs reconnected to a random node (because the routing closure saw an empty channel list), the \u003ccode\u003eSSUBSCRIBE\u003c/code\u003e was sent to the wrong shard, and the resulting \u003ccode\u003eMOVED\u003c/code\u003e reply was silently dropped (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3829\"\u003e#3829\u003c/a\u003e) by \u003ca href=\"https://github.com/ndyakov\"\u003e\u003ccode\u003e@​ndyakov\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eClusterClient \u003ccode\u003eWatch\u003c/code\u003e retry\u003c/strong\u003e: User errors returned from a \u003ccode\u003eWatch\u003c/code\u003e callback are no longer subjected to cluster-retry classification; transient cluster errors still retry, but a callback returning e.g. \u003ccode\u003enet.ErrClosed\u003c/code\u003e short-circuits immediately (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3821\"\u003e#3821\u003c/a\u003e) by \u003ca href=\"https://github.com/obiyang\"\u003e\u003ccode\u003e@​obiyang\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/redis/go-redis/blob/master/RELEASE-NOTES.md\"\u003egithub.com/redis/go-redis/v9's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e9.20.0 (2026-05-28)\u003c/h1\u003e\n\u003ch2\u003e🚀 Highlights\u003c/h2\u003e\n\u003ch3\u003eRedis 8.8 Support\u003c/h3\u003e\n\u003cp\u003eThis release adds support for \u003cstrong\u003eRedis 8.8\u003c/strong\u003e. The README's supported-versions list now includes Redis 8.8 alongside 8.0/8.2/8.4, and CI exercises the \u003ccode\u003e8.8-rc1\u003c/code\u003e client-libs-test image across the full suite (Makefile, build workflow, doctests, run-tests action, and docker-compose).\u003c/p\u003e\n\u003cp\u003eCoverage for the new commands that ship in the 8.x line, rounded out in this release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eAR*\u003c/code\u003e array data type\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3813\"\u003e#3813\u003c/a\u003e) — new array data structure, exposed via the \u003ccode\u003eArrayCmdable\u003c/code\u003e interface (see the experimental-features highlight below).\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eINCREX\u003c/code\u003e\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3816\"\u003e#3816\u003c/a\u003e) — atomic increment with expiration in a single round-trip.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eXNACK\u003c/code\u003e\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3790\"\u003e#3790\u003c/a\u003e) — explicit negative-acknowledge of pending stream entries.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eXAUTOCLAIM\u003c/code\u003e PEL deletes\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3798\"\u003e#3798\u003c/a\u003e) — \u003ccode\u003eXAUTOCLAIM\u003c/code\u003e/\u003ccode\u003eXAUTOCLAIMJUSTID\u003c/code\u003e now return the list of deleted message IDs from the pending entries list.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eTS.RANGE\u003c/code\u003e multiple aggregators\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3791\"\u003e#3791\u003c/a\u003e) — \u003ccode\u003eTS.RANGE\u003c/code\u003e/\u003ccode\u003eTS.REVRANGE\u003c/code\u003e/\u003ccode\u003eTS.MRANGE\u003c/code\u003e/\u003ccode\u003eTS.MREVRANGE\u003c/code\u003e accept multiple aggregators in a single call.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eZ(UNION|INTER|DIFF)\u003c/code\u003e \u003ccode\u003eCOUNT\u003c/code\u003e aggregator\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3802\"\u003e#3802\u003c/a\u003e) — \u003ccode\u003eCOUNT\u003c/code\u003e reducer for sorted-set set operations.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eJSON.SET FPHA\u003c/code\u003e\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3797\"\u003e#3797\u003c/a\u003e) — new \u003ccode\u003eFPHA\u003c/code\u003e argument that specifies the floating-point type for homogeneous FP arrays.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eCI image bump (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3814\"\u003e#3814\u003c/a\u003e) by \u003ca href=\"https://github.com/ofekshenawa\"\u003e\u003ccode\u003e@​ofekshenawa\u003c/code\u003e\u003c/a\u003e. Command coverage contributions by \u003ca href=\"https://github.com/cxljs\"\u003e\u003ccode\u003e@​cxljs\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/elena-kolevska\"\u003e\u003ccode\u003e@​elena-kolevska\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Khukharr\"\u003e\u003ccode\u003e@​Khukharr\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/ndyakov\"\u003e\u003ccode\u003e@​ndyakov\u003c/code\u003e\u003c/a\u003e, and \u003ca href=\"https://github.com/ofekshenawa\"\u003e\u003ccode\u003e@​ofekshenawa\u003c/code\u003e\u003c/a\u003e.\u003c/p\u003e\n\u003ch3\u003eStable RESP3 for RediSearch (\u003ccode\u003eUnstableResp3\u003c/code\u003e deprecated)\u003c/h3\u003e\n\u003cp\u003e\u003ccode\u003eFT.SEARCH\u003c/code\u003e, \u003ccode\u003eFT.AGGREGATE\u003c/code\u003e, \u003ccode\u003eFT.INFO\u003c/code\u003e, \u003ccode\u003eFT.SPELLCHECK\u003c/code\u003e, and \u003ccode\u003eFT.SYNDUMP\u003c/code\u003e now parse RESP3 (map) responses into the same typed result objects as RESP2 — \u003ccode\u003eVal()\u003c/code\u003e and \u003ccode\u003eResult()\u003c/code\u003e work uniformly on both protocols, no flag required. Previously, RESP3 search responses required \u003ccode\u003eUnstableResp3: true\u003c/code\u003e and were returned as opaque maps accessible only via \u003ccode\u003eRawResult()\u003c/code\u003e / \u003ccode\u003eRawVal()\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eAs a result, the \u003ccode\u003eUnstableResp3\u003c/code\u003e option is now a \u003cstrong\u003eno-op\u003c/strong\u003e across every options struct (\u003ccode\u003eOptions\u003c/code\u003e, \u003ccode\u003eClusterOptions\u003c/code\u003e, \u003ccode\u003eUniversalOptions\u003c/code\u003e, \u003ccode\u003eFailoverOptions\u003c/code\u003e, \u003ccode\u003eRingOptions\u003c/code\u003e) and has been marked \u003ccode\u003e// Deprecated:\u003c/code\u003e. The field is retained for backwards compatibility — existing code that sets \u003ccode\u003eUnstableResp3: true\u003c/code\u003e will continue to compile and behave identically — but it will be removed in a future release and new code should not set it. \u003ccode\u003eRawResult()\u003c/code\u003e / \u003ccode\u003eRawVal()\u003c/code\u003e continue to work for callers that prefer the raw RESP payload.\u003c/p\u003e\n\u003cp\u003e(\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3741\"\u003e#3741\u003c/a\u003e) by \u003ca href=\"https://github.com/ndyakov\"\u003e\u003ccode\u003e@​ndyakov\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eExperimental Array Data Structure Commands\u003c/h3\u003e\n\u003cp\u003eAdds an experimental \u003ccode\u003eArrayCmdable\u003c/code\u003e interface with the \u003ccode\u003eAR*\u003c/code\u003e command family (\u003ccode\u003eARSet\u003c/code\u003e, \u003ccode\u003eARGet\u003c/code\u003e, \u003ccode\u003eARGetRange\u003c/code\u003e, \u003ccode\u003eARMSet\u003c/code\u003e, \u003ccode\u003eARMGet\u003c/code\u003e, \u003ccode\u003eARDel\u003c/code\u003e, \u003ccode\u003eARDelRange\u003c/code\u003e, \u003ccode\u003eARScan\u003c/code\u003e, \u003ccode\u003eARSeek\u003c/code\u003e, \u003ccode\u003eARNext\u003c/code\u003e, \u003ccode\u003eARLastItems\u003c/code\u003e, \u003ccode\u003eARGrep\u003c/code\u003e, \u003ccode\u003eARGrepWithValues\u003c/code\u003e, \u003ccode\u003eARInfo\u003c/code\u003e/\u003ccode\u003eARInfoFull\u003c/code\u003e, and typed reducers \u003ccode\u003eAROpSum\u003c/code\u003e/\u003ccode\u003eAROpMin\u003c/code\u003e/\u003ccode\u003eAROpMax\u003c/code\u003e/\u003ccode\u003eAROpAnd\u003c/code\u003e/\u003ccode\u003eAROpOr\u003c/code\u003e/\u003ccode\u003eAROpXor\u003c/code\u003e/\u003ccode\u003eAROpMatch\u003c/code\u003e/\u003ccode\u003eAROpUsed\u003c/code\u003e) for working with Redis 8.8's new array data type. \u003cstrong\u003eAPI is experimental and may change in a future release.\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003e(\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3813\"\u003e#3813\u003c/a\u003e) by \u003ca href=\"https://github.com/cxljs\"\u003e\u003ccode\u003e@​cxljs\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e✨ New Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eRESP3 search parser\u003c/strong\u003e: First-class RESP3 parsing for \u003ccode\u003eFT.SEARCH\u003c/code\u003e/\u003ccode\u003eFT.AGGREGATE\u003c/code\u003e/\u003ccode\u003eFT.INFO\u003c/code\u003e/\u003ccode\u003eFT.SPELLCHECK\u003c/code\u003e/\u003ccode\u003eFT.SYNDUMP\u003c/code\u003e responses with backwards compatibility for RESP2 (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3741\"\u003e#3741\u003c/a\u003e) by \u003ca href=\"https://github.com/ndyakov\"\u003e\u003ccode\u003e@​ndyakov\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eINCREX\u003c/strong\u003e: New \u003ccode\u003eINCREX\u003c/code\u003e command support — atomic increment with expiration (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3816\"\u003e#3816\u003c/a\u003e) by \u003ca href=\"https://github.com/ndyakov\"\u003e\u003ccode\u003e@​ndyakov\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eXNACK\u003c/strong\u003e: Client support for the \u003ccode\u003eXNACK\u003c/code\u003e stream command for explicitly negative-acknowledging pending entries (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3790\"\u003e#3790\u003c/a\u003e) by \u003ca href=\"https://github.com/elena-kolevska\"\u003e\u003ccode\u003e@​elena-kolevska\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eTS range multiple aggregators\u003c/strong\u003e: \u003ccode\u003eTS.RANGE\u003c/code\u003e/\u003ccode\u003eTS.REVRANGE\u003c/code\u003e/\u003ccode\u003eTS.MRANGE\u003c/code\u003e/\u003ccode\u003eTS.MREVRANGE\u003c/code\u003e now accept multiple aggregators in a single call (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3791\"\u003e#3791\u003c/a\u003e) by \u003ca href=\"https://github.com/elena-kolevska\"\u003e\u003ccode\u003e@​elena-kolevska\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eXAutoClaim\u003c/code\u003e deleted IDs\u003c/strong\u003e: \u003ccode\u003eXAUTOCLAIM\u003c/code\u003e/\u003ccode\u003eXAUTOCLAIMJUSTID\u003c/code\u003e now return the list of deleted message IDs from the PEL (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3798\"\u003e#3798\u003c/a\u003e) by \u003ca href=\"https://github.com/Khukharr\"\u003e\u003ccode\u003e@​Khukharr\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eJSON.SET FPHA\u003c/code\u003e\u003c/strong\u003e: \u003ccode\u003eJSON.SET\u003c/code\u003e accepts a new \u003ccode\u003eFPHA\u003c/code\u003e argument that specifies the floating-point type for homogeneous floating-point arrays (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3797\"\u003e#3797\u003c/a\u003e) by \u003ca href=\"https://github.com/ndyakov\"\u003e\u003ccode\u003e@​ndyakov\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eSorted-set union/intersection COUNT\u003c/strong\u003e: \u003ccode\u003eZUNION\u003c/code\u003e/\u003ccode\u003eZINTER\u003c/code\u003e/\u003ccode\u003eZDIFF\u003c/code\u003e aggregator now supports \u003ccode\u003eCOUNT\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3802\"\u003e#3802\u003c/a\u003e) by \u003ca href=\"https://github.com/ofekshenawa\"\u003e\u003ccode\u003e@​ofekshenawa\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eFT.HYBRID\u003c/code\u003e vector validation\u003c/strong\u003e: Validates hybrid-search vector input types and adds proper typed vector parameters (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3756\"\u003e#3756\u003c/a\u003e) by \u003ca href=\"https://github.com/DengY11\"\u003e\u003ccode\u003e@​DengY11\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eCluster pool wait stats\u003c/strong\u003e: \u003ccode\u003eClusterClient.PoolStats()\u003c/code\u003e now accumulates \u003ccode\u003eWaitCount\u003c/code\u003e and \u003ccode\u003eWaitDurationNs\u003c/code\u003e across all node pools (previously always zero) (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3809\"\u003e#3809\u003c/a\u003e) by \u003ca href=\"https://github.c...\n\n_Description has been truncated_","html_url":"https://github.com/Yogdunana/deploypilot/pull/799","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Yogdunana%2Fdeploypilot/issues/799","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/799/packages"},{"uuid":"4556671768","node_id":"PR_kwDOHqP31c7hDDs-","number":6389,"state":"open","title":"chore(deps): bump the go-minor group with 30 updates","user":"dependabot[bot]","labels":["needs/kind","needs/priority","needs/area","dependencies","go"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-31T05:31:31.000Z","updated_at":"2026-05-31T05:31:41.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"go-minor","update_count":30,"packages":[{"name":"code.gitea.io/sdk/gitea","old_version":"0.22.1","new_version":"0.25.1"},{"name":"github.com/Azure/azure-sdk-for-go/sdk/azcore","old_version":"1.20.0","new_version":"1.21.1","repository_url":"https://github.com/Azure/azure-sdk-for-go"},{"name":"github.com/Masterminds/semver/v3","old_version":"3.4.0","new_version":"3.5.0","repository_url":"https://github.com/Masterminds/semver"},{"name":"github.com/aws/aws-sdk-go-v2/service/ecr","old_version":"1.55.4","new_version":"1.57.4","repository_url":"https://github.com/aws/aws-sdk-go-v2"},{"name":"github.com/bmatcuk/doublestar/v4","old_version":"4.9.2","new_version":"4.10.0","repository_url":"https://github.com/bmatcuk/doublestar"},{"name":"github.com/coreos/go-oidc/v3","old_version":"3.17.0","new_version":"3.18.0","repository_url":"https://github.com/coreos/go-oidc"},{"name":"github.com/fluxcd/pkg/kustomize","old_version":"1.24.0","new_version":"1.32.0","repository_url":"https://github.com/fluxcd/pkg"},{"name":"github.com/gin-gonic/gin","old_version":"1.11.0","new_version":"1.12.0","repository_url":"https://github.com/gin-gonic/gin"},{"name":"github.com/go-openapi/runtime","old_version":"0.31.0","new_version":"0.32.2","repository_url":"https://github.com/go-openapi/runtime"},{"name":"github.com/goccy/go-yaml","old_version":"1.18.0","new_version":"1.19.2","repository_url":"https://github.com/goccy/go-yaml"},{"name":"github.com/google/go-containerregistry","old_version":"0.20.7","new_version":"0.21.6","repository_url":"https://github.com/google/go-containerregistry"},{"name":"github.com/jferrl/go-githubauth","old_version":"1.5.1","new_version":"1.6.0","repository_url":"https://github.com/jferrl/go-githubauth"},{"name":"github.com/pelletier/go-toml/v2","old_version":"2.2.4","new_version":"2.3.1","repository_url":"https://github.com/pelletier/go-toml"},{"name":"gitlab.com/gitlab-org/api/client-go","old_version":"1.13.0","new_version":"1.46.0"},{"name":"go.uber.org/zap","old_version":"1.27.1","new_version":"1.28.0","repository_url":"https://github.com/uber-go/zap"},{"name":"golang.org/x/crypto","old_version":"0.51.0","new_version":"0.52.0","repository_url":"https://github.com/golang/crypto"},{"name":"golang.org/x/oauth2","old_version":"0.34.0","new_version":"0.36.0","repository_url":"https://github.com/golang/oauth2"},{"name":"google.golang.org/api","old_version":"0.259.0","new_version":"0.282.0","repository_url":"https://github.com/googleapis/google-api-go-client"},{"name":"google.golang.org/grpc","old_version":"1.79.3","new_version":"1.81.1","repository_url":"https://github.com/grpc/grpc-go"},{"name":"google.golang.org/protobuf","old_version":"1.36.11","new_version":"1.36.12-0.20260120151049-f2248ac996af"},{"name":"helm.sh/helm/v3","old_version":"3.19.5","new_version":"3.21.0","repository_url":"https://github.com/helm/helm"},{"name":"k8s.io/api","old_version":"0.34.3","new_version":"0.36.0","repository_url":"https://github.com/kubernetes/api"},{"name":"k8s.io/apiextensions-apiserver","old_version":"0.34.3","new_version":"0.36.0","repository_url":"https://github.com/kubernetes/apiextensions-apiserver"},{"name":"k8s.io/apimachinery","old_version":"0.34.3","new_version":"0.36.0","repository_url":"https://github.com/kubernetes/apimachinery"},{"name":"k8s.io/apiserver","old_version":"0.34.3","new_version":"0.36.0","repository_url":"https://github.com/kubernetes/apiserver"},{"name":"k8s.io/cli-runtime","old_version":"0.34.3","new_version":"0.35.1","repository_url":"https://github.com/kubernetes/cli-runtime"},{"name":"k8s.io/client-go","old_version":"0.34.3","new_version":"0.36.0","repository_url":"https://github.com/kubernetes/client-go"},{"name":"k8s.io/klog/v2","old_version":"2.130.1","new_version":"2.140.0","repository_url":"https://github.com/kubernetes/klog"},{"name":"k8s.io/utils","old_version":"0.0.0-20250604170112-4c0f3b243397","new_version":"0.0.0-20260210185600-b8788abfbbc2","repository_url":"https://github.com/kubernetes/utils"},{"name":"sigs.k8s.io/controller-runtime","old_version":"0.22.4","new_version":"0.24.0","repository_url":"https://github.com/kubernetes-sigs/controller-runtime"}],"path":null,"ecosystem":"go"},"body":"Bumps the go-minor group with 30 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| code.gitea.io/sdk/gitea | `0.22.1` | `0.25.1` |\n| [github.com/Azure/azure-sdk-for-go/sdk/azcore](https://github.com/Azure/azure-sdk-for-go) | `1.20.0` | `1.21.1` |\n| [github.com/Masterminds/semver/v3](https://github.com/Masterminds/semver) | `3.4.0` | `3.5.0` |\n| [github.com/aws/aws-sdk-go-v2/service/ecr](https://github.com/aws/aws-sdk-go-v2) | `1.55.4` | `1.57.4` |\n| [github.com/bmatcuk/doublestar/v4](https://github.com/bmatcuk/doublestar) | `4.9.2` | `4.10.0` |\n| [github.com/coreos/go-oidc/v3](https://github.com/coreos/go-oidc) | `3.17.0` | `3.18.0` |\n| [github.com/fluxcd/pkg/kustomize](https://github.com/fluxcd/pkg) | `1.24.0` | `1.32.0` |\n| [github.com/gin-gonic/gin](https://github.com/gin-gonic/gin) | `1.11.0` | `1.12.0` |\n| [github.com/go-openapi/runtime](https://github.com/go-openapi/runtime) | `0.31.0` | `0.32.2` |\n| [github.com/goccy/go-yaml](https://github.com/goccy/go-yaml) | `1.18.0` | `1.19.2` |\n| [github.com/google/go-containerregistry](https://github.com/google/go-containerregistry) | `0.20.7` | `0.21.6` |\n| [github.com/jferrl/go-githubauth](https://github.com/jferrl/go-githubauth) | `1.5.1` | `1.6.0` |\n| [github.com/pelletier/go-toml/v2](https://github.com/pelletier/go-toml) | `2.2.4` | `2.3.1` |\n| [gitlab.com/gitlab-org/api/client-go](https://gitlab.com/gitlab-org/api/client-go) | `1.13.0` | `1.46.0` |\n| [go.uber.org/zap](https://github.com/uber-go/zap) | `1.27.1` | `1.28.0` |\n| [golang.org/x/crypto](https://github.com/golang/crypto) | `0.51.0` | `0.52.0` |\n| [golang.org/x/oauth2](https://github.com/golang/oauth2) | `0.34.0` | `0.36.0` |\n| [google.golang.org/api](https://github.com/googleapis/google-api-go-client) | `0.259.0` | `0.282.0` |\n| [google.golang.org/grpc](https://github.com/grpc/grpc-go) | `1.79.3` | `1.81.1` |\n| google.golang.org/protobuf | `1.36.11` | `1.36.12-0.20260120151049-f2248ac996af` |\n| [helm.sh/helm/v3](https://github.com/helm/helm) | `3.19.5` | `3.21.0` |\n| [k8s.io/api](https://github.com/kubernetes/api) | `0.34.3` | `0.36.0` |\n| [k8s.io/apiextensions-apiserver](https://github.com/kubernetes/apiextensions-apiserver) | `0.34.3` | `0.36.0` |\n| [k8s.io/apimachinery](https://github.com/kubernetes/apimachinery) | `0.34.3` | `0.36.0` |\n| [k8s.io/apiserver](https://github.com/kubernetes/apiserver) | `0.34.3` | `0.36.0` |\n| [k8s.io/cli-runtime](https://github.com/kubernetes/cli-runtime) | `0.34.3` | `0.35.1` |\n| [k8s.io/client-go](https://github.com/kubernetes/client-go) | `0.34.3` | `0.36.0` |\n| [k8s.io/klog/v2](https://github.com/kubernetes/klog) | `2.130.1` | `2.140.0` |\n| [k8s.io/utils](https://github.com/kubernetes/utils) | `0.0.0-20250604170112-4c0f3b243397` | `0.0.0-20260210185600-b8788abfbbc2` |\n| [sigs.k8s.io/controller-runtime](https://github.com/kubernetes-sigs/controller-runtime) | `0.22.4` | `0.24.0` |\n\nUpdates `code.gitea.io/sdk/gitea` from 0.22.1 to 0.25.1\n\nUpdates `github.com/Azure/azure-sdk-for-go/sdk/azcore` from 1.20.0 to 1.21.1\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-go/commit/63e4ba18204b0df554e330df8f85662e653e67ab\"\u003e\u003ccode\u003e63e4ba1\u003c/code\u003e\u003c/a\u003e Bump release date for azcore (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-go/issues/26613\"\u003e#26613\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-go/commit/fa0312174d17ff4cb7cb0118fa80de07409841c2\"\u003e\u003ccode\u003efa03121\u003c/code\u003e\u003c/a\u003e remove bypass local dns (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-go/issues/26609\"\u003e#26609\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-go/commit/c47f9a60dd1e9be6943ff0d6a5666a0ac09f6cfa\"\u003e\u003ccode\u003ec47f9a6\u003c/code\u003e\u003c/a\u003e Sync eng/common directory with azure-sdk-tools for PR 15153 (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-go/issues/26607\"\u003e#26607\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-go/commit/88b8b5b38ecebb929a2e302df054fed1d68618b8\"\u003e\u003ccode\u003e88b8b5b\u003c/code\u003e\u003c/a\u003e Changelog for v2.2.0 (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-go/issues/26567\"\u003e#26567\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-go/commit/72ca19ae2b8b4514c4f48a5ff33495b03c08afd0\"\u003e\u003ccode\u003e72ca19a\u003c/code\u003e\u003c/a\u003e Storage STG 101 (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-go/issues/26568\"\u003e#26568\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-go/commit/b64baf56c6b168d258b2a0678290ac5f9ab97938\"\u003e\u003ccode\u003eb64baf5\u003c/code\u003e\u003c/a\u003e Sync .github directory with azure-sdk-tools repository (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-go/issues/26600\"\u003e#26600\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-go/commit/ecd64dd6500a04da22107925c3ba9fbe8e636f2c\"\u003e\u003ccode\u003eecd64dd\u003c/code\u003e\u003c/a\u003e Prep azcore@v1.21.1 for release (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-go/issues/26596\"\u003e#26596\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-go/commit/1d02f204d0146ffd7d13d5585bf3766e53c32cc5\"\u003e\u003ccode\u003e1d02f20\u003c/code\u003e\u003c/a\u003e Update copilot code review instructions and migration breaking change mitigat...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-go/commit/f6e9ce3212cc9d654d349778f19065eb5d849197\"\u003e\u003ccode\u003ef6e9ce3\u003c/code\u003e\u003c/a\u003e Sync eng/common directory with azure-sdk-tools for PR 14973 (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-go/issues/26531\"\u003e#26531\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-go/commit/d5a3baf11e0b743a4009efb8e84cbaee335fc0eb\"\u003e\u003ccode\u003ed5a3baf\u003c/code\u003e\u003c/a\u003e Update CODEOWNERS to remove one owner from Custom Providers (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-go/issues/26588\"\u003e#26588\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Azure/azure-sdk-for-go/compare/sdk/azcore/v1.20.0...sdk/azcore/v1.21.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/Masterminds/semver/v3` from 3.4.0 to 3.5.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Masterminds/semver/releases\"\u003egithub.com/Masterminds/semver/v3's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.5.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdding more prerelease tests by \u003ca href=\"https://github.com/mattfarina\"\u003e\u003ccode\u003e@​mattfarina\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Masterminds/semver/pull/273\"\u003eMasterminds/semver#273\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate constraint error messages by \u003ca href=\"https://github.com/mattfarina\"\u003e\u003ccode\u003e@​mattfarina\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Masterminds/semver/pull/278\"\u003eMasterminds/semver#278\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix edge cases by \u003ca href=\"https://github.com/mattfarina\"\u003e\u003ccode\u003e@​mattfarina\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Masterminds/semver/pull/279\"\u003eMasterminds/semver#279\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdding some checks in by \u003ca href=\"https://github.com/mattfarina\"\u003e\u003ccode\u003e@​mattfarina\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Masterminds/semver/pull/280\"\u003eMasterminds/semver#280\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdating deps by \u003ca href=\"https://github.com/mattfarina\"\u003e\u003ccode\u003e@​mattfarina\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Masterminds/semver/pull/281\"\u003eMasterminds/semver#281\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump github/codeql-action from 4.35.1 to 4.35.2 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/Masterminds/semver/pull/282\"\u003eMasterminds/semver#282\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/cache from 4.2.3 to 5.0.5 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/Masterminds/semver/pull/283\"\u003eMasterminds/semver#283\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump golangci/golangci-lint-action from 7.0.1 to 9.2.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/Masterminds/semver/pull/284\"\u003eMasterminds/semver#284\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdating gitignore for devcontainers by \u003ca href=\"https://github.com/mattfarina\"\u003e\u003ccode\u003e@​mattfarina\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Masterminds/semver/pull/286\"\u003eMasterminds/semver#286\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixing some quality issues by \u003ca href=\"https://github.com/mattfarina\"\u003e\u003ccode\u003e@​mattfarina\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Masterminds/semver/pull/287\"\u003eMasterminds/semver#287\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] made their first contribution in \u003ca href=\"https://redirect.github.com/Masterminds/semver/pull/282\"\u003eMasterminds/semver#282\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Masterminds/semver/compare/v3.4.0...v3.5.0\"\u003ehttps://github.com/Masterminds/semver/compare/v3.4.0...v3.5.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Masterminds/semver/blob/master/CHANGELOG.md\"\u003egithub.com/Masterminds/semver/v3's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eChangelog\u003c/h1\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Masterminds/semver/commit/8b89c86cb53c57cfd5d07c13de12bc4d78954e99\"\u003e\u003ccode\u003e8b89c86\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Masterminds/semver/issues/287\"\u003e#287\u003c/a\u003e from mattfarina/fix-da-issues\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Masterminds/semver/commit/29d51d0ea4bffe39173673685d0dd312447d74a7\"\u003e\u003ccode\u003e29d51d0\u003c/code\u003e\u003c/a\u003e Fixing some quality issues\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Masterminds/semver/commit/87f651dbe2f616342d6408b997ad7116ba72ddf3\"\u003e\u003ccode\u003e87f651d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Masterminds/semver/issues/286\"\u003e#286\u003c/a\u003e from mattfarina/update-devcontainer\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Masterminds/semver/commit/158a6852a7e66d99594653227d3e8c3dc6d160ca\"\u003e\u003ccode\u003e158a685\u003c/code\u003e\u003c/a\u003e Updating gitignore for devcontainers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Masterminds/semver/commit/7e83c080cfb4455752c654805b189274a10890ab\"\u003e\u003ccode\u003e7e83c08\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Masterminds/semver/issues/284\"\u003e#284\u003c/a\u003e from Masterminds/dependabot/github_actions/golangci/g...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Masterminds/semver/commit/697e27f32e7419eb896e7d3ec680c65fc673166b\"\u003e\u003ccode\u003e697e27f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Masterminds/semver/issues/283\"\u003e#283\u003c/a\u003e from Masterminds/dependabot/github_actions/actions/ca...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Masterminds/semver/commit/1591f8e3806198f60fa4dcaf2751bfc805c7740d\"\u003e\u003ccode\u003e1591f8e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Masterminds/semver/issues/282\"\u003e#282\u003c/a\u003e from Masterminds/dependabot/github_actions/github/cod...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Masterminds/semver/commit/3f5ff1737a28437e536d3ec54e41919577748ae6\"\u003e\u003ccode\u003e3f5ff17\u003c/code\u003e\u003c/a\u003e Bump golangci/golangci-lint-action from 7.0.1 to 9.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Masterminds/semver/commit/04baa3376047b6d5e79ffcc60f69332dd3e26c85\"\u003e\u003ccode\u003e04baa33\u003c/code\u003e\u003c/a\u003e Bump actions/cache from 4.2.3 to 5.0.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Masterminds/semver/commit/45939fec77cd7d07d586b823284d11423028e9c2\"\u003e\u003ccode\u003e45939fe\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 4.35.1 to 4.35.2\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Masterminds/semver/compare/v3.4.0...v3.5.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/aws/aws-sdk-go-v2/service/ecr` from 1.55.4 to 1.57.4\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-go-v2/commit/5841d3ae2cfd6e6113ca61b71d69131b84932f4c\"\u003e\u003ccode\u003e5841d3a\u003c/code\u003e\u003c/a\u003e Release 2026-05-29\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-go-v2/commit/16ac80d79c282366cae312281b3df925af4e9bf1\"\u003e\u003ccode\u003e16ac80d\u003c/code\u003e\u003c/a\u003e Regenerated Clients\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-go-v2/commit/167926f8aca7228f2dd1bed73707505875aafef4\"\u003e\u003ccode\u003e167926f\u003c/code\u003e\u003c/a\u003e Update endpoints model\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-go-v2/commit/a0fce13e18c6bff397ad77fac4cde4ab3f3b93e0\"\u003e\u003ccode\u003ea0fce13\u003c/code\u003e\u003c/a\u003e Update API model\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-go-v2/commit/223c0057211950899e0117dc027cc299a1dac664\"\u003e\u003ccode\u003e223c005\u003c/code\u003e\u003c/a\u003e update to smithy-go v1.26.0 (\u003ca href=\"https://redirect.github.com/aws/aws-sdk-go-v2/issues/3426\"\u003e#3426\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-go-v2/commit/74c501189a40c9b937432a1b2a4cacffc851ea76\"\u003e\u003ccode\u003e74c5011\u003c/code\u003e\u003c/a\u003e Release 2026-05-28\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-go-v2/commit/7d82651329a86064a9026f6219cff72921fa74da\"\u003e\u003ccode\u003e7d82651\u003c/code\u003e\u003c/a\u003e Regenerated Clients\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-go-v2/commit/79c63d9289784de4914143b7bff67157aa6a2a90\"\u003e\u003ccode\u003e79c63d9\u003c/code\u003e\u003c/a\u003e Update endpoints model\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-go-v2/commit/b15b3b873ad5c294d0c010fb1cc56ecb583d1618\"\u003e\u003ccode\u003eb15b3b8\u003c/code\u003e\u003c/a\u003e Update API model\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-go-v2/commit/090e46936630944917cfd6a0990ea3fd6391475b\"\u003e\u003ccode\u003e090e469\u003c/code\u003e\u003c/a\u003e Feat tmv2 parity (\u003ca href=\"https://redirect.github.com/aws/aws-sdk-go-v2/issues/3424\"\u003e#3424\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/aws/aws-sdk-go-v2/compare/service/ecr/v1.55.4...service/ecr/v1.57.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/bmatcuk/doublestar/v4` from 4.9.2 to 4.10.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/bmatcuk/doublestar/releases\"\u003egithub.com/bmatcuk/doublestar/v4's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eAdded WithNoHidden option\u003c/h2\u003e\n\u003cp\u003eAdded support for a \u003ccode\u003eWithNoHidden\u003c/code\u003e option to ignore hidden files in patterns that might unintentionally match them. For example, a \u003ccode\u003e.config\u003c/code\u003e directory would not be matched by \u003ccode\u003e*\u003c/code\u003e or recursed into by \u003ccode\u003e**\u003c/code\u003e, but \u003cem\u003ewould\u003c/em\u003e be matched by \u003ccode\u003e.*\u003c/code\u003e or recursed by \u003ccode\u003e.config/**\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eThanks to \u003ca href=\"https://github.com/lukasngl\"\u003e\u003ccode\u003e@​lukasngl\u003c/code\u003e\u003c/a\u003e for the initial PR and idea!\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efeat: add WithNoHidden option to skip hidden files by \u003ca href=\"https://github.com/lukasngl\"\u003e\u003ccode\u003e@​lukasngl\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/bmatcuk/doublestar/pull/109\"\u003ebmatcuk/doublestar#109\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lukasngl\"\u003e\u003ccode\u003e@​lukasngl\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/bmatcuk/doublestar/pull/109\"\u003ebmatcuk/doublestar#109\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/bmatcuk/doublestar/compare/v4.9.2...v4.10.0\"\u003ehttps://github.com/bmatcuk/doublestar/compare/v4.9.2...v4.10.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bmatcuk/doublestar/commit/a9ad9e0ef4d6b7e4443090e9a7201d847a881711\"\u003e\u003ccode\u003ea9ad9e0\u003c/code\u003e\u003c/a\u003e allow starting test manually\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bmatcuk/doublestar/commit/9987c0c624376f84f44515adca73ddcdfdcdf453\"\u003e\u003ccode\u003e9987c0c\u003c/code\u003e\u003c/a\u003e update docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bmatcuk/doublestar/commit/d3b2184d103391fcd0fcca6590c16367310eee65\"\u003e\u003ccode\u003ed3b2184\u003c/code\u003e\u003c/a\u003e windows support for WithNoHidden; better tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bmatcuk/doublestar/commit/5d6a6cd76ba3e45482d13140f332be36451f5a48\"\u003e\u003ccode\u003e5d6a6cd\u003c/code\u003e\u003c/a\u003e Merge branch 'lukasngl-feat/no-hidden'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bmatcuk/doublestar/commit/e8319d206e9dab8d51d41e662811cdfb9af72b24\"\u003e\u003ccode\u003ee8319d2\u003c/code\u003e\u003c/a\u003e run tests when a branch/tag is created\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bmatcuk/doublestar/commit/614b331133390c7682c227740c51ff65dea2de65\"\u003e\u003ccode\u003e614b331\u003c/code\u003e\u003c/a\u003e run tests when a branch/tag is created\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bmatcuk/doublestar/commit/df2e03fb0b91b726e0366c0d9ba1c5e580e2d0c9\"\u003e\u003ccode\u003edf2e03f\u003c/code\u003e\u003c/a\u003e feat: add WithNoHidden option to skip hidden files\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/bmatcuk/doublestar/compare/v4.9.2...v4.10.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/coreos/go-oidc/v3` from 3.17.0 to 3.18.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/coreos/go-oidc/releases\"\u003egithub.com/coreos/go-oidc/v3's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.18.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e.github: configure dependabot by \u003ca href=\"https://github.com/ericchiang\"\u003e\u003ccode\u003e@​ericchiang\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/coreos/go-oidc/pull/477\"\u003ecoreos/go-oidc#477\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e.github: update go versions in CI by \u003ca href=\"https://github.com/ericchiang\"\u003e\u003ccode\u003e@​ericchiang\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/coreos/go-oidc/pull/480\"\u003ecoreos/go-oidc#480\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump golang.org/x/oauth2 from 0.28.0 to 0.36.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/coreos/go-oidc/pull/478\"\u003ecoreos/go-oidc#478\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump github.com/go-jose/go-jose/v4 from 4.1.3 to 4.1.4 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/coreos/go-oidc/pull/479\"\u003ecoreos/go-oidc#479\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/coreos/go-oidc/compare/v3.17.0...v3.18.0\"\u003ehttps://github.com/coreos/go-oidc/compare/v3.17.0...v3.18.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coreos/go-oidc/commit/da6b3bfca8af72414ee0e6e8746585ff5d206003\"\u003e\u003ccode\u003eda6b3bf\u003c/code\u003e\u003c/a\u003e build(deps): bump github.com/go-jose/go-jose/v4 from 4.1.3 to 4.1.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coreos/go-oidc/commit/7f80694215d5eb5b28f851f35845439b1e1e9e5d\"\u003e\u003ccode\u003e7f80694\u003c/code\u003e\u003c/a\u003e build(deps): bump golang.org/x/oauth2 from 0.28.0 to 0.36.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coreos/go-oidc/commit/7271de57587bb756318f9819796ba846b1ba875a\"\u003e\u003ccode\u003e7271de5\u003c/code\u003e\u003c/a\u003e .github: update go versions in CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coreos/go-oidc/commit/3ccf20fdc4afab7c64881a108d6f4c17a4ecc24d\"\u003e\u003ccode\u003e3ccf20f\u003c/code\u003e\u003c/a\u003e .github: configure dependabot\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/coreos/go-oidc/compare/v3.17.0...v3.18.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/fluxcd/pkg/kustomize` from 1.24.0 to 1.32.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fluxcd/pkg/commit/f3ad4b56adec90eb5661af565cdebec997ad4bfb\"\u003e\u003ccode\u003ef3ad4b5\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/fluxcd/pkg/issues/1195\"\u003e#1195\u003c/a\u003e from fluxcd/release-main\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fluxcd/pkg/commit/f35b4fd025cdee1664ca3d7aede2eb2fd594583d\"\u003e\u003ccode\u003ef35b4fd\u003c/code\u003e\u003c/a\u003e Prepare for release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fluxcd/pkg/commit/18e165c2592fb2a9633b9a80371e730d88bcab29\"\u003e\u003ccode\u003e18e165c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/fluxcd/pkg/issues/1194\"\u003e#1194\u003c/a\u003e from fluxcd/k8s-1.36\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fluxcd/pkg/commit/fe4377874a6d57593120ee524e1913ca81a5d2e5\"\u003e\u003ccode\u003efe43778\u003c/code\u003e\u003c/a\u003e Update controller-gen to v0.21.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fluxcd/pkg/commit/2498ab414d7e2abaee4131142293e520ee76b390\"\u003e\u003ccode\u003e2498ab4\u003c/code\u003e\u003c/a\u003e Update cloud auth SDKs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fluxcd/pkg/commit/b3bb0e0ff6bc2f42f23ff110baa0e7ae0f2ee685\"\u003e\u003ccode\u003eb3bb0e0\u003c/code\u003e\u003c/a\u003e Update go-git to v5.19.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fluxcd/pkg/commit/545dc4f55ab3850dca6401177c94e37ed40b5c87\"\u003e\u003ccode\u003e545dc4f\u003c/code\u003e\u003c/a\u003e Update distribution to v3.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fluxcd/pkg/commit/b23cbf9f0581b9dc5594e8659739f1bc9c870d35\"\u003e\u003ccode\u003eb23cbf9\u003c/code\u003e\u003c/a\u003e Update Kubernetes packages to 1.36\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fluxcd/pkg/commit/c6042810b61f1937c72a0e04d81d0091ca6e7dae\"\u003e\u003ccode\u003ec604281\u003c/code\u003e\u003c/a\u003e Update Go to 1.26\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fluxcd/pkg/commit/939c616718374460667e648c796487bfedfa6d98\"\u003e\u003ccode\u003e939c616\u003c/code\u003e\u003c/a\u003e ssa: Fix race condition in CRD tests\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/fluxcd/pkg/compare/apis/meta/v1.24.0...kustomize/v1.32.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/gin-gonic/gin` from 1.11.0 to 1.12.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/gin-gonic/gin/releases\"\u003egithub.com/gin-gonic/gin's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.12.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e192ac89eefc1c30f7c97ae48a9ffb1c6f1c8c8bc: feat(binding): add support for encoding.UnmarshalText in uri/query binding (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4203\"\u003e#4203\u003c/a\u003e) (\u003ca href=\"https://github.com/takanuva15\"\u003e\u003ccode\u003e@​takanuva15\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e53410d2e07054369e0960fbe2eed97e1b9966f12: feat(context): add GetError and GetErrorSlice methods for error retrieval (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4502\"\u003e#4502\u003c/a\u003e) (\u003ca href=\"https://github.com/raju-mechatronics\"\u003e\u003ccode\u003e@​raju-mechatronics\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eacc55e049e33b401e810dbd8c0d6dcb6b3ba2b05: feat(context): add Protocol Buffers support to content negotiation (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4423\"\u003e#4423\u003c/a\u003e) (\u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e38e765119241d990705169bedb5002a29ae0cbd1: feat(context): implemented Delete method (\u003ca href=\"https://github.com/Spyder01\"\u003e\u003ccode\u003e@​Spyder01\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e771dcc6476d7bc6abb9ec0235ecefa4d38fe6fb0: feat(gin): add option to use escaped path (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4420\"\u003e#4420\u003c/a\u003e) (\u003ca href=\"https://github.com/ldesauw\"\u003e\u003ccode\u003e@​ldesauw\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e4dec17afdff48e8018c83618fbbe69fceeb2b41d: feat(logger): color latency (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4146\"\u003e#4146\u003c/a\u003e) (\u003ca href=\"https://github.com/wsyqn6\"\u003e\u003ccode\u003e@​wsyqn6\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ed7776de7d444935ea4385999711bd6331a98fecb: feat(render): add bson protocol (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4145\"\u003e#4145\u003c/a\u003e) (\u003ca href=\"https://github.com/laurentcau\"\u003e\u003ccode\u003e@​laurentcau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eb917b14ff9d189f16a7492be79d123a47806ee19: fix(binding): empty value error (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/2169\"\u003e#2169\u003c/a\u003e) (\u003ca href=\"https://github.com/guonaihong\"\u003e\u003ccode\u003e@​guonaihong\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ec3d1092b3b48addf6f9cd00fe274ec3bd14650eb: fix(binding): improve empty slice/array handling in form binding (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4380\"\u003e#4380\u003c/a\u003e) (\u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e9914178584e42458ff7d23891463a880f58c9d86: fix(context): ClientIP handling for multiple X-Forwarded-For header values (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4472\"\u003e#4472\u003c/a\u003e) (\u003ca href=\"https://github.com/Nurysso\"\u003e\u003ccode\u003e@​Nurysso\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e2a794cd0b0faa7d829291375b27a3467ea972b0d: fix(debug): version mismatch (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4403\"\u003e#4403\u003c/a\u003e) (\u003ca href=\"https://github.com/zeek0x\"\u003e\u003ccode\u003e@​zeek0x\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ec3d5a28ed6d3849da820195b6774d212bcc038a9: fix(gin): close os.File in RunFd to prevent resource leak (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4422\"\u003e#4422\u003c/a\u003e) (\u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e5fad976b372e381312f8de69f0969f1284d229d3: fix(gin): literal colon routes not working with engine.Handler() (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4415\"\u003e#4415\u003c/a\u003e) (\u003ca href=\"https://github.com/pawannn\"\u003e\u003ccode\u003e@​pawannn\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e63dd3e60cab89c27fb66bce1423bd268d52abad1: fix(recover): suppress http.ErrAbortHandler in recover (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4336\"\u003e#4336\u003c/a\u003e) (\u003ca href=\"https://github.com/MondayCha\"\u003e\u003ccode\u003e@​MondayCha\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e5c00df8afadd06cc5be530dde00fe6d9fa4a2e4a: fix(render): write content length in Data.Render (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4206\"\u003e#4206\u003c/a\u003e) (\u003ca href=\"https://github.com/dengaleev\"\u003e\u003ccode\u003e@​dengaleev\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e234a6d4c00cb77af9852aca0b8289745d5529b4b: fix(response): refine hijack behavior for response lifecycle (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4373\"\u003e#4373\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e472d086af2acd924cb4b9d7be0525f7d790f69bc: fix(tree): panic in findCaseInsensitivePathRec with RedirectFixedPath (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4535\"\u003e#4535\u003c/a\u003e) (\u003ca href=\"https://github.com/veeceey\"\u003e\u003ccode\u003e@​veeceey\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e8e07d37c63e5536eb25f4af4c91eabeee4011fba: fix: Correct typos, improve documentation clarity, and remove dead code (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4511\"\u003e#4511\u003c/a\u003e) (\u003ca href=\"https://github.com/mahanadh\"\u003e\u003ccode\u003e@​mahanadh\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eba093d19477b896ac89a7fc3246af23d290b8e26: chore(binding): upgrade bson dependency to mongo-driver v2 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4549\"\u003e#4549\u003c/a\u003e) (\u003ca href=\"https://github.com/BobDu\"\u003e\u003ccode\u003e@​BobDu\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eb2b489dbf4826c2c630717a77fd5e42774625410: chore(context): always trust xff headers from unix socket (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/3359\"\u003e#3359\u003c/a\u003e) (\u003ca href=\"https://github.com/WeidiDeng\"\u003e\u003ccode\u003e@​WeidiDeng\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eecb3f7b5e2f3915bf1db240ed5eee572f8dbea36: chore(deps): upgrade golang.org/x/crypto to v0.45.0 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4449\"\u003e#4449\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eaf6e8b70b8261bb0c99ad094fe552ab92991620a: chore(deps): upgrade quic-go to v0.57.1 (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edb309081bc5c137b2aa15701ef53f7f19788da25: chore(logger): allow skipping query string output (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4547\"\u003e#4547\u003c/a\u003e) (\u003ca href=\"https://github.com/USA-RedDragon\"\u003e\u003ccode\u003e@​USA-RedDragon\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e26c3a628655cad2388380cb8102d6ce7d4875f3b: chore(response): prevent Flush() panic when \u003ccode\u003ehttp.Flusher\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4479\"\u003e#4479\u003c/a\u003e) (\u003ca href=\"https://github.com/Twacqwq\"\u003e\u003ccode\u003e@​Twacqwq\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e5dd833f1f26de0eb30eae47b17e05ced2482dc41: chore: bump minimum Go version to 1.24 and update workflows (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4388\"\u003e#4388\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRefactor\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e39858a0859c914bd26948fa950477e11bd8d3823: refactor(binding): use maps.Copy for cleaner map handling (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4352\"\u003e#4352\u003c/a\u003e) (\u003ca href=\"https://github.com/russcoss\"\u003e\u003ccode\u003e@​russcoss\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ec0048f645ee945c4db30593afdea10123e2c30a6: refactor(context): omit the return value names (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4395\"\u003e#4395\u003c/a\u003e) (\u003ca href=\"https://github.com/wanghaolong613\"\u003e\u003ccode\u003e@​wanghaolong613\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e915e4c90d28ec4cffc6eb146e208ab5a65eac772: refactor(context): replace hardcoded localhost IPs with constants (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4481\"\u003e#4481\u003c/a\u003e) (\u003ca href=\"https://github.com/pauloappbr\"\u003e\u003ccode\u003e@​pauloappbr\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e414de60574449457f3192a7a1d5528940db2836d: refactor(context): using maps.Clone (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4333\"\u003e#4333\u003c/a\u003e) (\u003ca href=\"https://github.com/cuiweixie\"\u003e\u003ccode\u003e@​cuiweixie\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e59e9d4a794f12c4f9a6c7bed441b9644e5f6d99b: refactor(ginS): use sync.OnceValue to simplify engine function (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4314\"\u003e#4314\u003c/a\u003e) (\u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e3ab698dc5110af1977d57226e4995c57dd34c233: refactor(recovery): smart error comparison (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4142\"\u003e#4142\u003c/a\u003e) (\u003ca href=\"https://github.com/zeek0x\"\u003e\u003ccode\u003e@​zeek0x\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ed1a15347b1e45a8ee816193d3578a93bfd73b70f: refactor(utils): move util functions to utils.go (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4467\"\u003e#4467\u003c/a\u003e) (\u003ca href=\"https://github.com/zeek0x\"\u003e\u003ccode\u003e@​zeek0x\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ee3118cc378d263454098924ebbde7e8d1dd2e904: refactor: for loop can be modernized using range over int (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4392\"\u003e#4392\u003c/a\u003e) (\u003ca href=\"https://github.com/wanghaolong613\"\u003e\u003ccode\u003e@​wanghaolong613\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e488f8c3ffa579a8d19beb2bae95ff8ef36b3d53f: refactor: replace magic numbers with named constants in bodyAllowedForStatus (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4529\"\u003e#4529\u003c/a\u003e) (\u003ca href=\"https://github.com/veeceey\"\u003e\u003ccode\u003e@​veeceey\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e9968c4bf9d5a99edc3eee2c068a4c9160ece8915: refactor: use b.Loop() to simplify the code and improve performance (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4389\"\u003e#4389\u003c/a\u003e) (\u003ca href=\"https://github.com/reddaisyy\"\u003e\u003ccode\u003e@​reddaisyy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ea85ef5ce4d0cda8834c59c855068ed48b51192d1: refactor: use b.Loop() to simplify the code and improve performance (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4432\"\u003e#4432\u003c/a\u003e) (\u003ca href=\"https://github.com/efcking\"\u003e\u003ccode\u003e@​efcking\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBuild process updates\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e61b67de522a189b568aced4c5c16917c558e3387: ci(bot): increase frequency and group updates for dependencies (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4367\"\u003e#4367\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efb27ef26c2fdfe25344b4c039d8a53551f9e912c: ci(lint): refactor test assertions and linter configuration (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4436\"\u003e#4436\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e93ff771e6dbf10e432864b30f3719ac5c84a4d4a: ci(sec): improve type safety and server organization in HTTP middleware (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4437\"\u003e#4437\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ee88fc8927a52b74f55bec0351604a56ac0aa1c51: ci(sec): schedule Trivy security scans to run daily at midnight UTC (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4439\"\u003e#4439\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e5e5ff3ace496a31b138b0820136a146bfb5de0ef: ci: replace vulnerability scanning workflow with Trivy integration (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4421\"\u003e#4421\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e00900fb3e1ea9dde33985a0e4f6afec793d5e786: ci: update CI workflows and standardize Trivy config quotes (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4531\"\u003e#4531\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eae3f524974fc4f55d18c9e7fae4614503c015226: ci: update Go version support to 1.25+ across CI and docs (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4550\"\u003e#4550\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/gin-gonic/gin/blob/master/CHANGELOG.md\"\u003egithub.com/gin-gonic/gin's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eGin v1.12.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat(render): add bson protocol (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4145\"\u003e#4145\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(context): add GetError and GetErrorSlice methods for error retrieval (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4502\"\u003e#4502\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(binding): add support for encoding.UnmarshalText in uri/query binding (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4203\"\u003e#4203\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(gin): add option to use escaped path (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4420\"\u003e#4420\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(context): add Protocol Buffers support to content negotiation (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4423\"\u003e#4423\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(context): implemented Delete method (\u003ca href=\"https://github.com/gin-gonic/gin/commit/38e7651\"\u003e#38e7651\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(logger): color latency (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4146\"\u003e#4146\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eperf(tree): reduce allocations in findCaseInsensitivePath (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4417\"\u003e#4417\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eperf(recovery): optimize line reading in stack function (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4466\"\u003e#4466\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eperf(path): replace regex with custom functions in redirectTrailingSlash (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4414\"\u003e#4414\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eperf(tree): optimize path parsing using strings.Count (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4246\"\u003e#4246\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(logger): allow skipping query string output (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4547\"\u003e#4547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(context): always trust xff headers from unix socket (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/3359\"\u003e#3359\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(response): prevent Flush() panic when the underlying ResponseWriter does not implement \u003ccode\u003ehttp.Flusher\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4479\"\u003e#4479\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(recovery): smart error comparison (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4142\"\u003e#4142\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(context): replace hardcoded localhost IPs with constants (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4481\"\u003e#4481\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(utils): move util functions to utils.go (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4467\"\u003e#4467\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(binding): use maps.Copy for cleaner map handling (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4352\"\u003e#4352\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(context): using maps.Clone (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4333\"\u003e#4333\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(ginS): use sync.OnceValue to simplify engine function (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4314\"\u003e#4314\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor: replace magic numbers with named constants in bodyAllowedForStatus (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4529\"\u003e#4529\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor: for loop can be modernized using range over int (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4392\"\u003e#4392\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(tree): panic in findCaseInsensitivePathRec with RedirectFixedPath (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4535\"\u003e#4535\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(render): write content length in Data.Render (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4206\"\u003e#4206\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(context): ClientIP handling for multiple X-Forwarded-For header values (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4472\"\u003e#4472\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(binding): empty value error (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/2169\"\u003e#2169\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(recover): suppress http.ErrAbortHandler in recover (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4336\"\u003e#4336\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(gin): literal colon routes not working with engine.Handler() (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4415\"\u003e#4415\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(gin): close os.File in RunFd to prevent resource leak (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4422\"\u003e#4422\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(response): refine hijack behavior for response lifecycle (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4373\"\u003e#4373\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(binding): improve empty slice/array handling in form binding (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4380\"\u003e#4380\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(debug): version mismatch (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4403\"\u003e#4403\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: correct typos, improve documentation clarity, and remove dead code (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4511\"\u003e#4511\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBuild process updates / CI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eci: update Go version support to 1.25+ across CI and docs (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4550\"\u003e#4550\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(binding): upgrade bson dependency to mongo-driver v2 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4549\"\u003e#4549\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/73726dc606796a025971fe451f0aa6f1b9b847f6\"\u003e\u003ccode\u003e73726dc\u003c/code\u003e\u003c/a\u003e docs: update documentation to reflect Go version changes (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4552\"\u003e#4552\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/e292e5caa777bce70b66fe08c94cbe9cef3e2ec9\"\u003e\u003ccode\u003ee292e5c\u003c/code\u003e\u003c/a\u003e docs: document and finalize Gin v1.12.0 release (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4551\"\u003e#4551\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/ae3f524974fc4f55d18c9e7fae4614503c015226\"\u003e\u003ccode\u003eae3f524\u003c/code\u003e\u003c/a\u003e ci: update Go version support to 1.25+ across CI and docs (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4550\"\u003e#4550\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/38534e2bf98a06e1f62d6b24384e90b5f78699bf\"\u003e\u003ccode\u003e38534e2\u003c/code\u003e\u003c/a\u003e chore(deps): bump golang.org/x/net from 0.50.0 to 0.51.0 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4548\"\u003e#4548\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/472d086af2acd924cb4b9d7be0525f7d790f69bc\"\u003e\u003ccode\u003e472d086\u003c/code\u003e\u003c/a\u003e fix(tree): panic in findCaseInsensitivePathRec with RedirectFixedPath (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4535\"\u003e#4535\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/fb2583442c4d9bccb75e6d26f1aa6e7c01950db6\"\u003e\u003ccode\u003efb25834\u003c/code\u003e\u003c/a\u003e test(context): use http.StatusContinue constant instead of magic number 100 (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/6f1d5fe3cdb171a08928c3c9dd3fbcfc9ee1b521\"\u003e\u003ccode\u003e6f1d5fe\u003c/code\u003e\u003c/a\u003e test(render): add comprehensive error handling tests (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4541\"\u003e#4541\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/5c00df8afadd06cc5be530dde00fe6d9fa4a2e4a\"\u003e\u003ccode\u003e5c00df8\u003c/code\u003e\u003c/a\u003e fix(render): write content length in Data.Render (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4206\"\u003e#4206\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/db309081bc5c137b2aa15701ef53f7f19788da25\"\u003e\u003ccode\u003edb30908\u003c/code\u003e\u003c/a\u003e chore(logger): allow skipping query string output (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4547\"\u003e#4547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/ba093d19477b896ac89a7fc3246af23d290b8e26\"\u003e\u003ccode\u003eba093d1\u003c/code\u003e\u003c/a\u003e chore(binding): upgrade bson dependency to mongo-driver v2 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4549\"\u003e#4549\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/gin-gonic/gin/compare/v1.11.0...v1.12.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/go-openapi/runtime` from 0.31.0 to 0.32.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/go-openapi/runtime/releases\"\u003egithub.com/go-openapi/runtime's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.32.2\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/go-openapi/runtime/tree/v0.32.2\"\u003e0.32.2\u003c/a\u003e - 2026-05-27\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/go-openapi/runtime/compare/v0.32.1...v0.32.2\"\u003ehttps://github.com/go-openapi/runtime/compare/v0.32.1...v0.32.2\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e2 commits in this release.\u003c/p\u003e\n\u003chr /\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003eFixed bugs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(client): added a guard to avoid the client to panic by \u003ca href=\"https://github.com/fredbi\"\u003e\u003ccode\u003e@​fredbi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/go-openapi/runtime/pull/474\"\u003e#474\u003c/a\u003e \u003ca href=\"https://github.com/go-openapi/runtime/commit/10b4d12b0cd87e2f815d599da4fe4dd193860402\"\u003e...\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003eMiscellaneous tasks\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: prepare release v0.32.2 by \u003ca href=\"https://github.com/bot-go-openapi%5Bbot%5D\"\u003e\u003ccode\u003e@​bot-go-openapi[bot]\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/go-openapi/runtime/pull/475\"\u003e#475\u003c/a\u003e \u003ca href=\"https://github.com/go-openapi/runtime/commit/a357ecf20e27c31a91eab863273f0d8b4a226f27\"\u003e...\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003ch3\u003ePeople who contributed to this release\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fredbi\"\u003e\u003ccode\u003e@​fredbi\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e\u003cstrong\u003e\u003ca href=\"https://github.com/go-openapi/runtime\"\u003eruntime\u003c/a\u003e license terms\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/go-openapi/runtime/?tab=Apache-2.0-1-ov-file#readme\"\u003e\u003cimg src=\"http://img.shields.io/badge/license-Apache%20v2-orange.svg\" alt=\"License\" /\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch1\u003ePer-module changes\u003c/h1\u003e\n\u003chr /\u003e\n\u003ch2\u003eclient-middleware/opentracing (0.32.2)\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003eMiscellaneous tasks\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: prepare release v0.32.2 by \u003ca href=\"https://github.com/bot-go-openapi%5Bbot%5D\"\u003e\u003ccode\u003e@​bot-go-openapi[bot]\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/go-openapi/runtime/pull/475\"\u003e#475\u003c/a\u003e \u003ca href=\"https://github.com/go-openapi/runtime/commit/a357ecf20e27c31a91eab863273f0d8b4a226f27\"\u003e...\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev0.32.1\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/go-openapi/runtime/commit/a357ecf20e27c31a91eab863273f0d8b4a226f27\"\u003e\u003ccode\u003ea357ecf\u003c/code\u003e\u003c/a\u003e chore: prepare release v0.32.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/go-openapi/runtime/commit/10b4d12b0cd87e2f815d599da4fe4dd193860402\"\u003e\u003ccode\u003e10b4d12\u003c/code\u003e\u003c/a\u003e fix(client): added a guard to avoid the client to panic (\u003ca href=\"https://redirect.github.com/go-openapi/runtime/issues/474\"\u003e#474\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/go-openapi/runtime/commit/ea80e5aacea5c4beb4e0149c16bfedafeb712ade\"\u003e\u003ccode\u003eea80e5a\u003c/code\u003e\u003c/a\u003e chore: prepare release v0.32.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/go-openapi/runtime/commit/01f5c5554ca086b21e2edeb501df8d1ea3442e89\"\u003e\u003ccode\u003e01f5c55\u003c/code\u003e\u003c/a\u003e doc: documented SkipAuth feature with build tag (\u003ca href=\"https://redirect.github.com/go-openapi/runtime/issues/472\"\u003e#472\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/go-openapi/runtime/commit/af192a9fb1651707e247f9a61b98f4bd033e86b1\"\u003e\u003ccode\u003eaf192a9\u003c/code\u003e\u003c/a\u003e refactor(client): promote ContextualTransport to runtime package (\u003ca href=\"https://redirect.github.com/go-openapi/runtime/issues/471\"\u003e#471\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/go-openapi/runtime/commit/100221960271f64b93bda18c4710deaffec71fba\"\u003e\u003ccode\u003e1002219\u003c/code\u003e\u003c/a\u003e chore: prepare release v0.32.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/go-openapi/runtime/commit/c1e2e2cb180aa5f374faa5ac74868eab49f53eb3\"\u003e\u003ccode\u003ec1e2e2c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/go-openapi/runtime/issues/469\"\u003e#469\u003c/a\u003e from fredbi/fix/3113-file-urlencoded\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/go-openapi/runtime/commit/584ff89d96ca40fb1fc2dafb11d1a778b10eac75\"\u003e\u003ccode\u003e584ff89\u003c/code\u003e\u003c/a\u003e ci: add unsafe-skipauth tagged-build workflow with coverage\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/go-openapi/runtime/commit/4042690b6876ac18d04c0803d55aefcd86948472\"\u003e\u003ccode\u003e4042690\u003c/code\u003e\u003c/a\u003e feat(middleware): build-tag-gated SetSkipAuth for dev-mode auth bypass\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/go-openapi/runtime/commit/cd748fa92d58a2758a07a632ea5905e5f76126ba\"\u003e\u003ccode\u003ecd748fa\u003c/code\u003e\u003c/a\u003e refactor(client/otel): pivot OpenTelemetry transport to SubmitContext\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/go-openapi/runtime/compare/v0.31.0...v0.32.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/goccy/go-yaml` from 1.18.0 to 1.19.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/goccy/go-yaml/releases\"\u003egithub.com/goccy/go-yaml's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.19.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix anchor reference regression in nested structures by \u003ca href=\"https://github.com/linyows\"\u003e\u003ccode\u003e@​linyows\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/goccy/go-yaml/pull/839\"\u003egoccy/go-yaml#839\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/linyows\"\u003e\u003ccode\u003e@​linyows\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/goccy/go-yaml/pull/839\"\u003egoccy/go-yaml#839\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/goccy/go-yaml/compare/v1.19.1...v1.19.2\"\u003ehttps://github.com/goccy/go-yaml/compare/v1.19.1...v1.19.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e1.19.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix decoding of integer keys of map type by \u003ca href=\"https://github.com/goccy\"\u003e\u003ccode\u003e@​goccy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/goccy/go-yaml/pull/829\"\u003egoccy/go-yaml#829\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport line comment for flow sequence or flow map by \u003ca href=\"https://github.com/goccy\"\u003e\u003ccode\u003e@​goccy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/goccy/go-yaml/pull/834\"\u003egoccy/go-yaml#834\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/goccy/go-yaml/compare/v1.19.0...v1.19.1\"\u003ehttps://github.com/goccy/go-yaml/compare/v1.19.0...v1.19.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e1.19.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRevert \u0026quot;feat: Dont make copies of structs for validation\u0026quot; by \u003ca href=\"https://github.com/shuheiktgw\"\u003e\u003ccode\u003e@​shuheiktgw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/goccy/go-yaml/pull/763\"\u003egoccy/go-yaml#763\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd decode option that allows specific field prefixes by \u003ca href=\"https://github.com/cpuguy83\"\u003e\u003ccode\u003e@​cpuguy83\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/goccy/go-yaml/pull/795\"\u003egoccy/go-yaml#795\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eNormalize CR and CRLF in multi-line strings by \u003ca href=\"https://github.com/shuheiktgw\"\u003e\u003ccode\u003e@​shuheiktgw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/goccy/go-yaml/pull/754\"\u003egoccy/go-yaml#754\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport non string map keys by \u003ca href=\"https://github.com/shuheiktgw\"\u003e\u003ccode\u003e@​shuheiktgw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/goccy/go-yaml/pull/756\"\u003egoccy/go-yaml#756\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSkip directive in path operations by \u003ca href=\"https://github.com/shuheiktgw\"\u003e\u003ccode\u003e@​shuheiktgw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/goccy/go-yaml/pull/758\"\u003egoccy/go-yaml#758\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd indentation to flow values on new lines by \u003ca href=\"https://github.com/shuheiktgw\"\u003e\u003ccode\u003e@​shuheiktgw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/goccy/go-yaml/pull/759\"\u003egoccy/go-yaml#759\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for RawMessage, similar to json.RawMessage by \u003ca href=\"https://github.com/thanethomson\"\u003e\u003ccode\u003e@​thanethomson\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/goccy/go-yaml/pull/790\"\u003egoccy/go-yaml#790\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cpuguy83\"\u003e\u003ccode\u003e@​cpuguy83\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/goccy/go-yaml/pull/795\"\u003egoccy/go-yaml#795\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/thanethomson\"\u003e\u003ccode\u003e@​thanethomson\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/goccy/go-yaml/pull/790\"\u003egoccy/go-yaml#790\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/goccy/go-yaml/compare/v1.18.0...v1.19.0\"\u003ehttps://github.com/goccy/go-yaml/compare/v1.18.0...v1.19.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/goccy/go-yaml/commit/92bc79cb5f685e999ad131473168fc45215d12d9\"\u003e\u003ccode\u003e92bc79c\u003c/code\u003e\u003c/a\u003e Fix anchor reference regression in nested structures (\u003ca href=\"https://redirect.github.com/goccy/go-yaml/issues/839\"\u003e#839\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/goccy/go-yaml/commit/b0ab06985557a2d84913ecba6dda0dbedbd5e154\"\u003e\u003ccode\u003eb0ab069\u003c/code\u003e\u003c/a\u003e Support line comment for flow sequence or flow map (\u003ca href=\"https://redirect.github.com/goccy/go-yaml/issues/834\"\u003e#834\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/goccy/go-yaml/commit/9e98b0c753ff2b8f0b323929c9c60fe7951d0f45\"\u003e\u003ccode\u003e9e98b0c\u003c/code\u003e\u003c/a\u003e Fix decoding of integer keys of map type (\u003ca href=\"https://redirect.github.com/goccy/go-yaml/issues/829\"\u003e#829\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/goccy/go-yaml/commit/a7b4bfbcf4a41152862ffba5cce666631bc04bb1\"\u003e\u003ccode\u003ea7b4bfb\u003c/code\u003e\u003c/a\u003e Add support for RawMessage, similar to json.RawMessage (\u003ca href=\"https://redirect.github.com/goccy/go-yaml/issues/790\"\u003e#790\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/goccy/go-yaml/commit/07c09c028744e7aac32d1b11279a401055d107f5\"\u003e\u003ccode\u003e07c09c0\u003c/code\u003e\u003c/a\u003e Add indentation to flow values on new lines (\u003ca href=\"https://redirect.github.com/goccy/go-yaml/issues/759\"\u003e#759\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/goccy/go-yaml/commit/0040ab4161153c5b812ae51984d3967ad3dbd068\"\u003e\u003ccode\u003e0040ab4\u003c/code\u003e\u003c/a\u003e Skip directive in path operations (\u003ca href=\"https://redirect.github.com/goccy/go-yaml/issues/758\"\u003e#758\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/goccy/go-yaml/commit/7901e98f54d280a553a0d606c91a82fa89493928\"\u003e\u003ccode\u003e7901e98\u003c/code\u003e\u003c/a\u003e Support non string map keys (\u003ca href=\"https://redirect.github.com/goccy/go-yaml/issues/756\"\u003e#756\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/goccy/go-yaml/commit/f4d13479ba3d44541a65d0dffeab5e3fa805413a\"\u003e\u003ccode\u003ef4d1347\u003c/code\u003e\u003c/a\u003e Normalize CR and CRLF in multi-line strings (\u003ca href=\"https://redirect.github.com/goccy/go-yaml/issues/754\"\u003e#754\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/goccy/go-yaml/commit/90e852559132e85734ab0c9a48b3a912ebd3f060\"\u003e\u003ccode\u003e90e8525\u003c/code\u003e\u003c/a\u003e Add decode option that allows specific field prefixes (\u003ca href=\"https://redirect.github.com/goccy/go-yaml/issues/795\"\u003e#795\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/goccy/go-yaml/commit/25e5d9094248e480434ca87d9119e3d9ce7ac1d7\"\u003e\u003ccode\u003e25e5d90\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;feat: Dont make copies of structs for validation (\u003ca href=\"https://redirect.github.com/goccy/go-yaml/issues/737\"\u003e#737\u003c/a\u003e)\u0026quot; (\u003ca href=\"https://redirect.github.com/goccy/go-yaml/issues/763\"\u003e#763\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/goccy/go-yaml/compare/v1.18.0...v1.19.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/google/go-containerregistry` from 0.20.7 to 0.21.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/google/go-containerregistry/releases\"\u003egithub.com/google/go-containerregistry's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.21.6\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: update dependencies to use new azure sdk components by \u003ca href=\"https://github.com/gaganhr94\"\u003e\u003ccode\u003e@​gaganhr94\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2262\"\u003egoogle/go-containerregistry#2262\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etransport: restore resp.Body in retryError so CheckError can parse it by \u003ca href=\"https://github.com/alliasgher\"\u003e\u003ccode\u003e@​alliasgher\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2264\"\u003egoogle/go-containerregistry#2264\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003epkg/registry: return 202 Accepted for PATCH chunk uploads by \u003ca href=\"https://github.com/alliasgher\"\u003e\u003ccode\u003e@​alliasgher\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2265\"\u003egoogle/go-containerregistry#2265\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFollow OCI distribution spec for artifactType and annotations by \u003ca href=\"https://github.com/malt3\"\u003e\u003ccode\u003e@​malt3\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2269\"\u003egoogle/go-containerregistry#2269\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eactions: attach Codecov token to coverage tests on main by \u003ca href=\"https://github.com/Subserial\"\u003e\u003ccode\u003e@​Subserial\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2270\"\u003egoogle/go-containerregistry#2270\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eremote: use DeleteScope (with \u0026quot;delete\u0026quot; action) for manifest deletion by \u003ca href=\"https://github.com/alliasgher\"\u003e\u003ccode\u003e@​alliasgher\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2266\"\u003egoogle/go-containerregistry#2266\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eremote: limit concurrent layer pulls by \u003ca href=\"https://github.com/gnix0\"\u003e\u003ccode\u003e@​gnix0\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2271\"\u003egoogle/go-containerregistry#2271\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003epkg/registry: reject corrupt disk blobs by \u003ca href=\"https://github.com/gnix0\"\u003e\u003ccode\u003e@​gnix0\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2272\"\u003egoogle/go-containerregistry#2272\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003emutate: close layer readers during export by \u003ca href=\"https://github.com/gnix0\"\u003e\u003ccode\u003e@​gnix0\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2277\"\u003egoogle/go-containerregistry#2277\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ecrane/flatten: preserve image media type when flattening by \u003ca href=\"https://github.com/alliasgher\"\u003e\u003ccode\u003e@​alliasgher\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2267\"\u003egoogle/go-containerregistry#2267\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump goreleaser/goreleaser-action from 7.0.0 to 7.2.1 in the actions group across 1 directory by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2273\"\u003egoogle/go-containerregistry#2273\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump go.opentelemetry.io/otel from 1.36.0 to 1.41.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2278\"\u003egoogle/go-containerregistry#2278\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump the go-deps group across 3 directories with 6 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2280\"\u003egoogle/go-containerregistry#2280\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReplace go-homedir with os.UserHomeDir by \u003ca href=\"https://github.com/jammie-jelly\"\u003e\u003ccode\u003e@​jammie-jelly\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2282\"\u003egoogle/go-containerregistry#2282\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003epkg/name: only treat .localhost as non-HTTPS, not .local by \u003ca href=\"https://github.com/blackwell-systems\"\u003e\u003ccode\u003e@​blackwell-systems\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2281\"\u003egoogle/go-containerregistry#2281\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etransport: block unspecified IPs (0.0.0.0, ::) in validateRealmURL by \u003ca href=\"https://github.com/marwan9696\"\u003e\u003ccode\u003e@​marwan9696\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2285\"\u003egoogle/go-containerregistry#2285\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etest(mutate): add Extract round-trip test for filesystem object preservation by \u003ca href=\"https://github.com/blackwell-systems\"\u003e\u003ccode\u003e@​blackwell-systems\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2283\"\u003egoogle/go-containerregistry#2283\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eexperiments: remove deprecated support for estargz by \u003ca href=\"https://github.com/thaJeztah\"\u003e\u003ccode\u003e@​thaJeztah\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2288\"\u003egoogle/go-containerregistry#2288\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump aws-actions/configure-aws-credentials from 6.1.0 to 6.1.1 in the actions group by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2289\"\u003egoogle/go-containerregistry#2289\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: limit HTTP response body reads to prevent OOM by \u003ca href=\"https://github.com/evilgensec\"\u003e\u003ccode\u003e@​evilgensec\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2296\"\u003egoogle/go-containerregistry#2296\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump the go-deps group across 3 directories with 6 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2297\"\u003egoogle/go-containerregistry#2297\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etransport: block redirects from token server to private/link-local addresses (SSRF fix) by \u003ca href=\"https://github.com/evilgensec\"\u003e\u003ccode\u003e@​evilgensec\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2292\"\u003egoogle/go-containerregistry#2292\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003epkg/v1/mutate: preserve relative symlinks that stay within rootfs in Extract by \u003ca href=\"https://github.com/anishesg\"\u003e\u003ccode\u003e@​anishesg\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2279\"\u003egoogle/go-containerregistry#2279\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003evalidate: skip non-layer layers by \u003ca href=\"https://github.com/imjasonh\"\u003e\u003ccode\u003e@​imjasonh\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2298\"\u003egoogle/go-containerregistry#2298\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eremote: validate foreign layer URLs to prevent SSRF (fixes \u003ca href=\"https://redirect.github.com/google/go-containerregistry/issues/2259\"\u003e#2259\u003c/a\u003e) by \u003ca href=\"https://github.com/evilgensec\"\u003e\u003ccode\u003e@​evilgensec\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2293\"\u003egoogle/go-containerregistry#2293\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eremote: block SSRF via private-IP Location headers in blob uploads by \u003ca href=\"https://github.com/adilburaksen\"\u003e\u003ccode\u003e@​adilburaksen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2295\"\u003egoogle/go-containerregistry#2295\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(mutate): preserve config blob and layers for non-Docker OCI artifacts by \u003ca href=\"https://github.com/blackwell-systems\"\u003e\u003ccode\u003e@​blackwell-systems\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2286\"\u003egoogle/go-containerregistry#2286\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: preserve per-occurrence layer identity in mutate.Image.Layers() by \u003ca href=\"https://github.com/iahsanGill\"\u003e\u003ccode\u003e@​iahsanGill\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2299\"\u003egoogle/go-containerregistry#2299\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etransport: retry HTTP 429 (Too Many Requests) by \u003ca href=\"https://github.com/iahsanGill\"\u003e\u003ccode\u003e@​iahsanGill\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2301\"\u003egoogle/go-containerregistry#2301\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etransport: allow bearer realm at same host:port as registry by \u003ca href=\"https://github.com/iahsanGill\"\u003e\u003ccode\u003e@​iahsanGill\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2302\"\u003egoogle/go-containerregistry#2302\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate go version to 1.26.3 by \u003ca href=\"https://github.com/Subserial\"\u003e\u003ccode\u003e@​Subserial\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2300\"\u003egoogle/go-containerregistry#2300\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gaganhr94\"\u003e\u003ccode\u003e@​gaganhr94\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2262\"\u003egoogle/go-containerregistry#2262\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/alliasgher\"\u003e\u003ccode\u003e@​alliasgher\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2264\"\u003egoogle/go-containerregistry#2264\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/malt3\"\u003e\u003ccode\u003e@​malt3\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2269\"\u003egoogle/go-containerregistry#2269\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gnix0\"\u003e\u003ccode\u003e@​gnix0\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2271\"\u003egoogle/go-containerregistry#2271\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/blackwell-systems\"\u003e\u003ccode\u003e@​blackwell-systems\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2281\"\u003egoogle/go-containerregistry#2281\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marwan9696\"\u003e\u003ccode\u003e@​marwan9696\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2285\"\u003egoogle/go-containerregistry#2285\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anishesg\"\u003e\u003ccode\u003e@​anishesg\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2279\"\u003egoogle/go-containerregistry#2279\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/adilburaksen\"\u003e\u003ccode\u003e@​adilburaksen\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2295\"\u003egoogle/go-containerregistry#2295\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/iahsanGill\"\u003e\u003ccode\u003e@​iahsanGill\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2299\"\u003egoogle/go-containerregistry#2299\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/google/go-containerregistry/compare/v0.21.5...v0.21.6\"\u003ehttps://github.com/google/go-containerregistry/compare/v0.21.5...v0.21.6\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.21.5\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump docker/cli v29.4.0, moby/api v1.54.1, moby/client v0.4.0 by \u003ca href=\"https://github.com/thaJeztah\"\u003e\u003ccode\u003e@​thaJeztah\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2254\"\u003egoogle/go-containerregistry#2254\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/go-containerregistry/commit/53f7e39e15bfd6aeea6a5f733ee1a8fcf54c15cf\"\u003e\u003ccode\u003e53f7e39\u003c/code\u003e\u003c/a\u003e Update go version to 1.26.3 (\u003ca href=\"https://redirect.github.com/google/go-containerregistry/issues/2300\"\u003e#2300\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/go-containerregistry/commit/bf87c3bfe4cc3218ac0baa364545d72729d2906d\"\u003e\u003ccode\u003ebf87c3b\u003c/code\u003e\u003c/a\u003e transport: allow bearer realm at same host:port as registry (\u003ca href=\"https://redirect.github.com/google/go-containerregistry/issues/2302\"\u003e#2302\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/go-containerregistry/commit/c55facddfbd7fc3d648c6fdda9860b350b013a76\"\u003e\u003ccode\u003ec55facd\u003c/code\u003e\u003c/a\u003e transport: retry HTTP 429 (Too Many Requests) (\u003ca href=\"https://redirect.github.com/google/go-containerregistry/issues/2301\"\u003e#2301\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/go-containerregistry/commit/68a569e4a0eb927d36ccb0fcdf4578425c03b5a2\"\u003e\u003ccode\u003e68a569e\u003c/code\u003e\u003c/a\u003e fix: preserve per-occurrence layer identity in Layers() (\u003ca href=\"https://redirect.github.com/google/go-containerregistry/issues/2299\"\u003e#2299\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/go-containerregistry/commit/35b354b436879457221028f05a580fe1c0deccbc\"\u003e\u003ccode\u003e35b354b\u003c/code\u003e\u003c/a\u003e fix(mutate): preserve config blob and layers for non-Docker OCI artifacts (\u003ca href=\"https://redirect.github.com/google/go-containerregistry/issues/2\"\u003e#2\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/go-containerregistry/commit/e5983f2a67ec46b76984ce6de85de08a44eee955\"\u003e\u003ccode\u003ee5983f2\u003c/code\u003e\u003c/a\u003e remote: block SSRF via private-IP Location headers in blob uploads (\u003ca href=\"https://redirect.github.com/google/go-containerregistry/issues/2295\"\u003e#2295\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/go-containerregistry/commit/6dad820da7de0d619f1127c46914f2eaf58e3b46\"\u003e\u003ccode\u003e6dad820\u003c/code\u003e\u003c/a\u003e remote: validate foreign layer URLs to prevent SSRF (fixes \u003ca href=\"https://redirect.github.com/google/go-containerregistry/issues/2259\"\u003e#2259\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/google/go-containerregistry/issues/2293\"\u003e#2293\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/go-containerregistry/commit/78bdf1b7e2105cdfcd8f23509992c78357ce16ed\"\u003e\u003ccode\u003e78bdf1b\u003c/code\u003e\u003c/a\u003e validate: skip non-layer layers (\u003ca href=\"https://redirect.github.com/google/go-containerregistry/issues/2298\"\u003e#2298\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/go-containerregistry/commit/c29d91cdc394cb288270f4dd04a31f81054946f4\"\u003e\u003ccode\u003ec29d91c\u003c/code\u003e\u003c/a\u003e pkg/v1/mutate: preserve relative symlinks that stay within rootfs in Extract ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/go-containerregistry/commit/a70d75a6915ed3137792206dac4bca21d1924959\"\u003e\u003ccode\u003ea70d75a\u003c/code\u003e\u003c/a\u003e transport: block redirects from token server to private/link-local addresses ...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/google/go-containerregistry/compare/v0.20.7...v0.21.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/jferrl/go-githubauth` from 1.5.1 to 1.6.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jferrl/go-githubauth/releases\"\u003egithub.com/jferrl/go-githubauth's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.6.0\u003c/h2\u003e\n\u003ch2\u003e✨ Features\u003c/h2\u003e\n\u003ch3\u003eExternal key store support for GitHub App JWTs\u003c/h3\u003e\n\u003cp\u003eAdded \u003ccode\u003eNewApplicationTokenSourceFromSigner\u003c/code\u003e which accepts any \u003ccode\u003ecrypto.Signer\u003c/code\u003e with an RSA public key. Enables signing via AWS KMS, GCP KMS, Azure Key Vault, HashiCorp Vault Transit, PKCS#11 HSMs, or ssh-agent — the private key never touches process memory. Validates at construction that the signer's public key is \u003ccode\u003e*rsa.PublicKey\u003c/code\u003e (GitHub requires RS256).\u003c/p\u003e\n\u003cpre lang=\"go\"\u003e\u003ccode\u003esi...\n\n_Description has been truncated_","html_url":"https://github.com/akuity/kargo/pull/6389","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/akuity%2Fkargo/issues/6389","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/6389/packages"},{"uuid":"4555888108","node_id":"PR_kwDOSskcJM7hAwbN","number":25,"state":"open","title":"Bump github.com/gin-gonic/gin from 1.10.0 to 1.12.0 in /inventory-service","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-30T22:29:41.000Z","updated_at":"2026-05-30T22:29:42.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"github.com/gin-gonic/gin","old_version":"1.10.0","new_version":"1.12.0","repository_url":"https://github.com/gin-gonic/gin"}],"path":"/inventory-service","ecosystem":"go"},"body":"Bumps [github.com/gin-gonic/gin](https://github.com/gin-gonic/gin) from 1.10.0 to 1.12.0.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/gin-gonic/gin/releases\"\u003egithub.com/gin-gonic/gin's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.12.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e192ac89eefc1c30f7c97ae48a9ffb1c6f1c8c8bc: feat(binding): add support for encoding.UnmarshalText in uri/query binding (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4203\"\u003e#4203\u003c/a\u003e) (\u003ca href=\"https://github.com/takanuva15\"\u003e\u003ccode\u003e@​takanuva15\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e53410d2e07054369e0960fbe2eed97e1b9966f12: feat(context): add GetError and GetErrorSlice methods for error retrieval (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4502\"\u003e#4502\u003c/a\u003e) (\u003ca href=\"https://github.com/raju-mechatronics\"\u003e\u003ccode\u003e@​raju-mechatronics\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eacc55e049e33b401e810dbd8c0d6dcb6b3ba2b05: feat(context): add Protocol Buffers support to content negotiation (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4423\"\u003e#4423\u003c/a\u003e) (\u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e38e765119241d990705169bedb5002a29ae0cbd1: feat(context): implemented Delete method (\u003ca href=\"https://github.com/Spyder01\"\u003e\u003ccode\u003e@​Spyder01\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e771dcc6476d7bc6abb9ec0235ecefa4d38fe6fb0: feat(gin): add option to use escaped path (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4420\"\u003e#4420\u003c/a\u003e) (\u003ca href=\"https://github.com/ldesauw\"\u003e\u003ccode\u003e@​ldesauw\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e4dec17afdff48e8018c83618fbbe69fceeb2b41d: feat(logger): color latency (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4146\"\u003e#4146\u003c/a\u003e) (\u003ca href=\"https://github.com/wsyqn6\"\u003e\u003ccode\u003e@​wsyqn6\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ed7776de7d444935ea4385999711bd6331a98fecb: feat(render): add bson protocol (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4145\"\u003e#4145\u003c/a\u003e) (\u003ca href=\"https://github.com/laurentcau\"\u003e\u003ccode\u003e@​laurentcau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eb917b14ff9d189f16a7492be79d123a47806ee19: fix(binding): empty value error (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/2169\"\u003e#2169\u003c/a\u003e) (\u003ca href=\"https://github.com/guonaihong\"\u003e\u003ccode\u003e@​guonaihong\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ec3d1092b3b48addf6f9cd00fe274ec3bd14650eb: fix(binding): improve empty slice/array handling in form binding (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4380\"\u003e#4380\u003c/a\u003e) (\u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e9914178584e42458ff7d23891463a880f58c9d86: fix(context): ClientIP handling for multiple X-Forwarded-For header values (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4472\"\u003e#4472\u003c/a\u003e) (\u003ca href=\"https://github.com/Nurysso\"\u003e\u003ccode\u003e@​Nurysso\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e2a794cd0b0faa7d829291375b27a3467ea972b0d: fix(debug): version mismatch (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4403\"\u003e#4403\u003c/a\u003e) (\u003ca href=\"https://github.com/zeek0x\"\u003e\u003ccode\u003e@​zeek0x\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ec3d5a28ed6d3849da820195b6774d212bcc038a9: fix(gin): close os.File in RunFd to prevent resource leak (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4422\"\u003e#4422\u003c/a\u003e) (\u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e5fad976b372e381312f8de69f0969f1284d229d3: fix(gin): literal colon routes not working with engine.Handler() (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4415\"\u003e#4415\u003c/a\u003e) (\u003ca href=\"https://github.com/pawannn\"\u003e\u003ccode\u003e@​pawannn\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e63dd3e60cab89c27fb66bce1423bd268d52abad1: fix(recover): suppress http.ErrAbortHandler in recover (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4336\"\u003e#4336\u003c/a\u003e) (\u003ca href=\"https://github.com/MondayCha\"\u003e\u003ccode\u003e@​MondayCha\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e5c00df8afadd06cc5be530dde00fe6d9fa4a2e4a: fix(render): write content length in Data.Render (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4206\"\u003e#4206\u003c/a\u003e) (\u003ca href=\"https://github.com/dengaleev\"\u003e\u003ccode\u003e@​dengaleev\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e234a6d4c00cb77af9852aca0b8289745d5529b4b: fix(response): refine hijack behavior for response lifecycle (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4373\"\u003e#4373\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e472d086af2acd924cb4b9d7be0525f7d790f69bc: fix(tree): panic in findCaseInsensitivePathRec with RedirectFixedPath (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4535\"\u003e#4535\u003c/a\u003e) (\u003ca href=\"https://github.com/veeceey\"\u003e\u003ccode\u003e@​veeceey\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e8e07d37c63e5536eb25f4af4c91eabeee4011fba: fix: Correct typos, improve documentation clarity, and remove dead code (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4511\"\u003e#4511\u003c/a\u003e) (\u003ca href=\"https://github.com/mahanadh\"\u003e\u003ccode\u003e@​mahanadh\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eba093d19477b896ac89a7fc3246af23d290b8e26: chore(binding): upgrade bson dependency to mongo-driver v2 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4549\"\u003e#4549\u003c/a\u003e) (\u003ca href=\"https://github.com/BobDu\"\u003e\u003ccode\u003e@​BobDu\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eb2b489dbf4826c2c630717a77fd5e42774625410: chore(context): always trust xff headers from unix socket (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/3359\"\u003e#3359\u003c/a\u003e) (\u003ca href=\"https://github.com/WeidiDeng\"\u003e\u003ccode\u003e@​WeidiDeng\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eecb3f7b5e2f3915bf1db240ed5eee572f8dbea36: chore(deps): upgrade golang.org/x/crypto to v0.45.0 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4449\"\u003e#4449\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eaf6e8b70b8261bb0c99ad094fe552ab92991620a: chore(deps): upgrade quic-go to v0.57.1 (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edb309081bc5c137b2aa15701ef53f7f19788da25: chore(logger): allow skipping query string output (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4547\"\u003e#4547\u003c/a\u003e) (\u003ca href=\"https://github.com/USA-RedDragon\"\u003e\u003ccode\u003e@​USA-RedDragon\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e26c3a628655cad2388380cb8102d6ce7d4875f3b: chore(response): prevent Flush() panic when \u003ccode\u003ehttp.Flusher\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4479\"\u003e#4479\u003c/a\u003e) (\u003ca href=\"https://github.com/Twacqwq\"\u003e\u003ccode\u003e@​Twacqwq\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e5dd833f1f26de0eb30eae47b17e05ced2482dc41: chore: bump minimum Go version to 1.24 and update workflows (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4388\"\u003e#4388\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRefactor\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e39858a0859c914bd26948fa950477e11bd8d3823: refactor(binding): use maps.Copy for cleaner map handling (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4352\"\u003e#4352\u003c/a\u003e) (\u003ca href=\"https://github.com/russcoss\"\u003e\u003ccode\u003e@​russcoss\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ec0048f645ee945c4db30593afdea10123e2c30a6: refactor(context): omit the return value names (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4395\"\u003e#4395\u003c/a\u003e) (\u003ca href=\"https://github.com/wanghaolong613\"\u003e\u003ccode\u003e@​wanghaolong613\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e915e4c90d28ec4cffc6eb146e208ab5a65eac772: refactor(context): replace hardcoded localhost IPs with constants (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4481\"\u003e#4481\u003c/a\u003e) (\u003ca href=\"https://github.com/pauloappbr\"\u003e\u003ccode\u003e@​pauloappbr\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e414de60574449457f3192a7a1d5528940db2836d: refactor(context): using maps.Clone (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4333\"\u003e#4333\u003c/a\u003e) (\u003ca href=\"https://github.com/cuiweixie\"\u003e\u003ccode\u003e@​cuiweixie\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e59e9d4a794f12c4f9a6c7bed441b9644e5f6d99b: refactor(ginS): use sync.OnceValue to simplify engine function (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4314\"\u003e#4314\u003c/a\u003e) (\u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e3ab698dc5110af1977d57226e4995c57dd34c233: refactor(recovery): smart error comparison (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4142\"\u003e#4142\u003c/a\u003e) (\u003ca href=\"https://github.com/zeek0x\"\u003e\u003ccode\u003e@​zeek0x\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ed1a15347b1e45a8ee816193d3578a93bfd73b70f: refactor(utils): move util functions to utils.go (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4467\"\u003e#4467\u003c/a\u003e) (\u003ca href=\"https://github.com/zeek0x\"\u003e\u003ccode\u003e@​zeek0x\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ee3118cc378d263454098924ebbde7e8d1dd2e904: refactor: for loop can be modernized using range over int (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4392\"\u003e#4392\u003c/a\u003e) (\u003ca href=\"https://github.com/wanghaolong613\"\u003e\u003ccode\u003e@​wanghaolong613\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e488f8c3ffa579a8d19beb2bae95ff8ef36b3d53f: refactor: replace magic numbers with named constants in bodyAllowedForStatus (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4529\"\u003e#4529\u003c/a\u003e) (\u003ca href=\"https://github.com/veeceey\"\u003e\u003ccode\u003e@​veeceey\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e9968c4bf9d5a99edc3eee2c068a4c9160ece8915: refactor: use b.Loop() to simplify the code and improve performance (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4389\"\u003e#4389\u003c/a\u003e) (\u003ca href=\"https://github.com/reddaisyy\"\u003e\u003ccode\u003e@​reddaisyy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ea85ef5ce4d0cda8834c59c855068ed48b51192d1: refactor: use b.Loop() to simplify the code and improve performance (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4432\"\u003e#4432\u003c/a\u003e) (\u003ca href=\"https://github.com/efcking\"\u003e\u003ccode\u003e@​efcking\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBuild process updates\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e61b67de522a189b568aced4c5c16917c558e3387: ci(bot): increase frequency and group updates for dependencies (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4367\"\u003e#4367\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efb27ef26c2fdfe25344b4c039d8a53551f9e912c: ci(lint): refactor test assertions and linter configuration (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4436\"\u003e#4436\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e93ff771e6dbf10e432864b30f3719ac5c84a4d4a: ci(sec): improve type safety and server organization in HTTP middleware (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4437\"\u003e#4437\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ee88fc8927a52b74f55bec0351604a56ac0aa1c51: ci(sec): schedule Trivy security scans to run daily at midnight UTC (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4439\"\u003e#4439\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e5e5ff3ace496a31b138b0820136a146bfb5de0ef: ci: replace vulnerability scanning workflow with Trivy integration (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4421\"\u003e#4421\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e00900fb3e1ea9dde33985a0e4f6afec793d5e786: ci: update CI workflows and standardize Trivy config quotes (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4531\"\u003e#4531\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eae3f524974fc4f55d18c9e7fae4614503c015226: ci: update Go version support to 1.25+ across CI and docs (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4550\"\u003e#4550\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/gin-gonic/gin/blob/master/CHANGELOG.md\"\u003egithub.com/gin-gonic/gin's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eGin v1.12.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat(render): add bson protocol (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4145\"\u003e#4145\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(context): add GetError and GetErrorSlice methods for error retrieval (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4502\"\u003e#4502\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(binding): add support for encoding.UnmarshalText in uri/query binding (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4203\"\u003e#4203\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(gin): add option to use escaped path (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4420\"\u003e#4420\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(context): add Protocol Buffers support to content negotiation (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4423\"\u003e#4423\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(context): implemented Delete method (\u003ca href=\"https://github.com/gin-gonic/gin/commit/38e7651\"\u003e#38e7651\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(logger): color latency (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4146\"\u003e#4146\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eperf(tree): reduce allocations in findCaseInsensitivePath (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4417\"\u003e#4417\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eperf(recovery): optimize line reading in stack function (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4466\"\u003e#4466\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eperf(path): replace regex with custom functions in redirectTrailingSlash (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4414\"\u003e#4414\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eperf(tree): optimize path parsing using strings.Count (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4246\"\u003e#4246\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(logger): allow skipping query string output (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4547\"\u003e#4547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(context): always trust xff headers from unix socket (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/3359\"\u003e#3359\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(response): prevent Flush() panic when the underlying ResponseWriter does not implement \u003ccode\u003ehttp.Flusher\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4479\"\u003e#4479\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(recovery): smart error comparison (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4142\"\u003e#4142\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(context): replace hardcoded localhost IPs with constants (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4481\"\u003e#4481\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(utils): move util functions to utils.go (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4467\"\u003e#4467\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(binding): use maps.Copy for cleaner map handling (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4352\"\u003e#4352\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(context): using maps.Clone (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4333\"\u003e#4333\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(ginS): use sync.OnceValue to simplify engine function (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4314\"\u003e#4314\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor: replace magic numbers with named constants in bodyAllowedForStatus (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4529\"\u003e#4529\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor: for loop can be modernized using range over int (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4392\"\u003e#4392\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(tree): panic in findCaseInsensitivePathRec with RedirectFixedPath (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4535\"\u003e#4535\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(render): write content length in Data.Render (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4206\"\u003e#4206\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(context): ClientIP handling for multiple X-Forwarded-For header values (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4472\"\u003e#4472\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(binding): empty value error (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/2169\"\u003e#2169\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(recover): suppress http.ErrAbortHandler in recover (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4336\"\u003e#4336\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(gin): literal colon routes not working with engine.Handler() (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4415\"\u003e#4415\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(gin): close os.File in RunFd to prevent resource leak (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4422\"\u003e#4422\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(response): refine hijack behavior for response lifecycle (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4373\"\u003e#4373\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(binding): improve empty slice/array handling in form binding (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4380\"\u003e#4380\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(debug): version mismatch (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4403\"\u003e#4403\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: correct typos, improve documentation clarity, and remove dead code (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4511\"\u003e#4511\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBuild process updates / CI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eci: update Go version support to 1.25+ across CI and docs (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4550\"\u003e#4550\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(binding): upgrade bson dependency to mongo-driver v2 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4549\"\u003e#4549\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eGin v1.11.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/73726dc606796a025971fe451f0aa6f1b9b847f6\"\u003e\u003ccode\u003e73726dc\u003c/code\u003e\u003c/a\u003e docs: update documentation to reflect Go version changes (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4552\"\u003e#4552\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/e292e5caa777bce70b66fe08c94cbe9cef3e2ec9\"\u003e\u003ccode\u003ee292e5c\u003c/code\u003e\u003c/a\u003e docs: document and finalize Gin v1.12.0 release (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4551\"\u003e#4551\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/ae3f524974fc4f55d18c9e7fae4614503c015226\"\u003e\u003ccode\u003eae3f524\u003c/code\u003e\u003c/a\u003e ci: update Go version support to 1.25+ across CI and docs (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4550\"\u003e#4550\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/38534e2bf98a06e1f62d6b24384e90b5f78699bf\"\u003e\u003ccode\u003e38534e2\u003c/code\u003e\u003c/a\u003e chore(deps): bump golang.org/x/net from 0.50.0 to 0.51.0 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4548\"\u003e#4548\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/472d086af2acd924cb4b9d7be0525f7d790f69bc\"\u003e\u003ccode\u003e472d086\u003c/code\u003e\u003c/a\u003e fix(tree): panic in findCaseInsensitivePathRec with RedirectFixedPath (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4535\"\u003e#4535\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/fb2583442c4d9bccb75e6d26f1aa6e7c01950db6\"\u003e\u003ccode\u003efb25834\u003c/code\u003e\u003c/a\u003e test(context): use http.StatusContinue constant instead of magic number 100 (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/6f1d5fe3cdb171a08928c3c9dd3fbcfc9ee1b521\"\u003e\u003ccode\u003e6f1d5fe\u003c/code\u003e\u003c/a\u003e test(render): add comprehensive error handling tests (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4541\"\u003e#4541\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/5c00df8afadd06cc5be530dde00fe6d9fa4a2e4a\"\u003e\u003ccode\u003e5c00df8\u003c/code\u003e\u003c/a\u003e fix(render): write content length in Data.Render (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4206\"\u003e#4206\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/db309081bc5c137b2aa15701ef53f7f19788da25\"\u003e\u003ccode\u003edb30908\u003c/code\u003e\u003c/a\u003e chore(logger): allow skipping query string output (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4547\"\u003e#4547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/ba093d19477b896ac89a7fc3246af23d290b8e26\"\u003e\u003ccode\u003eba093d1\u003c/code\u003e\u003c/a\u003e chore(binding): upgrade bson dependency to mongo-driver v2 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4549\"\u003e#4549\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/gin-gonic/gin/compare/v1.10.0...v1.12.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/gin-gonic/gin\u0026package-manager=go_modules\u0026previous-version=1.10.0\u0026new-version=1.12.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/iyzitrace/iyzitrace-observability-platform/pull/25","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/iyzitrace%2Fiyzitrace-observability-platform/issues/25","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/25/packages"},{"uuid":"4512446883","node_id":"PR_kwDORlTy7c7e0VPC","number":35,"state":"open","title":"build(deps): bump the go-minor-and-patch group across 1 directory with 2 updates","user":"dependabot[bot]","labels":["dependencies","go"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-24T17:50:29.000Z","updated_at":"2026-05-31T14:35:59.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"go-minor-and-patch","update_count":2,"packages":[{"name":"github.com/gin-gonic/gin","old_version":"1.10.0","new_version":"1.12.0","repository_url":"https://github.com/gin-gonic/gin"},{"name":"github.com/jackc/pgx/v5","old_version":"5.8.0","new_version":"5.9.2","repository_url":"https://github.com/jackc/pgx"}],"path":null,"ecosystem":"go"},"body":"Bumps the go-minor-and-patch group with 2 updates in the / directory: [github.com/gin-gonic/gin](https://github.com/gin-gonic/gin) and [github.com/jackc/pgx/v5](https://github.com/jackc/pgx).\n\nUpdates `github.com/gin-gonic/gin` from 1.10.0 to 1.12.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/gin-gonic/gin/releases\"\u003egithub.com/gin-gonic/gin's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.12.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e192ac89eefc1c30f7c97ae48a9ffb1c6f1c8c8bc: feat(binding): add support for encoding.UnmarshalText in uri/query binding (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4203\"\u003e#4203\u003c/a\u003e) (\u003ca href=\"https://github.com/takanuva15\"\u003e\u003ccode\u003e@​takanuva15\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e53410d2e07054369e0960fbe2eed97e1b9966f12: feat(context): add GetError and GetErrorSlice methods for error retrieval (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4502\"\u003e#4502\u003c/a\u003e) (\u003ca href=\"https://github.com/raju-mechatronics\"\u003e\u003ccode\u003e@​raju-mechatronics\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eacc55e049e33b401e810dbd8c0d6dcb6b3ba2b05: feat(context): add Protocol Buffers support to content negotiation (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4423\"\u003e#4423\u003c/a\u003e) (\u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e38e765119241d990705169bedb5002a29ae0cbd1: feat(context): implemented Delete method (\u003ca href=\"https://github.com/Spyder01\"\u003e\u003ccode\u003e@​Spyder01\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e771dcc6476d7bc6abb9ec0235ecefa4d38fe6fb0: feat(gin): add option to use escaped path (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4420\"\u003e#4420\u003c/a\u003e) (\u003ca href=\"https://github.com/ldesauw\"\u003e\u003ccode\u003e@​ldesauw\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e4dec17afdff48e8018c83618fbbe69fceeb2b41d: feat(logger): color latency (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4146\"\u003e#4146\u003c/a\u003e) (\u003ca href=\"https://github.com/wsyqn6\"\u003e\u003ccode\u003e@​wsyqn6\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ed7776de7d444935ea4385999711bd6331a98fecb: feat(render): add bson protocol (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4145\"\u003e#4145\u003c/a\u003e) (\u003ca href=\"https://github.com/laurentcau\"\u003e\u003ccode\u003e@​laurentcau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eb917b14ff9d189f16a7492be79d123a47806ee19: fix(binding): empty value error (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/2169\"\u003e#2169\u003c/a\u003e) (\u003ca href=\"https://github.com/guonaihong\"\u003e\u003ccode\u003e@​guonaihong\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ec3d1092b3b48addf6f9cd00fe274ec3bd14650eb: fix(binding): improve empty slice/array handling in form binding (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4380\"\u003e#4380\u003c/a\u003e) (\u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e9914178584e42458ff7d23891463a880f58c9d86: fix(context): ClientIP handling for multiple X-Forwarded-For header values (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4472\"\u003e#4472\u003c/a\u003e) (\u003ca href=\"https://github.com/Nurysso\"\u003e\u003ccode\u003e@​Nurysso\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e2a794cd0b0faa7d829291375b27a3467ea972b0d: fix(debug): version mismatch (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4403\"\u003e#4403\u003c/a\u003e) (\u003ca href=\"https://github.com/zeek0x\"\u003e\u003ccode\u003e@​zeek0x\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ec3d5a28ed6d3849da820195b6774d212bcc038a9: fix(gin): close os.File in RunFd to prevent resource leak (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4422\"\u003e#4422\u003c/a\u003e) (\u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e5fad976b372e381312f8de69f0969f1284d229d3: fix(gin): literal colon routes not working with engine.Handler() (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4415\"\u003e#4415\u003c/a\u003e) (\u003ca href=\"https://github.com/pawannn\"\u003e\u003ccode\u003e@​pawannn\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e63dd3e60cab89c27fb66bce1423bd268d52abad1: fix(recover): suppress http.ErrAbortHandler in recover (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4336\"\u003e#4336\u003c/a\u003e) (\u003ca href=\"https://github.com/MondayCha\"\u003e\u003ccode\u003e@​MondayCha\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e5c00df8afadd06cc5be530dde00fe6d9fa4a2e4a: fix(render): write content length in Data.Render (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4206\"\u003e#4206\u003c/a\u003e) (\u003ca href=\"https://github.com/dengaleev\"\u003e\u003ccode\u003e@​dengaleev\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e234a6d4c00cb77af9852aca0b8289745d5529b4b: fix(response): refine hijack behavior for response lifecycle (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4373\"\u003e#4373\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e472d086af2acd924cb4b9d7be0525f7d790f69bc: fix(tree): panic in findCaseInsensitivePathRec with RedirectFixedPath (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4535\"\u003e#4535\u003c/a\u003e) (\u003ca href=\"https://github.com/veeceey\"\u003e\u003ccode\u003e@​veeceey\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e8e07d37c63e5536eb25f4af4c91eabeee4011fba: fix: Correct typos, improve documentation clarity, and remove dead code (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4511\"\u003e#4511\u003c/a\u003e) (\u003ca href=\"https://github.com/mahanadh\"\u003e\u003ccode\u003e@​mahanadh\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eba093d19477b896ac89a7fc3246af23d290b8e26: chore(binding): upgrade bson dependency to mongo-driver v2 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4549\"\u003e#4549\u003c/a\u003e) (\u003ca href=\"https://github.com/BobDu\"\u003e\u003ccode\u003e@​BobDu\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eb2b489dbf4826c2c630717a77fd5e42774625410: chore(context): always trust xff headers from unix socket (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/3359\"\u003e#3359\u003c/a\u003e) (\u003ca href=\"https://github.com/WeidiDeng\"\u003e\u003ccode\u003e@​WeidiDeng\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eecb3f7b5e2f3915bf1db240ed5eee572f8dbea36: chore(deps): upgrade golang.org/x/crypto to v0.45.0 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4449\"\u003e#4449\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eaf6e8b70b8261bb0c99ad094fe552ab92991620a: chore(deps): upgrade quic-go to v0.57.1 (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edb309081bc5c137b2aa15701ef53f7f19788da25: chore(logger): allow skipping query string output (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4547\"\u003e#4547\u003c/a\u003e) (\u003ca href=\"https://github.com/USA-RedDragon\"\u003e\u003ccode\u003e@​USA-RedDragon\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e26c3a628655cad2388380cb8102d6ce7d4875f3b: chore(response): prevent Flush() panic when \u003ccode\u003ehttp.Flusher\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4479\"\u003e#4479\u003c/a\u003e) (\u003ca href=\"https://github.com/Twacqwq\"\u003e\u003ccode\u003e@​Twacqwq\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e5dd833f1f26de0eb30eae47b17e05ced2482dc41: chore: bump minimum Go version to 1.24 and update workflows (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4388\"\u003e#4388\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRefactor\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e39858a0859c914bd26948fa950477e11bd8d3823: refactor(binding): use maps.Copy for cleaner map handling (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4352\"\u003e#4352\u003c/a\u003e) (\u003ca href=\"https://github.com/russcoss\"\u003e\u003ccode\u003e@​russcoss\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ec0048f645ee945c4db30593afdea10123e2c30a6: refactor(context): omit the return value names (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4395\"\u003e#4395\u003c/a\u003e) (\u003ca href=\"https://github.com/wanghaolong613\"\u003e\u003ccode\u003e@​wanghaolong613\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e915e4c90d28ec4cffc6eb146e208ab5a65eac772: refactor(context): replace hardcoded localhost IPs with constants (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4481\"\u003e#4481\u003c/a\u003e) (\u003ca href=\"https://github.com/pauloappbr\"\u003e\u003ccode\u003e@​pauloappbr\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e414de60574449457f3192a7a1d5528940db2836d: refactor(context): using maps.Clone (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4333\"\u003e#4333\u003c/a\u003e) (\u003ca href=\"https://github.com/cuiweixie\"\u003e\u003ccode\u003e@​cuiweixie\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e59e9d4a794f12c4f9a6c7bed441b9644e5f6d99b: refactor(ginS): use sync.OnceValue to simplify engine function (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4314\"\u003e#4314\u003c/a\u003e) (\u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e3ab698dc5110af1977d57226e4995c57dd34c233: refactor(recovery): smart error comparison (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4142\"\u003e#4142\u003c/a\u003e) (\u003ca href=\"https://github.com/zeek0x\"\u003e\u003ccode\u003e@​zeek0x\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ed1a15347b1e45a8ee816193d3578a93bfd73b70f: refactor(utils): move util functions to utils.go (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4467\"\u003e#4467\u003c/a\u003e) (\u003ca href=\"https://github.com/zeek0x\"\u003e\u003ccode\u003e@​zeek0x\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ee3118cc378d263454098924ebbde7e8d1dd2e904: refactor: for loop can be modernized using range over int (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4392\"\u003e#4392\u003c/a\u003e) (\u003ca href=\"https://github.com/wanghaolong613\"\u003e\u003ccode\u003e@​wanghaolong613\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e488f8c3ffa579a8d19beb2bae95ff8ef36b3d53f: refactor: replace magic numbers with named constants in bodyAllowedForStatus (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4529\"\u003e#4529\u003c/a\u003e) (\u003ca href=\"https://github.com/veeceey\"\u003e\u003ccode\u003e@​veeceey\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e9968c4bf9d5a99edc3eee2c068a4c9160ece8915: refactor: use b.Loop() to simplify the code and improve performance (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4389\"\u003e#4389\u003c/a\u003e) (\u003ca href=\"https://github.com/reddaisyy\"\u003e\u003ccode\u003e@​reddaisyy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ea85ef5ce4d0cda8834c59c855068ed48b51192d1: refactor: use b.Loop() to simplify the code and improve performance (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4432\"\u003e#4432\u003c/a\u003e) (\u003ca href=\"https://github.com/efcking\"\u003e\u003ccode\u003e@​efcking\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBuild process updates\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e61b67de522a189b568aced4c5c16917c558e3387: ci(bot): increase frequency and group updates for dependencies (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4367\"\u003e#4367\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efb27ef26c2fdfe25344b4c039d8a53551f9e912c: ci(lint): refactor test assertions and linter configuration (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4436\"\u003e#4436\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e93ff771e6dbf10e432864b30f3719ac5c84a4d4a: ci(sec): improve type safety and server organization in HTTP middleware (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4437\"\u003e#4437\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ee88fc8927a52b74f55bec0351604a56ac0aa1c51: ci(sec): schedule Trivy security scans to run daily at midnight UTC (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4439\"\u003e#4439\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e5e5ff3ace496a31b138b0820136a146bfb5de0ef: ci: replace vulnerability scanning workflow with Trivy integration (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4421\"\u003e#4421\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e00900fb3e1ea9dde33985a0e4f6afec793d5e786: ci: update CI workflows and standardize Trivy config quotes (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4531\"\u003e#4531\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eae3f524974fc4f55d18c9e7fae4614503c015226: ci: update Go version support to 1.25+ across CI and docs (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4550\"\u003e#4550\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/gin-gonic/gin/blob/master/CHANGELOG.md\"\u003egithub.com/gin-gonic/gin's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eGin v1.12.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat(render): add bson protocol (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4145\"\u003e#4145\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(context): add GetError and GetErrorSlice methods for error retrieval (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4502\"\u003e#4502\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(binding): add support for encoding.UnmarshalText in uri/query binding (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4203\"\u003e#4203\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(gin): add option to use escaped path (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4420\"\u003e#4420\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(context): add Protocol Buffers support to content negotiation (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4423\"\u003e#4423\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(context): implemented Delete method (\u003ca href=\"https://github.com/gin-gonic/gin/commit/38e7651\"\u003e#38e7651\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(logger): color latency (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4146\"\u003e#4146\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eperf(tree): reduce allocations in findCaseInsensitivePath (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4417\"\u003e#4417\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eperf(recovery): optimize line reading in stack function (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4466\"\u003e#4466\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eperf(path): replace regex with custom functions in redirectTrailingSlash (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4414\"\u003e#4414\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eperf(tree): optimize path parsing using strings.Count (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4246\"\u003e#4246\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(logger): allow skipping query string output (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4547\"\u003e#4547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(context): always trust xff headers from unix socket (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/3359\"\u003e#3359\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(response): prevent Flush() panic when the underlying ResponseWriter does not implement \u003ccode\u003ehttp.Flusher\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4479\"\u003e#4479\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(recovery): smart error comparison (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4142\"\u003e#4142\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(context): replace hardcoded localhost IPs with constants (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4481\"\u003e#4481\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(utils): move util functions to utils.go (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4467\"\u003e#4467\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(binding): use maps.Copy for cleaner map handling (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4352\"\u003e#4352\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(context): using maps.Clone (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4333\"\u003e#4333\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(ginS): use sync.OnceValue to simplify engine function (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4314\"\u003e#4314\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor: replace magic numbers with named constants in bodyAllowedForStatus (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4529\"\u003e#4529\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor: for loop can be modernized using range over int (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4392\"\u003e#4392\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(tree): panic in findCaseInsensitivePathRec with RedirectFixedPath (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4535\"\u003e#4535\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(render): write content length in Data.Render (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4206\"\u003e#4206\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(context): ClientIP handling for multiple X-Forwarded-For header values (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4472\"\u003e#4472\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(binding): empty value error (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/2169\"\u003e#2169\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(recover): suppress http.ErrAbortHandler in recover (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4336\"\u003e#4336\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(gin): literal colon routes not working with engine.Handler() (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4415\"\u003e#4415\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(gin): close os.File in RunFd to prevent resource leak (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4422\"\u003e#4422\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(response): refine hijack behavior for response lifecycle (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4373\"\u003e#4373\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(binding): improve empty slice/array handling in form binding (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4380\"\u003e#4380\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(debug): version mismatch (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4403\"\u003e#4403\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: correct typos, improve documentation clarity, and remove dead code (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4511\"\u003e#4511\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBuild process updates / CI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eci: update Go version support to 1.25+ across CI and docs (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4550\"\u003e#4550\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(binding): upgrade bson dependency to mongo-driver v2 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4549\"\u003e#4549\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eGin v1.11.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/73726dc606796a025971fe451f0aa6f1b9b847f6\"\u003e\u003ccode\u003e73726dc\u003c/code\u003e\u003c/a\u003e docs: update documentation to reflect Go version changes (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4552\"\u003e#4552\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/e292e5caa777bce70b66fe08c94cbe9cef3e2ec9\"\u003e\u003ccode\u003ee292e5c\u003c/code\u003e\u003c/a\u003e docs: document and finalize Gin v1.12.0 release (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4551\"\u003e#4551\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/ae3f524974fc4f55d18c9e7fae4614503c015226\"\u003e\u003ccode\u003eae3f524\u003c/code\u003e\u003c/a\u003e ci: update Go version support to 1.25+ across CI and docs (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4550\"\u003e#4550\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/38534e2bf98a06e1f62d6b24384e90b5f78699bf\"\u003e\u003ccode\u003e38534e2\u003c/code\u003e\u003c/a\u003e chore(deps): bump golang.org/x/net from 0.50.0 to 0.51.0 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4548\"\u003e#4548\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/472d086af2acd924cb4b9d7be0525f7d790f69bc\"\u003e\u003ccode\u003e472d086\u003c/code\u003e\u003c/a\u003e fix(tree): panic in findCaseInsensitivePathRec with RedirectFixedPath (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4535\"\u003e#4535\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/fb2583442c4d9bccb75e6d26f1aa6e7c01950db6\"\u003e\u003ccode\u003efb25834\u003c/code\u003e\u003c/a\u003e test(context): use http.StatusContinue constant instead of magic number 100 (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/6f1d5fe3cdb171a08928c3c9dd3fbcfc9ee1b521\"\u003e\u003ccode\u003e6f1d5fe\u003c/code\u003e\u003c/a\u003e test(render): add comprehensive error handling tests (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4541\"\u003e#4541\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/5c00df8afadd06cc5be530dde00fe6d9fa4a2e4a\"\u003e\u003ccode\u003e5c00df8\u003c/code\u003e\u003c/a\u003e fix(render): write content length in Data.Render (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4206\"\u003e#4206\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/db309081bc5c137b2aa15701ef53f7f19788da25\"\u003e\u003ccode\u003edb30908\u003c/code\u003e\u003c/a\u003e chore(logger): allow skipping query string output (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4547\"\u003e#4547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/ba093d19477b896ac89a7fc3246af23d290b8e26\"\u003e\u003ccode\u003eba093d1\u003c/code\u003e\u003c/a\u003e chore(binding): upgrade bson dependency to mongo-driver v2 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4549\"\u003e#4549\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/gin-gonic/gin/compare/v1.10.0...v1.12.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/jackc/pgx/v5` from 5.8.0 to 5.9.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jackc/pgx/blob/master/CHANGELOG.md\"\u003egithub.com/jackc/pgx/v5's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e5.9.2 (April 18, 2026)\u003c/h1\u003e\n\u003cp\u003eFix SQL Injection via placeholder confusion with dollar quoted string literals (GHSA-j88v-2chj-qfwx)\u003c/p\u003e\n\u003cp\u003eSQL injection can occur when:\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003eThe non-default simple protocol is used.\u003c/li\u003e\n\u003cli\u003eA dollar quoted string literal is used in the SQL query.\u003c/li\u003e\n\u003cli\u003eThat query contains text that would be would be interpreted outside as a placeholder outside of a string literal.\u003c/li\u003e\n\u003cli\u003eThe value of that placeholder is controllable by the attacker.\u003c/li\u003e\n\u003c/ol\u003e\n\u003cp\u003ee.g.\u003c/p\u003e\n\u003cpre lang=\"go\"\u003e\u003ccode\u003eattackValue := `$tag$; drop table canary; --`\n_, err = tx.Exec(ctx, `select $tag$ $1 $tag$, $1`, pgx.QueryExecModeSimpleProtocol, attackValue)\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eThis is unlikely to occur outside of a contrived scenario.\u003c/p\u003e\n\u003ch1\u003e5.9.1 (March 22, 2026)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eFix: batch result format corruption when using cached prepared statements (reported by Dirkjan Bussink)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e5.9.0 (March 21, 2026)\u003c/h1\u003e\n\u003cp\u003eThis release includes a number of new features such as SCRAM-SHA-256-PLUS support, OAuth authentication support, and\nPostgreSQL protocol 3.2 support.\u003c/p\u003e\n\u003cp\u003eIt significantly reduces the amount of network traffic when using prepared statements (which are used automatically by\ndefault) by avoiding unnecessary Describe Portal messages. This also reduces local memory usage.\u003c/p\u003e\n\u003cp\u003eIt also includes multiple fixes for potential DoS due to panic or OOM if connected to a malicious server that sends\ndeliberately malformed messages.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRequire Go 1.25+\u003c/li\u003e\n\u003cli\u003eAdd SCRAM-SHA-256-PLUS support (Adam Brightwell)\u003c/li\u003e\n\u003cli\u003eAdd OAuth authentication support for PostgreSQL 18 (David Schneider)\u003c/li\u003e\n\u003cli\u003eAdd PostgreSQL protocol 3.2 support (Dirkjan Bussink)\u003c/li\u003e\n\u003cli\u003eAdd tsvector type support (Adam Brightwell)\u003c/li\u003e\n\u003cli\u003eSkip Describe Portal for cached prepared statements reducing network round trips\u003c/li\u003e\n\u003cli\u003eMake LoadTypes query easier to support on \u0026quot;postgres-like\u0026quot; servers (Jelte Fennema-Nio)\u003c/li\u003e\n\u003cli\u003eDefault empty user to current OS user matching libpq behavior (ShivangSrivastava)\u003c/li\u003e\n\u003cli\u003eOptimize LRU statement cache with custom linked list and node pooling (Mathias Bogaert)\u003c/li\u003e\n\u003cli\u003eOptimize date scanning by replacing regex with manual parsing (Mathias Bogaert)\u003c/li\u003e\n\u003cli\u003eOptimize pgio append/set functions with direct byte shifts (Mathias Bogaert)\u003c/li\u003e\n\u003cli\u003eMake RowsAffected faster (Abhishek Chanda)\u003c/li\u003e\n\u003cli\u003eFix: Pipeline.Close panic when server sends multiple FATAL errors (Varun Chawla)\u003c/li\u003e\n\u003cli\u003eFix: ContextWatcher goroutine leak (Hank Donnay)\u003c/li\u003e\n\u003cli\u003eFix: stdlib discard connections with open transactions in ResetSession (Jeremy Schneider)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jackc/pgx/commit/0aeabbcf11d859229c1f0b20e710d3596c76bf27\"\u003e\u003ccode\u003e0aeabbc\u003c/code\u003e\u003c/a\u003e Release v5.9.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jackc/pgx/commit/60644f84918a8af66d14a4b0d865d4edafd955da\"\u003e\u003ccode\u003e60644f8\u003c/code\u003e\u003c/a\u003e Fix SQL sanitizer bugs with dollar-quoted strings and placeholder overflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jackc/pgx/commit/a5680bc945aa7c6ebac2778d859ee7b4ba86db60\"\u003e\u003ccode\u003ea5680bc\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/jackc/pgx/issues/2531\"\u003e#2531\u003c/a\u003e from dolmen-go/godoc-add-links\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jackc/pgx/commit/e34e4524007062710c6a4fb9c8655b75a486b5cd\"\u003e\u003ccode\u003ee34e452\u003c/code\u003e\u003c/a\u003e doc: Add godoc links\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jackc/pgx/commit/08c9bb1f0d8fa6cc10ed8c713e68b1baa64dfe2c\"\u003e\u003ccode\u003e08c9bb1\u003c/code\u003e\u003c/a\u003e Fix Stringer types encoded as text instead of numeric value in composite fields\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jackc/pgx/commit/96b4dbdfd0458cb425bf8454d292a23978872cc8\"\u003e\u003ccode\u003e96b4dbd\u003c/code\u003e\u003c/a\u003e Remove unstable test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jackc/pgx/commit/acf88e0065682e8948696d26fa6438669c4cabee\"\u003e\u003ccode\u003eacf88e0\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/jackc/pgx/issues/2526\"\u003e#2526\u003c/a\u003e from abrightwell/abrightwell-min-proto\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jackc/pgx/commit/2f81f1fc03bef99593e92c64ad9cac954c00e8e6\"\u003e\u003ccode\u003e2f81f1f\u003c/code\u003e\u003c/a\u003e Update \u003ccode\u003emax_protocol_version\u003c/code\u003e and \u003ccode\u003emin_protocol_version\u003c/code\u003e defaults\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jackc/pgx/commit/4e4eaedb47b7b3cfba0a1b0a9e6a3f015764f046\"\u003e\u003ccode\u003e4e4eaed\u003c/code\u003e\u003c/a\u003e Release v5.9.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jackc/pgx/commit/62731882651a90348febb43b2119b5f8bd9272de\"\u003e\u003ccode\u003e6273188\u003c/code\u003e\u003c/a\u003e Fix batch result format corruption when using cached prepared statements\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jackc/pgx/compare/v5.8.0...v5.9.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e","html_url":"https://github.com/isw2-unileon/hypermotionleague/pull/35","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/isw2-unileon%2Fhypermotionleague/issues/35","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/35/packages"},{"uuid":"4510605317","node_id":"PR_kwDOHqP31c7eu6FE","number":6345,"state":"open","title":"chore(deps): bump the go-minor group with 34 updates","user":"dependabot[bot]","labels":["needs/kind","needs/priority","needs/area","dependencies","go"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-24T05:29:07.000Z","updated_at":"2026-05-24T05:29:53.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"go-minor","update_count":34,"packages":[{"name":"code.gitea.io/sdk/gitea","old_version":"0.22.1","new_version":"0.25.1"},{"name":"connectrpc.com/connect","old_version":"1.19.2","new_version":"1.20.0","repository_url":"https://github.com/connectrpc/connect-go"},{"name":"github.com/Azure/azure-sdk-for-go/sdk/azcore","old_version":"1.20.0","new_version":"1.21.1","repository_url":"https://github.com/Azure/azure-sdk-for-go"},{"name":"github.com/Masterminds/semver/v3","old_version":"3.4.0","new_version":"3.5.0","repository_url":"https://github.com/Masterminds/semver"},{"name":"github.com/aws/aws-sdk-go-v2/service/ecr","old_version":"1.55.4","new_version":"1.57.2","repository_url":"https://github.com/aws/aws-sdk-go-v2"},{"name":"github.com/bmatcuk/doublestar/v4","old_version":"4.9.2","new_version":"4.10.0","repository_url":"https://github.com/bmatcuk/doublestar"},{"name":"github.com/coreos/go-oidc/v3","old_version":"3.17.0","new_version":"3.18.0","repository_url":"https://github.com/coreos/go-oidc"},{"name":"github.com/fluxcd/pkg/kustomize","old_version":"1.24.0","new_version":"1.32.0","repository_url":"https://github.com/fluxcd/pkg"},{"name":"github.com/gin-gonic/gin","old_version":"1.11.0","new_version":"1.12.0","repository_url":"https://github.com/gin-gonic/gin"},{"name":"github.com/go-openapi/runtime","old_version":"0.29.5","new_version":"0.31.0","repository_url":"https://github.com/go-openapi/runtime"},{"name":"github.com/goccy/go-yaml","old_version":"1.18.0","new_version":"1.19.2","repository_url":"https://github.com/goccy/go-yaml"},{"name":"github.com/google/go-containerregistry","old_version":"0.20.7","new_version":"0.21.6","repository_url":"https://github.com/google/go-containerregistry"},{"name":"github.com/jferrl/go-githubauth","old_version":"1.5.1","new_version":"1.6.0","repository_url":"https://github.com/jferrl/go-githubauth"},{"name":"github.com/ktrysmt/go-bitbucket","old_version":"0.9.87","new_version":"0.10.0","repository_url":"https://github.com/ktrysmt/go-bitbucket"},{"name":"github.com/pelletier/go-toml/v2","old_version":"2.2.4","new_version":"2.3.1","repository_url":"https://github.com/pelletier/go-toml"},{"name":"gitlab.com/gitlab-org/api/client-go","old_version":"1.13.0","new_version":"1.46.0"},{"name":"go.uber.org/zap","old_version":"1.27.1","new_version":"1.28.0","repository_url":"https://github.com/uber-go/zap"},{"name":"golang.org/x/crypto","old_version":"0.50.0","new_version":"0.51.0","repository_url":"https://github.com/golang/crypto"},{"name":"golang.org/x/net","old_version":"0.53.0","new_version":"0.55.0","repository_url":"https://github.com/golang/net"},{"name":"golang.org/x/oauth2","old_version":"0.34.0","new_version":"0.36.0","repository_url":"https://github.com/golang/oauth2"},{"name":"golang.org/x/text","old_version":"0.36.0","new_version":"0.37.0","repository_url":"https://github.com/golang/text"},{"name":"google.golang.org/api","old_version":"0.259.0","new_version":"0.280.0","repository_url":"https://github.com/googleapis/google-api-go-client"},{"name":"google.golang.org/grpc","old_version":"1.79.3","new_version":"1.81.1","repository_url":"https://github.com/grpc/grpc-go"},{"name":"google.golang.org/protobuf","old_version":"1.36.11","new_version":"1.36.12-0.20260120151049-f2248ac996af"},{"name":"helm.sh/helm/v3","old_version":"3.19.5","new_version":"3.21.0","repository_url":"https://github.com/helm/helm"},{"name":"k8s.io/api","old_version":"0.34.3","new_version":"0.36.0","repository_url":"https://github.com/kubernetes/api"},{"name":"k8s.io/apiextensions-apiserver","old_version":"0.34.3","new_version":"0.36.0","repository_url":"https://github.com/kubernetes/apiextensions-apiserver"},{"name":"k8s.io/apimachinery","old_version":"0.34.3","new_version":"0.36.0","repository_url":"https://github.com/kubernetes/apimachinery"},{"name":"k8s.io/apiserver","old_version":"0.34.3","new_version":"0.36.0","repository_url":"https://github.com/kubernetes/apiserver"},{"name":"k8s.io/cli-runtime","old_version":"0.34.3","new_version":"0.35.1","repository_url":"https://github.com/kubernetes/cli-runtime"},{"name":"k8s.io/client-go","old_version":"0.34.3","new_version":"0.36.0","repository_url":"https://github.com/kubernetes/client-go"},{"name":"k8s.io/klog/v2","old_version":"2.130.1","new_version":"2.140.0","repository_url":"https://github.com/kubernetes/klog"},{"name":"k8s.io/utils","old_version":"0.0.0-20250604170112-4c0f3b243397","new_version":"0.0.0-20260210185600-b8788abfbbc2","repository_url":"https://github.com/kubernetes/utils"},{"name":"sigs.k8s.io/controller-runtime","old_version":"0.22.4","new_version":"0.24.0","repository_url":"https://github.com/kubernetes-sigs/controller-runtime"}],"path":null,"ecosystem":"go"},"body":"Bumps the go-minor group with 34 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| code.gitea.io/sdk/gitea | `0.22.1` | `0.25.1` |\n| [connectrpc.com/connect](https://github.com/connectrpc/connect-go) | `1.19.2` | `1.20.0` |\n| [github.com/Azure/azure-sdk-for-go/sdk/azcore](https://github.com/Azure/azure-sdk-for-go) | `1.20.0` | `1.21.1` |\n| [github.com/Masterminds/semver/v3](https://github.com/Masterminds/semver) | `3.4.0` | `3.5.0` |\n| [github.com/aws/aws-sdk-go-v2/service/ecr](https://github.com/aws/aws-sdk-go-v2) | `1.55.4` | `1.57.2` |\n| [github.com/bmatcuk/doublestar/v4](https://github.com/bmatcuk/doublestar) | `4.9.2` | `4.10.0` |\n| [github.com/coreos/go-oidc/v3](https://github.com/coreos/go-oidc) | `3.17.0` | `3.18.0` |\n| [github.com/fluxcd/pkg/kustomize](https://github.com/fluxcd/pkg) | `1.24.0` | `1.32.0` |\n| [github.com/gin-gonic/gin](https://github.com/gin-gonic/gin) | `1.11.0` | `1.12.0` |\n| [github.com/go-openapi/runtime](https://github.com/go-openapi/runtime) | `0.29.5` | `0.31.0` |\n| [github.com/goccy/go-yaml](https://github.com/goccy/go-yaml) | `1.18.0` | `1.19.2` |\n| [github.com/google/go-containerregistry](https://github.com/google/go-containerregistry) | `0.20.7` | `0.21.6` |\n| [github.com/jferrl/go-githubauth](https://github.com/jferrl/go-githubauth) | `1.5.1` | `1.6.0` |\n| [github.com/ktrysmt/go-bitbucket](https://github.com/ktrysmt/go-bitbucket) | `0.9.87` | `0.10.0` |\n| [github.com/pelletier/go-toml/v2](https://github.com/pelletier/go-toml) | `2.2.4` | `2.3.1` |\n| [gitlab.com/gitlab-org/api/client-go](https://gitlab.com/gitlab-org/api/client-go) | `1.13.0` | `1.46.0` |\n| [go.uber.org/zap](https://github.com/uber-go/zap) | `1.27.1` | `1.28.0` |\n| [golang.org/x/crypto](https://github.com/golang/crypto) | `0.50.0` | `0.51.0` |\n| [golang.org/x/net](https://github.com/golang/net) | `0.53.0` | `0.55.0` |\n| [golang.org/x/oauth2](https://github.com/golang/oauth2) | `0.34.0` | `0.36.0` |\n| [golang.org/x/text](https://github.com/golang/text) | `0.36.0` | `0.37.0` |\n| [google.golang.org/api](https://github.com/googleapis/google-api-go-client) | `0.259.0` | `0.280.0` |\n| [google.golang.org/grpc](https://github.com/grpc/grpc-go) | `1.79.3` | `1.81.1` |\n| google.golang.org/protobuf | `1.36.11` | `1.36.12-0.20260120151049-f2248ac996af` |\n| [helm.sh/helm/v3](https://github.com/helm/helm) | `3.19.5` | `3.21.0` |\n| [k8s.io/api](https://github.com/kubernetes/api) | `0.34.3` | `0.36.0` |\n| [k8s.io/apiextensions-apiserver](https://github.com/kubernetes/apiextensions-apiserver) | `0.34.3` | `0.36.0` |\n| [k8s.io/apimachinery](https://github.com/kubernetes/apimachinery) | `0.34.3` | `0.36.0` |\n| [k8s.io/apiserver](https://github.com/kubernetes/apiserver) | `0.34.3` | `0.36.0` |\n| [k8s.io/cli-runtime](https://github.com/kubernetes/cli-runtime) | `0.34.3` | `0.35.1` |\n| [k8s.io/client-go](https://github.com/kubernetes/client-go) | `0.34.3` | `0.36.0` |\n| [k8s.io/klog/v2](https://github.com/kubernetes/klog) | `2.130.1` | `2.140.0` |\n| [k8s.io/utils](https://github.com/kubernetes/utils) | `0.0.0-20250604170112-4c0f3b243397` | `0.0.0-20260210185600-b8788abfbbc2` |\n| [sigs.k8s.io/controller-runtime](https://github.com/kubernetes-sigs/controller-runtime) | `0.22.4` | `0.24.0` |\n\nUpdates `code.gitea.io/sdk/gitea` from 0.22.1 to 0.25.1\n\nUpdates `connectrpc.com/connect` from 1.19.2 to 1.20.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/connectrpc/connect-go/releases\"\u003econnectrpc.com/connect's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.20.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eOther changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBump minimum supported Go version to 1.25 by \u003ca href=\"https://github.com/jonbodner-buf\"\u003e\u003ccode\u003e@​jonbodner-buf\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/connectrpc/connect-go/issues/922\"\u003e#922\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate Unary-Get query parameter order to match spec recommendation by \u003ca href=\"https://github.com/oliversun9\"\u003e\u003ccode\u003e@​oliversun9\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/connectrpc/connect-go/issues/926\"\u003e#926\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jonbodner-buf\"\u003e\u003ccode\u003e@​jonbodner-buf\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/connectrpc/connect-go/issues/922\"\u003e#922\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/connectrpc/connect-go/compare/v1.19.2...v1.20.0\"\u003ehttps://github.com/connectrpc/connect-go/compare/v1.19.2...v1.20.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/connectrpc/connect-go/commit/1291a7dcac19b00490f935dce18f44f301fc58f6\"\u003e\u003ccode\u003e1291a7d\u003c/code\u003e\u003c/a\u003e Prepare for v1.20.0 (\u003ca href=\"https://redirect.github.com/connectrpc/connect-go/issues/927\"\u003e#927\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/connectrpc/connect-go/commit/6df682f19e5b957b96b5fa44ffb28705a2d7bc8c\"\u003e\u003ccode\u003e6df682f\u003c/code\u003e\u003c/a\u003e Update Unary-Get query parameter order to match spec recommendation (\u003ca href=\"https://redirect.github.com/connectrpc/connect-go/issues/926\"\u003e#926\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/connectrpc/connect-go/commit/c4aac92b87026cd709cfbccdaabe8c45abef705c\"\u003e\u003ccode\u003ec4aac92\u003c/code\u003e\u003c/a\u003e Chore update buf v1.69.0 and license year (\u003ca href=\"https://redirect.github.com/connectrpc/connect-go/issues/925\"\u003e#925\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/connectrpc/connect-go/commit/a5a6c30f3776b06ae05a66ab3bdd2d60c46db6db\"\u003e\u003ccode\u003ea5a6c30\u003c/code\u003e\u003c/a\u003e Bump Go from v1.24 to v1.25 (\u003ca href=\"https://redirect.github.com/connectrpc/connect-go/issues/922\"\u003e#922\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/connectrpc/connect-go/commit/138e2700eb60b8004363eb344031b317bf599a1f\"\u003e\u003ccode\u003e138e270\u003c/code\u003e\u003c/a\u003e Back to development (\u003ca href=\"https://redirect.github.com/connectrpc/connect-go/issues/921\"\u003e#921\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/connectrpc/connect-go/compare/v1.19.2...v1.20.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/Azure/azure-sdk-for-go/sdk/azcore` from 1.20.0 to 1.21.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Azure/azure-sdk-for-go/releases\"\u003egithub.com/Azure/azure-sdk-for-go/sdk/azcore's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003esdk/azcore/v1.21.1\u003c/h2\u003e\n\u003ch2\u003e1.21.1 (2026-04-16)\u003c/h2\u003e\n\u003ch3\u003eBugs Fixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an issue in \u003ccode\u003eResponseError.Error()\u003c/code\u003e where the request URL path was being logged unescaped.\u003c/li\u003e\n\u003cli\u003eRedact query parameters when logging errors.\u003c/li\u003e\n\u003cli\u003eFor \u003ccode\u003eruntime.JoinPaths\u003c/code\u003e, don't add a slash between root and paths when \u003ccode\u003epaths\u003c/code\u003e starts with \u003ccode\u003e?\u003c/code\u003e (query string).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgraded to Go 1.25.0.\u003c/li\u003e\n\u003cli\u003eUpgraded dependencies.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-go/commit/63e4ba18204b0df554e330df8f85662e653e67ab\"\u003e\u003ccode\u003e63e4ba1\u003c/code\u003e\u003c/a\u003e Bump release date for azcore (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-go/issues/26613\"\u003e#26613\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-go/commit/fa0312174d17ff4cb7cb0118fa80de07409841c2\"\u003e\u003ccode\u003efa03121\u003c/code\u003e\u003c/a\u003e remove bypass local dns (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-go/issues/26609\"\u003e#26609\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-go/commit/c47f9a60dd1e9be6943ff0d6a5666a0ac09f6cfa\"\u003e\u003ccode\u003ec47f9a6\u003c/code\u003e\u003c/a\u003e Sync eng/common directory with azure-sdk-tools for PR 15153 (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-go/issues/26607\"\u003e#26607\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-go/commit/88b8b5b38ecebb929a2e302df054fed1d68618b8\"\u003e\u003ccode\u003e88b8b5b\u003c/code\u003e\u003c/a\u003e Changelog for v2.2.0 (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-go/issues/26567\"\u003e#26567\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-go/commit/72ca19ae2b8b4514c4f48a5ff33495b03c08afd0\"\u003e\u003ccode\u003e72ca19a\u003c/code\u003e\u003c/a\u003e Storage STG 101 (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-go/issues/26568\"\u003e#26568\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-go/commit/b64baf56c6b168d258b2a0678290ac5f9ab97938\"\u003e\u003ccode\u003eb64baf5\u003c/code\u003e\u003c/a\u003e Sync .github directory with azure-sdk-tools repository (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-go/issues/26600\"\u003e#26600\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-go/commit/ecd64dd6500a04da22107925c3ba9fbe8e636f2c\"\u003e\u003ccode\u003eecd64dd\u003c/code\u003e\u003c/a\u003e Prep azcore@v1.21.1 for release (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-go/issues/26596\"\u003e#26596\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-go/commit/1d02f204d0146ffd7d13d5585bf3766e53c32cc5\"\u003e\u003ccode\u003e1d02f20\u003c/code\u003e\u003c/a\u003e Update copilot code review instructions and migration breaking change mitigat...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-go/commit/f6e9ce3212cc9d654d349778f19065eb5d849197\"\u003e\u003ccode\u003ef6e9ce3\u003c/code\u003e\u003c/a\u003e Sync eng/common directory with azure-sdk-tools for PR 14973 (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-go/issues/26531\"\u003e#26531\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-go/commit/d5a3baf11e0b743a4009efb8e84cbaee335fc0eb\"\u003e\u003ccode\u003ed5a3baf\u003c/code\u003e\u003c/a\u003e Update CODEOWNERS to remove one owner from Custom Providers (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-go/issues/26588\"\u003e#26588\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Azure/azure-sdk-for-go/compare/sdk/azcore/v1.20.0...sdk/azcore/v1.21.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/Masterminds/semver/v3` from 3.4.0 to 3.5.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Masterminds/semver/releases\"\u003egithub.com/Masterminds/semver/v3's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.5.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdding more prerelease tests by \u003ca href=\"https://github.com/mattfarina\"\u003e\u003ccode\u003e@​mattfarina\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Masterminds/semver/pull/273\"\u003eMasterminds/semver#273\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate constraint error messages by \u003ca href=\"https://github.com/mattfarina\"\u003e\u003ccode\u003e@​mattfarina\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Masterminds/semver/pull/278\"\u003eMasterminds/semver#278\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix edge cases by \u003ca href=\"https://github.com/mattfarina\"\u003e\u003ccode\u003e@​mattfarina\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Masterminds/semver/pull/279\"\u003eMasterminds/semver#279\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdding some checks in by \u003ca href=\"https://github.com/mattfarina\"\u003e\u003ccode\u003e@​mattfarina\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Masterminds/semver/pull/280\"\u003eMasterminds/semver#280\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdating deps by \u003ca href=\"https://github.com/mattfarina\"\u003e\u003ccode\u003e@​mattfarina\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Masterminds/semver/pull/281\"\u003eMasterminds/semver#281\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump github/codeql-action from 4.35.1 to 4.35.2 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/Masterminds/semver/pull/282\"\u003eMasterminds/semver#282\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/cache from 4.2.3 to 5.0.5 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/Masterminds/semver/pull/283\"\u003eMasterminds/semver#283\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump golangci/golangci-lint-action from 7.0.1 to 9.2.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/Masterminds/semver/pull/284\"\u003eMasterminds/semver#284\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdating gitignore for devcontainers by \u003ca href=\"https://github.com/mattfarina\"\u003e\u003ccode\u003e@​mattfarina\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Masterminds/semver/pull/286\"\u003eMasterminds/semver#286\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixing some quality issues by \u003ca href=\"https://github.com/mattfarina\"\u003e\u003ccode\u003e@​mattfarina\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Masterminds/semver/pull/287\"\u003eMasterminds/semver#287\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] made their first contribution in \u003ca href=\"https://redirect.github.com/Masterminds/semver/pull/282\"\u003eMasterminds/semver#282\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Masterminds/semver/compare/v3.4.0...v3.5.0\"\u003ehttps://github.com/Masterminds/semver/compare/v3.4.0...v3.5.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Masterminds/semver/blob/master/CHANGELOG.md\"\u003egithub.com/Masterminds/semver/v3's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eChangelog\u003c/h1\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Masterminds/semver/commit/8b89c86cb53c57cfd5d07c13de12bc4d78954e99\"\u003e\u003ccode\u003e8b89c86\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Masterminds/semver/issues/287\"\u003e#287\u003c/a\u003e from mattfarina/fix-da-issues\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Masterminds/semver/commit/29d51d0ea4bffe39173673685d0dd312447d74a7\"\u003e\u003ccode\u003e29d51d0\u003c/code\u003e\u003c/a\u003e Fixing some quality issues\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Masterminds/semver/commit/87f651dbe2f616342d6408b997ad7116ba72ddf3\"\u003e\u003ccode\u003e87f651d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Masterminds/semver/issues/286\"\u003e#286\u003c/a\u003e from mattfarina/update-devcontainer\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Masterminds/semver/commit/158a6852a7e66d99594653227d3e8c3dc6d160ca\"\u003e\u003ccode\u003e158a685\u003c/code\u003e\u003c/a\u003e Updating gitignore for devcontainers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Masterminds/semver/commit/7e83c080cfb4455752c654805b189274a10890ab\"\u003e\u003ccode\u003e7e83c08\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Masterminds/semver/issues/284\"\u003e#284\u003c/a\u003e from Masterminds/dependabot/github_actions/golangci/g...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Masterminds/semver/commit/697e27f32e7419eb896e7d3ec680c65fc673166b\"\u003e\u003ccode\u003e697e27f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Masterminds/semver/issues/283\"\u003e#283\u003c/a\u003e from Masterminds/dependabot/github_actions/actions/ca...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Masterminds/semver/commit/1591f8e3806198f60fa4dcaf2751bfc805c7740d\"\u003e\u003ccode\u003e1591f8e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Masterminds/semver/issues/282\"\u003e#282\u003c/a\u003e from Masterminds/dependabot/github_actions/github/cod...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Masterminds/semver/commit/3f5ff1737a28437e536d3ec54e41919577748ae6\"\u003e\u003ccode\u003e3f5ff17\u003c/code\u003e\u003c/a\u003e Bump golangci/golangci-lint-action from 7.0.1 to 9.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Masterminds/semver/commit/04baa3376047b6d5e79ffcc60f69332dd3e26c85\"\u003e\u003ccode\u003e04baa33\u003c/code\u003e\u003c/a\u003e Bump actions/cache from 4.2.3 to 5.0.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Masterminds/semver/commit/45939fec77cd7d07d586b823284d11423028e9c2\"\u003e\u003ccode\u003e45939fe\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 4.35.1 to 4.35.2\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Masterminds/semver/compare/v3.4.0...v3.5.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/aws/aws-sdk-go-v2/service/ecr` from 1.55.4 to 1.57.2\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-go-v2/commit/9bd153c05150d0c3f9d45f5b9353c34df9bab5b5\"\u003e\u003ccode\u003e9bd153c\u003c/code\u003e\u003c/a\u003e Release 2025-03-04.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-go-v2/commit/b967446708e597c3c22c658d8399d11accc9e1f1\"\u003e\u003ccode\u003eb967446\u003c/code\u003e\u003c/a\u003e Regenerated Clients\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-go-v2/commit/188c52a1f53d95e7f99ce0edc73059ce5d0b803c\"\u003e\u003ccode\u003e188c52a\u003c/code\u003e\u003c/a\u003e Update endpoints model\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-go-v2/commit/defaf5c13afed6bb77e2ee4fafea2bfcd09cea88\"\u003e\u003ccode\u003edefaf5c\u003c/code\u003e\u003c/a\u003e Update API model\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-go-v2/commit/8f2dd23c2630bd2ee667a403cf8ea8611c5ce406\"\u003e\u003ccode\u003e8f2dd23\u003c/code\u003e\u003c/a\u003e add test that verifies SRA order of operations (\u003ca href=\"https://redirect.github.com/aws/aws-sdk-go-v2/issues/3025\"\u003e#3025\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-go-v2/commit/3d547b010751de5a834a749ffdaddff4bcb0d39c\"\u003e\u003ccode\u003e3d547b0\u003c/code\u003e\u003c/a\u003e Release 2025-03-04\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-go-v2/commit/554a1497dc16d385e62514b10bc8adacfbd6a8d0\"\u003e\u003ccode\u003e554a149\u003c/code\u003e\u003c/a\u003e Regenerated Clients\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-go-v2/commit/3abb221732b42d61c95f5306f528cc2182d37c7a\"\u003e\u003ccode\u003e3abb221\u003c/code\u003e\u003c/a\u003e Update endpoints model\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-go-v2/commit/95ae39d57f8d986f691754737311102335039848\"\u003e\u003ccode\u003e95ae39d\u003c/code\u003e\u003c/a\u003e Update API model\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-go-v2/commit/c62ec38df6cc8e66ecf014365d8bd15c2599bc6d\"\u003e\u003ccode\u003ec62ec38\u003c/code\u003e\u003c/a\u003e create kitchen sink test service (\u003ca href=\"https://redirect.github.com/aws/aws-sdk-go-v2/issues/3023\"\u003e#3023\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/aws/aws-sdk-go-v2/compare/service/ecr/v1.55.4...service/ssm/v1.57.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/bmatcuk/doublestar/v4` from 4.9.2 to 4.10.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/bmatcuk/doublestar/releases\"\u003egithub.com/bmatcuk/doublestar/v4's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eAdded WithNoHidden option\u003c/h2\u003e\n\u003cp\u003eAdded support for a \u003ccode\u003eWithNoHidden\u003c/code\u003e option to ignore hidden files in patterns that might unintentionally match them. For example, a \u003ccode\u003e.config\u003c/code\u003e directory would not be matched by \u003ccode\u003e*\u003c/code\u003e or recursed into by \u003ccode\u003e**\u003c/code\u003e, but \u003cem\u003ewould\u003c/em\u003e be matched by \u003ccode\u003e.*\u003c/code\u003e or recursed by \u003ccode\u003e.config/**\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eThanks to \u003ca href=\"https://github.com/lukasngl\"\u003e\u003ccode\u003e@​lukasngl\u003c/code\u003e\u003c/a\u003e for the initial PR and idea!\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efeat: add WithNoHidden option to skip hidden files by \u003ca href=\"https://github.com/lukasngl\"\u003e\u003ccode\u003e@​lukasngl\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/bmatcuk/doublestar/pull/109\"\u003ebmatcuk/doublestar#109\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lukasngl\"\u003e\u003ccode\u003e@​lukasngl\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/bmatcuk/doublestar/pull/109\"\u003ebmatcuk/doublestar#109\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/bmatcuk/doublestar/compare/v4.9.2...v4.10.0\"\u003ehttps://github.com/bmatcuk/doublestar/compare/v4.9.2...v4.10.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bmatcuk/doublestar/commit/a9ad9e0ef4d6b7e4443090e9a7201d847a881711\"\u003e\u003ccode\u003ea9ad9e0\u003c/code\u003e\u003c/a\u003e allow starting test manually\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bmatcuk/doublestar/commit/9987c0c624376f84f44515adca73ddcdfdcdf453\"\u003e\u003ccode\u003e9987c0c\u003c/code\u003e\u003c/a\u003e update docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bmatcuk/doublestar/commit/d3b2184d103391fcd0fcca6590c16367310eee65\"\u003e\u003ccode\u003ed3b2184\u003c/code\u003e\u003c/a\u003e windows support for WithNoHidden; better tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bmatcuk/doublestar/commit/5d6a6cd76ba3e45482d13140f332be36451f5a48\"\u003e\u003ccode\u003e5d6a6cd\u003c/code\u003e\u003c/a\u003e Merge branch 'lukasngl-feat/no-hidden'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bmatcuk/doublestar/commit/e8319d206e9dab8d51d41e662811cdfb9af72b24\"\u003e\u003ccode\u003ee8319d2\u003c/code\u003e\u003c/a\u003e run tests when a branch/tag is created\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bmatcuk/doublestar/commit/614b331133390c7682c227740c51ff65dea2de65\"\u003e\u003ccode\u003e614b331\u003c/code\u003e\u003c/a\u003e run tests when a branch/tag is created\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bmatcuk/doublestar/commit/df2e03fb0b91b726e0366c0d9ba1c5e580e2d0c9\"\u003e\u003ccode\u003edf2e03f\u003c/code\u003e\u003c/a\u003e feat: add WithNoHidden option to skip hidden files\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/bmatcuk/doublestar/compare/v4.9.2...v4.10.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/coreos/go-oidc/v3` from 3.17.0 to 3.18.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/coreos/go-oidc/releases\"\u003egithub.com/coreos/go-oidc/v3's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.18.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e.github: configure dependabot by \u003ca href=\"https://github.com/ericchiang\"\u003e\u003ccode\u003e@​ericchiang\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/coreos/go-oidc/pull/477\"\u003ecoreos/go-oidc#477\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e.github: update go versions in CI by \u003ca href=\"https://github.com/ericchiang\"\u003e\u003ccode\u003e@​ericchiang\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/coreos/go-oidc/pull/480\"\u003ecoreos/go-oidc#480\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump golang.org/x/oauth2 from 0.28.0 to 0.36.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/coreos/go-oidc/pull/478\"\u003ecoreos/go-oidc#478\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump github.com/go-jose/go-jose/v4 from 4.1.3 to 4.1.4 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/coreos/go-oidc/pull/479\"\u003ecoreos/go-oidc#479\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/coreos/go-oidc/compare/v3.17.0...v3.18.0\"\u003ehttps://github.com/coreos/go-oidc/compare/v3.17.0...v3.18.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coreos/go-oidc/commit/da6b3bfca8af72414ee0e6e8746585ff5d206003\"\u003e\u003ccode\u003eda6b3bf\u003c/code\u003e\u003c/a\u003e build(deps): bump github.com/go-jose/go-jose/v4 from 4.1.3 to 4.1.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coreos/go-oidc/commit/7f80694215d5eb5b28f851f35845439b1e1e9e5d\"\u003e\u003ccode\u003e7f80694\u003c/code\u003e\u003c/a\u003e build(deps): bump golang.org/x/oauth2 from 0.28.0 to 0.36.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coreos/go-oidc/commit/7271de57587bb756318f9819796ba846b1ba875a\"\u003e\u003ccode\u003e7271de5\u003c/code\u003e\u003c/a\u003e .github: update go versions in CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coreos/go-oidc/commit/3ccf20fdc4afab7c64881a108d6f4c17a4ecc24d\"\u003e\u003ccode\u003e3ccf20f\u003c/code\u003e\u003c/a\u003e .github: configure dependabot\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/coreos/go-oidc/compare/v3.17.0...v3.18.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/fluxcd/pkg/kustomize` from 1.24.0 to 1.32.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fluxcd/pkg/commit/f3ad4b56adec90eb5661af565cdebec997ad4bfb\"\u003e\u003ccode\u003ef3ad4b5\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/fluxcd/pkg/issues/1195\"\u003e#1195\u003c/a\u003e from fluxcd/release-main\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fluxcd/pkg/commit/f35b4fd025cdee1664ca3d7aede2eb2fd594583d\"\u003e\u003ccode\u003ef35b4fd\u003c/code\u003e\u003c/a\u003e Prepare for release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fluxcd/pkg/commit/18e165c2592fb2a9633b9a80371e730d88bcab29\"\u003e\u003ccode\u003e18e165c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/fluxcd/pkg/issues/1194\"\u003e#1194\u003c/a\u003e from fluxcd/k8s-1.36\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fluxcd/pkg/commit/fe4377874a6d57593120ee524e1913ca81a5d2e5\"\u003e\u003ccode\u003efe43778\u003c/code\u003e\u003c/a\u003e Update controller-gen to v0.21.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fluxcd/pkg/commit/2498ab414d7e2abaee4131142293e520ee76b390\"\u003e\u003ccode\u003e2498ab4\u003c/code\u003e\u003c/a\u003e Update cloud auth SDKs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fluxcd/pkg/commit/b3bb0e0ff6bc2f42f23ff110baa0e7ae0f2ee685\"\u003e\u003ccode\u003eb3bb0e0\u003c/code\u003e\u003c/a\u003e Update go-git to v5.19.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fluxcd/pkg/commit/545dc4f55ab3850dca6401177c94e37ed40b5c87\"\u003e\u003ccode\u003e545dc4f\u003c/code\u003e\u003c/a\u003e Update distribution to v3.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fluxcd/pkg/commit/b23cbf9f0581b9dc5594e8659739f1bc9c870d35\"\u003e\u003ccode\u003eb23cbf9\u003c/code\u003e\u003c/a\u003e Update Kubernetes packages to 1.36\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fluxcd/pkg/commit/c6042810b61f1937c72a0e04d81d0091ca6e7dae\"\u003e\u003ccode\u003ec604281\u003c/code\u003e\u003c/a\u003e Update Go to 1.26\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fluxcd/pkg/commit/939c616718374460667e648c796487bfedfa6d98\"\u003e\u003ccode\u003e939c616\u003c/code\u003e\u003c/a\u003e ssa: Fix race condition in CRD tests\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/fluxcd/pkg/compare/apis/meta/v1.24.0...kustomize/v1.32.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/gin-gonic/gin` from 1.11.0 to 1.12.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/gin-gonic/gin/releases\"\u003egithub.com/gin-gonic/gin's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.12.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e192ac89eefc1c30f7c97ae48a9ffb1c6f1c8c8bc: feat(binding): add support for encoding.UnmarshalText in uri/query binding (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4203\"\u003e#4203\u003c/a\u003e) (\u003ca href=\"https://github.com/takanuva15\"\u003e\u003ccode\u003e@​takanuva15\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e53410d2e07054369e0960fbe2eed97e1b9966f12: feat(context): add GetError and GetErrorSlice methods for error retrieval (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4502\"\u003e#4502\u003c/a\u003e) (\u003ca href=\"https://github.com/raju-mechatronics\"\u003e\u003ccode\u003e@​raju-mechatronics\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eacc55e049e33b401e810dbd8c0d6dcb6b3ba2b05: feat(context): add Protocol Buffers support to content negotiation (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4423\"\u003e#4423\u003c/a\u003e) (\u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e38e765119241d990705169bedb5002a29ae0cbd1: feat(context): implemented Delete method (\u003ca href=\"https://github.com/Spyder01\"\u003e\u003ccode\u003e@​Spyder01\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e771dcc6476d7bc6abb9ec0235ecefa4d38fe6fb0: feat(gin): add option to use escaped path (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4420\"\u003e#4420\u003c/a\u003e) (\u003ca href=\"https://github.com/ldesauw\"\u003e\u003ccode\u003e@​ldesauw\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e4dec17afdff48e8018c83618fbbe69fceeb2b41d: feat(logger): color latency (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4146\"\u003e#4146\u003c/a\u003e) (\u003ca href=\"https://github.com/wsyqn6\"\u003e\u003ccode\u003e@​wsyqn6\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ed7776de7d444935ea4385999711bd6331a98fecb: feat(render): add bson protocol (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4145\"\u003e#4145\u003c/a\u003e) (\u003ca href=\"https://github.com/laurentcau\"\u003e\u003ccode\u003e@​laurentcau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eb917b14ff9d189f16a7492be79d123a47806ee19: fix(binding): empty value error (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/2169\"\u003e#2169\u003c/a\u003e) (\u003ca href=\"https://github.com/guonaihong\"\u003e\u003ccode\u003e@​guonaihong\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ec3d1092b3b48addf6f9cd00fe274ec3bd14650eb: fix(binding): improve empty slice/array handling in form binding (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4380\"\u003e#4380\u003c/a\u003e) (\u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e9914178584e42458ff7d23891463a880f58c9d86: fix(context): ClientIP handling for multiple X-Forwarded-For header values (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4472\"\u003e#4472\u003c/a\u003e) (\u003ca href=\"https://github.com/Nurysso\"\u003e\u003ccode\u003e@​Nurysso\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e2a794cd0b0faa7d829291375b27a3467ea972b0d: fix(debug): version mismatch (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4403\"\u003e#4403\u003c/a\u003e) (\u003ca href=\"https://github.com/zeek0x\"\u003e\u003ccode\u003e@​zeek0x\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ec3d5a28ed6d3849da820195b6774d212bcc038a9: fix(gin): close os.File in RunFd to prevent resource leak (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4422\"\u003e#4422\u003c/a\u003e) (\u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e5fad976b372e381312f8de69f0969f1284d229d3: fix(gin): literal colon routes not working with engine.Handler() (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4415\"\u003e#4415\u003c/a\u003e) (\u003ca href=\"https://github.com/pawannn\"\u003e\u003ccode\u003e@​pawannn\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e63dd3e60cab89c27fb66bce1423bd268d52abad1: fix(recover): suppress http.ErrAbortHandler in recover (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4336\"\u003e#4336\u003c/a\u003e) (\u003ca href=\"https://github.com/MondayCha\"\u003e\u003ccode\u003e@​MondayCha\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e5c00df8afadd06cc5be530dde00fe6d9fa4a2e4a: fix(render): write content length in Data.Render (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4206\"\u003e#4206\u003c/a\u003e) (\u003ca href=\"https://github.com/dengaleev\"\u003e\u003ccode\u003e@​dengaleev\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e234a6d4c00cb77af9852aca0b8289745d5529b4b: fix(response): refine hijack behavior for response lifecycle (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4373\"\u003e#4373\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e472d086af2acd924cb4b9d7be0525f7d790f69bc: fix(tree): panic in findCaseInsensitivePathRec with RedirectFixedPath (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4535\"\u003e#4535\u003c/a\u003e) (\u003ca href=\"https://github.com/veeceey\"\u003e\u003ccode\u003e@​veeceey\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e8e07d37c63e5536eb25f4af4c91eabeee4011fba: fix: Correct typos, improve documentation clarity, and remove dead code (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4511\"\u003e#4511\u003c/a\u003e) (\u003ca href=\"https://github.com/mahanadh\"\u003e\u003ccode\u003e@​mahanadh\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eba093d19477b896ac89a7fc3246af23d290b8e26: chore(binding): upgrade bson dependency to mongo-driver v2 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4549\"\u003e#4549\u003c/a\u003e) (\u003ca href=\"https://github.com/BobDu\"\u003e\u003ccode\u003e@​BobDu\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eb2b489dbf4826c2c630717a77fd5e42774625410: chore(context): always trust xff headers from unix socket (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/3359\"\u003e#3359\u003c/a\u003e) (\u003ca href=\"https://github.com/WeidiDeng\"\u003e\u003ccode\u003e@​WeidiDeng\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eecb3f7b5e2f3915bf1db240ed5eee572f8dbea36: chore(deps): upgrade golang.org/x/crypto to v0.45.0 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4449\"\u003e#4449\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eaf6e8b70b8261bb0c99ad094fe552ab92991620a: chore(deps): upgrade quic-go to v0.57.1 (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edb309081bc5c137b2aa15701ef53f7f19788da25: chore(logger): allow skipping query string output (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4547\"\u003e#4547\u003c/a\u003e) (\u003ca href=\"https://github.com/USA-RedDragon\"\u003e\u003ccode\u003e@​USA-RedDragon\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e26c3a628655cad2388380cb8102d6ce7d4875f3b: chore(response): prevent Flush() panic when \u003ccode\u003ehttp.Flusher\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4479\"\u003e#4479\u003c/a\u003e) (\u003ca href=\"https://github.com/Twacqwq\"\u003e\u003ccode\u003e@​Twacqwq\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e5dd833f1f26de0eb30eae47b17e05ced2482dc41: chore: bump minimum Go version to 1.24 and update workflows (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4388\"\u003e#4388\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRefactor\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e39858a0859c914bd26948fa950477e11bd8d3823: refactor(binding): use maps.Copy for cleaner map handling (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4352\"\u003e#4352\u003c/a\u003e) (\u003ca href=\"https://github.com/russcoss\"\u003e\u003ccode\u003e@​russcoss\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ec0048f645ee945c4db30593afdea10123e2c30a6: refactor(context): omit the return value names (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4395\"\u003e#4395\u003c/a\u003e) (\u003ca href=\"https://github.com/wanghaolong613\"\u003e\u003ccode\u003e@​wanghaolong613\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e915e4c90d28ec4cffc6eb146e208ab5a65eac772: refactor(context): replace hardcoded localhost IPs with constants (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4481\"\u003e#4481\u003c/a\u003e) (\u003ca href=\"https://github.com/pauloappbr\"\u003e\u003ccode\u003e@​pauloappbr\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e414de60574449457f3192a7a1d5528940db2836d: refactor(context): using maps.Clone (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4333\"\u003e#4333\u003c/a\u003e) (\u003ca href=\"https://github.com/cuiweixie\"\u003e\u003ccode\u003e@​cuiweixie\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e59e9d4a794f12c4f9a6c7bed441b9644e5f6d99b: refactor(ginS): use sync.OnceValue to simplify engine function (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4314\"\u003e#4314\u003c/a\u003e) (\u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e3ab698dc5110af1977d57226e4995c57dd34c233: refactor(recovery): smart error comparison (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4142\"\u003e#4142\u003c/a\u003e) (\u003ca href=\"https://github.com/zeek0x\"\u003e\u003ccode\u003e@​zeek0x\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ed1a15347b1e45a8ee816193d3578a93bfd73b70f: refactor(utils): move util functions to utils.go (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4467\"\u003e#4467\u003c/a\u003e) (\u003ca href=\"https://github.com/zeek0x\"\u003e\u003ccode\u003e@​zeek0x\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ee3118cc378d263454098924ebbde7e8d1dd2e904: refactor: for loop can be modernized using range over int (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4392\"\u003e#4392\u003c/a\u003e) (\u003ca href=\"https://github.com/wanghaolong613\"\u003e\u003ccode\u003e@​wanghaolong613\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e488f8c3ffa579a8d19beb2bae95ff8ef36b3d53f: refactor: replace magic numbers with named constants in bodyAllowedForStatus (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4529\"\u003e#4529\u003c/a\u003e) (\u003ca href=\"https://github.com/veeceey\"\u003e\u003ccode\u003e@​veeceey\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e9968c4bf9d5a99edc3eee2c068a4c9160ece8915: refactor: use b.Loop() to simplify the code and improve performance (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4389\"\u003e#4389\u003c/a\u003e) (\u003ca href=\"https://github.com/reddaisyy\"\u003e\u003ccode\u003e@​reddaisyy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ea85ef5ce4d0cda8834c59c855068ed48b51192d1: refactor: use b.Loop() to simplify the code and improve performance (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4432\"\u003e#4432\u003c/a\u003e) (\u003ca href=\"https://github.com/efcking\"\u003e\u003ccode\u003e@​efcking\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBuild process updates\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e61b67de522a189b568aced4c5c16917c558e3387: ci(bot): increase frequency and group updates for dependencies (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4367\"\u003e#4367\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efb27ef26c2fdfe25344b4c039d8a53551f9e912c: ci(lint): refactor test assertions and linter configuration (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4436\"\u003e#4436\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e93ff771e6dbf10e432864b30f3719ac5c84a4d4a: ci(sec): improve type safety and server organization in HTTP middleware (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4437\"\u003e#4437\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ee88fc8927a52b74f55bec0351604a56ac0aa1c51: ci(sec): schedule Trivy security scans to run daily at midnight UTC (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4439\"\u003e#4439\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e5e5ff3ace496a31b138b0820136a146bfb5de0ef: ci: replace vulnerability scanning workflow with Trivy integration (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4421\"\u003e#4421\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e00900fb3e1ea9dde33985a0e4f6afec793d5e786: ci: update CI workflows and standardize Trivy config quotes (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4531\"\u003e#4531\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eae3f524974fc4f55d18c9e7fae4614503c015226: ci: update Go version support to 1.25+ across CI and docs (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4550\"\u003e#4550\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/gin-gonic/gin/blob/master/CHANGELOG.md\"\u003egithub.com/gin-gonic/gin's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eGin v1.12.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat(render): add bson protocol (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4145\"\u003e#4145\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(context): add GetError and GetErrorSlice methods for error retrieval (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4502\"\u003e#4502\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(binding): add support for encoding.UnmarshalText in uri/query binding (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4203\"\u003e#4203\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(gin): add option to use escaped path (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4420\"\u003e#4420\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(context): add Protocol Buffers support to content negotiation (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4423\"\u003e#4423\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(context): implemented Delete method (\u003ca href=\"https://github.com/gin-gonic/gin/commit/38e7651\"\u003e#38e7651\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(logger): color latency (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4146\"\u003e#4146\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eperf(tree): reduce allocations in findCaseInsensitivePath (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4417\"\u003e#4417\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eperf(recovery): optimize line reading in stack function (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4466\"\u003e#4466\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eperf(path): replace regex with custom functions in redirectTrailingSlash (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4414\"\u003e#4414\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eperf(tree): optimize path parsing using strings.Count (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4246\"\u003e#4246\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(logger): allow skipping query string output (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4547\"\u003e#4547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(context): always trust xff headers from unix socket (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/3359\"\u003e#3359\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(response): prevent Flush() panic when the underlying ResponseWriter does not implement \u003ccode\u003ehttp.Flusher\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4479\"\u003e#4479\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(recovery): smart error comparison (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4142\"\u003e#4142\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(context): replace hardcoded localhost IPs with constants (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4481\"\u003e#4481\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(utils): move util functions to utils.go (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4467\"\u003e#4467\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(binding): use maps.Copy for cleaner map handling (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4352\"\u003e#4352\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(context): using maps.Clone (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4333\"\u003e#4333\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(ginS): use sync.OnceValue to simplify engine function (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4314\"\u003e#4314\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor: replace magic numbers with named constants in bodyAllowedForStatus (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4529\"\u003e#4529\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor: for loop can be modernized using range over int (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4392\"\u003e#4392\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(tree): panic in findCaseInsensitivePathRec with RedirectFixedPath (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4535\"\u003e#4535\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(render): write content length in Data.Render (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4206\"\u003e#4206\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(context): ClientIP handling for multiple X-Forwarded-For header values (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4472\"\u003e#4472\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(binding): empty value error (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/2169\"\u003e#2169\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(recover): suppress http.ErrAbortHandler in recover (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4336\"\u003e#4336\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(gin): literal colon routes not working with engine.Handler() (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4415\"\u003e#4415\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(gin): close os.File in RunFd to prevent resource leak (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4422\"\u003e#4422\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(response): refine hijack behavior for response lifecycle (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4373\"\u003e#4373\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(binding): improve empty slice/array handling in form binding (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4380\"\u003e#4380\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(debug): version mismatch (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4403\"\u003e#4403\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: correct typos, improve documentation clarity, and remove dead code (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4511\"\u003e#4511\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBuild process updates / CI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eci: update Go version support to 1.25+ across CI and docs (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4550\"\u003e#4550\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(binding): upgrade bson dependency to mongo-driver v2 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4549\"\u003e#4549\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/73726dc606796a025971fe451f0aa6f1b9b847f6\"\u003e\u003ccode\u003e73726dc\u003c/code\u003e\u003c/a\u003e docs: update documentation to reflect Go version changes (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4552\"\u003e#4552\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/e292e5caa777bce70b66fe08c94cbe9cef3e2ec9\"\u003e\u003ccode\u003ee292e5c\u003c/code\u003e\u003c/a\u003e docs: document and finalize Gin v1.12.0 release (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4551\"\u003e#4551\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/ae3f524974fc4f55d18c9e7fae4614503c015226\"\u003e\u003ccode\u003eae3f524\u003c/code\u003e\u003c/a\u003e ci: update Go version support to 1.25+ across CI and docs (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4550\"\u003e#4550\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/38534e2bf98a06e1f62d6b24384e90b5f78699bf\"\u003e\u003ccode\u003e38534e2\u003c/code\u003e\u003c/a\u003e chore(deps): bump golang.org/x/net from 0.50.0 to 0.51.0 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4548\"\u003e#4548\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/472d086af2acd924cb4b9d7be0525f7d790f69bc\"\u003e\u003ccode\u003e472d086\u003c/code\u003e\u003c/a\u003e fix(tree): panic in findCaseInsensitivePathRec with RedirectFixedPath (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4535\"\u003e#4535\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/fb2583442c4d9bccb75e6d26f1aa6e7c01950db6\"\u003e\u003ccode\u003efb25834\u003c/code\u003e\u003c/a\u003e test(context): use http.StatusContinue constant instead of magic number 100 (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/6f1d5fe3cdb171a08928c3c9dd3fbcfc9ee1b521\"\u003e\u003ccode\u003e6f1d5fe\u003c/code\u003e\u003c/a\u003e test(render): add comprehensive error handling tests (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4541\"\u003e#4541\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/5c00df8afadd06cc5be530dde00fe6d9fa4a2e4a\"\u003e\u003ccode\u003e5c00df8\u003c/code\u003e\u003c/a\u003e fix(render): write content length in Data.Render (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4206\"\u003e#4206\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/db309081bc5c137b2aa15701ef53f7f19788da25\"\u003e\u003ccode\u003edb30908\u003c/code\u003e\u003c/a\u003e chore(logger): allow skipping query string output (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4547\"\u003e#4547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/ba093d19477b896ac89a7fc3246af23d290b8e26\"\u003e\u003ccode\u003eba093d1\u003c/code\u003e\u003c/a\u003e chore(binding): upgrade bson dependency to mongo-driver v2 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4549\"\u003e#4549\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/gin-gonic/gin/compare/v1.11.0...v1.12.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/go-openapi/runtime` from 0.29.5 to 0.31.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/go-openapi/runtime/releases\"\u003egithub.com/go-openapi/runtime's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.31.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/go-openapi/runtime/tree/v0.31.0\"\u003e0.31.0\u003c/a\u003e - 2026-05-17\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/go-openapi/runtime/compare/v0.30.0...v0.31.0\"\u003ehttps://github.com/go-openapi/runtime/compare/v0.30.0...v0.31.0\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e33 commits in this release.\u003c/p\u003e\n\u003chr /\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003eImplemented enhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat(client): TLS diagnostic mode for Runtime.Trace by \u003ca href=\"https://github.com/fredbi\"\u003e\u003ccode\u003e@​fredbi\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/go-openapi/runtime/commit/159e452fbb643b71d258f2cca8b88137450279ee\"\u003e...\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(client): add Runtime.Trace for connection-level diagnostics by \u003ca href=\"https://github.com/fredbi\"\u003e\u003ccode\u003e@​fredbi\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/go-openapi/runtime/commit/d966b8fa816b64de80ccf018361cc7263c63341e\"\u003e...\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003eFixed bugs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(client): strip CR/LF from multipart filename and field name by \u003ca href=\"https://github.com/fredbi\"\u003e\u003ccode\u003e@​fredbi\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/go-openapi/runtime/commit/5cabd7013f842d80d85a547ea761cf136699deb4\"\u003e...\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(middleware): cap filename length on untyped formData uploads by \u003ca href=\"https://github.com/fredbi\"\u003e\u003ccode\u003e@​fredbi\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/go-openapi/runtime/commit/0d36609aa32886db0a827883431a5600b274fc10\"\u003e...\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: CA cert pool should be cloned not returned as pointer by \u003ca href=\"https://github.com/fredbi\"\u003e\u003ccode\u003e@​fredbi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/go-openapi/runtime/pull/455\"\u003e#455\u003c/a\u003e \u003ca href=\"https://github.com/go-openapi/runtime/commit/c925891ba9edd2240e9a10abcbb2f8453a190970\"\u003e...\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: correct spelling of \u0026quot;Organ trail\u0026quot; to \u0026quot;Oregon Trail\u0026quot; in request tests by \u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/go-openapi/runtime/pull/449\"\u003e#449\u003c/a\u003e \u003ca href=\"https://github.com/go-openapi/runtime/commit/3b614c320c5f157dc502a2a4b541eb1dfb34989d\"\u003e...\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(client/tls): correct PEM label and add Ed25519 key support by \u003ca href=\"https://github.com/fredbi\"\u003e\u003ccode\u003e@​fredbi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/go-openapi/runtime/pull/452\"\u003e#452\u003c/a\u003e \u003ca href=\"https://github.com/go-openapi/runtime/commit/eaa96edc1f2811efe29a1e6d07ca1db84155f026\"\u003e...\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edoc: fixup module layout by \u003ca href=\"https://github.com/fredbi\"\u003e\u003ccode\u003e@​fredbi\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/go-openapi/runtime/commit/1fd10af05ff76b283c381f8a3e5b41359d17c4cb\"\u003e...\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edoc: trimmed deprecated functions from examples by \u003ca href=\"https://github.com/fredbi\"\u003e\u003ccode\u003e@​fredbi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/go-openapi/runtime/pull/463\"\u003e#463\u003c/a\u003e \u003ca href=\"https://github.com/go-openapi/runtime/commit/fe97e40276649c6cad129afa87e6549299ab89d8\"\u003e...\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edoc: updated contributors file by \u003ca href=\"https://github.com/bot-go-openapi%5Bbot%5D\"\u003e\u003ccode\u003e@​bot-go-openapi[bot]\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/go-openapi/runtime/pull/460\"\u003e#460\u003c/a\u003e \u003ca href=\"https://github.com/go-openapi/runtime/commit/0c4edbac0f9c4bc72334f8c105ac173c9676399f\"\u003e...\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edoc: advertised doc site in README.md by \u003ca href=\"https://github.com/fredbi\"\u003e\u003ccode\u003e@​fredbi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/go-openapi/runtime/pull/454\"\u003e#454\u003c/a\u003e \u003ca href=\"https://github.com/go-openapi/runtime/commit/9d29f68e2bd36b26aea7286d369dc88374ce1fab\"\u003e...\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: correct two comment typos in client/internal/request/request.go by \u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/go-openapi/runtime/pull/450\"\u003e#450\u003c/a\u003e \u003ca href=\"https://github.com/go-openapi/runtime/commit/09c03d02ae2717bf36643c8559cecaf197363b31\"\u003e...\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs(compression): deprecate ContentEncoding, add CAFxX recipe by \u003ca href=\"https://github.com/fredbi\"\u003e\u003ccode\u003e@​fredbi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/go-openapi/runtime/pull/447\"\u003e#447\u003c/a\u003e \u003ca href=\"https://github.com/go-openapi/runtime/commit/6244633af43ff7691c33eb68b32324114f015c1d\"\u003e...\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs(keep-alive): add a thorough keep-alive primer by \u003ca href=\"https://github.com/fredbi\"\u003e\u003ccode\u003e@​fredbi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/go-openapi/runtime/pull/445\"\u003e#445\u003c/a\u003e \u003ca href=\"https://github.com/go-openapi/runtime/commit/7c678af534a79da024575aa6558299901551dde4\"\u003e...\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003eCode quality\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edoc: godoc linting by \u003ca href=\"https://github.com/fredbi\"\u003e\u003ccode\u003e@​fredbi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/go-openapi/runtime/pull/465\"\u003e#465\u003c/a\u003e \u003ca href=\"https://github.com/go-openapi/runtime/commit/74bcf736bac52ca40d65a839946e16b51c72c762\"\u003e...\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: cleanup linter config, reformat, optimized strings replacer by \u003ca href=\"https://github.com/fredbi\"\u003e\u003ccode\u003e@​fredbi\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/go-openapi/runtime/commit/8bf148cb896bf0e7f0c22bbd6a3501d82b900b4b\"\u003e...\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix/example request by \u003ca href=\"https://github.com/fredbi\"\u003e\u003ccode\u003e@​fredbi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/go-openapi/runtime/pull/462\"\u003e#462\u003c/a\u003e \u003ca href=\"https://github.com/go-openapi/runtime/commit/9fef4d8ebb77697229a4ff5945d5665aa64f9d9c\"\u003e...\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(relint): relint code base by \u003ca href=\"https://github.com/fredbi\"\u003e\u003ccode\u003e@​fredbi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/go-openapi/runtime/pull/461\"\u003e#461\u003c/a\u003e \u003ca href=\"https://github.com/go-openapi/runtime/commit/4b215322ce2ba88d0e8466668786d68792dca349\"\u003e...\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edoc: doc site on github pages by \u003ca href=\"https://github.com/fredbi\"\u003e\u003ccode\u003e@​fredbi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/go-openapi/runtime/pull/448\"\u003e#448\u003c/a\u003e \u003ca href=\"https://github.com/go-openapi/runtime/commit/1c5e3735efd166bf7aa00544b8172523c4314687\"\u003e...\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003eTesting\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003etest: fix flaky assertion on httptrace by \u003ca href=\"https://github.com/fredbi\"\u003e\u003ccode\u003e@​fredbi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/go-openapi/runtime/pull/456\"\u003e#456\u003c/a\u003e \u003ca href=\"https://github.com/go-openapi/runtime/commit/1e4d68eb5e29974f2149b68c4d9c4dd6d2dc4221\"\u003e...\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003eMiscellaneous tasks\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: prepare release v0.31.0 by \u003ca href=\"https://github.com/bot-go-openapi%5Bbot%5D\"\u003e\u003ccode\u003e@​bot-go-openapi[bot]\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/go-openapi/runtime/pull/466\"\u003e#466\u003c/a\u003e \u003ca href=\"https://github.com/go-openapi/runtime/commit/423c407791a74d4353830e07d98375a0c5cf311b\"\u003e...\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: remove binary by \u003ca href=\"https://github.com/fredbi\"\u003e\u003ccode\u003e@​fredbi\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/go-openapi/runtime/commit/982c9d3bfa154c4c1f8c06c764ad44e90a666134\"\u003e...\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/go-openapi/runtime/commit/423c407791a74d4353830e07d98375a0c5cf311b\"\u003e\u003ccode\u003e423c407\u003c/code\u003e\u003c/a\u003e chore: prepare release v0.31.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/go-openapi/runtime/commit/1fd10af05ff76b283c381f8a3e5b41359d17c4cb\"\u003e\u003ccode\u003e1fd10af\u003c/code\u003e\u003c/a\u003e doc: fixup module layout\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/go-openapi/runtime/commit/74bcf736bac52ca40d65a839946e16b51c72c762\"\u003e\u003ccode\u003e74bcf73\u003c/code\u003e\u003c/a\u003e doc: godoc linting (\u003ca href=\"https://redirect.github.com/go-openapi/runtime/issues/465\"\u003e#465\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/go-openapi/runtime/commit/506f3bcb4a7ea135a9742fb8f6bcc5bf666b02b8\"\u003e\u003ccode\u003e506f3bc\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/go-openapi/runtime/issues/464\"\u003e#464\u003c/a\u003e from fredbi/sec/lens3-multipart\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/go-openapi/runtime/commit/8bf148cb896bf0e7f0c22bbd6a3501d82b900b4b\"\u003e\u003ccode\u003e8bf148c\u003c/code\u003e\u003c/a\u003e chore: cleanup linter config, reformat, optimized strings replacer\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/go-openapi/runtime/commit/fa336825535097d6b36eef67830c87ebe2970273\"\u003e\u003ccode\u003efa33682\u003c/code\u003e\u003c/a\u003e test(security): fuzz targets for BindForm parse + filename cap\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/go-openapi/runtime/commit/5cabd7013f842d80d85a547ea761cf136699deb4\"\u003e\u003ccode\u003e5cabd70\u003c/code\u003e\u003c/a\u003e fix(client): strip CR/LF from multipart filename and field name\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/go-openapi/runtime/commit/0d36609aa32886db0a827883431a5600b274fc10\"\u003e\u003ccode\u003e0d36609\u003c/code\u003e\u003c/a\u003e fix(middleware): cap filename length on untyped formData uploads\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/go-openapi/runtime/commit/fe97e40276649c6cad129afa87e6549299ab89d8\"\u003e\u003ccode\u003efe97e40\u003c/code\u003e\u003c/a\u003e doc: trimmed deprecated functions from examples (\u003ca href=\"https://redirect.github.com/go-openapi/runtime/issues/463\"\u003e#463\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/go-openapi/runtime/commit/982c9d3bfa154c4c1f8c06c764ad44e90a666134\"\u003e\u003ccode\u003e982c9d3\u003c/code\u003e\u003c/a\u003e chore: remove binary\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/go-openapi/runtime/compare/v0.29.5...v0.31.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/goccy/go-yaml` from 1.18.0 to 1.19.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/goccy/go-yaml/releases\"\u003egithub.com/goccy/go-yaml's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.19.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix anchor reference regression in nested structures by \u003ca href=\"https://github.com/linyows\"\u003e\u003ccode\u003e@​linyows\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/goccy/go-yaml/pull/839\"\u003egoccy/go-yaml#839\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/linyows\"\u003e\u003ccode\u003e@​linyows\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/goccy/go-yaml/pull/839\"\u003egoccy/go-yaml#839\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/goccy/go-yaml/compare/v1.19.1...v1.19.2\"\u003ehttps://github.com/goccy/go-yaml/compare/v1.19.1...v1.19.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e1.19.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix decoding of integer keys of map type by \u003ca href=\"https://github.com/goccy\"\u003e\u003ccode\u003e@​goccy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/goccy/go-yaml/pull/829\"\u003egoccy/go-yaml#829\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport line comment for flow sequence or flow map by \u003ca href=\"https://github.com/goccy\"\u003e\u003ccode\u003e@​goccy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/goccy/go-yaml/pull/834\"\u003egoccy/go-yaml#834\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/goccy/go-yaml/compare/v1.19.0...v1.19.1\"\u003ehttps://github.com/goccy/go-yaml/compare/v1.19.0...v1.19.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e1.19.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRevert \u0026quot;feat: Dont make copies of structs for validation\u0026quot; by \u003ca href=\"https://github.com/shuheiktgw\"\u003e\u003ccode\u003e@​shuheiktgw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/goccy/go-yaml/pull/763\"\u003egoccy/go-yaml#763\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd decode option that allows specific field prefixes by \u003ca href=\"https://github.com/cpuguy83\"\u003e\u003ccode\u003e@​cpuguy83\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/goccy/go-yaml/pull/795\"\u003egoccy/go-yaml#795\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eNormalize CR and CRLF in multi-line strings by \u003ca href=\"https://github.com/shuheiktgw\"\u003e\u003ccode\u003e@​shuheiktgw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/goccy/go-yaml/pull/754\"\u003egoccy/go-yaml#754\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport non string map keys by \u003ca href=\"https://github.com/shuheiktgw\"\u003e\u003ccode\u003e@​shuheiktgw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/goccy/go-yaml/pull/756\"\u003egoccy/go-yaml#756\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSkip directive in path operations by \u003ca href=\"https://github.com/shuheiktgw\"\u003e\u003ccode\u003e@​shuheiktgw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/goccy/go-yaml/pull/758\"\u003egoccy/go-yaml#758\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd indentation to flow values on new lines by \u003ca href=\"https://github.com/shuheiktgw\"\u003e\u003ccode\u003e@​shuheiktgw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/goccy/go-yaml/pull/759\"\u003egoccy/go-yaml#759\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for RawMessage, similar to json.RawMessage by \u003ca href=\"https://github.com/thanethomson\"\u003e\u003ccode\u003e@​thanethomson\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/goccy/go-yaml/pull/790\"\u003egoccy/go-yaml#790\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cpuguy83\"\u003e\u003ccode\u003e@​cpuguy83\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/goccy/go-yaml/pull/795\"\u003egoccy/go-yaml#795\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/thanethomson\"\u003e\u003ccode\u003e@​thanethomson\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/goccy/go-yaml/pull/790\"\u003egoccy/go-yaml#790\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/goccy/go-yaml/compare/v1.18.0...v1.19.0\"\u003ehttps://github.com/goccy/go-yaml/compare/v1.18.0...v1.19.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/goccy/go-yaml/commit/92bc79cb5f685e999ad131473168fc45215d12d9\"\u003e\u003ccode\u003e92bc79c\u003c/code\u003e\u003c/a\u003e Fix anchor reference regression in nested structures (\u003ca href=\"https://redirect.github.com/goccy/go-yaml/issues/839\"\u003e#839\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/goccy/go-yaml/commit/b0ab06985557a2d84913ecba6dda0dbedbd5e154\"\u003e\u003ccode\u003eb0ab069\u003c/code\u003e\u003c/a\u003e Support line comment for flow sequence or flow map (\u003ca href=\"https://redirect.github.com/goccy/go-yaml/issues/834\"\u003e#834\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/goccy/go-yaml/commit/9e98b0c753ff2b8f0b323929c9c60fe7951d0f45\"\u003e\u003ccode\u003e9e98b0c\u003c/code\u003e\u003c/a\u003e Fix decoding of integer keys of map type (\u003ca href=\"https://redirect.github.com/goccy/go-yaml/issues/829\"\u003e#829\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/goccy/go-yaml/commit/a7b4bfbcf4a41152862ffba5cce666631bc04bb1\"\u003e\u003ccode\u003ea7b4bfb\u003c/code\u003e\u003c/a\u003e Add support for RawMessage, similar to json.RawMessage (\u003ca href=\"https://redirect.github.com/goccy/go-yaml/issues/790\"\u003e#790\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/goccy/go-yaml/commit/07c09c028744e7aac32d1b11279a401055d107f5\"\u003e\u003ccode\u003e07c09c0\u003c/code\u003e\u003c/a\u003e Add indentation to flow values on new lines (\u003ca href=\"https://redirect.github.com/goccy/go-yaml/issues/759\"\u003e#759\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/goccy/go-yaml/commit/0040ab4161153c5b812ae51984d3967ad3dbd068\"\u003e\u003ccode\u003e0040ab4\u003c/code\u003e\u003c/a\u003e Skip directive in path operations (\u003ca href=\"https://redirect.github.com/goccy/go-yaml/issues/758\"\u003e#758\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/goccy/go-yaml/commit/7901e98f54d280a553a0d606c91a82fa89493928\"\u003e\u003ccode\u003e7901e98\u003c/code\u003e\u003c/a\u003e Support non string map keys (\u003ca href=\"https://redirect.github.com/goccy/go-yaml/issues/756\"\u003e#756\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/goccy/go-yaml/commit/f4d13479ba3d44541a65d0dffeab5e3fa805413a\"\u003e\u003ccode\u003ef4d1347\u003c/code\u003e\u003c/a\u003e Normalize CR and CRLF in multi-line strings (\u003ca href=\"https://redirect.github.com/goccy/go-yaml/issues/754\"\u003e#754\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/goccy/go-yaml/commit/90e852559132e85734ab0c9a48b3a912ebd3f060\"\u003e\u003ccode\u003e90e8525\u003c/code\u003e\u003c/a\u003e Add decode option that allows specific field prefixes (\u003ca href=\"https://redirect.github.com/goccy/go-yaml/issues/795\"\u003e#795\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/goccy/go-yaml/commit/25e5d9094248e480434ca87d9119e3d9ce7ac1d7\"\u003e\u003ccode\u003e25e5d90\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;feat: Dont make copies of structs for validation (\u003ca href=\"https://redirect.github.com/goccy/go-yaml/issues/737\"\u003e#737\u003c/a\u003e)\u0026quot; (\u003ca href=\"https://redirect.github.com/goccy/go-yaml/issues/763\"\u003e#763\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/goccy/go-yaml/compare/v1.18.0...v1.19.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/google/go-containerregistry` from 0.20.7 to 0.21.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/google/go-containerregistry/releases\"\u003egithub.com/google/go-containerregistry's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.21.6\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: update dependencies to use new azure sdk components by \u003ca href=\"https://github.com/gaganhr94\"\u003e\u003ccode\u003e@​gaganhr94\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2262\"\u003egoogle/go-containerregistry#2262\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etransport: restore resp.Body in retryError so CheckError can parse it by \u003ca href=\"https://github.com/alliasgher\"\u003e\u003ccode\u003e@​alliasgher\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2264\"\u003egoogle/go-containerregistry#2264\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003epkg/registry: return 202 Accepted for PATCH chunk uploads by \u003ca href=\"https://github.com/alliasgher\"\u003e\u003ccode\u003e@​alliasgher\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2265\"\u003egoogle/go-containerregistry#2265\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFollow OCI distribution spec for artifactType and annotations by \u003ca href=\"https://github.com/malt3\"\u003e\u003ccode\u003e@​malt3\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2269\"\u003egoogle/go-containerregistry#2269\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eactions: attach Codecov token to coverage tests on main by \u003ca href=\"https://github.com/Subserial\"\u003e\u003ccode\u003e@​Subserial\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2270\"\u003egoogle/go-containerregistry#2270\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eremote: use DeleteScope (with \u0026quot;delete\u0026quot; action) for manifest deletion by \u003ca href=\"https://github.com/alliasgher\"\u003e\u003ccode\u003e@​alliasgher\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2266\"\u003egoogle/go-containerregistry#2266\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eremote: limit concurrent layer pulls by \u003ca href=\"https://github.com/gnix0\"\u003e\u003ccode\u003e@​gnix0\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2271\"\u003egoogle/go-containerregistry#2271\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003epkg/registry: reject corrupt disk blobs by \u003ca href=\"https://github.com/gnix0\"\u003e\u003ccode\u003e@​gnix0\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2272\"\u003egoogle/go-containerregistry#2272\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003emutate: close layer readers during export by \u003ca href=\"https://github.com/gnix0\"\u003e\u003ccode\u003e@​gnix0\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2277\"\u003egoogle/go-containerregistry#2277\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ecrane/flatten: preserve image media type when flattening by \u003ca href=\"https://github.com/alliasgher\"\u003e\u003ccode\u003e@​alliasgher\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2267\"\u003egoogle/go-containerregistry#2267\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump goreleaser/goreleaser-action from 7.0.0 to 7.2.1 in the actions group across 1 directory by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2273\"\u003egoogle/go-containerregistry#2273\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump go.opentelemetry.io/otel from 1.36.0 to 1.41.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2278\"\u003egoogle/go-containerregistry#2278\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump the go-deps group across 3 directories with 6 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2280\"\u003egoogle/go-containerregistry#2280\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReplace go-homedir with os.UserHomeDir by \u003ca href=\"https://github.com/jammie-jelly\"\u003e\u003ccode\u003e@​jammie-jelly\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2282\"\u003egoogle/go-containerregistry#2282\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003epkg/name: only treat .localhost as non-HTTPS, not .local by \u003ca href=\"https://github.com/blackwell-systems\"\u003e\u003ccode\u003e@​blackwell-systems\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2281\"\u003egoogle/go-containerregistry#2281\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etransport: block unspecified IPs (0.0.0.0, ::) in validateRealmURL by \u003ca href=\"https://github.com/marwan9696\"\u003e\u003ccode\u003e@​marwan9696\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2285\"\u003egoogle/go-containerregistry#2285\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etest(mutate): add Extract round-trip test for filesystem object preservation by \u003ca href=\"https://github.com/blackwell-systems\"\u003e\u003ccode\u003e@​blackwell-systems\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2283\"\u003egoogle/go-containerregistry#2283\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eexperiments: remove deprecated support for estargz by \u003ca href=\"https://github.com/thaJeztah\"\u003e\u003ccode\u003e@​thaJeztah\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2288\"\u003egoogle/go-containerregistry#2288\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump aws-actions/configure-aws-credentials from 6.1.0 to 6.1.1 in the actions group by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2289\"\u003egoogle/go-containerregistry#2289\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: limit HTTP response body reads to prevent OOM by \u003ca href=\"https://github.com/evilgensec\"\u003e\u003ccode\u003e@​evilgensec\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2296\"\u003egoogle/go-containerregistry#2296\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump the go-deps group across 3 directories with 6 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2297\"\u003egoogle/go-containerregistry#2297\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etransport: block redirects from token server to private/link-local addresses (SSRF fix) by \u003ca href=\"https://github.com/evilgensec\"\u003e\u003ccode\u003e@​evilgensec\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2292\"\u003egoogle/go-containerregistry#2292\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003epkg/v1/mutate: preserve relative symlinks that stay within rootfs in Extract by \u003ca href=\"https://github.com/anishesg\"\u003e\u003ccode\u003e@​anishesg\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2279\"\u003egoogle/go-containerreg...\n\n_Description has been truncated_","html_url":"https://github.com/akuity/kargo/pull/6345","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/akuity%2Fkargo/issues/6345","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/6345/packages"},{"uuid":"4473920402","node_id":"PR_kwDOLMiOMM7c5GPp","number":79,"state":"closed","title":"chore(deps): bump the common group across 1 directory with 12 updates","user":"dependabot[bot]","labels":["dependencies","go"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-05-25T22:43:27.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-19T02:22:28.000Z","updated_at":"2026-05-25T22:43:29.000Z","time_to_close":591659,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"common","update_count":12,"packages":[{"name":"github.com/docker/docker","old_version":"27.5.1+incompatible","new_version":"28.5.2+incompatible","repository_url":"https://github.com/docker/docker"},{"name":"github.com/gin-gonic/gin","old_version":"1.10.0","new_version":"1.12.0","repository_url":"https://github.com/gin-gonic/gin"},{"name":"github.com/klauspost/compress","old_version":"1.18.0","new_version":"1.18.6","repository_url":"https://github.com/klauspost/compress"},{"name":"github.com/samber/lo","old_version":"1.49.1","new_version":"1.53.0","repository_url":"https://github.com/samber/lo"},{"name":"github.com/spf13/afero","old_version":"1.14.0","new_version":"1.15.0","repository_url":"https://github.com/spf13/afero"},{"name":"github.com/spf13/cast","old_version":"1.7.1","new_version":"1.10.0","repository_url":"https://github.com/spf13/cast"},{"name":"github.com/ulikunitz/xz","old_version":"0.5.12","new_version":"0.5.15","repository_url":"https://github.com/ulikunitz/xz"},{"name":"github.com/urfave/cli/v3","old_version":"3.0.0-beta1","new_version":"3.9.0","repository_url":"https://github.com/urfave/cli"}],"path":null,"ecosystem":"go"},"body":"Bumps the common group with 8 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [github.com/docker/docker](https://github.com/docker/docker) | `27.5.1+incompatible` | `28.5.2+incompatible` |\n| [github.com/gin-gonic/gin](https://github.com/gin-gonic/gin) | `1.10.0` | `1.12.0` |\n| [github.com/klauspost/compress](https://github.com/klauspost/compress) | `1.18.0` | `1.18.6` |\n| [github.com/samber/lo](https://github.com/samber/lo) | `1.49.1` | `1.53.0` |\n| [github.com/spf13/afero](https://github.com/spf13/afero) | `1.14.0` | `1.15.0` |\n| [github.com/spf13/cast](https://github.com/spf13/cast) | `1.7.1` | `1.10.0` |\n| [github.com/ulikunitz/xz](https://github.com/ulikunitz/xz) | `0.5.12` | `0.5.15` |\n| [github.com/urfave/cli/v3](https://github.com/urfave/cli) | `3.0.0-beta1` | `3.9.0` |\n\n\nUpdates `github.com/docker/docker` from 27.5.1+incompatible to 28.5.2+incompatible\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/docker/docker/releases\"\u003egithub.com/docker/docker's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev28.5.2\u003c/h2\u003e\n\u003ch2\u003e28.5.2\u003c/h2\u003e\n\u003cp\u003eFor a full list of pull requests and changes in this release, refer to the relevant GitHub milestones:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/docker/cli/issues?q=is%3Aclosed+milestone%3A28.5.2\"\u003edocker/cli, 28.5.2 milestone\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/moby/moby/issues?q=is%3Aclosed+milestone%3A28.5.2\"\u003emoby/moby, 28.5.2 milestone\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!CAUTION]\nThis release contains fixes for three high-severity security vulnerabilities in runc:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/opencontainers/runc/security/advisories/GHSA-9493-h29p-rfm2\"\u003eCVE-2025-31133\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/opencontainers/runc/security/advisories/GHSA-qw9x-cqr3-wc7r\"\u003eCVE-2025-52565\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/opencontainers/runc/security/advisories/GHSA-cgrx-mc8f-2prm\"\u003eCVE-2025-52881\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eAll three vulnerabilities ultimately allow (through different methods) for full container breakouts by bypassing runc's restrictions for writing to arbitrary \u003ccode\u003e/proc\u003c/code\u003e files.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003ePackaging updates\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate runc to \u003ca href=\"https://github.com/opencontainers/runc/releases/tag/v1.3.3\"\u003ev1.3.3\u003c/a\u003e. \u003ca href=\"https://redirect.github.com/moby/moby/pull/51394\"\u003emoby/moby#51394\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes and enhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edockerd-rootless.sh: if slirp4netns is not installed, try using pasta (passt). \u003ca href=\"https://redirect.github.com/moby/moby/pull/51162\"\u003emoby/moby#51162\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate Go runtime to \u003ca href=\"https://go.dev/doc/devel/release#go1.24.9\"\u003e1.24.9\u003c/a\u003e. \u003ca href=\"https://redirect.github.com/moby/moby/pull/51387\"\u003emoby/moby#51387\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/docker/cli/pull/6613\"\u003edocker/cli#6613\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDeprecations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eGo-SDK: cli/command/image/build: deprecate \u003ccode\u003eDefaultDockerfileName\u003c/code\u003e, \u003ccode\u003eDetectArchiveReader\u003c/code\u003e, \u003ccode\u003eWriteTempDockerfile\u003c/code\u003e, \u003ccode\u003eResolveAndValidateContextPath\u003c/code\u003e. These utilities were only used internally and will be removed in the next release. \u003ca href=\"https://redirect.github.com/docker/cli/pull/6610\"\u003edocker/cli#6610\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eGo-SDK: cli/command/image/build: deprecate IsArchive utility. \u003ca href=\"https://redirect.github.com/docker/cli/pull/6560\"\u003edocker/cli#6560\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eGo-SDK: opts: deprecate \u003ccode\u003eValidateMACAddress\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/docker/cli/pull/6560\"\u003edocker/cli#6560\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eGo-SDK: opts: deprecate ListOpts.Delete(). \u003ca href=\"https://redirect.github.com/docker/cli/pull/6560\"\u003edocker/cli#6560\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev28.5.1\u003c/h2\u003e\n\u003ch2\u003e28.5.1\u003c/h2\u003e\n\u003cp\u003eFor a full list of pull requests and changes in this release, refer to the relevant GitHub milestones:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/docker/cli/issues?q=is%3Aclosed+milestone%3A28.5.1\"\u003edocker/cli, 28.5.1 milestone\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/moby/moby/issues?q=is%3Aclosed+milestone%3A28.5.1\"\u003emoby/moby, 28.5.1 milestone\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDeprecated and removed features, see \u003ca href=\"https://github.com/docker/cli/blob/v28.5.1/docs/deprecated.md\"\u003eDeprecated Features\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eChanges to the Engine API, see \u003ca href=\"https://github.com/moby/moby/blob/v28.5.1/docs/api/version-history.md\"\u003eAPI version history\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes and enhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate BuildKit to v0.25.1. \u003ca href=\"https://redirect.github.com/moby/moby/pull/51137\"\u003emoby/moby#51137\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate Go runtime to \u003ca href=\"https://go.dev/doc/devel/release#go1.24.8\"\u003e1.24.8\u003c/a\u003e. \u003ca href=\"https://redirect.github.com/moby/moby/pull/51133\"\u003emoby/moby#51133\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/docker/cli/pull/6541\"\u003edocker/cli#6541\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDeprecations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eapi/types/image: InspectResponse: deprecate \u003ccode\u003eParent\u003c/code\u003e and \u003ccode\u003eDockerVersion\u003c/code\u003e fields. \u003ca href=\"https://redirect.github.com/moby/moby/pull/51105\"\u003emoby/moby#51105\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eapi/types/plugin: deprecate \u003ccode\u003eConfig.DockerVersion\u003c/code\u003e field. \u003ca href=\"https://redirect.github.com/moby/moby/pull/51110\"\u003emoby/moby#51110\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/moby/moby/commit/89c5e8fd66634b6128fc4c0e6f1236e2540e46e0\"\u003e\u003ccode\u003e89c5e8f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/docker/docker/issues/51396\"\u003e#51396\u003c/a\u003e from thaJeztah/28.x_backport_api_docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/moby/moby/commit/9b93878308cae892878febfa52ff0b5799bea7b0\"\u003e\u003ccode\u003e9b93878\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/docker/docker/issues/51395\"\u003e#51395\u003c/a\u003e from thaJeztah/28.x_backport_rootless_reject\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/moby/moby/commit/6178456763b64c360983c5a5ea35d4258171e91c\"\u003e\u003ccode\u003e6178456\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/docker/docker/issues/51398\"\u003e#51398\u003c/a\u003e from vvoland/51397-28.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/moby/moby/commit/0cae4e5c8f76756eaba81dbd23ef57fccac3033f\"\u003e\u003ccode\u003e0cae4e5\u003c/code\u003e\u003c/a\u003e vendor: github.com/moby/buildkit v0.25.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/moby/moby/commit/33cc06f6169ddba8f00c50a8c12494b54b1cb2fc\"\u003e\u003ccode\u003e33cc06f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/docker/docker/issues/51394\"\u003e#51394\u003c/a\u003e from vvoland/51393-28.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/moby/moby/commit/d525277410726d5f99e46b8b2ba60ea9b7011afa\"\u003e\u003ccode\u003ed525277\u003c/code\u003e\u003c/a\u003e api/docs: remove BuildCache.Parent field for API v1.42 and up\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/moby/moby/commit/2fbc51b4f895c75749896bf4655f7888a300bb9d\"\u003e\u003ccode\u003e2fbc51b\u003c/code\u003e\u003c/a\u003e dockerd-rootless.sh: reject DOCKERD_ROOTLESS_ROOTLESSKIT_NET=host\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/moby/moby/commit/bd98008c078ab4a4d99f0c1577e641dbfe191cfd\"\u003e\u003ccode\u003ebd98008\u003c/code\u003e\u003c/a\u003e integration-cli: Adjust nofile limits\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/moby/moby/commit/19675151a3d3b947501fcad1dcacbd00e6f4b23e\"\u003e\u003ccode\u003e1967515\u003c/code\u003e\u003c/a\u003e Dockerfile: update runc binary to v1.3.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/moby/moby/commit/44896604b8f50d9ba38199c25ed2c7d2d40318a7\"\u003e\u003ccode\u003e4489660\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/docker/docker/issues/51387\"\u003e#51387\u003c/a\u003e from thaJeztah/28.x_bump_go\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/docker/docker/compare/v27.5.1...v28.5.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/gin-gonic/gin` from 1.10.0 to 1.12.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/gin-gonic/gin/releases\"\u003egithub.com/gin-gonic/gin's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.12.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e192ac89eefc1c30f7c97ae48a9ffb1c6f1c8c8bc: feat(binding): add support for encoding.UnmarshalText in uri/query binding (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4203\"\u003e#4203\u003c/a\u003e) (\u003ca href=\"https://github.com/takanuva15\"\u003e\u003ccode\u003e@​takanuva15\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e53410d2e07054369e0960fbe2eed97e1b9966f12: feat(context): add GetError and GetErrorSlice methods for error retrieval (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4502\"\u003e#4502\u003c/a\u003e) (\u003ca href=\"https://github.com/raju-mechatronics\"\u003e\u003ccode\u003e@​raju-mechatronics\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eacc55e049e33b401e810dbd8c0d6dcb6b3ba2b05: feat(context): add Protocol Buffers support to content negotiation (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4423\"\u003e#4423\u003c/a\u003e) (\u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e38e765119241d990705169bedb5002a29ae0cbd1: feat(context): implemented Delete method (\u003ca href=\"https://github.com/Spyder01\"\u003e\u003ccode\u003e@​Spyder01\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e771dcc6476d7bc6abb9ec0235ecefa4d38fe6fb0: feat(gin): add option to use escaped path (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4420\"\u003e#4420\u003c/a\u003e) (\u003ca href=\"https://github.com/ldesauw\"\u003e\u003ccode\u003e@​ldesauw\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e4dec17afdff48e8018c83618fbbe69fceeb2b41d: feat(logger): color latency (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4146\"\u003e#4146\u003c/a\u003e) (\u003ca href=\"https://github.com/wsyqn6\"\u003e\u003ccode\u003e@​wsyqn6\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ed7776de7d444935ea4385999711bd6331a98fecb: feat(render): add bson protocol (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4145\"\u003e#4145\u003c/a\u003e) (\u003ca href=\"https://github.com/laurentcau\"\u003e\u003ccode\u003e@​laurentcau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eb917b14ff9d189f16a7492be79d123a47806ee19: fix(binding): empty value error (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/2169\"\u003e#2169\u003c/a\u003e) (\u003ca href=\"https://github.com/guonaihong\"\u003e\u003ccode\u003e@​guonaihong\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ec3d1092b3b48addf6f9cd00fe274ec3bd14650eb: fix(binding): improve empty slice/array handling in form binding (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4380\"\u003e#4380\u003c/a\u003e) (\u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e9914178584e42458ff7d23891463a880f58c9d86: fix(context): ClientIP handling for multiple X-Forwarded-For header values (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4472\"\u003e#4472\u003c/a\u003e) (\u003ca href=\"https://github.com/Nurysso\"\u003e\u003ccode\u003e@​Nurysso\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e2a794cd0b0faa7d829291375b27a3467ea972b0d: fix(debug): version mismatch (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4403\"\u003e#4403\u003c/a\u003e) (\u003ca href=\"https://github.com/zeek0x\"\u003e\u003ccode\u003e@​zeek0x\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ec3d5a28ed6d3849da820195b6774d212bcc038a9: fix(gin): close os.File in RunFd to prevent resource leak (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4422\"\u003e#4422\u003c/a\u003e) (\u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e5fad976b372e381312f8de69f0969f1284d229d3: fix(gin): literal colon routes not working with engine.Handler() (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4415\"\u003e#4415\u003c/a\u003e) (\u003ca href=\"https://github.com/pawannn\"\u003e\u003ccode\u003e@​pawannn\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e63dd3e60cab89c27fb66bce1423bd268d52abad1: fix(recover): suppress http.ErrAbortHandler in recover (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4336\"\u003e#4336\u003c/a\u003e) (\u003ca href=\"https://github.com/MondayCha\"\u003e\u003ccode\u003e@​MondayCha\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e5c00df8afadd06cc5be530dde00fe6d9fa4a2e4a: fix(render): write content length in Data.Render (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4206\"\u003e#4206\u003c/a\u003e) (\u003ca href=\"https://github.com/dengaleev\"\u003e\u003ccode\u003e@​dengaleev\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e234a6d4c00cb77af9852aca0b8289745d5529b4b: fix(response): refine hijack behavior for response lifecycle (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4373\"\u003e#4373\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e472d086af2acd924cb4b9d7be0525f7d790f69bc: fix(tree): panic in findCaseInsensitivePathRec with RedirectFixedPath (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4535\"\u003e#4535\u003c/a\u003e) (\u003ca href=\"https://github.com/veeceey\"\u003e\u003ccode\u003e@​veeceey\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e8e07d37c63e5536eb25f4af4c91eabeee4011fba: fix: Correct typos, improve documentation clarity, and remove dead code (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4511\"\u003e#4511\u003c/a\u003e) (\u003ca href=\"https://github.com/mahanadh\"\u003e\u003ccode\u003e@​mahanadh\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eba093d19477b896ac89a7fc3246af23d290b8e26: chore(binding): upgrade bson dependency to mongo-driver v2 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4549\"\u003e#4549\u003c/a\u003e) (\u003ca href=\"https://github.com/BobDu\"\u003e\u003ccode\u003e@​BobDu\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eb2b489dbf4826c2c630717a77fd5e42774625410: chore(context): always trust xff headers from unix socket (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/3359\"\u003e#3359\u003c/a\u003e) (\u003ca href=\"https://github.com/WeidiDeng\"\u003e\u003ccode\u003e@​WeidiDeng\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eecb3f7b5e2f3915bf1db240ed5eee572f8dbea36: chore(deps): upgrade golang.org/x/crypto to v0.45.0 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4449\"\u003e#4449\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eaf6e8b70b8261bb0c99ad094fe552ab92991620a: chore(deps): upgrade quic-go to v0.57.1 (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edb309081bc5c137b2aa15701ef53f7f19788da25: chore(logger): allow skipping query string output (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4547\"\u003e#4547\u003c/a\u003e) (\u003ca href=\"https://github.com/USA-RedDragon\"\u003e\u003ccode\u003e@​USA-RedDragon\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e26c3a628655cad2388380cb8102d6ce7d4875f3b: chore(response): prevent Flush() panic when \u003ccode\u003ehttp.Flusher\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4479\"\u003e#4479\u003c/a\u003e) (\u003ca href=\"https://github.com/Twacqwq\"\u003e\u003ccode\u003e@​Twacqwq\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e5dd833f1f26de0eb30eae47b17e05ced2482dc41: chore: bump minimum Go version to 1.24 and update workflows (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4388\"\u003e#4388\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRefactor\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e39858a0859c914bd26948fa950477e11bd8d3823: refactor(binding): use maps.Copy for cleaner map handling (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4352\"\u003e#4352\u003c/a\u003e) (\u003ca href=\"https://github.com/russcoss\"\u003e\u003ccode\u003e@​russcoss\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ec0048f645ee945c4db30593afdea10123e2c30a6: refactor(context): omit the return value names (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4395\"\u003e#4395\u003c/a\u003e) (\u003ca href=\"https://github.com/wanghaolong613\"\u003e\u003ccode\u003e@​wanghaolong613\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e915e4c90d28ec4cffc6eb146e208ab5a65eac772: refactor(context): replace hardcoded localhost IPs with constants (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4481\"\u003e#4481\u003c/a\u003e) (\u003ca href=\"https://github.com/pauloappbr\"\u003e\u003ccode\u003e@​pauloappbr\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e414de60574449457f3192a7a1d5528940db2836d: refactor(context): using maps.Clone (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4333\"\u003e#4333\u003c/a\u003e) (\u003ca href=\"https://github.com/cuiweixie\"\u003e\u003ccode\u003e@​cuiweixie\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e59e9d4a794f12c4f9a6c7bed441b9644e5f6d99b: refactor(ginS): use sync.OnceValue to simplify engine function (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4314\"\u003e#4314\u003c/a\u003e) (\u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e3ab698dc5110af1977d57226e4995c57dd34c233: refactor(recovery): smart error comparison (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4142\"\u003e#4142\u003c/a\u003e) (\u003ca href=\"https://github.com/zeek0x\"\u003e\u003ccode\u003e@​zeek0x\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ed1a15347b1e45a8ee816193d3578a93bfd73b70f: refactor(utils): move util functions to utils.go (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4467\"\u003e#4467\u003c/a\u003e) (\u003ca href=\"https://github.com/zeek0x\"\u003e\u003ccode\u003e@​zeek0x\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ee3118cc378d263454098924ebbde7e8d1dd2e904: refactor: for loop can be modernized using range over int (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4392\"\u003e#4392\u003c/a\u003e) (\u003ca href=\"https://github.com/wanghaolong613\"\u003e\u003ccode\u003e@​wanghaolong613\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e488f8c3ffa579a8d19beb2bae95ff8ef36b3d53f: refactor: replace magic numbers with named constants in bodyAllowedForStatus (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4529\"\u003e#4529\u003c/a\u003e) (\u003ca href=\"https://github.com/veeceey\"\u003e\u003ccode\u003e@​veeceey\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e9968c4bf9d5a99edc3eee2c068a4c9160ece8915: refactor: use b.Loop() to simplify the code and improve performance (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4389\"\u003e#4389\u003c/a\u003e) (\u003ca href=\"https://github.com/reddaisyy\"\u003e\u003ccode\u003e@​reddaisyy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ea85ef5ce4d0cda8834c59c855068ed48b51192d1: refactor: use b.Loop() to simplify the code and improve performance (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4432\"\u003e#4432\u003c/a\u003e) (\u003ca href=\"https://github.com/efcking\"\u003e\u003ccode\u003e@​efcking\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBuild process updates\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e61b67de522a189b568aced4c5c16917c558e3387: ci(bot): increase frequency and group updates for dependencies (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4367\"\u003e#4367\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efb27ef26c2fdfe25344b4c039d8a53551f9e912c: ci(lint): refactor test assertions and linter configuration (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4436\"\u003e#4436\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e93ff771e6dbf10e432864b30f3719ac5c84a4d4a: ci(sec): improve type safety and server organization in HTTP middleware (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4437\"\u003e#4437\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ee88fc8927a52b74f55bec0351604a56ac0aa1c51: ci(sec): schedule Trivy security scans to run daily at midnight UTC (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4439\"\u003e#4439\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e5e5ff3ace496a31b138b0820136a146bfb5de0ef: ci: replace vulnerability scanning workflow with Trivy integration (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4421\"\u003e#4421\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e00900fb3e1ea9dde33985a0e4f6afec793d5e786: ci: update CI workflows and standardize Trivy config quotes (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4531\"\u003e#4531\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eae3f524974fc4f55d18c9e7fae4614503c015226: ci: update Go version support to 1.25+ across CI and docs (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4550\"\u003e#4550\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/gin-gonic/gin/blob/master/CHANGELOG.md\"\u003egithub.com/gin-gonic/gin's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eGin v1.12.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat(render): add bson protocol (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4145\"\u003e#4145\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(context): add GetError and GetErrorSlice methods for error retrieval (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4502\"\u003e#4502\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(binding): add support for encoding.UnmarshalText in uri/query binding (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4203\"\u003e#4203\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(gin): add option to use escaped path (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4420\"\u003e#4420\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(context): add Protocol Buffers support to content negotiation (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4423\"\u003e#4423\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(context): implemented Delete method (\u003ca href=\"https://github.com/gin-gonic/gin/commit/38e7651\"\u003e#38e7651\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(logger): color latency (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4146\"\u003e#4146\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eperf(tree): reduce allocations in findCaseInsensitivePath (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4417\"\u003e#4417\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eperf(recovery): optimize line reading in stack function (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4466\"\u003e#4466\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eperf(path): replace regex with custom functions in redirectTrailingSlash (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4414\"\u003e#4414\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eperf(tree): optimize path parsing using strings.Count (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4246\"\u003e#4246\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(logger): allow skipping query string output (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4547\"\u003e#4547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(context): always trust xff headers from unix socket (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/3359\"\u003e#3359\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(response): prevent Flush() panic when the underlying ResponseWriter does not implement \u003ccode\u003ehttp.Flusher\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4479\"\u003e#4479\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(recovery): smart error comparison (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4142\"\u003e#4142\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(context): replace hardcoded localhost IPs with constants (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4481\"\u003e#4481\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(utils): move util functions to utils.go (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4467\"\u003e#4467\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(binding): use maps.Copy for cleaner map handling (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4352\"\u003e#4352\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(context): using maps.Clone (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4333\"\u003e#4333\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(ginS): use sync.OnceValue to simplify engine function (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4314\"\u003e#4314\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor: replace magic numbers with named constants in bodyAllowedForStatus (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4529\"\u003e#4529\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor: for loop can be modernized using range over int (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4392\"\u003e#4392\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(tree): panic in findCaseInsensitivePathRec with RedirectFixedPath (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4535\"\u003e#4535\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(render): write content length in Data.Render (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4206\"\u003e#4206\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(context): ClientIP handling for multiple X-Forwarded-For header values (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4472\"\u003e#4472\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(binding): empty value error (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/2169\"\u003e#2169\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(recover): suppress http.ErrAbortHandler in recover (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4336\"\u003e#4336\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(gin): literal colon routes not working with engine.Handler() (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4415\"\u003e#4415\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(gin): close os.File in RunFd to prevent resource leak (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4422\"\u003e#4422\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(response): refine hijack behavior for response lifecycle (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4373\"\u003e#4373\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(binding): improve empty slice/array handling in form binding (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4380\"\u003e#4380\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(debug): version mismatch (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4403\"\u003e#4403\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: correct typos, improve documentation clarity, and remove dead code (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4511\"\u003e#4511\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBuild process updates / CI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eci: update Go version support to 1.25+ across CI and docs (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4550\"\u003e#4550\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(binding): upgrade bson dependency to mongo-driver v2 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4549\"\u003e#4549\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eGin v1.11.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/73726dc606796a025971fe451f0aa6f1b9b847f6\"\u003e\u003ccode\u003e73726dc\u003c/code\u003e\u003c/a\u003e docs: update documentation to reflect Go version changes (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4552\"\u003e#4552\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/e292e5caa777bce70b66fe08c94cbe9cef3e2ec9\"\u003e\u003ccode\u003ee292e5c\u003c/code\u003e\u003c/a\u003e docs: document and finalize Gin v1.12.0 release (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4551\"\u003e#4551\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/ae3f524974fc4f55d18c9e7fae4614503c015226\"\u003e\u003ccode\u003eae3f524\u003c/code\u003e\u003c/a\u003e ci: update Go version support to 1.25+ across CI and docs (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4550\"\u003e#4550\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/38534e2bf98a06e1f62d6b24384e90b5f78699bf\"\u003e\u003ccode\u003e38534e2\u003c/code\u003e\u003c/a\u003e chore(deps): bump golang.org/x/net from 0.50.0 to 0.51.0 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4548\"\u003e#4548\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/472d086af2acd924cb4b9d7be0525f7d790f69bc\"\u003e\u003ccode\u003e472d086\u003c/code\u003e\u003c/a\u003e fix(tree): panic in findCaseInsensitivePathRec with RedirectFixedPath (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4535\"\u003e#4535\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/fb2583442c4d9bccb75e6d26f1aa6e7c01950db6\"\u003e\u003ccode\u003efb25834\u003c/code\u003e\u003c/a\u003e test(context): use http.StatusContinue constant instead of magic number 100 (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/6f1d5fe3cdb171a08928c3c9dd3fbcfc9ee1b521\"\u003e\u003ccode\u003e6f1d5fe\u003c/code\u003e\u003c/a\u003e test(render): add comprehensive error handling tests (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4541\"\u003e#4541\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/5c00df8afadd06cc5be530dde00fe6d9fa4a2e4a\"\u003e\u003ccode\u003e5c00df8\u003c/code\u003e\u003c/a\u003e fix(render): write content length in Data.Render (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4206\"\u003e#4206\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/db309081bc5c137b2aa15701ef53f7f19788da25\"\u003e\u003ccode\u003edb30908\u003c/code\u003e\u003c/a\u003e chore(logger): allow skipping query string output (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4547\"\u003e#4547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/ba093d19477b896ac89a7fc3246af23d290b8e26\"\u003e\u003ccode\u003eba093d1\u003c/code\u003e\u003c/a\u003e chore(binding): upgrade bson dependency to mongo-driver v2 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4549\"\u003e#4549\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/gin-gonic/gin/compare/v1.10.0...v1.12.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/klauspost/compress` from 1.18.0 to 1.18.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/klauspost/compress/releases\"\u003egithub.com/klauspost/compress's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.18.6\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003es2: Fix amd64 stack frame corruption by \u003ca href=\"https://github.com/klauspost\"\u003e\u003ccode\u003e@​klauspost\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/klauspost/compress/pull/1145\"\u003eklauspost/compress#1145\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003egzhttp: Canonicalize ETag header by \u003ca href=\"https://github.com/justinmayhew\"\u003e\u003ccode\u003e@​justinmayhew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/klauspost/compress/pull/1139\"\u003eklauspost/compress#1139\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eperf: pool hash tables in Go encode paths to reduce allocations by \u003ca href=\"https://github.com/huynhanx03\"\u003e\u003ccode\u003e@​huynhanx03\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/klauspost/compress/pull/1143\"\u003eklauspost/compress#1143\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/justinmayhew\"\u003e\u003ccode\u003e@​justinmayhew\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/klauspost/compress/pull/1139\"\u003eklauspost/compress#1139\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/huynhanx03\"\u003e\u003ccode\u003e@​huynhanx03\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/klauspost/compress/pull/1143\"\u003eklauspost/compress#1143\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/thaJeztah\"\u003e\u003ccode\u003e@​thaJeztah\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/klauspost/compress/pull/1144\"\u003eklauspost/compress#1144\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/klauspost/compress/compare/v1.18.5...v1.18.6\"\u003ehttps://github.com/klauspost/compress/compare/v1.18.5...v1.18.6\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.18.5\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ezstd: Fix crash when changing encoder dictionary with same ID by \u003ca href=\"https://github.com/klauspost\"\u003e\u003ccode\u003e@​klauspost\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/klauspost/compress/pull/1135\"\u003eklauspost/compress#1135\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ezstd: Default to full zero frames by \u003ca href=\"https://github.com/klauspost\"\u003e\u003ccode\u003e@​klauspost\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/klauspost/compress/pull/1134\"\u003eklauspost/compress#1134\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eflate: Clean up histogram order by \u003ca href=\"https://github.com/klauspost\"\u003e\u003ccode\u003e@​klauspost\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/klauspost/compress/pull/1133\"\u003eklauspost/compress#1133\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/klauspost/compress/compare/v1.18.4...v1.18.5\"\u003ehttps://github.com/klauspost/compress/compare/v1.18.4...v1.18.5\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.18.4\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003egzhttp: Add zstandard to server handler wrapper by \u003ca href=\"https://github.com/klauspost\"\u003e\u003ccode\u003e@​klauspost\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/klauspost/compress/pull/1121\"\u003eklauspost/compress#1121\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ezstd: Add ResetWithOptions to encoder/decoder by \u003ca href=\"https://github.com/klauspost\"\u003e\u003ccode\u003e@​klauspost\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/klauspost/compress/pull/1122\"\u003eklauspost/compress#1122\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003egzhttp: preserve qvalue when extra parameters follow in Accept-Encoding by \u003ca href=\"https://github.com/analytically\"\u003e\u003ccode\u003e@​analytically\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/klauspost/compress/pull/1116\"\u003eklauspost/compress#1116\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/analytically\"\u003e\u003ccode\u003e@​analytically\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/klauspost/compress/pull/1116\"\u003eklauspost/compress#1116\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ethaizone\"\u003e\u003ccode\u003e@​ethaizone\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/klauspost/compress/pull/1124\"\u003eklauspost/compress#1124\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zwass\"\u003e\u003ccode\u003e@​zwass\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/klauspost/compress/pull/1125\"\u003eklauspost/compress#1125\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/klauspost/compress/compare/v1.18.2...v1.18.4\"\u003ehttps://github.com/klauspost/compress/compare/v1.18.2...v1.18.4\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.18.3\u003c/h2\u003e\n\u003cp\u003eDownstream CVE-2025-61728\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://redirect.github.com/golang/go/issues/77102\"\u003egolang/go#77102\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/klauspost/compress/compare/v1.18.2...v1.18.3\"\u003ehttps://github.com/klauspost/compress/compare/v1.18.2...v1.18.3\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.18.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eflate: Fix invalid encoding on level 9 with single value input by \u003ca href=\"https://github.com/klauspost\"\u003e\u003ccode\u003e@​klauspost\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/klauspost/compress/pull/1115\"\u003eklauspost/compress#1115\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eflate: reduce stateless allocations by \u003ca href=\"https://github.com/RXamzin\"\u003e\u003ccode\u003e@​RXamzin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/klauspost/compress/pull/1106\"\u003eklauspost/compress#1106\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump github/codeql-action from 3.30.5 to 4.31.2 in the github-actions group by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/klauspost/compress/pull/1111\"\u003eklauspost/compress#1111\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ccode\u003ev1.18.1\u003c/code\u003e is marked \u0026quot;retracted\u0026quot; due to invalid flate/zip/gzip encoding.\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/klauspost/compress/commit/ac2f5e87a3089bd58c974ca53cef71c7aa8bf877\"\u003e\u003ccode\u003eac2f5e8\u003c/code\u003e\u003c/a\u003e docs: use unix line-endings for markdown files (\u003ca href=\"https://redirect.github.com/klauspost/compress/issues/1144\"\u003e#1144\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/klauspost/compress/commit/620d7b5cfbf89fbfdf69884f8a561a2981c25b11\"\u003e\u003ccode\u003e620d7b5\u003c/code\u003e\u003c/a\u003e s2: Fix amd64 stack frame corruption (\u003ca href=\"https://redirect.github.com/klauspost/compress/issues/1145\"\u003e#1145\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/klauspost/compress/commit/1b63f2fece784da6334068c671e3f94366bf9d68\"\u003e\u003ccode\u003e1b63f2f\u003c/code\u003e\u003c/a\u003e build(deps): bump the github-actions group with 2 updates (\u003ca href=\"https://redirect.github.com/klauspost/compress/issues/1141\"\u003e#1141\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/klauspost/compress/commit/3d86b893733380c370eba876f5beaaf63aeeea94\"\u003e\u003ccode\u003e3d86b89\u003c/code\u003e\u003c/a\u003e s2: pool hash tables in Go encode paths to reduce allocations (\u003ca href=\"https://redirect.github.com/klauspost/compress/issues/1143\"\u003e#1143\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/klauspost/compress/commit/15967def6890f5494829394274686436976c4936\"\u003e\u003ccode\u003e15967de\u003c/code\u003e\u003c/a\u003e gzhttp: Canonicalize ETag header (\u003ca href=\"https://redirect.github.com/klauspost/compress/issues/1139\"\u003e#1139\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/klauspost/compress/commit/c5e0077f50a3268a27b02816adc48ebfb535c65e\"\u003e\u003ccode\u003ec5e0077\u003c/code\u003e\u003c/a\u003e zstd: Fix encoder changing dictionary with same ID (\u003ca href=\"https://redirect.github.com/klauspost/compress/issues/1135\"\u003e#1135\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/klauspost/compress/commit/fd3f23e2d1d0fca18f38ee2dfedb73d0ca5b02e5\"\u003e\u003ccode\u003efd3f23e\u003c/code\u003e\u003c/a\u003e zstd: Default to full zero frames (\u003ca href=\"https://redirect.github.com/klauspost/compress/issues/1134\"\u003e#1134\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/klauspost/compress/commit/8233c587ef6e7b0f5168bfc08e63ea37e97b2d36\"\u003e\u003ccode\u003e8233c58\u003c/code\u003e\u003c/a\u003e flate: Clean up histogram order (\u003ca href=\"https://redirect.github.com/klauspost/compress/issues/1133\"\u003e#1133\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/klauspost/compress/commit/bcf0d1289c8df01178af919dd5d8ff83afaa5471\"\u003e\u003ccode\u003ebcf0d12\u003c/code\u003e\u003c/a\u003e build(deps): bump the github-actions group with 3 updates (\u003ca href=\"https://redirect.github.com/klauspost/compress/issues/1132\"\u003e#1132\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/klauspost/compress/commit/cf758fe1c54e3049f302474d2a98afd3acc1a884\"\u003e\u003ccode\u003ecf758fe\u003c/code\u003e\u003c/a\u003e ci: Upgrade Go versions, clean up (\u003ca href=\"https://redirect.github.com/klauspost/compress/issues/1130\"\u003e#1130\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/klauspost/compress/compare/v1.18.0...v1.18.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/samber/lo` from 1.49.1 to 1.53.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/samber/lo/releases\"\u003egithub.com/samber/lo's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.53.0\u003c/h2\u003e\n\u003cp\u003eAnnouncing the latest release of \u003ccode\u003elo\u003c/code\u003e with lots of good gifts! 🎁\u003c/p\u003e\n\u003cp\u003e🌊 First, a big thanks to \u003ca href=\"https://github.com/d-enk\"\u003e\u003ccode\u003e@​d-enk\u003c/code\u003e\u003c/a\u003e for making lots of \u003cstrong\u003eperformance improvements\u003c/strong\u003e in the recent weeks.\u003c/p\u003e\n\u003cp\u003e🧪 Second, this release introduces a new \u003cstrong\u003e\u003ccode\u003esimd\u003c/code\u003e experimental package\u003c/strong\u003e. If you run on an amd64 architecture and a recent CPU, you can perform very fast operations thanks to SIMD CPU instructions.\n-\u0026gt; Documentation: \u003ca href=\"https://lo.samber.dev/docs/experimental/simd\"\u003ehttps://lo.samber.dev/docs/experimental/simd\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e💥 Third, this version adds \u003cstrong\u003e\u003ccode\u003e*Err\u003c/code\u003e variants\u003c/strong\u003e of many \u003ccode\u003elo\u003c/code\u003e helpers (like \u003cstrong\u003e\u003ccode\u003eMapErr\u003c/code\u003e, \u003ccode\u003eFlatMapErr\u003c/code\u003e, \u003ccode\u003eReduceErr\u003c/code\u003e, etc.\u003c/strong\u003e) whose callbacks can return an error and short-circuit execution when one occurs.\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!NOTE]\nThe \u003ccode\u003esimd\u003c/code\u003e sub-package is considered \u003cem\u003enot stable\u003c/em\u003e. We might break the initial API based on developers' feedback in the coming months.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003chr /\u003e\n\u003ch2\u003eFeatures \u0026amp; improvements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efeat: adding SIMD helpers by \u003ca href=\"https://github.com/samber\"\u003e\u003ccode\u003e@​samber\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/samber/lo/pull/801\"\u003esamber/lo#801\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: adding Error variants: MapErr, FlatMapErr, ReduceErr... by \u003ca href=\"https://github.com/samber\"\u003e\u003ccode\u003e@​samber\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/samber/lo/pull/823\"\u003esamber/lo#823\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: support for buffer iterator by \u003ca href=\"https://github.com/mimol91\"\u003e\u003ccode\u003e@​mimol91\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/samber/lo/pull/824\"\u003esamber/lo#824\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: add Take, TakeWhile, FilterTake, Window, and Sliding functions by \u003ca href=\"https://github.com/juliazadorozhnaya\"\u003e\u003ccode\u003e@​juliazadorozhnaya\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/samber/lo/pull/760\"\u003esamber/lo#760\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: add a Concat slice function. by \u003ca href=\"https://github.com/FGasper\"\u003e\u003ccode\u003e@​FGasper\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/samber/lo/pull/714\"\u003esamber/lo#714\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: add iterator slice helpers by \u003ca href=\"https://github.com/juliazadorozhnaya\"\u003e\u003ccode\u003e@​juliazadorozhnaya\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/samber/lo/pull/791\"\u003esamber/lo#791\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(it): adding loit.Concat by \u003ca href=\"https://github.com/samber\"\u003e\u003ccode\u003e@​samber\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/samber/lo/pull/722\"\u003esamber/lo#722\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: Allow Union/Intersect to take many lists by \u003ca href=\"https://github.com/frankywahl\"\u003e\u003ccode\u003e@​frankywahl\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/samber/lo/pull/181\"\u003esamber/lo#181\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: Add Clone function to return shallow copy of slice collections by \u003ca href=\"https://github.com/quexer\"\u003e\u003ccode\u003e@​quexer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/samber/lo/pull/732\"\u003esamber/lo#732\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: IntersectBy by \u003ca href=\"https://github.com/ghosx\"\u003e\u003ccode\u003e@​ghosx\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/samber/lo/pull/653\"\u003esamber/lo#653\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: Support Custom Assert by \u003ca href=\"https://github.com/RelicOfTesla\"\u003e\u003ccode\u003e@​RelicOfTesla\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/samber/lo/pull/755\"\u003esamber/lo#755\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: Must support Custom error handler. by \u003ca href=\"https://github.com/RelicOfTesla\"\u003e\u003ccode\u003e@​RelicOfTesla\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/samber/lo/pull/752\"\u003esamber/lo#752\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: WithoutNth handle non-comparable types by \u003ca href=\"https://github.com/urisimchoni\"\u003e\u003ccode\u003e@​urisimchoni\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/samber/lo/pull/774\"\u003esamber/lo#774\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor: remove unnecessary type arguments in \u003ccode\u003eNewThrottle\u003c/code\u003e by \u003ca href=\"https://github.com/d-enk\"\u003e\u003ccode\u003e@​d-enk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/samber/lo/pull/773\"\u003esamber/lo#773\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor: lo.IntersectBy + adding loit.IntersectBy + adding doc by \u003ca href=\"https://github.com/samber\"\u003e\u003ccode\u003e@​samber\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/samber/lo/pull/739\"\u003esamber/lo#739\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: rename IsSortedByKey to IsSortedBy by \u003ca href=\"https://github.com/NathanBaulch\"\u003e\u003ccode\u003e@​NathanBaulch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/samber/lo/pull/735\"\u003esamber/lo#735\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(iter/tuples): support break iteration over Zip[By] seq by \u003ca href=\"https://github.com/d-enk\"\u003e\u003ccode\u003e@​d-enk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/samber/lo/pull/757\"\u003esamber/lo#757\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(it.Mode): align behavior with lo.Mode and ensure consistent slice… by \u003ca href=\"https://github.com/intojhanurag\"\u003e\u003ccode\u003e@​intojhanurag\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/samber/lo/pull/711\"\u003esamber/lo#711\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: improve Clone function to preserve nilness and avoid liveness issues by \u003ca href=\"https://github.com/quexer\"\u003e\u003ccode\u003e@​quexer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/samber/lo/pull/740\"\u003esamber/lo#740\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: reset n counter per iteration in it.Replace by \u003ca href=\"https://github.com/LikimiaD\"\u003e\u003ccode\u003e@​LikimiaD\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/samber/lo/pull/799\"\u003esamber/lo#799\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: make Ellipsis operate on runes instead of bytes to prevent Unicode truncation by \u003ca href=\"https://github.com/veeceey\"\u003e\u003ccode\u003e@​veeceey\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/samber/lo/pull/796\"\u003esamber/lo#796\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: correct \u003ccode\u003eDropByIndex\u003c/code\u003e handling of negative indices out of bounds by \u003ca href=\"https://github.com/d-enk\"\u003e\u003ccode\u003e@​d-enk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/samber/lo/pull/778\"\u003esamber/lo#778\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDeprecation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003erefactor: remove helpers deprecated for more than 3y by \u003ca href=\"https://github.com/samber\"\u003e\u003ccode\u003e@​samber\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/samber/lo/pull/810\"\u003esamber/lo#810\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ePerformance improvements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efeat: Optimize UniqMap to reduce unnecessary slice preallocation by \u003ca href=\"https://github.com/ivolkoff\"\u003e\u003ccode\u003e@​ivolkoff\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/samber/lo/pull/710\"\u003esamber/lo#710\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor(it): simplify DropLast, TrimSuffix, TrimPrefix and use range loops by \u003ca href=\"https://github.com/d-enk\"\u003e\u003ccode\u003e@​d-enk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/samber/lo/pull/782\"\u003esamber/lo#782\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebench: fix iterators to actually iterate in benchmarks by \u003ca href=\"https://github.com/d-enk\"\u003e\u003ccode\u003e@​d-enk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/samber/lo/pull/781\"\u003esamber/lo#781\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor: simplify slice cut/trim prefix/suffix functions by \u003ca href=\"https://github.com/d-enk\"\u003e\u003ccode\u003e@​d-enk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/samber/lo/pull/787\"\u003esamber/lo#787\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eperf: optimize Sliding by pre-allocating result capacity by \u003ca href=\"https://github.com/d-enk\"\u003e\u003ccode\u003e@​d-enk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/samber/lo/pull/783\"\u003esamber/lo#783\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/samber/lo/commit/cf6fb4f9b08c1d3d6e309581316f106dc30b458e\"\u003e\u003ccode\u003ecf6fb4f\u003c/code\u003e\u003c/a\u003e bump v1.53.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/samber/lo/commit/56ef3beaf8adfea1908b094e49b3b639ea604aab\"\u003e\u003ccode\u003e56ef3be\u003c/code\u003e\u003c/a\u003e feat: support for buffer iterator (\u003ca href=\"https://redirect.github.com/samber/lo/issues/824\"\u003e#824\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/samber/lo/commit/6a9f881ae1ff32a7c650464615d175ef4c26d833\"\u003e\u003ccode\u003e6a9f881\u003c/code\u003e\u003c/a\u003e :lipstick:\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/samber/lo/commit/7f0c2e0297fc2fdffe9c69c254dee8d00f60c90a\"\u003e\u003ccode\u003e7f0c2e0\u003c/code\u003e\u003c/a\u003e feat: adding UnzipByErrX helpers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/samber/lo/commit/af46a13bfce4ae037193c23e05866df8d79cd163\"\u003e\u003ccode\u003eaf46a13\u003c/code\u003e\u003c/a\u003e feat: adding RejectErr helpers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/samber/lo/commit/6f42e74a117ce59882e92a9d4a5b05520d5dee33\"\u003e\u003ccode\u003e6f42e74\u003c/code\u003e\u003c/a\u003e doc: improve examples\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/samber/lo/commit/ff0e293ce3dbde1e80a1b1eb059078aa7d1442c4\"\u003e\u003ccode\u003eff0e293\u003c/code\u003e\u003c/a\u003e feat: adding FilterErr helpers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/samber/lo/commit/4bb58fd2c6d86bf54eb9408b8247d056b8f4a006\"\u003e\u003ccode\u003e4bb58fd\u003c/code\u003e\u003c/a\u003e feat: adding RepeatByErr helpers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/samber/lo/commit/72a33aa3970554921210253dcce90540d6e34388\"\u003e\u003ccode\u003e72a33aa\u003c/code\u003e\u003c/a\u003e feat: adding FilterKeysErr + FilterValuesErr helpers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/samber/lo/commit/dd1d58e324c2277117dbdbfa86f409473eda5ece\"\u003e\u003ccode\u003edd1d58e\u003c/code\u003e\u003c/a\u003e feat: adding FindDuplicatesByErr helper\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/samber/lo/compare/v1.49.1...v1.53.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/spf13/afero` from 1.14.0 to 1.15.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/spf13/afero/releases\"\u003egithub.com/spf13/afero's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.15.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump golangci/golangci-lint-action from 6.5.1 to 6.5.2 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/spf13/afero/pull/479\"\u003espf13/afero#479\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLint by \u003ca href=\"https://github.com/sagikazarmark\"\u003e\u003ccode\u003e@​sagikazarmark\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/spf13/afero/pull/492\"\u003espf13/afero#492\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump github/codeql-action from 2.13.4 to 3.28.15 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/spf13/afero/pull/494\"\u003espf13/afero#494\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump actions/dependency-review-action from 4.5.0 to 4.6.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/spf13/afero/pull/493\"\u003espf13/afero#493\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/setup-go from 5.3.0 to 5.4.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/spf13/afero/pull/480\"\u003espf13/afero#480\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump github/codeql-action from 3.28.15 to 3.28.16 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/spf13/afero/pull/496\"\u003espf13/afero#496\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003esupport aliyun oss storage with third-party link by \u003ca href=\"https://github.com/messikiller\"\u003e\u003ccode\u003e@​messikiller\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/spf13/afero/pull/491\"\u003espf13/afero#491\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump github/codeql-action from 3.28.16 to 3.28.17 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/spf13/afero/pull/497\"\u003espf13/afero#497\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: update x/test by \u003ca href=\"https://github.com/sagikazarmark\"\u003e\u003ccode\u003e@​sagikazarmark\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/spf13/afero/pull/502\"\u003espf13/afero#502\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump actions/setup-go from 5.4.0 to 5.5.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/spf13/afero/pull/503\"\u003espf13/afero#503\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump actions/dependency-review-action from 4.6.0 to 4.7.1 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/spf13/afero/pull/505\"\u003espf13/afero#505\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump github/codeql-action from 3.28.17 to 3.28.18 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/spf13/afero/pull/506\"\u003espf13/afero#506\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(gcsfs): update object not exist check logic by \u003ca href=\"https://github.com/ahkui\"\u003e\u003ccode\u003e@​ahkui\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/spf13/afero/pull/485\"\u003espf13/afero#485\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump ossf/scorecard-action from 2.4.1 to 2.4.2 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/spf13/afero/pull/508\"\u003espf13/afero#508\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump github/codeql-action from 3.28.18 to 3.29.4 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/spf13/afero/pull/519\"\u003espf13/afero#519\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump github/codeql-action from 3.29.4 to 3.29.7 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/spf13/afero/pull/524\"\u003espf13/afero#524\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump github/codeql-action from 3.29.7 to 3.30.1 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/spf13/afero/pull/537\"\u003espf13/afero#537\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump actions/setup-go from 5.5.0 to 6.0.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/spf13/afero/pull/536\"\u003espf13/afero#536\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump actions/dependency-review-action from 4.7.1 to 4.7.3 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/spf13/afero/pull/533\"\u003espf13/afero#533\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump actions/checkout from 4.2.2 to 5.0.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/spf13/afero/pull/527\"\u003espf13/afero#527\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: update deps by \u003ca href=\"https://github.com/sagikazarmark\"\u003e\u003ccode\u003e@​sagikazarmark\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/spf13/afero/pull/538\"\u003espf13/afero#538\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: spelling errors (excpected -\u0026gt; expected, iself -\u0026gt; itself) by \u003ca href=\"https://github.com/MarkRosemaker\"\u003e\u003ccode\u003e@​MarkRosemaker\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/spf13/afero/pull/523\"\u003espf13/afero#523\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/messikiller\"\u003e\u003ccode\u003e@​messikiller\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/spf13/afero/pull/491\"\u003espf13/afero#491\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ahkui\"\u003e\u003ccode\u003e@​ahkui\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/spf13/afero/pull/485\"\u003espf13/afero#485\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MarkRosemaker\"\u003e\u003ccode\u003e@​MarkRosemaker\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/spf13/afero/pull/523\"\u003espf13/afero#523\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/spf13/afero/compare/v1.14.0...v1.15.0\"\u003ehttps://github.com/spf13/afero/compare/v1.14.0...v1.15.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spf13/afero/commit/399bb34ad9fd8a252ad1d8bfaef96279b66dc774\"\u003e\u003ccode\u003e399bb34\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/spf13/afero/issues/523\"\u003e#523\u003c/a\u003e from MarkRosemaker/fix-spelling\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spf13/afero/commit/9b67716b675a40406678b57cefe0260699008630\"\u003e\u003ccode\u003e9b67716\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/spf13/afero/issues/538\"\u003e#538\u003c/a\u003e from spf13/deps\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spf13/afero/commit/f5f4f7bd6427212efca35481b3b8c749bbf06243\"\u003e\u003ccode\u003ef5f4f7b\u003c/code\u003e\u003c/a\u003e chore: update deps\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spf13/afero/commit/c245c4fc3df2e427d681479553a625c5ef0e1eb8\"\u003e\u003ccode\u003ec245c4f\u003c/code\u003e\u003c/a\u003e ci: update ci\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spf13/afero/commit/85c49563d6385bdc0d6873937d5a28c4a5c6f5e6\"\u003e\u003ccode\u003e85c4956\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/spf13/afero/issues/527\"\u003e#527\u003c/a\u003e from spf13/dependabot/github_actions/actions/checkout...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spf13/afero/commit/41206fdfdacaad1dffaad870ded6f497ae1b803a\"\u003e\u003ccode\u003e41206fd\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/checkout from 4.2.2 to 5.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spf13/afero/commit/a583fade54a843a334e7595da81e287aa7adb63a\"\u003e\u003ccode\u003ea583fad\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/spf13/afero/issues/533\"\u003e#533\u003c/a\u003e from spf13/dependabot/github_actions/actions/dependen...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spf13/afero/commit/673c03e4c1ba4512a26a91b42602f762a93647af\"\u003e\u003ccode\u003e673c03e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/spf13/afero/issues/536\"\u003e#536\u003c/a\u003e from spf13/dependabot/github_actions/actions/setup-go...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spf13/afero/commit/ac849f6a1820b81c052bf0a64e09fd10c8c7a3e0\"\u003e\u003ccode\u003eac849f6\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/spf13/afero/issues/537\"\u003e#537\u003c/a\u003e from spf13/dependabot/github_actions/github/codeql-ac...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spf13/afero/commit/9596fe84b763fd2e18267ac455a4cedba2655194\"\u003e\u003ccode\u003e9596fe8\u003c/code\u003e\u003c/a\u003e build(deps): bump github/codeql-action from 3.29.7 to 3.30.1\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/spf13/afero/compare/v1.14.0...v1.15.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/spf13/cast` from 1.7.1 to 1.10.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/spf13/cast/releases\"\u003egithub.com/spf13/cast's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.10.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ebuild(deps): bump ossf/scorecard-action from 2.4.1 to 2.4.2 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/spf13/cast/pull/275\"\u003espf13/cast#275\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump github/codeql-action from 3.28.18 to 3.28.19 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/spf13/cast/pull/277\"\u003espf13/cast#277\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump github/codeql-action from 3.28.19 to 3.29.5 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/spf13/cast/pull/289\"\u003espf13/cast#289\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump github/codeql-action from 3.29.7 to 3.29.10 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/spf13/cast/pull/296\"\u003espf13/cast#296\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump actions/dependency-review-action from 4.7.1 to 4.7.2 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/spf13/cast/pull/295\"\u003espf13/cast#295\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump actions/checkout from 4.2.2 to 5.0.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/spf13/cast/pull/293\"\u003espf13/cast#293\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump github/codeql-action from 3.29.10 to 3.30.1 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/spf13/cast/pull/301\"\u003espf13/cast#301\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump actions/setup-go from 5.5.0 to 6.0.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/spf13/cast/pull/300\"\u003espf13/cast#300\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump actions/dependency-review-action from 4.7.2 to 4.7.3 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/spf13/cast/pull/298\"\u003espf13/cast#298\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAlways return empty map instead of nil when conversion fails by \u003ca href=\"https://github.com/andig\"\u003e\u003ccode\u003e@​andig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/spf13/cast/pull/283\"\u003espf13/cast#283\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andig\"\u003e\u003ccode\u003e@​andig\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/spf13/cast/pull/283\"\u003espf13/cast#283\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/spf13/cast/compare/v1.9.2...v1.10.0\"\u003ehttps://github.com/spf13/cast/compare/v1.9.2...v1.10.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.9.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: float string to number parsing by \u003ca href=\"https://github.com/sagikazarmark\"\u003e\u003ccode\u003e@​sagikazarmark\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/spf13/cast/pull/276\"\u003espf13/cast#276\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/spf13/cast/compare/v1.9.1...v1.9.2\"\u003ehttps://github.com/spf13/cast/compare/v1.9.1...v1.9.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.9.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: indirection of typed nils by \u003ca href=\"https://github.com/sagikazarmark\"\u003e\u003ccode\u003e@​sagikazarmark\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/spf13/cast/pull/273\"\u003espf13/cast#273\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/spf13/cast/compare/v1.9.0...v1.9.1\"\u003ehttps://github.com/spf13/cast/compare/v1.9.0...v1.9.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.9.0\u003c/h2\u003e\n\u003ch2\u003eNotable new features 🎉\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eCasting \u003cem\u003efrom\u003c/em\u003e type aliases is now supported for basic types\u003c/li\u003e\n\u003cli\u003eAdded generic functions: \u003ccode\u003eTo\u003c/code\u003e/\u003ccode\u003eToE\u003c/code\u003e, \u003ccode\u003eMust\u003c/code\u003e, \u003ccode\u003eToNumber\u003c/code\u003e/\u003ccode\u003eToNumberE\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eIncreased test coverage\u003c/li\u003e\n\u003cli\u003eConverting float numbers from string is now supported\u003c/li\u003e\n\u003c/ul\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!WARNING]\nSince cast now supports converting float values from strings, a related edge case behaves differently:\u003c/p\u003e\n\u003cp\u003eIn previous versions, attempting to convert an empty string to a float \u003cstrong\u003eresulted in an error\u003c/strong\u003e.\u003c/p\u003e\n\u003cp\u003eStarting with this version, the same operation \u003cstrong\u003eno longer raises an error\u003c/strong\u003e.\u003c/p\u003e\n\u003cp\u003eTo maintain consistency with the rest of the library, an empty string now converts to the float value \u003ccode\u003e0.0\u003c/code\u003e.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spf13/cast/commit/fc73346bfc4e6597bc520fb6eea04360299e77d2\"\u003e\u003ccode\u003efc73346\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/spf13/cast/issues/283\"\u003e#283\u003c/a\u003e from andig/patch-1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spf13/cast/commit/6002cff5a3bc7b67b52c91999bab9e202bb4388b\"\u003e\u003ccode\u003e6002cff\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/spf13/cast/issues/298\"\u003e#298\u003c/a\u003e from spf13/dependabot/github_actions/actions/dependen...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spf13/cast/commit/c1c153d6ac13157b2144e3e0552b60c9b0f62bec\"\u003e\u003ccode\u003ec1c153d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/spf13/cast/issues/300\"\u003e#300\u003c/a\u003e from spf13/dependabot/github_actions/actions/setup-go...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spf13/cast/commit/39beeac4bdd40af0083006e06b505d370eee56e7\"\u003e\u003ccode\u003e39beeac\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/spf13/cast/issues/301\"\u003e#301\u003c/a\u003e from spf13/dependabot/github_actions/github/codeql-ac...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spf13/cast/commit/365e80cabc9ebdca18b3fc4e1f16cf664652b7b3\"\u003e\u003ccode\u003e365e80c\u003c/code\u003e\u003c/a\u003e build(deps): bump github/codeql-action from 3.29.10 to 3.30.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spf13/cast/commit/9f0f68b802eef3497be6e4ba9542d2bb409b884d\"\u003e\u003ccode\u003e9f0f68b\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/setup-go from 5.5.0 to 6.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spf13/cast/commit/d45dead50f72c7662de987b91c4944cee91395be\"\u003e\u003ccode\u003ed45dead\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/dependency-review-action from 4.7.2 to 4.7.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spf13/cast/commit/004f51d2ec5beb17864a67ea0828cf96954b95ef\"\u003e\u003ccode\u003e004f51d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/spf13/cast/issues/293\"\u003e#293\u003c/a\u003e from spf13/dependabot/github_actions/actions/checkout...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spf13/cast/commit/6458e07a1b5ec9f7dbd4884323a1406ef5cc0394\"\u003e\u003ccode\u003e6458e07\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/spf13/cast/issues/295\"\u003e#295\u003c/a\u003e from spf13/dependabot/github_actions/actions/dependen...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spf13/cast/commit/970d9ea674b57f4b950f3fa76e51e94e710b72a1\"\u003e\u003ccode\u003e970d9ea\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/spf13/cast/issues/296\"\u003e#296\u003c/a\u003e from spf13/dependabot/github_actions/github/codeql-ac...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/spf13/cast/compare/v1.7.1...v1.10.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/stretchr/testify` from 1.10.0 to 1.11.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/stretchr/testify/releases\"\u003egithub.com/stretchr/testify's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.11.1\u003c/h2\u003e\n\u003cp\u003eThis release fixes \u003ca href=\"https://redirect.github.com/stretchr/testify/issues/1785\"\u003e#1785\u003c/a\u003e introduced in v1.11.0 where expected argument values implementing the stringer interface (\u003ccode\u003eString() string\u003c/code\u003e) with a method which mutates their value, when passed to mock.Mock.On (\u003ccode\u003em.On(\u0026quot;Method\u0026quot;, \u0026lt;expected\u0026gt;).Return()\u003c/code\u003e) or actual argument values passed to mock.Mock.Called may no longer match one another where they previously did match. The behaviour prior to v1.11.0 where the stringer is always called is restored. Future testify releases may not call the stringer method at all in this case.\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBackport \u003ca href=\"https://redirect.github.com/stretchr/testify/issues/1786\"\u003e#1786\u003c/a\u003e to release/1.11: mock: revert to pre-v1.11.0 argument matching behavior for mutating stringers by \u003ca href=\"https://github.com/brackendawson\"\u003e\u003ccode\u003e@​brackendawson\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/stretchr/testify/pull/1788\"\u003estretchr/testify#1788\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/stretchr/testify/compare/v1.11.0...v1.11.1\"\u003ehttps://github.com/stretchr/testify/compare/v1.11.0...v1.11.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.11.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eFunctional Changes\u003c/h3\u003e\n\u003cp\u003ev1.11.0 Includes a number of performance improvements.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCall stack perf change for CallerInfo by \u003ca href=\"https://github.com/mikeauclair\"\u003e\u003ccode\u003e@​mikeauclair\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/stretchr/testify/pull/1614\"\u003estretchr/testify#1614\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLazily render mock diff output on successful match by \u003ca href=\"https://github.com/mikeauclair\"\u003e\u003ccode\u003e@​mikeauclair\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/stretchr/testify/pull/1615\"\u003estretchr/testify#1615\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eassert: check early in Eventually, EventuallyWithT, and Never by \u003ca href=\"https://github.com/cszczepaniak\"\u003e\u003ccode\u003e@​cszczepaniak\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/stretchr/testify/pull/1427\"\u003estretchr/testify#1427\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eassert: add IsNotType by \u003ca href=\"https://github.com/bartventer\"\u003e\u003ccode\u003e@​bartventer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/stretchr/testify/pull/1730\"\u003estretchr/testify#1730\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eassert.JSONEq: shortcut if same strings by \u003ca href=\"https://github.com/dolmen\"\u003e\u003ccode\u003e@​dolmen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/stretchr/testify/pull/1754\"\u003estretchr/testify#1754\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eassert.YAMLEq: shortcut if same strings by \u003ca href=\"https://github.com/dolmen\"\u003e\u003ccode\u003e@​dolmen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/stretchr/testify/pull/1755\"\u003estretchr/testify#1755\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eassert: faster and simpler isEmpty using reflect.Value.IsZero by \u003ca href=\"https://github.com/dolmen\"\u003e\u003ccode\u003e@​dolmen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/stretchr/testify/pull/1761\"\u003estretchr/testify#1761\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003esuite: faster methods filtering (internal refactor) by \u003ca href=\"https://github.com/dolmen\"\u003e\u003ccode\u003e@​dolmen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/stretchr/testify/pull/1758\"\u003estretchr/testify#1758\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eassert.ErrorAs: log target type by \u003ca href=\"https://github.com/craig65535\"\u003e\u003ccode\u003e@​craig65535\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/stretchr/testify/pull/1345\"\u003estretchr/testify#1345\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix failure message formatting for Positive and Negative asserts in \u003ca href=\"https://redirect.github.com/stretchr/testify/pull/1062\"\u003estretchr/testify#1062\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprove ErrorIs message when error is nil but an error was expected by \u003ca href=\"https://github.com/tsioftas\"\u003e\u003ccode\u003e@​tsioftas\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/stretchr/testify/pull/1681\"\u003estretchr/testify#1681\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix Subset/NotSubset when calling with mixed input types by \u003ca href=\"https://github.com/siliconbrain\"\u003e\u003ccode\u003e@​siliconbrain\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/stretchr/testify/pull/1729\"\u003estretchr/testify#1729\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprove ErrorAs failure message when error is nil by \u003ca href=\"https://github.com/ccoVeille\"\u003e\u003ccode\u003e@​ccoVeille\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/stretchr/testify/pull/1734\"\u003estretchr/testify#1734\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003emock.AssertNumberOfCalls: improve error msg by \u003ca href=\"https://github.com/3scalation\"\u003e\u003ccode\u003e@​3scalation\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/stretchr/testify/pull/1743\"\u003estretchr/testify#1743\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation, Build \u0026amp; CI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edocs: Fix typo in README by \u003ca href=\"https://github.com/alexandear\"\u003e\u003ccode\u003e@​alexandear\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/stretchr/testify/pull/1688\"\u003estretchr/testify#1688\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReplace deprecated io/ioutil with io and os by \u003ca href=\"https://github.com/alexandear\"\u003e\u003ccode\u003e@​alexandear\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/stretchr/testify/pull/1684\"\u003estretchr/testify#1684\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocument consequences of calling t.FailNow() by \u003ca href=\"https://github.com/greg0ire\"\u003e\u003ccode\u003e@​greg0ire\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/stretchr/testify/pull/1710\"\u003estretchr/testify#1710\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: update docs for Unset \u003ca href=\"https://redirect.github.com/stretchr/testify/issues/1621\"\u003e#1621\u003c/a\u003e by \u003c...\n\n_Description has been truncated_","html_url":"https://github.com/wuxler/ruasec/pull/79","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/wuxler%2Fruasec/issues/79","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/79/packages"},{"uuid":"4461808298","node_id":"PR_kwDOQuKcnM7cTBYj","number":10,"state":"open","title":"chore(deps): bump github.com/gin-gonic/gin from 1.10.1 to 1.12.0","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-17T00:45:35.000Z","updated_at":"2026-05-17T00:45:35.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)","packages":[{"name":"github.com/gin-gonic/gin","old_version":"1.10.1","new_version":"1.12.0","repository_url":"https://github.com/gin-gonic/gin"}],"path":null,"ecosystem":"go"},"body":"Bumps [github.com/gin-gonic/gin](https://github.com/gin-gonic/gin) from 1.10.1 to 1.12.0.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/gin-gonic/gin/releases\"\u003egithub.com/gin-gonic/gin's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.12.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e192ac89eefc1c30f7c97ae48a9ffb1c6f1c8c8bc: feat(binding): add support for encoding.UnmarshalText in uri/query binding (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4203\"\u003e#4203\u003c/a\u003e) (\u003ca href=\"https://github.com/takanuva15\"\u003e\u003ccode\u003e@​takanuva15\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e53410d2e07054369e0960fbe2eed97e1b9966f12: feat(context): add GetError and GetErrorSlice methods for error retrieval (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4502\"\u003e#4502\u003c/a\u003e) (\u003ca href=\"https://github.com/raju-mechatronics\"\u003e\u003ccode\u003e@​raju-mechatronics\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eacc55e049e33b401e810dbd8c0d6dcb6b3ba2b05: feat(context): add Protocol Buffers support to content negotiation (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4423\"\u003e#4423\u003c/a\u003e) (\u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e38e765119241d990705169bedb5002a29ae0cbd1: feat(context): implemented Delete method (\u003ca href=\"https://github.com/Spyder01\"\u003e\u003ccode\u003e@​Spyder01\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e771dcc6476d7bc6abb9ec0235ecefa4d38fe6fb0: feat(gin): add option to use escaped path (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4420\"\u003e#4420\u003c/a\u003e) (\u003ca href=\"https://github.com/ldesauw\"\u003e\u003ccode\u003e@​ldesauw\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e4dec17afdff48e8018c83618fbbe69fceeb2b41d: feat(logger): color latency (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4146\"\u003e#4146\u003c/a\u003e) (\u003ca href=\"https://github.com/wsyqn6\"\u003e\u003ccode\u003e@​wsyqn6\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ed7776de7d444935ea4385999711bd6331a98fecb: feat(render): add bson protocol (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4145\"\u003e#4145\u003c/a\u003e) (\u003ca href=\"https://github.com/laurentcau\"\u003e\u003ccode\u003e@​laurentcau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eb917b14ff9d189f16a7492be79d123a47806ee19: fix(binding): empty value error (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/2169\"\u003e#2169\u003c/a\u003e) (\u003ca href=\"https://github.com/guonaihong\"\u003e\u003ccode\u003e@​guonaihong\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ec3d1092b3b48addf6f9cd00fe274ec3bd14650eb: fix(binding): improve empty slice/array handling in form binding (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4380\"\u003e#4380\u003c/a\u003e) (\u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e9914178584e42458ff7d23891463a880f58c9d86: fix(context): ClientIP handling for multiple X-Forwarded-For header values (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4472\"\u003e#4472\u003c/a\u003e) (\u003ca href=\"https://github.com/Nurysso\"\u003e\u003ccode\u003e@​Nurysso\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e2a794cd0b0faa7d829291375b27a3467ea972b0d: fix(debug): version mismatch (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4403\"\u003e#4403\u003c/a\u003e) (\u003ca href=\"https://github.com/zeek0x\"\u003e\u003ccode\u003e@​zeek0x\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ec3d5a28ed6d3849da820195b6774d212bcc038a9: fix(gin): close os.File in RunFd to prevent resource leak (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4422\"\u003e#4422\u003c/a\u003e) (\u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e5fad976b372e381312f8de69f0969f1284d229d3: fix(gin): literal colon routes not working with engine.Handler() (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4415\"\u003e#4415\u003c/a\u003e) (\u003ca href=\"https://github.com/pawannn\"\u003e\u003ccode\u003e@​pawannn\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e63dd3e60cab89c27fb66bce1423bd268d52abad1: fix(recover): suppress http.ErrAbortHandler in recover (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4336\"\u003e#4336\u003c/a\u003e) (\u003ca href=\"https://github.com/MondayCha\"\u003e\u003ccode\u003e@​MondayCha\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e5c00df8afadd06cc5be530dde00fe6d9fa4a2e4a: fix(render): write content length in Data.Render (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4206\"\u003e#4206\u003c/a\u003e) (\u003ca href=\"https://github.com/dengaleev\"\u003e\u003ccode\u003e@​dengaleev\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e234a6d4c00cb77af9852aca0b8289745d5529b4b: fix(response): refine hijack behavior for response lifecycle (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4373\"\u003e#4373\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e472d086af2acd924cb4b9d7be0525f7d790f69bc: fix(tree): panic in findCaseInsensitivePathRec with RedirectFixedPath (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4535\"\u003e#4535\u003c/a\u003e) (\u003ca href=\"https://github.com/veeceey\"\u003e\u003ccode\u003e@​veeceey\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e8e07d37c63e5536eb25f4af4c91eabeee4011fba: fix: Correct typos, improve documentation clarity, and remove dead code (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4511\"\u003e#4511\u003c/a\u003e) (\u003ca href=\"https://github.com/mahanadh\"\u003e\u003ccode\u003e@​mahanadh\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eba093d19477b896ac89a7fc3246af23d290b8e26: chore(binding): upgrade bson dependency to mongo-driver v2 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4549\"\u003e#4549\u003c/a\u003e) (\u003ca href=\"https://github.com/BobDu\"\u003e\u003ccode\u003e@​BobDu\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eb2b489dbf4826c2c630717a77fd5e42774625410: chore(context): always trust xff headers from unix socket (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/3359\"\u003e#3359\u003c/a\u003e) (\u003ca href=\"https://github.com/WeidiDeng\"\u003e\u003ccode\u003e@​WeidiDeng\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eecb3f7b5e2f3915bf1db240ed5eee572f8dbea36: chore(deps): upgrade golang.org/x/crypto to v0.45.0 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4449\"\u003e#4449\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eaf6e8b70b8261bb0c99ad094fe552ab92991620a: chore(deps): upgrade quic-go to v0.57.1 (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edb309081bc5c137b2aa15701ef53f7f19788da25: chore(logger): allow skipping query string output (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4547\"\u003e#4547\u003c/a\u003e) (\u003ca href=\"https://github.com/USA-RedDragon\"\u003e\u003ccode\u003e@​USA-RedDragon\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e26c3a628655cad2388380cb8102d6ce7d4875f3b: chore(response): prevent Flush() panic when \u003ccode\u003ehttp.Flusher\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4479\"\u003e#4479\u003c/a\u003e) (\u003ca href=\"https://github.com/Twacqwq\"\u003e\u003ccode\u003e@​Twacqwq\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e5dd833f1f26de0eb30eae47b17e05ced2482dc41: chore: bump minimum Go version to 1.24 and update workflows (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4388\"\u003e#4388\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRefactor\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e39858a0859c914bd26948fa950477e11bd8d3823: refactor(binding): use maps.Copy for cleaner map handling (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4352\"\u003e#4352\u003c/a\u003e) (\u003ca href=\"https://github.com/russcoss\"\u003e\u003ccode\u003e@​russcoss\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ec0048f645ee945c4db30593afdea10123e2c30a6: refactor(context): omit the return value names (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4395\"\u003e#4395\u003c/a\u003e) (\u003ca href=\"https://github.com/wanghaolong613\"\u003e\u003ccode\u003e@​wanghaolong613\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e915e4c90d28ec4cffc6eb146e208ab5a65eac772: refactor(context): replace hardcoded localhost IPs with constants (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4481\"\u003e#4481\u003c/a\u003e) (\u003ca href=\"https://github.com/pauloappbr\"\u003e\u003ccode\u003e@​pauloappbr\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e414de60574449457f3192a7a1d5528940db2836d: refactor(context): using maps.Clone (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4333\"\u003e#4333\u003c/a\u003e) (\u003ca href=\"https://github.com/cuiweixie\"\u003e\u003ccode\u003e@​cuiweixie\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e59e9d4a794f12c4f9a6c7bed441b9644e5f6d99b: refactor(ginS): use sync.OnceValue to simplify engine function (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4314\"\u003e#4314\u003c/a\u003e) (\u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e3ab698dc5110af1977d57226e4995c57dd34c233: refactor(recovery): smart error comparison (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4142\"\u003e#4142\u003c/a\u003e) (\u003ca href=\"https://github.com/zeek0x\"\u003e\u003ccode\u003e@​zeek0x\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ed1a15347b1e45a8ee816193d3578a93bfd73b70f: refactor(utils): move util functions to utils.go (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4467\"\u003e#4467\u003c/a\u003e) (\u003ca href=\"https://github.com/zeek0x\"\u003e\u003ccode\u003e@​zeek0x\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ee3118cc378d263454098924ebbde7e8d1dd2e904: refactor: for loop can be modernized using range over int (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4392\"\u003e#4392\u003c/a\u003e) (\u003ca href=\"https://github.com/wanghaolong613\"\u003e\u003ccode\u003e@​wanghaolong613\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e488f8c3ffa579a8d19beb2bae95ff8ef36b3d53f: refactor: replace magic numbers with named constants in bodyAllowedForStatus (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4529\"\u003e#4529\u003c/a\u003e) (\u003ca href=\"https://github.com/veeceey\"\u003e\u003ccode\u003e@​veeceey\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e9968c4bf9d5a99edc3eee2c068a4c9160ece8915: refactor: use b.Loop() to simplify the code and improve performance (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4389\"\u003e#4389\u003c/a\u003e) (\u003ca href=\"https://github.com/reddaisyy\"\u003e\u003ccode\u003e@​reddaisyy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ea85ef5ce4d0cda8834c59c855068ed48b51192d1: refactor: use b.Loop() to simplify the code and improve performance (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4432\"\u003e#4432\u003c/a\u003e) (\u003ca href=\"https://github.com/efcking\"\u003e\u003ccode\u003e@​efcking\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBuild process updates\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e61b67de522a189b568aced4c5c16917c558e3387: ci(bot): increase frequency and group updates for dependencies (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4367\"\u003e#4367\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efb27ef26c2fdfe25344b4c039d8a53551f9e912c: ci(lint): refactor test assertions and linter configuration (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4436\"\u003e#4436\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e93ff771e6dbf10e432864b30f3719ac5c84a4d4a: ci(sec): improve type safety and server organization in HTTP middleware (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4437\"\u003e#4437\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ee88fc8927a52b74f55bec0351604a56ac0aa1c51: ci(sec): schedule Trivy security scans to run daily at midnight UTC (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4439\"\u003e#4439\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e5e5ff3ace496a31b138b0820136a146bfb5de0ef: ci: replace vulnerability scanning workflow with Trivy integration (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4421\"\u003e#4421\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e00900fb3e1ea9dde33985a0e4f6afec793d5e786: ci: update CI workflows and standardize Trivy config quotes (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4531\"\u003e#4531\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eae3f524974fc4f55d18c9e7fae4614503c015226: ci: update Go version support to 1.25+ across CI and docs (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4550\"\u003e#4550\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/gin-gonic/gin/blob/master/CHANGELOG.md\"\u003egithub.com/gin-gonic/gin's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eGin v1.12.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat(render): add bson protocol (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4145\"\u003e#4145\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(context): add GetError and GetErrorSlice methods for error retrieval (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4502\"\u003e#4502\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(binding): add support for encoding.UnmarshalText in uri/query binding (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4203\"\u003e#4203\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(gin): add option to use escaped path (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4420\"\u003e#4420\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(context): add Protocol Buffers support to content negotiation (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4423\"\u003e#4423\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(context): implemented Delete method (\u003ca href=\"https://github.com/gin-gonic/gin/commit/38e7651\"\u003e#38e7651\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(logger): color latency (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4146\"\u003e#4146\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eperf(tree): reduce allocations in findCaseInsensitivePath (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4417\"\u003e#4417\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eperf(recovery): optimize line reading in stack function (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4466\"\u003e#4466\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eperf(path): replace regex with custom functions in redirectTrailingSlash (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4414\"\u003e#4414\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eperf(tree): optimize path parsing using strings.Count (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4246\"\u003e#4246\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(logger): allow skipping query string output (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4547\"\u003e#4547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(context): always trust xff headers from unix socket (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/3359\"\u003e#3359\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(response): prevent Flush() panic when the underlying ResponseWriter does not implement \u003ccode\u003ehttp.Flusher\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4479\"\u003e#4479\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(recovery): smart error comparison (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4142\"\u003e#4142\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(context): replace hardcoded localhost IPs with constants (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4481\"\u003e#4481\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(utils): move util functions to utils.go (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4467\"\u003e#4467\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(binding): use maps.Copy for cleaner map handling (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4352\"\u003e#4352\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(context): using maps.Clone (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4333\"\u003e#4333\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(ginS): use sync.OnceValue to simplify engine function (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4314\"\u003e#4314\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor: replace magic numbers with named constants in bodyAllowedForStatus (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4529\"\u003e#4529\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor: for loop can be modernized using range over int (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4392\"\u003e#4392\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(tree): panic in findCaseInsensitivePathRec with RedirectFixedPath (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4535\"\u003e#4535\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(render): write content length in Data.Render (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4206\"\u003e#4206\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(context): ClientIP handling for multiple X-Forwarded-For header values (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4472\"\u003e#4472\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(binding): empty value error (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/2169\"\u003e#2169\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(recover): suppress http.ErrAbortHandler in recover (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4336\"\u003e#4336\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(gin): literal colon routes not working with engine.Handler() (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4415\"\u003e#4415\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(gin): close os.File in RunFd to prevent resource leak (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4422\"\u003e#4422\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(response): refine hijack behavior for response lifecycle (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4373\"\u003e#4373\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(binding): improve empty slice/array handling in form binding (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4380\"\u003e#4380\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(debug): version mismatch (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4403\"\u003e#4403\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: correct typos, improve documentation clarity, and remove dead code (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4511\"\u003e#4511\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBuild process updates / CI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eci: update Go version support to 1.25+ across CI and docs (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4550\"\u003e#4550\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(binding): upgrade bson dependency to mongo-driver v2 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4549\"\u003e#4549\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eGin v1.11.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/73726dc606796a025971fe451f0aa6f1b9b847f6\"\u003e\u003ccode\u003e73726dc\u003c/code\u003e\u003c/a\u003e docs: update documentation to reflect Go version changes (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4552\"\u003e#4552\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/e292e5caa777bce70b66fe08c94cbe9cef3e2ec9\"\u003e\u003ccode\u003ee292e5c\u003c/code\u003e\u003c/a\u003e docs: document and finalize Gin v1.12.0 release (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4551\"\u003e#4551\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/ae3f524974fc4f55d18c9e7fae4614503c015226\"\u003e\u003ccode\u003eae3f524\u003c/code\u003e\u003c/a\u003e ci: update Go version support to 1.25+ across CI and docs (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4550\"\u003e#4550\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/38534e2bf98a06e1f62d6b24384e90b5f78699bf\"\u003e\u003ccode\u003e38534e2\u003c/code\u003e\u003c/a\u003e chore(deps): bump golang.org/x/net from 0.50.0 to 0.51.0 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4548\"\u003e#4548\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/472d086af2acd924cb4b9d7be0525f7d790f69bc\"\u003e\u003ccode\u003e472d086\u003c/code\u003e\u003c/a\u003e fix(tree): panic in findCaseInsensitivePathRec with RedirectFixedPath (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4535\"\u003e#4535\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/fb2583442c4d9bccb75e6d26f1aa6e7c01950db6\"\u003e\u003ccode\u003efb25834\u003c/code\u003e\u003c/a\u003e test(context): use http.StatusContinue constant instead of magic number 100 (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/6f1d5fe3cdb171a08928c3c9dd3fbcfc9ee1b521\"\u003e\u003ccode\u003e6f1d5fe\u003c/code\u003e\u003c/a\u003e test(render): add comprehensive error handling tests (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4541\"\u003e#4541\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/5c00df8afadd06cc5be530dde00fe6d9fa4a2e4a\"\u003e\u003ccode\u003e5c00df8\u003c/code\u003e\u003c/a\u003e fix(render): write content length in Data.Render (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4206\"\u003e#4206\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/db309081bc5c137b2aa15701ef53f7f19788da25\"\u003e\u003ccode\u003edb30908\u003c/code\u003e\u003c/a\u003e chore(logger): allow skipping query string output (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4547\"\u003e#4547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/ba093d19477b896ac89a7fc3246af23d290b8e26\"\u003e\u003ccode\u003eba093d1\u003c/code\u003e\u003c/a\u003e chore(binding): upgrade bson dependency to mongo-driver v2 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4549\"\u003e#4549\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/gin-gonic/gin/compare/v1.10.1...v1.12.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/gin-gonic/gin\u0026package-manager=go_modules\u0026previous-version=1.10.1\u0026new-version=1.12.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/rtcdance/streamgate/pull/10","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/rtcdance%2Fstreamgate/issues/10","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/10/packages"},{"uuid":"4451321929","node_id":"PR_kwDOSeAiFc7byNsj","number":4,"state":"open","title":"deps(deps): bump the production-dependencies group in /backend with 6 updates","user":"dependabot[bot]","labels":[],"assignees":["nelsonelagunar"],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-15T04:44:38.000Z","updated_at":"2026-05-15T04:44:39.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"deps(deps): bump","group_name":"production-dependencies","update_count":6,"packages":[{"name":"github.com/gin-gonic/gin","old_version":"1.9.1","new_version":"1.12.0","repository_url":"https://github.com/gin-gonic/gin"},{"name":"github.com/golang-jwt/jwt/v5","old_version":"5.2.0","new_version":"5.3.1","repository_url":"https://github.com/golang-jwt/jwt"},{"name":"github.com/google/uuid","old_version":"1.5.0","new_version":"1.6.0","repository_url":"https://github.com/google/uuid"},{"name":"github.com/jackc/pgx/v5","old_version":"5.5.3","new_version":"5.9.2","repository_url":"https://github.com/jackc/pgx"},{"name":"github.com/stretchr/testify","old_version":"1.8.4","new_version":"1.11.1","repository_url":"https://github.com/stretchr/testify"},{"name":"golang.org/x/crypto","old_version":"0.21.0","new_version":"0.48.0","repository_url":"https://github.com/golang/crypto"}],"path":"/backend","ecosystem":"go"},"body":"Bumps the production-dependencies group in /backend with 6 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [github.com/gin-gonic/gin](https://github.com/gin-gonic/gin) | `1.9.1` | `1.12.0` |\n| [github.com/golang-jwt/jwt/v5](https://github.com/golang-jwt/jwt) | `5.2.0` | `5.3.1` |\n| [github.com/google/uuid](https://github.com/google/uuid) | `1.5.0` | `1.6.0` |\n| [github.com/jackc/pgx/v5](https://github.com/jackc/pgx) | `5.5.3` | `5.9.2` |\n| [github.com/stretchr/testify](https://github.com/stretchr/testify) | `1.8.4` | `1.11.1` |\n| [golang.org/x/crypto](https://github.com/golang/crypto) | `0.21.0` | `0.48.0` |\n\nUpdates `github.com/gin-gonic/gin` from 1.9.1 to 1.12.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/gin-gonic/gin/releases\"\u003egithub.com/gin-gonic/gin's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.12.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e192ac89eefc1c30f7c97ae48a9ffb1c6f1c8c8bc: feat(binding): add support for encoding.UnmarshalText in uri/query binding (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4203\"\u003e#4203\u003c/a\u003e) (\u003ca href=\"https://github.com/takanuva15\"\u003e\u003ccode\u003e@​takanuva15\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e53410d2e07054369e0960fbe2eed97e1b9966f12: feat(context): add GetError and GetErrorSlice methods for error retrieval (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4502\"\u003e#4502\u003c/a\u003e) (\u003ca href=\"https://github.com/raju-mechatronics\"\u003e\u003ccode\u003e@​raju-mechatronics\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eacc55e049e33b401e810dbd8c0d6dcb6b3ba2b05: feat(context): add Protocol Buffers support to content negotiation (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4423\"\u003e#4423\u003c/a\u003e) (\u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e38e765119241d990705169bedb5002a29ae0cbd1: feat(context): implemented Delete method (\u003ca href=\"https://github.com/Spyder01\"\u003e\u003ccode\u003e@​Spyder01\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e771dcc6476d7bc6abb9ec0235ecefa4d38fe6fb0: feat(gin): add option to use escaped path (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4420\"\u003e#4420\u003c/a\u003e) (\u003ca href=\"https://github.com/ldesauw\"\u003e\u003ccode\u003e@​ldesauw\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e4dec17afdff48e8018c83618fbbe69fceeb2b41d: feat(logger): color latency (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4146\"\u003e#4146\u003c/a\u003e) (\u003ca href=\"https://github.com/wsyqn6\"\u003e\u003ccode\u003e@​wsyqn6\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ed7776de7d444935ea4385999711bd6331a98fecb: feat(render): add bson protocol (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4145\"\u003e#4145\u003c/a\u003e) (\u003ca href=\"https://github.com/laurentcau\"\u003e\u003ccode\u003e@​laurentcau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eb917b14ff9d189f16a7492be79d123a47806ee19: fix(binding): empty value error (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/2169\"\u003e#2169\u003c/a\u003e) (\u003ca href=\"https://github.com/guonaihong\"\u003e\u003ccode\u003e@​guonaihong\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ec3d1092b3b48addf6f9cd00fe274ec3bd14650eb: fix(binding): improve empty slice/array handling in form binding (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4380\"\u003e#4380\u003c/a\u003e) (\u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e9914178584e42458ff7d23891463a880f58c9d86: fix(context): ClientIP handling for multiple X-Forwarded-For header values (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4472\"\u003e#4472\u003c/a\u003e) (\u003ca href=\"https://github.com/Nurysso\"\u003e\u003ccode\u003e@​Nurysso\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e2a794cd0b0faa7d829291375b27a3467ea972b0d: fix(debug): version mismatch (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4403\"\u003e#4403\u003c/a\u003e) (\u003ca href=\"https://github.com/zeek0x\"\u003e\u003ccode\u003e@​zeek0x\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ec3d5a28ed6d3849da820195b6774d212bcc038a9: fix(gin): close os.File in RunFd to prevent resource leak (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4422\"\u003e#4422\u003c/a\u003e) (\u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e5fad976b372e381312f8de69f0969f1284d229d3: fix(gin): literal colon routes not working with engine.Handler() (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4415\"\u003e#4415\u003c/a\u003e) (\u003ca href=\"https://github.com/pawannn\"\u003e\u003ccode\u003e@​pawannn\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e63dd3e60cab89c27fb66bce1423bd268d52abad1: fix(recover): suppress http.ErrAbortHandler in recover (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4336\"\u003e#4336\u003c/a\u003e) (\u003ca href=\"https://github.com/MondayCha\"\u003e\u003ccode\u003e@​MondayCha\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e5c00df8afadd06cc5be530dde00fe6d9fa4a2e4a: fix(render): write content length in Data.Render (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4206\"\u003e#4206\u003c/a\u003e) (\u003ca href=\"https://github.com/dengaleev\"\u003e\u003ccode\u003e@​dengaleev\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e234a6d4c00cb77af9852aca0b8289745d5529b4b: fix(response): refine hijack behavior for response lifecycle (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4373\"\u003e#4373\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e472d086af2acd924cb4b9d7be0525f7d790f69bc: fix(tree): panic in findCaseInsensitivePathRec with RedirectFixedPath (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4535\"\u003e#4535\u003c/a\u003e) (\u003ca href=\"https://github.com/veeceey\"\u003e\u003ccode\u003e@​veeceey\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e8e07d37c63e5536eb25f4af4c91eabeee4011fba: fix: Correct typos, improve documentation clarity, and remove dead code (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4511\"\u003e#4511\u003c/a\u003e) (\u003ca href=\"https://github.com/mahanadh\"\u003e\u003ccode\u003e@​mahanadh\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eba093d19477b896ac89a7fc3246af23d290b8e26: chore(binding): upgrade bson dependency to mongo-driver v2 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4549\"\u003e#4549\u003c/a\u003e) (\u003ca href=\"https://github.com/BobDu\"\u003e\u003ccode\u003e@​BobDu\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eb2b489dbf4826c2c630717a77fd5e42774625410: chore(context): always trust xff headers from unix socket (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/3359\"\u003e#3359\u003c/a\u003e) (\u003ca href=\"https://github.com/WeidiDeng\"\u003e\u003ccode\u003e@​WeidiDeng\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eecb3f7b5e2f3915bf1db240ed5eee572f8dbea36: chore(deps): upgrade golang.org/x/crypto to v0.45.0 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4449\"\u003e#4449\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eaf6e8b70b8261bb0c99ad094fe552ab92991620a: chore(deps): upgrade quic-go to v0.57.1 (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edb309081bc5c137b2aa15701ef53f7f19788da25: chore(logger): allow skipping query string output (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4547\"\u003e#4547\u003c/a\u003e) (\u003ca href=\"https://github.com/USA-RedDragon\"\u003e\u003ccode\u003e@​USA-RedDragon\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e26c3a628655cad2388380cb8102d6ce7d4875f3b: chore(response): prevent Flush() panic when \u003ccode\u003ehttp.Flusher\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4479\"\u003e#4479\u003c/a\u003e) (\u003ca href=\"https://github.com/Twacqwq\"\u003e\u003ccode\u003e@​Twacqwq\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e5dd833f1f26de0eb30eae47b17e05ced2482dc41: chore: bump minimum Go version to 1.24 and update workflows (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4388\"\u003e#4388\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRefactor\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e39858a0859c914bd26948fa950477e11bd8d3823: refactor(binding): use maps.Copy for cleaner map handling (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4352\"\u003e#4352\u003c/a\u003e) (\u003ca href=\"https://github.com/russcoss\"\u003e\u003ccode\u003e@​russcoss\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ec0048f645ee945c4db30593afdea10123e2c30a6: refactor(context): omit the return value names (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4395\"\u003e#4395\u003c/a\u003e) (\u003ca href=\"https://github.com/wanghaolong613\"\u003e\u003ccode\u003e@​wanghaolong613\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e915e4c90d28ec4cffc6eb146e208ab5a65eac772: refactor(context): replace hardcoded localhost IPs with constants (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4481\"\u003e#4481\u003c/a\u003e) (\u003ca href=\"https://github.com/pauloappbr\"\u003e\u003ccode\u003e@​pauloappbr\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e414de60574449457f3192a7a1d5528940db2836d: refactor(context): using maps.Clone (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4333\"\u003e#4333\u003c/a\u003e) (\u003ca href=\"https://github.com/cuiweixie\"\u003e\u003ccode\u003e@​cuiweixie\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e59e9d4a794f12c4f9a6c7bed441b9644e5f6d99b: refactor(ginS): use sync.OnceValue to simplify engine function (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4314\"\u003e#4314\u003c/a\u003e) (\u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e3ab698dc5110af1977d57226e4995c57dd34c233: refactor(recovery): smart error comparison (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4142\"\u003e#4142\u003c/a\u003e) (\u003ca href=\"https://github.com/zeek0x\"\u003e\u003ccode\u003e@​zeek0x\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ed1a15347b1e45a8ee816193d3578a93bfd73b70f: refactor(utils): move util functions to utils.go (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4467\"\u003e#4467\u003c/a\u003e) (\u003ca href=\"https://github.com/zeek0x\"\u003e\u003ccode\u003e@​zeek0x\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ee3118cc378d263454098924ebbde7e8d1dd2e904: refactor: for loop can be modernized using range over int (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4392\"\u003e#4392\u003c/a\u003e) (\u003ca href=\"https://github.com/wanghaolong613\"\u003e\u003ccode\u003e@​wanghaolong613\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e488f8c3ffa579a8d19beb2bae95ff8ef36b3d53f: refactor: replace magic numbers with named constants in bodyAllowedForStatus (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4529\"\u003e#4529\u003c/a\u003e) (\u003ca href=\"https://github.com/veeceey\"\u003e\u003ccode\u003e@​veeceey\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e9968c4bf9d5a99edc3eee2c068a4c9160ece8915: refactor: use b.Loop() to simplify the code and improve performance (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4389\"\u003e#4389\u003c/a\u003e) (\u003ca href=\"https://github.com/reddaisyy\"\u003e\u003ccode\u003e@​reddaisyy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ea85ef5ce4d0cda8834c59c855068ed48b51192d1: refactor: use b.Loop() to simplify the code and improve performance (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4432\"\u003e#4432\u003c/a\u003e) (\u003ca href=\"https://github.com/efcking\"\u003e\u003ccode\u003e@​efcking\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBuild process updates\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e61b67de522a189b568aced4c5c16917c558e3387: ci(bot): increase frequency and group updates for dependencies (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4367\"\u003e#4367\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efb27ef26c2fdfe25344b4c039d8a53551f9e912c: ci(lint): refactor test assertions and linter configuration (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4436\"\u003e#4436\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e93ff771e6dbf10e432864b30f3719ac5c84a4d4a: ci(sec): improve type safety and server organization in HTTP middleware (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4437\"\u003e#4437\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ee88fc8927a52b74f55bec0351604a56ac0aa1c51: ci(sec): schedule Trivy security scans to run daily at midnight UTC (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4439\"\u003e#4439\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e5e5ff3ace496a31b138b0820136a146bfb5de0ef: ci: replace vulnerability scanning workflow with Trivy integration (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4421\"\u003e#4421\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e00900fb3e1ea9dde33985a0e4f6afec793d5e786: ci: update CI workflows and standardize Trivy config quotes (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4531\"\u003e#4531\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eae3f524974fc4f55d18c9e7fae4614503c015226: ci: update Go version support to 1.25+ across CI and docs (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4550\"\u003e#4550\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/gin-gonic/gin/blob/master/CHANGELOG.md\"\u003egithub.com/gin-gonic/gin's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eGin v1.12.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat(render): add bson protocol (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4145\"\u003e#4145\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(context): add GetError and GetErrorSlice methods for error retrieval (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4502\"\u003e#4502\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(binding): add support for encoding.UnmarshalText in uri/query binding (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4203\"\u003e#4203\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(gin): add option to use escaped path (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4420\"\u003e#4420\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(context): add Protocol Buffers support to content negotiation (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4423\"\u003e#4423\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(context): implemented Delete method (\u003ca href=\"https://github.com/gin-gonic/gin/commit/38e7651\"\u003e#38e7651\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(logger): color latency (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4146\"\u003e#4146\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eperf(tree): reduce allocations in findCaseInsensitivePath (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4417\"\u003e#4417\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eperf(recovery): optimize line reading in stack function (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4466\"\u003e#4466\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eperf(path): replace regex with custom functions in redirectTrailingSlash (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4414\"\u003e#4414\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eperf(tree): optimize path parsing using strings.Count (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4246\"\u003e#4246\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(logger): allow skipping query string output (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4547\"\u003e#4547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(context): always trust xff headers from unix socket (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/3359\"\u003e#3359\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(response): prevent Flush() panic when the underlying ResponseWriter does not implement \u003ccode\u003ehttp.Flusher\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4479\"\u003e#4479\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(recovery): smart error comparison (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4142\"\u003e#4142\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(context): replace hardcoded localhost IPs with constants (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4481\"\u003e#4481\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(utils): move util functions to utils.go (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4467\"\u003e#4467\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(binding): use maps.Copy for cleaner map handling (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4352\"\u003e#4352\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(context): using maps.Clone (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4333\"\u003e#4333\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(ginS): use sync.OnceValue to simplify engine function (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4314\"\u003e#4314\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor: replace magic numbers with named constants in bodyAllowedForStatus (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4529\"\u003e#4529\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor: for loop can be modernized using range over int (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4392\"\u003e#4392\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(tree): panic in findCaseInsensitivePathRec with RedirectFixedPath (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4535\"\u003e#4535\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(render): write content length in Data.Render (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4206\"\u003e#4206\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(context): ClientIP handling for multiple X-Forwarded-For header values (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4472\"\u003e#4472\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(binding): empty value error (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/2169\"\u003e#2169\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(recover): suppress http.ErrAbortHandler in recover (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4336\"\u003e#4336\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(gin): literal colon routes not working with engine.Handler() (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4415\"\u003e#4415\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(gin): close os.File in RunFd to prevent resource leak (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4422\"\u003e#4422\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(response): refine hijack behavior for response lifecycle (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4373\"\u003e#4373\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(binding): improve empty slice/array handling in form binding (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4380\"\u003e#4380\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(debug): version mismatch (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4403\"\u003e#4403\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: correct typos, improve documentation clarity, and remove dead code (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4511\"\u003e#4511\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBuild process updates / CI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eci: update Go version support to 1.25+ across CI and docs (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4550\"\u003e#4550\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(binding): upgrade bson dependency to mongo-driver v2 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4549\"\u003e#4549\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eGin v1.11.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/73726dc606796a025971fe451f0aa6f1b9b847f6\"\u003e\u003ccode\u003e73726dc\u003c/code\u003e\u003c/a\u003e docs: update documentation to reflect Go version changes (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4552\"\u003e#4552\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/e292e5caa777bce70b66fe08c94cbe9cef3e2ec9\"\u003e\u003ccode\u003ee292e5c\u003c/code\u003e\u003c/a\u003e docs: document and finalize Gin v1.12.0 release (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4551\"\u003e#4551\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/ae3f524974fc4f55d18c9e7fae4614503c015226\"\u003e\u003ccode\u003eae3f524\u003c/code\u003e\u003c/a\u003e ci: update Go version support to 1.25+ across CI and docs (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4550\"\u003e#4550\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/38534e2bf98a06e1f62d6b24384e90b5f78699bf\"\u003e\u003ccode\u003e38534e2\u003c/code\u003e\u003c/a\u003e chore(deps): bump golang.org/x/net from 0.50.0 to 0.51.0 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4548\"\u003e#4548\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/472d086af2acd924cb4b9d7be0525f7d790f69bc\"\u003e\u003ccode\u003e472d086\u003c/code\u003e\u003c/a\u003e fix(tree): panic in findCaseInsensitivePathRec with RedirectFixedPath (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4535\"\u003e#4535\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/fb2583442c4d9bccb75e6d26f1aa6e7c01950db6\"\u003e\u003ccode\u003efb25834\u003c/code\u003e\u003c/a\u003e test(context): use http.StatusContinue constant instead of magic number 100 (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/6f1d5fe3cdb171a08928c3c9dd3fbcfc9ee1b521\"\u003e\u003ccode\u003e6f1d5fe\u003c/code\u003e\u003c/a\u003e test(render): add comprehensive error handling tests (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4541\"\u003e#4541\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/5c00df8afadd06cc5be530dde00fe6d9fa4a2e4a\"\u003e\u003ccode\u003e5c00df8\u003c/code\u003e\u003c/a\u003e fix(render): write content length in Data.Render (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4206\"\u003e#4206\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/db309081bc5c137b2aa15701ef53f7f19788da25\"\u003e\u003ccode\u003edb30908\u003c/code\u003e\u003c/a\u003e chore(logger): allow skipping query string output (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4547\"\u003e#4547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/ba093d19477b896ac89a7fc3246af23d290b8e26\"\u003e\u003ccode\u003eba093d1\u003c/code\u003e\u003c/a\u003e chore(binding): upgrade bson dependency to mongo-driver v2 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4549\"\u003e#4549\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/gin-gonic/gin/compare/v1.9.1...v1.12.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/golang-jwt/jwt/v5` from 5.2.0 to 5.3.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/golang-jwt/jwt/releases\"\u003egithub.com/golang-jwt/jwt/v5's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev5.3.1\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003e🔐 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd spellcheck Github action to catch common spelling mistakes by \u003ca href=\"https://github.com/equalsgibson\"\u003e\u003ccode\u003e@​equalsgibson\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/golang-jwt/jwt/pull/458\"\u003egolang-jwt/jwt#458\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eWithNotBeforeRequired\u003c/code\u003e parser option and add test coverage by \u003ca href=\"https://github.com/equalsgibson\"\u003e\u003ccode\u003e@​equalsgibson\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/golang-jwt/jwt/pull/456\"\u003egolang-jwt/jwt#456\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate godoc example func to properly refer to \u003ccode\u003eNewWithClaims()\u003c/code\u003e by \u003ca href=\"https://github.com/equalsgibson\"\u003e\u003ccode\u003e@​equalsgibson\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/golang-jwt/jwt/pull/459\"\u003egolang-jwt/jwt#459\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate github workflows by \u003ca href=\"https://github.com/mfridman\"\u003e\u003ccode\u003e@​mfridman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/golang-jwt/jwt/pull/462\"\u003egolang-jwt/jwt#462\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdditional test for CustomClaims that validates unmarshalling behaviour by \u003ca href=\"https://github.com/equalsgibson\"\u003e\u003ccode\u003e@​equalsgibson\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/golang-jwt/jwt/pull/457\"\u003egolang-jwt/jwt#457\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix early file close in jwt cli by \u003ca href=\"https://github.com/mfridman\"\u003e\u003ccode\u003e@​mfridman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/golang-jwt/jwt/pull/472\"\u003egolang-jwt/jwt#472\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd TPM signature reference by \u003ca href=\"https://github.com/salrashid123\"\u003e\u003ccode\u003e@​salrashid123\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/golang-jwt/jwt/pull/473\"\u003egolang-jwt/jwt#473\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove misleading ParserOptions documentation in \u003ca href=\"https://redirect.github.com/golang-jwt/jwt/pull/484\"\u003egolang-jwt/jwt#484\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSave signature to Token struct after successful signing by \u003ca href=\"https://github.com/EgorSheff\"\u003e\u003ccode\u003e@​EgorSheff\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/golang-jwt/jwt/pull/417\"\u003egolang-jwt/jwt#417\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSet token.Signature in \u003ccode\u003eParseUnverified\u003c/code\u003e by \u003ca href=\"https://github.com/slickwilli\"\u003e\u003ccode\u003e@​slickwilli\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/golang-jwt/jwt/pull/414\"\u003egolang-jwt/jwt#414\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e👒 Dependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBump crate-ci/typos from 1.34.0 to 1.35.3 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/golang-jwt/jwt/pull/461\"\u003egolang-jwt/jwt#461\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump crate-ci/typos from 1.35.4 to 1.36.2 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/golang-jwt/jwt/pull/470\"\u003egolang-jwt/jwt#470\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump github/codeql-action from 3 to 4 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/golang-jwt/jwt/pull/478\"\u003egolang-jwt/jwt#478\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump crate-ci/typos from 1.36.2 to 1.39.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/golang-jwt/jwt/pull/480\"\u003egolang-jwt/jwt#480\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump golangci/golangci-lint-action from 8 to 9 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/golang-jwt/jwt/pull/481\"\u003egolang-jwt/jwt#481\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/setup-go from 5 to 6 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/golang-jwt/jwt/pull/469\"\u003egolang-jwt/jwt#469\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump crate-ci/typos from 1.39.0 to 1.40.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/golang-jwt/jwt/pull/488\"\u003egolang-jwt/jwt#488\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/checkout from 5 to 6 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/golang-jwt/jwt/pull/487\"\u003egolang-jwt/jwt#487\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump crate-ci/typos from 1.40.0 to 1.41.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/golang-jwt/jwt/pull/490\"\u003egolang-jwt/jwt#490\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump crate-ci/typos from 1.41.0 to 1.42.1 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/golang-jwt/jwt/pull/492\"\u003egolang-jwt/jwt#492\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/equalsgibson\"\u003e\u003ccode\u003e@​equalsgibson\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/golang-jwt/jwt/pull/458\"\u003egolang-jwt/jwt#458\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/salrashid123\"\u003e\u003ccode\u003e@​salrashid123\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/golang-jwt/jwt/pull/473\"\u003egolang-jwt/jwt#473\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/EgorSheff\"\u003e\u003ccode\u003e@​EgorSheff\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/golang-jwt/jwt/pull/417\"\u003egolang-jwt/jwt#417\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/slickwilli\"\u003e\u003ccode\u003e@​slickwilli\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/golang-jwt/jwt/pull/414\"\u003egolang-jwt/jwt#414\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/golang-jwt/jwt/compare/v5.3.0...v5.3.1\"\u003ehttps://github.com/golang-jwt/jwt/compare/v5.3.0...v5.3.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev5.3.0\u003c/h2\u003e\n\u003cp\u003eThis release is almost identical to to \u003ccode\u003ev5.2.3\u003c/code\u003e but now correctly indicates Go 1.21 as minimum requirement.\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eCreate CODEOWNERS by \u003ca href=\"https://github.com/oxisto\"\u003e\u003ccode\u003e@​oxisto\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/golang-jwt/jwt/pull/449\"\u003egolang-jwt/jwt#449\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump Go version to indicate correct minimum requirement by \u003ca href=\"https://github.com/oxisto\"\u003e\u003ccode\u003e@​oxisto\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/golang-jwt/jwt/pull/452\"\u003egolang-jwt/jwt#452\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/golang-jwt/jwt/compare/v5.2.3...v5.3.0\"\u003ehttps://github.com/golang-jwt/jwt/compare/v5.2.3...v5.3.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev5.2.3\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump GitHub workflows and Go versions by \u003ca href=\"https://github.com/mfridman\"\u003e\u003ccode\u003e@​mfridman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/golang-jwt/jwt/pull/438\"\u003egolang-jwt/jwt#438\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImplementing validation of multiple audiences by \u003ca href=\"https://github.com/oxisto\"\u003e\u003ccode\u003e@​oxisto\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/golang-jwt/jwt/pull/433\"\u003egolang-jwt/jwt#433\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump golangci/golangci-lint-action from 7 to 8 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/golang-jwt/jwt/pull/440\"\u003egolang-jwt/jwt#440\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/golang-jwt/jwt/commit/7ceae619e739dc8a7bf577214aa8ebf26668e9db\"\u003e\u003ccode\u003e7ceae61\u003c/code\u003e\u003c/a\u003e Add release.yml for changelog configuration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/golang-jwt/jwt/commit/dce8e4dddcc9dc812cdc0b9d2037512d0e4b3eb5\"\u003e\u003ccode\u003edce8e4d\u003c/code\u003e\u003c/a\u003e Set token.Signature in \u003ccode\u003eParseUnverified\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/golang-jwt/jwt/issues/414\"\u003e#414\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/golang-jwt/jwt/commit/8889e208aa5c3736e5f7a856107ee70c046b803e\"\u003e\u003ccode\u003e8889e20\u003c/code\u003e\u003c/a\u003e Save signature to Token struct after successful signing (\u003ca href=\"https://redirect.github.com/golang-jwt/jwt/issues/417\"\u003e#417\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/golang-jwt/jwt/commit/d237f8204b397bc008b5b07c4e081beb4ec2a7b1\"\u003e\u003ccode\u003ed237f82\u003c/code\u003e\u003c/a\u003e ci: update github-actions schedule interval to monthly\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/golang-jwt/jwt/commit/d8dce95a406fc435aa3d11c5073f2f31a9449116\"\u003e\u003ccode\u003ed8dce95\u003c/code\u003e\u003c/a\u003e Bump crate-ci/typos from 1.41.0 to 1.42.1 (\u003ca href=\"https://redirect.github.com/golang-jwt/jwt/issues/492\"\u003e#492\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/golang-jwt/jwt/commit/e93180329eab078116176ff7dc4352760bc5f290\"\u003e\u003ccode\u003ee931803\u003c/code\u003e\u003c/a\u003e Bump crate-ci/typos from 1.40.0 to 1.41.0 (\u003ca href=\"https://redirect.github.com/golang-jwt/jwt/issues/490\"\u003e#490\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/golang-jwt/jwt/commit/e6a0afa839d74787501369217245b52bfc75f30d\"\u003e\u003ccode\u003ee6a0afa\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 5 to 6 (\u003ca href=\"https://redirect.github.com/golang-jwt/jwt/issues/487\"\u003e#487\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/golang-jwt/jwt/commit/9f85c9ec9f10fb6919d773cb8df07029639ec76e\"\u003e\u003ccode\u003e9f85c9e\u003c/code\u003e\u003c/a\u003e Bump crate-ci/typos from 1.39.0 to 1.40.0 (\u003ca href=\"https://redirect.github.com/golang-jwt/jwt/issues/488\"\u003e#488\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/golang-jwt/jwt/commit/60a8669e0221aed55a6abfd9b5cd20472f0c6ebd\"\u003e\u003ccode\u003e60a8669\u003c/code\u003e\u003c/a\u003e Bump actions/setup-go from 5 to 6 (\u003ca href=\"https://redirect.github.com/golang-jwt/jwt/issues/469\"\u003e#469\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/golang-jwt/jwt/commit/76f582896da76978896d59ced995d7967c33c434\"\u003e\u003ccode\u003e76f5828\u003c/code\u003e\u003c/a\u003e Remove misleading ParserOptions documentation (\u003ca href=\"https://redirect.github.com/golang-jwt/jwt/issues/484\"\u003e#484\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/golang-jwt/jwt/compare/v5.2.0...v5.3.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/google/uuid` from 1.5.0 to 1.6.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/google/uuid/releases\"\u003egithub.com/google/uuid's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.6.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/google/uuid/compare/v1.5.0...v1.6.0\"\u003e1.6.0\u003c/a\u003e (2024-01-16)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd Max UUID constant (\u003ca href=\"https://redirect.github.com/google/uuid/issues/149\"\u003e#149\u003c/a\u003e) (\u003ca href=\"https://github.com/google/uuid/commit/c58770eb495f55fe2ced6284f93c5158a62e53e3\"\u003ec58770e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix typo in version 7 uuid documentation (\u003ca href=\"https://redirect.github.com/google/uuid/issues/153\"\u003e#153\u003c/a\u003e) (\u003ca href=\"https://github.com/google/uuid/commit/016b199544692f745ffc8867b914129ecb47ef06\"\u003e016b199\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMonotonicity in UUIDv7 (\u003ca href=\"https://redirect.github.com/google/uuid/issues/150\"\u003e#150\u003c/a\u003e) (\u003ca href=\"https://github.com/google/uuid/commit/a2b2b32373ff0b1a312b7fdf6d38a977099698a6\"\u003ea2b2b32\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/google/uuid/blob/master/CHANGELOG.md\"\u003egithub.com/google/uuid's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/google/uuid/compare/v1.5.0...v1.6.0\"\u003e1.6.0\u003c/a\u003e (2024-01-16)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd Max UUID constant (\u003ca href=\"https://redirect.github.com/google/uuid/issues/149\"\u003e#149\u003c/a\u003e) (\u003ca href=\"https://github.com/google/uuid/commit/c58770eb495f55fe2ced6284f93c5158a62e53e3\"\u003ec58770e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix typo in version 7 uuid documentation (\u003ca href=\"https://redirect.github.com/google/uuid/issues/153\"\u003e#153\u003c/a\u003e) (\u003ca href=\"https://github.com/google/uuid/commit/016b199544692f745ffc8867b914129ecb47ef06\"\u003e016b199\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMonotonicity in UUIDv7 (\u003ca href=\"https://redirect.github.com/google/uuid/issues/150\"\u003e#150\u003c/a\u003e) (\u003ca href=\"https://github.com/google/uuid/commit/a2b2b32373ff0b1a312b7fdf6d38a977099698a6\"\u003ea2b2b32\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/uuid/commit/0f11ee6918f41a04c201eceeadf612a377bc7fbc\"\u003e\u003ccode\u003e0f11ee6\u003c/code\u003e\u003c/a\u003e chore(master): release 1.6.0 (\u003ca href=\"https://redirect.github.com/google/uuid/issues/151\"\u003e#151\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/uuid/commit/16939dafc37a38d2743810a8bdf60fdad6a0f3a3\"\u003e\u003ccode\u003e16939da\u003c/code\u003e\u003c/a\u003e chore(tests):  add strict monotonicity test case for uuid v7. (\u003ca href=\"https://redirect.github.com/google/uuid/issues/154\"\u003e#154\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/uuid/commit/016b199544692f745ffc8867b914129ecb47ef06\"\u003e\u003ccode\u003e016b199\u003c/code\u003e\u003c/a\u003e fix: fix typo in version 7 uuid documentation (\u003ca href=\"https://redirect.github.com/google/uuid/issues/153\"\u003e#153\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/uuid/commit/1d8b6ea0990d688105843a9a67b1d07222350502\"\u003e\u003ccode\u003e1d8b6ea\u003c/code\u003e\u003c/a\u003e ci: set token permissions to github workflows (\u003ca href=\"https://redirect.github.com/google/uuid/issues/143\"\u003e#143\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/uuid/commit/a2b2b32373ff0b1a312b7fdf6d38a977099698a6\"\u003e\u003ccode\u003ea2b2b32\u003c/code\u003e\u003c/a\u003e fix: Monotonicity in UUIDv7 (\u003ca href=\"https://redirect.github.com/google/uuid/issues/150\"\u003e#150\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/uuid/commit/c58770eb495f55fe2ced6284f93c5158a62e53e3\"\u003e\u003ccode\u003ec58770e\u003c/code\u003e\u003c/a\u003e feat: add Max UUID constant (\u003ca href=\"https://redirect.github.com/google/uuid/issues/149\"\u003e#149\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/google/uuid/compare/v1.5.0...v1.6.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/jackc/pgx/v5` from 5.5.3 to 5.9.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jackc/pgx/blob/master/CHANGELOG.md\"\u003egithub.com/jackc/pgx/v5's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e5.9.2 (April 18, 2026)\u003c/h1\u003e\n\u003cp\u003eFix SQL Injection via placeholder confusion with dollar quoted string literals (GHSA-j88v-2chj-qfwx)\u003c/p\u003e\n\u003cp\u003eSQL injection can occur when:\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003eThe non-default simple protocol is used.\u003c/li\u003e\n\u003cli\u003eA dollar quoted string literal is used in the SQL query.\u003c/li\u003e\n\u003cli\u003eThat query contains text that would be would be interpreted outside as a placeholder outside of a string literal.\u003c/li\u003e\n\u003cli\u003eThe value of that placeholder is controllable by the attacker.\u003c/li\u003e\n\u003c/ol\u003e\n\u003cp\u003ee.g.\u003c/p\u003e\n\u003cpre lang=\"go\"\u003e\u003ccode\u003eattackValue := `$tag$; drop table canary; --`\n_, err = tx.Exec(ctx, `select $tag$ $1 $tag$, $1`, pgx.QueryExecModeSimpleProtocol, attackValue)\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eThis is unlikely to occur outside of a contrived scenario.\u003c/p\u003e\n\u003ch1\u003e5.9.1 (March 22, 2026)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eFix: batch result format corruption when using cached prepared statements (reported by Dirkjan Bussink)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e5.9.0 (March 21, 2026)\u003c/h1\u003e\n\u003cp\u003eThis release includes a number of new features such as SCRAM-SHA-256-PLUS support, OAuth authentication support, and\nPostgreSQL protocol 3.2 support.\u003c/p\u003e\n\u003cp\u003eIt significantly reduces the amount of network traffic when using prepared statements (which are used automatically by\ndefault) by avoiding unnecessary Describe Portal messages. This also reduces local memory usage.\u003c/p\u003e\n\u003cp\u003eIt also includes multiple fixes for potential DoS due to panic or OOM if connected to a malicious server that sends\ndeliberately malformed messages.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRequire Go 1.25+\u003c/li\u003e\n\u003cli\u003eAdd SCRAM-SHA-256-PLUS support (Adam Brightwell)\u003c/li\u003e\n\u003cli\u003eAdd OAuth authentication support for PostgreSQL 18 (David Schneider)\u003c/li\u003e\n\u003cli\u003eAdd PostgreSQL protocol 3.2 support (Dirkjan Bussink)\u003c/li\u003e\n\u003cli\u003eAdd tsvector type support (Adam Brightwell)\u003c/li\u003e\n\u003cli\u003eSkip Describe Portal for cached prepared statements reducing network round trips\u003c/li\u003e\n\u003cli\u003eMake LoadTypes query easier to support on \u0026quot;postgres-like\u0026quot; servers (Jelte Fennema-Nio)\u003c/li\u003e\n\u003cli\u003eDefault empty user to current OS user matching libpq behavior (ShivangSrivastava)\u003c/li\u003e\n\u003cli\u003eOptimize LRU statement cache with custom linked list and node pooling (Mathias Bogaert)\u003c/li\u003e\n\u003cli\u003eOptimize date scanning by replacing regex with manual parsing (Mathias Bogaert)\u003c/li\u003e\n\u003cli\u003eOptimize pgio append/set functions with direct byte shifts (Mathias Bogaert)\u003c/li\u003e\n\u003cli\u003eMake RowsAffected faster (Abhishek Chanda)\u003c/li\u003e\n\u003cli\u003eFix: Pipeline.Close panic when server sends multiple FATAL errors (Varun Chawla)\u003c/li\u003e\n\u003cli\u003eFix: ContextWatcher goroutine leak (Hank Donnay)\u003c/li\u003e\n\u003cli\u003eFix: stdlib discard connections with open transactions in ResetSession (Jeremy Schneider)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jackc/pgx/commit/0aeabbcf11d859229c1f0b20e710d3596c76bf27\"\u003e\u003ccode\u003e0aeabbc\u003c/code\u003e\u003c/a\u003e Release v5.9.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jackc/pgx/commit/60644f84918a8af66d14a4b0d865d4edafd955da\"\u003e\u003ccode\u003e60644f8\u003c/code\u003e\u003c/a\u003e Fix SQL sanitizer bugs with dollar-quoted strings and placeholder overflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jackc/pgx/commit/a5680bc945aa7c6ebac2778d859ee7b4ba86db60\"\u003e\u003ccode\u003ea5680bc\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/jackc/pgx/issues/2531\"\u003e#2531\u003c/a\u003e from dolmen-go/godoc-add-links\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jackc/pgx/commit/e34e4524007062710c6a4fb9c8655b75a486b5cd\"\u003e\u003ccode\u003ee34e452\u003c/code\u003e\u003c/a\u003e doc: Add godoc links\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jackc/pgx/commit/08c9bb1f0d8fa6cc10ed8c713e68b1baa64dfe2c\"\u003e\u003ccode\u003e08c9bb1\u003c/code\u003e\u003c/a\u003e Fix Stringer types encoded as text instead of numeric value in composite fields\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jackc/pgx/commit/96b4dbdfd0458cb425bf8454d292a23978872cc8\"\u003e\u003ccode\u003e96b4dbd\u003c/code\u003e\u003c/a\u003e Remove unstable test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jackc/pgx/commit/acf88e0065682e8948696d26fa6438669c4cabee\"\u003e\u003ccode\u003eacf88e0\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/jackc/pgx/issues/2526\"\u003e#2526\u003c/a\u003e from abrightwell/abrightwell-min-proto\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jackc/pgx/commit/2f81f1fc03bef99593e92c64ad9cac954c00e8e6\"\u003e\u003ccode\u003e2f81f1f\u003c/code\u003e\u003c/a\u003e Update \u003ccode\u003emax_protocol_version\u003c/code\u003e and \u003ccode\u003emin_protocol_version\u003c/code\u003e defaults\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jackc/pgx/commit/4e4eaedb47b7b3cfba0a1b0a9e6a3f015764f046\"\u003e\u003ccode\u003e4e4eaed\u003c/code\u003e\u003c/a\u003e Release v5.9.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jackc/pgx/commit/62731882651a90348febb43b2119b5f8bd9272de\"\u003e\u003ccode\u003e6273188\u003c/code\u003e\u003c/a\u003e Fix batch result format corruption when using cached prepared statements\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jackc/pgx/compare/v5.5.3...v5.9.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/stretchr/testify` from 1.8.4 to 1.11.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/stretchr/testify/releases\"\u003egithub.com/stretchr/testify's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.11.1\u003c/h2\u003e\n\u003cp\u003eThis release fixes \u003ca href=\"https://redirect.github.com/stretchr/testify/issues/1785\"\u003e#1785\u003c/a\u003e introduced in v1.11.0 where expected argument values implementing the stringer interface (\u003ccode\u003eString() string\u003c/code\u003e) with a method which mutates their value, when passed to mock.Mock.On (\u003ccode\u003em.On(\u0026quot;Method\u0026quot;, \u0026lt;expected\u0026gt;).Return()\u003c/code\u003e) or actual argument values passed to mock.Mock.Called may no longer match one another where they previously did match. The behaviour prior to v1.11.0 where the stringer is always called is restored. Future testify releases may not call the stringer method at all in this case.\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBackport \u003ca href=\"https://redirect.github.com/stretchr/testify/issues/1786\"\u003e#1786\u003c/a\u003e to release/1.11: mock: revert to pre-v1.11.0 argument matching behavior for mutating stringers by \u003ca href=\"https://github.com/brackendawson\"\u003e\u003ccode\u003e@​brackendawson\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/stretchr/testify/pull/1788\"\u003estretchr/testify#1788\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/stretchr/testify/compare/v1.11.0...v1.11.1\"\u003ehttps://github.com/stretchr/testify/compare/v1.11.0...v1.11.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.11.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eFunctional Changes\u003c/h3\u003e\n\u003cp\u003ev1.11.0 Includes a number of performance improvements.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCall stack perf change for CallerInfo by \u003ca href=\"https://github.com/mikeauclair\"\u003e\u003ccode\u003e@​mikeauclair\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/stretchr/testify/pull/1614\"\u003estretchr/testify#1614\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLazily render mock diff output on successful match by \u003ca href=\"https://github.com/mikeauclair\"\u003e\u003ccode\u003e@​mikeauclair\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/stretchr/testify/pull/1615\"\u003estretchr/testify#1615\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eassert: check early in Eventually, EventuallyWithT, and Never by \u003ca href=\"https://github.com/cszczepaniak\"\u003e\u003ccode\u003e@​cszczepaniak\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/stretchr/testify/pull/1427\"\u003estretchr/testify#1427\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eassert: add IsNotType by \u003ca href=\"https://github.com/bartventer\"\u003e\u003ccode\u003e@​bartventer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/stretchr/testify/pull/1730\"\u003estretchr/testify#1730\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eassert.JSONEq: shortcut if same strings by \u003ca href=\"https://github.com/dolmen\"\u003e\u003ccode\u003e@​dolmen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/stretchr/testify/pull/1754\"\u003estretchr/testify#1754\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eassert.YAMLEq: shortcut if same strings by \u003ca href=\"https://github.com/dolmen\"\u003e\u003ccode\u003e@​dolmen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/stretchr/testify/pull/1755\"\u003estretchr/testify#1755\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eassert: faster and simpler isEmpty using reflect.Value.IsZero by \u003ca href=\"https://github.com/dolmen\"\u003e\u003ccode\u003e@​dolmen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/stretchr/testify/pull/1761\"\u003estretchr/testify#1761\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003esuite: faster methods filtering (internal refactor) by \u003ca href=\"https://github.com/dolmen\"\u003e\u003ccode\u003e@​dolmen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/stretchr/testify/pull/1758\"\u003estretchr/testify#1758\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eassert.ErrorAs: log target type by \u003ca href=\"https://github.com/craig65535\"\u003e\u003ccode\u003e@​craig65535\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/stretchr/testify/pull/1345\"\u003estretchr/testify#1345\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix failure message formatting for Positive and Negative asserts in \u003ca href=\"https://redirect.github.com/stretchr/testify/pull/1062\"\u003estretchr/testify#1062\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprove ErrorIs message when error is nil but an error was expected by \u003ca href=\"https://github.com/tsioftas\"\u003e\u003ccode\u003e@​tsioftas\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/stretchr/testify/pull/1681\"\u003estretchr/testify#1681\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix Subset/NotSubset when calling with mixed input types by \u003ca href=\"https://github.com/siliconbrain\"\u003e\u003ccode\u003e@​siliconbrain\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/stretchr/testify/pull/1729\"\u003estretchr/testify#1729\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprove ErrorAs failure message when error is nil by \u003ca href=\"https://github.com/ccoVeille\"\u003e\u003ccode\u003e@​ccoVeille\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/stretchr/testify/pull/1734\"\u003estretchr/testify#1734\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003emock.AssertNumberOfCalls: improve error msg by \u003ca href=\"https://github.com/3scalation\"\u003e\u003ccode\u003e@​3scalation\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/stretchr/testify/pull/1743\"\u003estretchr/testify#1743\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation, Build \u0026amp; CI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edocs: Fix typo in README by \u003ca href=\"https://github.com/alexandear\"\u003e\u003ccode\u003e@​alexandear\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/stretchr/testify/pull/1688\"\u003estretchr/testify#1688\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReplace deprecated io/ioutil with io and os by \u003ca href=\"https://github.com/alexandear\"\u003e\u003ccode\u003e@​alexandear\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/stretchr/testify/pull/1684\"\u003estretchr/testify#1684\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocument consequences of calling t.FailNow() by \u003ca href=\"https://github.com/greg0ire\"\u003e\u003ccode\u003e@​greg0ire\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/stretchr/testify/pull/1710\"\u003estretchr/testify#1710\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: update docs for Unset \u003ca href=\"https://redirect.github.com/stretchr/testify/issues/1621\"\u003e#1621\u003c/a\u003e by \u003ca href=\"https://github.com/techfg\"\u003e\u003ccode\u003e@​techfg\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/stretchr/testify/pull/1709\"\u003estretchr/testify#1709\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eREADME: apply gofmt to examples by \u003ca href=\"https://github.com/alexandear\"\u003e\u003ccode\u003e@​alexandear\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/stretchr/testify/pull/1687\"\u003estretchr/testify#1687\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor: use %q and %T to simplify fmt.Sprintf by \u003ca href=\"https://github.com/alexandear\"\u003e\u003ccode\u003e@​alexandear\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/stretchr/testify/pull/1674\"\u003estretchr/testify#1674\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePropose Christophe Colombier (ccoVeille) as approver by \u003ca href=\"https://github.com/brackendawson\"\u003e\u003ccode\u003e@​brackendawson\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/stretchr/testify/pull/1716\"\u003estretchr/testify#1716\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate documentation for the Error function in assert or require package by \u003ca href=\"https://github.com/architagr\"\u003e\u003ccode\u003e@​architagr\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/stretchr/testify/pull/1675\"\u003estretchr/testify#1675\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eassert: remove deprecated build constraints by \u003ca href=\"https://github.com/alexandear\"\u003e\u003ccode\u003e@​alexandear\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/stretchr/testify/pull/1671\"\u003estretchr/testify#1671\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eassert: apply gofumpt to internal test suite by \u003ca href=\"https://github.com/ccoVeille\"\u003e\u003ccode\u003e@​ccoVeille\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/stretchr/testify/pull/1739\"\u003estretchr/testify#1739\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCI: fix shebang in .ci.*.sh scripts by \u003ca href=\"https://github.com/dolmen\"\u003e\u003ccode\u003e@​dolmen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/stretchr/testify/pull/1746\"\u003estretchr/testify#1746\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eassert,require: enable parallel testing on (almost) all top tests by \u003ca href=\"https://github.com/dolmen\"\u003e\u003ccode\u003e@​dolmen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/stretchr/testify/pull/1747\"\u003estretchr/testify#1747\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003esuite.Passed: add one more status test report by \u003ca href=\"https://github.com/Ararsa-Derese\"\u003e\u003ccode\u003e@​Ararsa-Derese\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/stretchr/testify/pull/1706\"\u003estretchr/testify#1706\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Helper() method in internal mocks and assert.CollectT by \u003ca href=\"https://github.com/dolmen\"\u003e\u003ccode\u003e@​dolmen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/stretchr/testify/pull/1423\"\u003estretchr/testify#1423\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eassert.Same/NotSame: improve usage of Sprintf by \u003ca href=\"https://github.com/ccoVeille\"\u003e\u003ccode\u003e@​ccoVeille\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/stretchr/testify/pull/1742\"\u003estretchr/testify#1742\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003emock: enable parallel testing on internal testsuite by \u003ca href=\"https://github.com/dolmen\"\u003e\u003ccode\u003e@​dolmen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/stretchr/testify/pull/1756\"\u003estretchr/testify#1756\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003esuite: cleanup use of 'testing' internals at runtime by \u003ca href=\"https://github.com/dolmen\"\u003e\u003ccode\u003e@​dolmen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/stretchr/testify/pull/1751\"\u003estretchr/testify#1751\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eassert: check test failure message for Empty and NotEmpty  by \u003ca href=\"https://github.com/ccoVeille\"\u003e\u003ccode\u003e@​ccoVeille\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/stretchr/testify/pull/1745\"\u003estretchr/testify#1745\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/stretchr/testify/commit/2a57335dc9cd6833daa820bc94d9b40c26a7917d\"\u003e\u003ccode\u003e2a57335\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/stretchr/testify/issues/1788\"\u003e#1788\u003c/a\u003e from brackendawson/1785-backport-1.11\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/stretchr/testify/commit/af8c91234f184009f57ef29027b39ca89cb00100\"\u003e\u003ccode\u003eaf8c912\u003c/code\u003e\u003c/a\u003e Backport \u003ca href=\"https://redirect.github.com/stretchr/testify/issues/1786\"\u003e#1786\u003c/a\u003e to release/1.11\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/stretchr/testify/commit/b7801fbf5cd58d201296d5d0e132d1849966dbd4\"\u003e\u003ccode\u003eb7801fb\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/stretchr/testify/issues/1778\"\u003e#1778\u003c/a\u003e from stretchr/dependabot/github_actions/actions/chec...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/stretchr/testify/commit/69831f3b08c40d56a09d0be93e9d5ae034f1590b\"\u003e\u003ccode\u003e69831f3\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/checkout from 4 to 5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/stretchr/testify/commit/a53be35c3b0cfcd5189cffcfd75df60ea581104c\"\u003e\u003ccode\u003ea53be35\u003c/code\u003e\u003c/a\u003e Improve captureTestingT helper\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/stretchr/testify/commit/aafb604176db7e1f2c9810bc90d644291d057687\"\u003e\u003ccode\u003eaafb604\u003c/code\u003e\u003c/a\u003e mock: improve formatting of error message\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/stretchr/testify/commit/7218e0390acd2aea3edb18574110ec2753c0aeef\"\u003e\u003ccode\u003e7218e03\u003c/code\u003e\u003c/a\u003e improve error msg\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/stretchr/testify/commit/929a2126c2702df436312656a0304580b526c6e9\"\u003e\u003ccode\u003e929a212\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/stretchr/testify/issues/1758\"\u003e#1758\u003c/a\u003e from stretchr/dolmen/suite-faster-method-filtering\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/stretchr/testify/commit/bc7459ec38128532ff32f23cfab4ea0b725210f2\"\u003e\u003ccode\u003ebc7459e\u003c/code\u003e\u003c/a\u003e suite: faster filtering of methods (-testify.m)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/stretchr/testify/commit/7d37b5c962954410bcd7a71ff3a77c79514056d1\"\u003e\u003ccode\u003e7d37b5c\u003c/code\u003e\u003c/a\u003e suite: refactor methodFilter\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/stretchr/testify/compare/v1.8.4...v1.11.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `golang.org/x/crypto` from 0.21.0 to 0.48.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/golang/crypto/commit/e08b06753d6a72f1fe375b6e0fefefb39917c165\"\u003e\u003ccode\u003ee08b067\u003c/code\u003e\u003c/a\u003e go.mod: update golang.org/x dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/golang/crypto/commit/7d0074ccc6f17acbf2ebb10db06d492e08f887dc\"\u003e\u003ccode\u003e7d0074c\u003c/code\u003e\u003c/a\u003e scrypt: fix panic on parameters \u0026lt;= 0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/golang/crypto/commit/506e022208b864bc3c9c4a416fe56be75d10ad24\"\u003e\u003ccode\u003e506e022\u003c/code\u003e\u003c/a\u003e go.mod: update golang.org/x dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/golang/crypto/commit/7dacc380ba001e8fe7c3c7a46bf3cbdaa5064df9\"\u003e\u003ccode\u003e7dacc38\u003c/code\u003e\u003c/a\u003e chacha20poly1305: error out in fips140=only mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/golang/crypto/commit/19acf81bd7bc7b558d18a550e8e023df2c33e742\"\u003e\u003ccode\u003e19acf81\u003c/code\u003e\u003c/a\u003e go.mod: update golang.org/x dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/golang/crypto/commit/3a1c6b4b61966d06b6469ad7bc15839ba76eeb89\"\u003e\u003ccode\u003e3a1c6b4\u003c/code\u003e\u003c/a\u003e x509roots/fallback: update bundle\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/golang/crypto/commit/f4602e40409257658159002a9af6aedb875949fb\"\u003e\u003ccode\u003ef4602e4\u003c/code\u003e\u003c/a\u003e ssh/agent: fix flaky test by ensuring a writeable home directory\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/golang/crypto/commit/4e0068c0098be10d7025c99ab7c50ce454c1f0f9\"\u003e\u003ccode\u003e4e0068c\u003c/code\u003e\u003c/a\u003e go.mod: update golang.org/x dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/golang/crypto/commit/e79546e28b85ea53dd37afe1c4102746ef553b9c\"\u003e\u003ccode\u003ee79546e\u003c/code\u003e\u003c/a\u003e ssh: curb GSSAPI DoS risk by limiting number of specified OIDs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/golang/crypto/commit/f91f7a7c31bf90b39c1de895ad116a2bacc88748\"\u003e\u003ccode\u003ef91f7a7\u003c/code\u003e\u003c/a\u003e ssh/agent: prevent panic on malformed constraint\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/golang/crypto/compare/v0.21.0...v0.48.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/nelsonelagunar/rh-platform-active/pull/4","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/nelsonelagunar%2Frh-platform-active/issues/4","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/4/packages"},{"uuid":"4421324268","node_id":"PR_kwDOSUQ3o87aRgk0","number":41,"state":"closed","title":"build(deps): Bump the subscription-go-deps group across 1 directory with 5 updates","user":"dependabot[bot]","labels":["dependencies","go"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-05-19T00:23:09.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-11T13:43:15.000Z","updated_at":"2026-05-19T00:23:11.000Z","time_to_close":643194,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): Bump","group_name":"subscription-go-deps","update_count":5,"packages":[{"name":"github.com/gin-gonic/gin","old_version":"1.9.1","new_version":"1.12.0","repository_url":"https://github.com/gin-gonic/gin"},{"name":"github.com/jmoiron/sqlx","old_version":"1.3.5","new_version":"1.4.0","repository_url":"https://github.com/jmoiron/sqlx"},{"name":"github.com/lib/pq","old_version":"1.10.9","new_version":"1.12.3","repository_url":"https://github.com/lib/pq"},{"name":"github.com/prometheus/client_golang","old_version":"1.19.0","new_version":"1.23.2","repository_url":"https://github.com/prometheus/client_golang"},{"name":"go.uber.org/zap","old_version":"1.27.0","new_version":"1.28.0","repository_url":"https://github.com/uber-go/zap"}],"path":null,"ecosystem":"go"},"body":"Bumps the subscription-go-deps group with 5 updates in the /manager/services/subscription directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [github.com/gin-gonic/gin](https://github.com/gin-gonic/gin) | `1.9.1` | `1.12.0` |\n| [github.com/jmoiron/sqlx](https://github.com/jmoiron/sqlx) | `1.3.5` | `1.4.0` |\n| [github.com/lib/pq](https://github.com/lib/pq) | `1.10.9` | `1.12.3` |\n| [github.com/prometheus/client_golang](https://github.com/prometheus/client_golang) | `1.19.0` | `1.23.2` |\n| [go.uber.org/zap](https://github.com/uber-go/zap) | `1.27.0` | `1.28.0` |\n\n\nUpdates `github.com/gin-gonic/gin` from 1.9.1 to 1.12.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/gin-gonic/gin/releases\"\u003egithub.com/gin-gonic/gin's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.12.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e192ac89eefc1c30f7c97ae48a9ffb1c6f1c8c8bc: feat(binding): add support for encoding.UnmarshalText in uri/query binding (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4203\"\u003e#4203\u003c/a\u003e) (\u003ca href=\"https://github.com/takanuva15\"\u003e\u003ccode\u003e@​takanuva15\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e53410d2e07054369e0960fbe2eed97e1b9966f12: feat(context): add GetError and GetErrorSlice methods for error retrieval (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4502\"\u003e#4502\u003c/a\u003e) (\u003ca href=\"https://github.com/raju-mechatronics\"\u003e\u003ccode\u003e@​raju-mechatronics\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eacc55e049e33b401e810dbd8c0d6dcb6b3ba2b05: feat(context): add Protocol Buffers support to content negotiation (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4423\"\u003e#4423\u003c/a\u003e) (\u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e38e765119241d990705169bedb5002a29ae0cbd1: feat(context): implemented Delete method (\u003ca href=\"https://github.com/Spyder01\"\u003e\u003ccode\u003e@​Spyder01\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e771dcc6476d7bc6abb9ec0235ecefa4d38fe6fb0: feat(gin): add option to use escaped path (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4420\"\u003e#4420\u003c/a\u003e) (\u003ca href=\"https://github.com/ldesauw\"\u003e\u003ccode\u003e@​ldesauw\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e4dec17afdff48e8018c83618fbbe69fceeb2b41d: feat(logger): color latency (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4146\"\u003e#4146\u003c/a\u003e) (\u003ca href=\"https://github.com/wsyqn6\"\u003e\u003ccode\u003e@​wsyqn6\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ed7776de7d444935ea4385999711bd6331a98fecb: feat(render): add bson protocol (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4145\"\u003e#4145\u003c/a\u003e) (\u003ca href=\"https://github.com/laurentcau\"\u003e\u003ccode\u003e@​laurentcau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eb917b14ff9d189f16a7492be79d123a47806ee19: fix(binding): empty value error (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/2169\"\u003e#2169\u003c/a\u003e) (\u003ca href=\"https://github.com/guonaihong\"\u003e\u003ccode\u003e@​guonaihong\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ec3d1092b3b48addf6f9cd00fe274ec3bd14650eb: fix(binding): improve empty slice/array handling in form binding (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4380\"\u003e#4380\u003c/a\u003e) (\u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e9914178584e42458ff7d23891463a880f58c9d86: fix(context): ClientIP handling for multiple X-Forwarded-For header values (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4472\"\u003e#4472\u003c/a\u003e) (\u003ca href=\"https://github.com/Nurysso\"\u003e\u003ccode\u003e@​Nurysso\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e2a794cd0b0faa7d829291375b27a3467ea972b0d: fix(debug): version mismatch (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4403\"\u003e#4403\u003c/a\u003e) (\u003ca href=\"https://github.com/zeek0x\"\u003e\u003ccode\u003e@​zeek0x\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ec3d5a28ed6d3849da820195b6774d212bcc038a9: fix(gin): close os.File in RunFd to prevent resource leak (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4422\"\u003e#4422\u003c/a\u003e) (\u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e5fad976b372e381312f8de69f0969f1284d229d3: fix(gin): literal colon routes not working with engine.Handler() (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4415\"\u003e#4415\u003c/a\u003e) (\u003ca href=\"https://github.com/pawannn\"\u003e\u003ccode\u003e@​pawannn\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e63dd3e60cab89c27fb66bce1423bd268d52abad1: fix(recover): suppress http.ErrAbortHandler in recover (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4336\"\u003e#4336\u003c/a\u003e) (\u003ca href=\"https://github.com/MondayCha\"\u003e\u003ccode\u003e@​MondayCha\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e5c00df8afadd06cc5be530dde00fe6d9fa4a2e4a: fix(render): write content length in Data.Render (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4206\"\u003e#4206\u003c/a\u003e) (\u003ca href=\"https://github.com/dengaleev\"\u003e\u003ccode\u003e@​dengaleev\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e234a6d4c00cb77af9852aca0b8289745d5529b4b: fix(response): refine hijack behavior for response lifecycle (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4373\"\u003e#4373\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e472d086af2acd924cb4b9d7be0525f7d790f69bc: fix(tree): panic in findCaseInsensitivePathRec with RedirectFixedPath (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4535\"\u003e#4535\u003c/a\u003e) (\u003ca href=\"https://github.com/veeceey\"\u003e\u003ccode\u003e@​veeceey\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e8e07d37c63e5536eb25f4af4c91eabeee4011fba: fix: Correct typos, improve documentation clarity, and remove dead code (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4511\"\u003e#4511\u003c/a\u003e) (\u003ca href=\"https://github.com/mahanadh\"\u003e\u003ccode\u003e@​mahanadh\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eba093d19477b896ac89a7fc3246af23d290b8e26: chore(binding): upgrade bson dependency to mongo-driver v2 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4549\"\u003e#4549\u003c/a\u003e) (\u003ca href=\"https://github.com/BobDu\"\u003e\u003ccode\u003e@​BobDu\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eb2b489dbf4826c2c630717a77fd5e42774625410: chore(context): always trust xff headers from unix socket (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/3359\"\u003e#3359\u003c/a\u003e) (\u003ca href=\"https://github.com/WeidiDeng\"\u003e\u003ccode\u003e@​WeidiDeng\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eecb3f7b5e2f3915bf1db240ed5eee572f8dbea36: chore(deps): upgrade golang.org/x/crypto to v0.45.0 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4449\"\u003e#4449\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eaf6e8b70b8261bb0c99ad094fe552ab92991620a: chore(deps): upgrade quic-go to v0.57.1 (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edb309081bc5c137b2aa15701ef53f7f19788da25: chore(logger): allow skipping query string output (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4547\"\u003e#4547\u003c/a\u003e) (\u003ca href=\"https://github.com/USA-RedDragon\"\u003e\u003ccode\u003e@​USA-RedDragon\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e26c3a628655cad2388380cb8102d6ce7d4875f3b: chore(response): prevent Flush() panic when \u003ccode\u003ehttp.Flusher\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4479\"\u003e#4479\u003c/a\u003e) (\u003ca href=\"https://github.com/Twacqwq\"\u003e\u003ccode\u003e@​Twacqwq\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e5dd833f1f26de0eb30eae47b17e05ced2482dc41: chore: bump minimum Go version to 1.24 and update workflows (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4388\"\u003e#4388\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRefactor\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e39858a0859c914bd26948fa950477e11bd8d3823: refactor(binding): use maps.Copy for cleaner map handling (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4352\"\u003e#4352\u003c/a\u003e) (\u003ca href=\"https://github.com/russcoss\"\u003e\u003ccode\u003e@​russcoss\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ec0048f645ee945c4db30593afdea10123e2c30a6: refactor(context): omit the return value names (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4395\"\u003e#4395\u003c/a\u003e) (\u003ca href=\"https://github.com/wanghaolong613\"\u003e\u003ccode\u003e@​wanghaolong613\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e915e4c90d28ec4cffc6eb146e208ab5a65eac772: refactor(context): replace hardcoded localhost IPs with constants (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4481\"\u003e#4481\u003c/a\u003e) (\u003ca href=\"https://github.com/pauloappbr\"\u003e\u003ccode\u003e@​pauloappbr\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e414de60574449457f3192a7a1d5528940db2836d: refactor(context): using maps.Clone (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4333\"\u003e#4333\u003c/a\u003e) (\u003ca href=\"https://github.com/cuiweixie\"\u003e\u003ccode\u003e@​cuiweixie\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e59e9d4a794f12c4f9a6c7bed441b9644e5f6d99b: refactor(ginS): use sync.OnceValue to simplify engine function (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4314\"\u003e#4314\u003c/a\u003e) (\u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e3ab698dc5110af1977d57226e4995c57dd34c233: refactor(recovery): smart error comparison (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4142\"\u003e#4142\u003c/a\u003e) (\u003ca href=\"https://github.com/zeek0x\"\u003e\u003ccode\u003e@​zeek0x\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ed1a15347b1e45a8ee816193d3578a93bfd73b70f: refactor(utils): move util functions to utils.go (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4467\"\u003e#4467\u003c/a\u003e) (\u003ca href=\"https://github.com/zeek0x\"\u003e\u003ccode\u003e@​zeek0x\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ee3118cc378d263454098924ebbde7e8d1dd2e904: refactor: for loop can be modernized using range over int (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4392\"\u003e#4392\u003c/a\u003e) (\u003ca href=\"https://github.com/wanghaolong613\"\u003e\u003ccode\u003e@​wanghaolong613\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e488f8c3ffa579a8d19beb2bae95ff8ef36b3d53f: refactor: replace magic numbers with named constants in bodyAllowedForStatus (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4529\"\u003e#4529\u003c/a\u003e) (\u003ca href=\"https://github.com/veeceey\"\u003e\u003ccode\u003e@​veeceey\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e9968c4bf9d5a99edc3eee2c068a4c9160ece8915: refactor: use b.Loop() to simplify the code and improve performance (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4389\"\u003e#4389\u003c/a\u003e) (\u003ca href=\"https://github.com/reddaisyy\"\u003e\u003ccode\u003e@​reddaisyy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ea85ef5ce4d0cda8834c59c855068ed48b51192d1: refactor: use b.Loop() to simplify the code and improve performance (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4432\"\u003e#4432\u003c/a\u003e) (\u003ca href=\"https://github.com/efcking\"\u003e\u003ccode\u003e@​efcking\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBuild process updates\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e61b67de522a189b568aced4c5c16917c558e3387: ci(bot): increase frequency and group updates for dependencies (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4367\"\u003e#4367\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efb27ef26c2fdfe25344b4c039d8a53551f9e912c: ci(lint): refactor test assertions and linter configuration (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4436\"\u003e#4436\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e93ff771e6dbf10e432864b30f3719ac5c84a4d4a: ci(sec): improve type safety and server organization in HTTP middleware (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4437\"\u003e#4437\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ee88fc8927a52b74f55bec0351604a56ac0aa1c51: ci(sec): schedule Trivy security scans to run daily at midnight UTC (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4439\"\u003e#4439\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e5e5ff3ace496a31b138b0820136a146bfb5de0ef: ci: replace vulnerability scanning workflow with Trivy integration (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4421\"\u003e#4421\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e00900fb3e1ea9dde33985a0e4f6afec793d5e786: ci: update CI workflows and standardize Trivy config quotes (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4531\"\u003e#4531\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eae3f524974fc4f55d18c9e7fae4614503c015226: ci: update Go version support to 1.25+ across CI and docs (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4550\"\u003e#4550\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/gin-gonic/gin/blob/master/CHANGELOG.md\"\u003egithub.com/gin-gonic/gin's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eGin v1.12.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat(render): add bson protocol (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4145\"\u003e#4145\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(context): add GetError and GetErrorSlice methods for error retrieval (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4502\"\u003e#4502\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(binding): add support for encoding.UnmarshalText in uri/query binding (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4203\"\u003e#4203\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(gin): add option to use escaped path (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4420\"\u003e#4420\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(context): add Protocol Buffers support to content negotiation (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4423\"\u003e#4423\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(context): implemented Delete method (\u003ca href=\"https://github.com/gin-gonic/gin/commit/38e7651\"\u003e#38e7651\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(logger): color latency (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4146\"\u003e#4146\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eperf(tree): reduce allocations in findCaseInsensitivePath (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4417\"\u003e#4417\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eperf(recovery): optimize line reading in stack function (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4466\"\u003e#4466\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eperf(path): replace regex with custom functions in redirectTrailingSlash (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4414\"\u003e#4414\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eperf(tree): optimize path parsing using strings.Count (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4246\"\u003e#4246\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(logger): allow skipping query string output (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4547\"\u003e#4547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(context): always trust xff headers from unix socket (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/3359\"\u003e#3359\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(response): prevent Flush() panic when the underlying ResponseWriter does not implement \u003ccode\u003ehttp.Flusher\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4479\"\u003e#4479\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(recovery): smart error comparison (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4142\"\u003e#4142\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(context): replace hardcoded localhost IPs with constants (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4481\"\u003e#4481\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(utils): move util functions to utils.go (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4467\"\u003e#4467\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(binding): use maps.Copy for cleaner map handling (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4352\"\u003e#4352\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(context): using maps.Clone (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4333\"\u003e#4333\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(ginS): use sync.OnceValue to simplify engine function (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4314\"\u003e#4314\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor: replace magic numbers with named constants in bodyAllowedForStatus (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4529\"\u003e#4529\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor: for loop can be modernized using range over int (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4392\"\u003e#4392\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(tree): panic in findCaseInsensitivePathRec with RedirectFixedPath (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4535\"\u003e#4535\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(render): write content length in Data.Render (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4206\"\u003e#4206\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(context): ClientIP handling for multiple X-Forwarded-For header values (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4472\"\u003e#4472\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(binding): empty value error (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/2169\"\u003e#2169\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(recover): suppress http.ErrAbortHandler in recover (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4336\"\u003e#4336\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(gin): literal colon routes not working with engine.Handler() (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4415\"\u003e#4415\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(gin): close os.File in RunFd to prevent resource leak (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4422\"\u003e#4422\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(response): refine hijack behavior for response lifecycle (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4373\"\u003e#4373\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(binding): improve empty slice/array handling in form binding (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4380\"\u003e#4380\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(debug): version mismatch (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4403\"\u003e#4403\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: correct typos, improve documentation clarity, and remove dead code (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4511\"\u003e#4511\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBuild process updates / CI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eci: update Go version support to 1.25+ across CI and docs (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4550\"\u003e#4550\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(binding): upgrade bson dependency to mongo-driver v2 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4549\"\u003e#4549\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eGin v1.11.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/73726dc606796a025971fe451f0aa6f1b9b847f6\"\u003e\u003ccode\u003e73726dc\u003c/code\u003e\u003c/a\u003e docs: update documentation to reflect Go version changes (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4552\"\u003e#4552\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/e292e5caa777bce70b66fe08c94cbe9cef3e2ec9\"\u003e\u003ccode\u003ee292e5c\u003c/code\u003e\u003c/a\u003e docs: document and finalize Gin v1.12.0 release (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4551\"\u003e#4551\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/ae3f524974fc4f55d18c9e7fae4614503c015226\"\u003e\u003ccode\u003eae3f524\u003c/code\u003e\u003c/a\u003e ci: update Go version support to 1.25+ across CI and docs (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4550\"\u003e#4550\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/38534e2bf98a06e1f62d6b24384e90b5f78699bf\"\u003e\u003ccode\u003e38534e2\u003c/code\u003e\u003c/a\u003e chore(deps): bump golang.org/x/net from 0.50.0 to 0.51.0 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4548\"\u003e#4548\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/472d086af2acd924cb4b9d7be0525f7d790f69bc\"\u003e\u003ccode\u003e472d086\u003c/code\u003e\u003c/a\u003e fix(tree): panic in findCaseInsensitivePathRec with RedirectFixedPath (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4535\"\u003e#4535\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/fb2583442c4d9bccb75e6d26f1aa6e7c01950db6\"\u003e\u003ccode\u003efb25834\u003c/code\u003e\u003c/a\u003e test(context): use http.StatusContinue constant instead of magic number 100 (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/6f1d5fe3cdb171a08928c3c9dd3fbcfc9ee1b521\"\u003e\u003ccode\u003e6f1d5fe\u003c/code\u003e\u003c/a\u003e test(render): add comprehensive error handling tests (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4541\"\u003e#4541\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/5c00df8afadd06cc5be530dde00fe6d9fa4a2e4a\"\u003e\u003ccode\u003e5c00df8\u003c/code\u003e\u003c/a\u003e fix(render): write content length in Data.Render (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4206\"\u003e#4206\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/db309081bc5c137b2aa15701ef53f7f19788da25\"\u003e\u003ccode\u003edb30908\u003c/code\u003e\u003c/a\u003e chore(logger): allow skipping query string output (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4547\"\u003e#4547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/ba093d19477b896ac89a7fc3246af23d290b8e26\"\u003e\u003ccode\u003eba093d1\u003c/code\u003e\u003c/a\u003e chore(binding): upgrade bson dependency to mongo-driver v2 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4549\"\u003e#4549\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/gin-gonic/gin/compare/v1.9.1...v1.12.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/jmoiron/sqlx` from 1.3.5 to 1.4.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jmoiron/sqlx/releases\"\u003egithub.com/jmoiron/sqlx's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eUpdate dependencies to their latest stable versions\u003c/h2\u003e\n\u003cp\u003eThis release has updated all dependencies to their latest stable version.\u003c/p\u003e\n\u003cp\u003eAnd now, for the auto-generated description:\u003c/p\u003e\n\u003chr /\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eIntroduce CircleCI by \u003ca href=\"https://github.com/dlsniper\"\u003e\u003ccode\u003e@​dlsniper\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jmoiron/sqlx/pull/922\"\u003ejmoiron/sqlx#922\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade dependencies by \u003ca href=\"https://github.com/dlsniper\"\u003e\u003ccode\u003e@​dlsniper\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jmoiron/sqlx/pull/909\"\u003ejmoiron/sqlx#909\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dlsniper\"\u003e\u003ccode\u003e@​dlsniper\u003c/code\u003e\u003c/a\u003e made their first contribution at \u003ca href=\"https://redirect.github.com/jmoiron/sqlx/pull/922\"\u003ejmoiron/sqlx#922\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/jmoiron/sqlx/compare/v1.3.5...v1.4.0\"\u003ehttps://github.com/jmoiron/sqlx/compare/v1.3.5...v1.4.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jmoiron/sqlx/commit/bc916999dc0011f5caf1f0d40e898ea9f839f4ea\"\u003e\u003ccode\u003ebc91699\u003c/code\u003e\u003c/a\u003e Upgrade dependencies (\u003ca href=\"https://redirect.github.com/jmoiron/sqlx/issues/909\"\u003e#909\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jmoiron/sqlx/commit/dcafbc90dc685e20a870c7604a444bff7a5f4267\"\u003e\u003ccode\u003edcafbc9\u003c/code\u003e\u003c/a\u003e Introduce CircleCI (\u003ca href=\"https://redirect.github.com/jmoiron/sqlx/issues/922\"\u003e#922\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/jmoiron/sqlx/compare/v1.3.5...v1.4.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/lib/pq` from 1.10.9 to 1.12.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/lib/pq/releases\"\u003egithub.com/lib/pq's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.12.3\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSend datestyle startup parameter, improving compatbility with database engines that use a different default datestyle such as EnterpriseDB (\u003ca href=\"https://redirect.github.com/lib/pq/issues/1312\"\u003e#1312\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/lib/pq/issues/1312\"\u003e#1312\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/lib/pq/pull/1312\"\u003elib/pq#1312\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.12.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eTreat io.ErrUnexpectedEOF as driver.ErrBadConn so database/sql discards the connection. Since v1.12.0 this could result in permanently broken connections, especially with CockroachDB which frequently sends partial messages (\u003ca href=\"https://redirect.github.com/lib/pq/issues/1299\"\u003e#1299\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/lib/pq/issues/1299\"\u003e#1299\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/lib/pq/pull/1299\"\u003elib/pq#1299\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.12.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eLook for pgpass file in ~/.pgpass instead of ~/.postgresql/pgpass (\u003ca href=\"https://redirect.github.com/lib/pq/issues/1300\"\u003e#1300\u003c/a\u003e).\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDon't clear password if directly set on pq.Config (\u003ca href=\"https://redirect.github.com/lib/pq/issues/1302\"\u003e#1302\u003c/a\u003e).\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/lib/pq/issues/1300\"\u003e#1300\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/lib/pq/pull/1300\"\u003elib/pq#1300\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/lib/pq/issues/1302\"\u003e#1302\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/lib/pq/pull/1302\"\u003elib/pq#1302\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.12.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eThe next release may change the default sslmode from \u003ccode\u003erequire\u003c/code\u003e to \u003ccode\u003eprefer\u003c/code\u003e. See \u003ca href=\"https://redirect.github.com/lib/pq/issues/1271\"\u003e#1271\u003c/a\u003e for details.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003eCopyIn()\u003c/code\u003e and \u003ccode\u003eCopyInToSchema()\u003c/code\u003e have been marked as deprecated. These are simple query builders and not needed for \u003ccode\u003eCOPY [..] FROM STDIN\u003c/code\u003e support (which is \u003cem\u003enot\u003c/em\u003e deprecated). (\u003ca href=\"https://redirect.github.com/lib/pq/issues/1279\"\u003e#1279\u003c/a\u003e)\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e// Old\r\ntx.Prepare(CopyIn(\u0026quot;temp\u0026quot;, \u0026quot;num\u0026quot;, \u0026quot;text\u0026quot;, \u0026quot;blob\u0026quot;, \u0026quot;nothing\u0026quot;))\r\n\u003cp\u003e// Replacement\ntx.Prepare(\u003ccode\u003ecopy temp (num, text, blob, nothing) from stdin\u003c/code\u003e)\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eSupport protocol 3.2, and the \u003ccode\u003emin_protocol_version\u003c/code\u003e and \u003ccode\u003emax_protocol_version\u003c/code\u003e DSN parameters (\u003ca href=\"https://redirect.github.com/lib/pq/issues/1258\"\u003e#1258\u003c/a\u003e).\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSupport \u003ccode\u003esslmode=prefer\u003c/code\u003e and \u003ccode\u003esslmode=allow\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/lib/pq/issues/1270\"\u003e#1270\u003c/a\u003e).\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSupport \u003ccode\u003essl_min_protocol_version\u003c/code\u003e and \u003ccode\u003essl_max_protocol_version\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/lib/pq/issues/1277\"\u003e#1277\u003c/a\u003e).\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSupport connection service file to load connection details (\u003ca href=\"https://redirect.github.com/lib/pq/issues/1285\"\u003e#1285\u003c/a\u003e).\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSupport \u003ccode\u003esslrootcert=system\u003c/code\u003e and use \u003ccode\u003e~/.postgresql/root.crt\u003c/code\u003e as the default value of sslrootcert (\u003ca href=\"https://redirect.github.com/lib/pq/issues/1280\"\u003e#1280\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/lib/pq/issues/1281\"\u003e#1281\u003c/a\u003e).\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd a new \u003ccode\u003epqerror\u003c/code\u003e package with PostgreSQL error codes (\u003ca href=\"https://redirect.github.com/lib/pq/issues/1275\"\u003e#1275\u003c/a\u003e).\u003c/p\u003e\n\u003cp\u003eFor example, to test if an error is a UNIQUE constraint violation:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eif pqErr, ok := errors.AsType[*pq.Error](https://github.com/lib/pq/blob/HEAD/err); ok \u0026amp;\u0026amp; pqErr.Code == pqerror.UniqueViolation {\r\n    log.Fatalf(\u0026quot;email %q already exsts\u0026quot;, email)\r\n}\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eTo make this a bit more convenient, it also adds a \u003ccode\u003epq.As()\u003c/code\u003e function:\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/lib/pq/blob/master/CHANGELOG.md\"\u003egithub.com/lib/pq's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.12.3 (2026-04-03)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSend datestyle startup parameter, improving compatbility with database engines\nthat use a different default datestyle such as EnterpriseDB (\u003ca href=\"https://redirect.github.com/lib/pq/issues/1312\"\u003e#1312\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/lib/pq/issues/1312\"\u003e#1312\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/lib/pq/pull/1312\"\u003elib/pq#1312\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.12.2 (2026-04-02)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eTreat io.ErrUnexpectedEOF as driver.ErrBadConn so database/sql discards the\nconnection. Since v1.12.0 this could result in permanently broken connections,\nespecially with CockroachDB which frequently sends partial messages (\u003ca href=\"https://redirect.github.com/lib/pq/issues/1299\"\u003e#1299\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/lib/pq/issues/1299\"\u003e#1299\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/lib/pq/pull/1299\"\u003elib/pq#1299\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.12.1 (2026-03-30)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eLook for pgpass file in ~/.pgpass instead of ~/.postgresql/pgpass (\u003ca href=\"https://redirect.github.com/lib/pq/issues/1300\"\u003e#1300\u003c/a\u003e).\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDon't clear password if directly set on pq.Config (\u003ca href=\"https://redirect.github.com/lib/pq/issues/1302\"\u003e#1302\u003c/a\u003e).\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/lib/pq/issues/1300\"\u003e#1300\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/lib/pq/pull/1300\"\u003elib/pq#1300\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/lib/pq/issues/1302\"\u003e#1302\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/lib/pq/pull/1302\"\u003elib/pq#1302\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.12.0 (2026-03-18)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eThe next release may change the default sslmode from \u003ccode\u003erequire\u003c/code\u003e to \u003ccode\u003eprefer\u003c/code\u003e.\nSee \u003ca href=\"https://redirect.github.com/lib/pq/issues/1271\"\u003e#1271\u003c/a\u003e for details.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003eCopyIn()\u003c/code\u003e and \u003ccode\u003eCopyInToSchema()\u003c/code\u003e have been marked as deprecated. These are\nsimple query builders and not needed for \u003ccode\u003eCOPY [..] FROM STDIN\u003c/code\u003e support (which\nis \u003cem\u003enot\u003c/em\u003e deprecated). (\u003ca href=\"https://redirect.github.com/lib/pq/issues/1279\"\u003e#1279\u003c/a\u003e)\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e// Old\ntx.Prepare(CopyIn(\u0026quot;temp\u0026quot;, \u0026quot;num\u0026quot;, \u0026quot;text\u0026quot;, \u0026quot;blob\u0026quot;, \u0026quot;nothing\u0026quot;))\n\u003cp\u003e// Replacement\ntx.Prepare(\u003ccode\u003ecopy temp (num, text, blob, nothing) from stdin\u003c/code\u003e)\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eSupport protocol 3.2, and the \u003ccode\u003emin_protocol_version\u003c/code\u003e and\n\u003ccode\u003emax_protocol_version\u003c/code\u003e DSN parameters (\u003ca href=\"https://redirect.github.com/lib/pq/issues/1258\"\u003e#1258\u003c/a\u003e).\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSupport \u003ccode\u003esslmode=prefer\u003c/code\u003e and \u003ccode\u003esslmode=allow\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/lib/pq/issues/1270\"\u003e#1270\u003c/a\u003e).\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSupport \u003ccode\u003essl_min_protocol_version\u003c/code\u003e and \u003ccode\u003essl_max_protocol_version\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/lib/pq/issues/1277\"\u003e#1277\u003c/a\u003e).\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lib/pq/commit/1f3e3d92865dd313b4e146968684d7e3836c76e8\"\u003e\u003ccode\u003e1f3e3d9\u003c/code\u003e\u003c/a\u003e Send datestyle as a startup parameter (\u003ca href=\"https://redirect.github.com/lib/pq/issues/1312\"\u003e#1312\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lib/pq/commit/32ba56b8f9c09575e3320f0043f4f0bdf0ad2009\"\u003e\u003ccode\u003e32ba56b\u003c/code\u003e\u003c/a\u003e Expand tests for multiple result sets\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lib/pq/commit/c2cfac15d5048670f784616c0c3dca56f97f49c0\"\u003e\u003ccode\u003ec2cfac1\u003c/code\u003e\u003c/a\u003e Release v1.12.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lib/pq/commit/859f10493799ae5b3fc3706bbef2ee48764dc787\"\u003e\u003ccode\u003e859f104\u003c/code\u003e\u003c/a\u003e Test CockroachDB\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lib/pq/commit/12e464c3afecfb945fc764001837c137fa764e37\"\u003e\u003ccode\u003e12e464c\u003c/code\u003e\u003c/a\u003e Allow multiple matches and regexps in pqtest.ErrorContains()\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lib/pq/commit/6d77ced41719616090c9e7eec2c313a18640bc3f\"\u003e\u003ccode\u003e6d77ced\u003c/code\u003e\u003c/a\u003e Treat io.ErrUnexpectedEOF as driver.ErrBadConn in handleError\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lib/pq/commit/71daecbc4522cf9cb6c399e19b910d22356ebb87\"\u003e\u003ccode\u003e71daecb\u003c/code\u003e\u003c/a\u003e Ensure transactions are closed in pqtest\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lib/pq/commit/8f448230b50d3c2f796fd20622daaf8ebe3d173c\"\u003e\u003ccode\u003e8f44823\u003c/code\u003e\u003c/a\u003e Set PGAPPNAME for tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lib/pq/commit/4af2196aa02298c23461f2baf538a0679b66a093\"\u003e\u003ccode\u003e4af2196\u003c/code\u003e\u003c/a\u003e Fix healthcheck\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lib/pq/commit/38a54e44b0a91e12314291c9102714e7f503ba98\"\u003e\u003ccode\u003e38a54e4\u003c/code\u003e\u003c/a\u003e Split out testdata/init a bit\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/lib/pq/compare/v1.10.9...v1.12.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/prometheus/client_golang` from 1.19.0 to 1.23.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/prometheus/client_golang/releases\"\u003egithub.com/prometheus/client_golang's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.23.2 - 2025-09-05\u003c/h2\u003e\n\u003cp\u003eThis release is made to upgrade to prometheus/common v0.66.1, which drops the dependencies github.com/grafana/regexp and go.uber.org/atomic and replaces gopkg.in/yaml.v2 with go.yaml.in/yaml/v2 (a drop-in replacement). There are no functional changes.\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cul\u003e\n\u003cli\u003e[release-1.23] Upgrade to prometheus/common@v0.66.1 by \u003ca href=\"https://github.com/aknuds1\"\u003e\u003ccode\u003e@​aknuds1\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/prometheus/client_golang/pull/1869\"\u003eprometheus/client_golang#1869\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[release-1.23] Cut v1.23.2 by \u003ca href=\"https://github.com/aknuds1\"\u003e\u003ccode\u003e@​aknuds1\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/prometheus/client_golang/pull/1870\"\u003eprometheus/client_golang#1870\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/prometheus/client_golang/compare/v1.23.1...v1.23.2\"\u003ehttps://github.com/prometheus/client_golang/compare/v1.23.1...v1.23.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.23.1 - 2025-09-04\u003c/h2\u003e\n\u003cp\u003eThis release is made to be compatible with a backwards incompatible API change in prometheus/common v0.66.0. There are no functional changes.\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cul\u003e\n\u003cli\u003e[release-1.23] Upgrade to prometheus/common v0.66 by \u003ca href=\"https://github.com/aknuds1\"\u003e\u003ccode\u003e@​aknuds1\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/prometheus/client_golang/pull/1866\"\u003eprometheus/client_golang#1866\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[release-1.23] Cut v1.23.1 by \u003ca href=\"https://github.com/aknuds1\"\u003e\u003ccode\u003e@​aknuds1\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/prometheus/client_golang/pull/1867\"\u003eprometheus/client_golang#1867\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/prometheus/client_golang/compare/v1.23.0...v1.23.1\"\u003ehttps://github.com/prometheus/client_golang/compare/v1.23.0...v1.23.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.23.0 - 2025-07-30\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e[CHANGE] Minimum required Go version is now 1.23, only the two latest Go versions are supported from now on. \u003ca href=\"https://redirect.github.com/prometheus/client_golang/issues/1812\"\u003e#1812\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[FEATURE] Add WrapCollectorWith and WrapCollectorWithPrefix \u003ca href=\"https://redirect.github.com/prometheus/client_golang/issues/1766\"\u003e#1766\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[FEATURE] Add exemplars for native histograms \u003ca href=\"https://redirect.github.com/prometheus/client_golang/issues/1686\"\u003e#1686\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENHANCEMENT] exp/api: Bubble up status code from writeResponse \u003ca href=\"https://redirect.github.com/prometheus/client_golang/issues/1823\"\u003e#1823\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENHANCEMENT] collector/go: Update runtime metrics for Go v1.23 and v1.24 \u003ca href=\"https://redirect.github.com/prometheus/client_golang/issues/1833\"\u003e#1833\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[BUGFIX] exp/api: client prompt return on context cancellation \u003ca href=\"https://redirect.github.com/prometheus/client_golang/issues/1729\"\u003e#1729\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/prometheus/client_golang/blob/main/CHANGELOG.md\"\u003egithub.com/prometheus/client_golang's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.23.2 / 2025-09-05\u003c/h2\u003e\n\u003cp\u003eThis release is made to upgrade to prometheus/common v0.66.1, which drops the dependencies github.com/grafana/regexp and go.uber.org/atomic and replaces gopkg.in/yaml.v2 with go.yaml.in/yaml/v2 (a drop-in replacement).\nThere are no functional changes.\u003c/p\u003e\n\u003ch2\u003e1.23.1 / 2025-09-04\u003c/h2\u003e\n\u003cp\u003eThis release is made to be compatible with a backwards incompatible API change\nin prometheus/common v0.66.0. There are no functional changes.\u003c/p\u003e\n\u003ch2\u003e1.23.0 / 2025-07-30\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e[CHANGE] Minimum required Go version is now 1.23, only the two latest Go versions are supported from now on. \u003ca href=\"https://redirect.github.com/prometheus/client_golang/issues/1812\"\u003e#1812\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[FEATURE] Add WrapCollectorWith and WrapCollectorWithPrefix \u003ca href=\"https://redirect.github.com/prometheus/client_golang/issues/1766\"\u003e#1766\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[FEATURE] Add exemplars for native histograms \u003ca href=\"https://redirect.github.com/prometheus/client_golang/issues/1686\"\u003e#1686\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENHANCEMENT] exp/api: Bubble up status code from writeResponse \u003ca href=\"https://redirect.github.com/prometheus/client_golang/issues/1823\"\u003e#1823\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENHANCEMENT] collector/go: Update runtime metrics for Go v1.23 and v1.24 \u003ca href=\"https://redirect.github.com/prometheus/client_golang/issues/1833\"\u003e#1833\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[BUGFIX] exp/api: client prompt return on context cancellation \u003ca href=\"https://redirect.github.com/prometheus/client_golang/issues/1729\"\u003e#1729\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.22.0 / 2025-04-07\u003c/h2\u003e\n\u003cp\u003e:warning: This release contains potential breaking change if you use experimental \u003ccode\u003ezstd\u003c/code\u003e support introduce in \u003ca href=\"https://redirect.github.com/prometheus/client_golang/issues/1496\"\u003e#1496\u003c/a\u003e :warning:\u003c/p\u003e\n\u003cp\u003eExperimental support for \u003ccode\u003ezstd\u003c/code\u003e on scrape was added, controlled by the request \u003ccode\u003eAccept-Encoding\u003c/code\u003e header.\nIt was enabled by default since version 1.20, but now you need to add a blank import to enable it.\nThe decision to make it opt-in by default was originally made because the Go standard library was expected to have default zstd support added soon,\n\u003ca href=\"https://redirect.github.com/golang/go/issues/62513\"\u003egolang/go#62513\u003c/a\u003e however, the work took longer than anticipated and it will be postponed to upcoming major Go versions.\u003c/p\u003e\n\u003cp\u003ee.g.:\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cpre lang=\"go\"\u003e\u003ccode\u003eimport (\n  _ \u0026quot;github.com/prometheus/client_golang/prometheus/promhttp/zstd\u0026quot;\n)\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/blockquote\u003e\n\u003cul\u003e\n\u003cli\u003e[FEATURE] prometheus: Add new CollectorFunc utility \u003ca href=\"https://redirect.github.com/prometheus/client_golang/issues/1724\"\u003e#1724\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[CHANGE] Minimum required Go version is now 1.22 (we also test client_golang against latest go version - 1.24) \u003ca href=\"https://redirect.github.com/prometheus/client_golang/issues/1738\"\u003e#1738\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[FEATURE] api: \u003ccode\u003eWithLookbackDelta\u003c/code\u003e and \u003ccode\u003eWithStats\u003c/code\u003e options have been added to API client. \u003ca href=\"https://redirect.github.com/prometheus/client_golang/issues/1743\"\u003e#1743\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[CHANGE] :warning: promhttp: Isolate zstd support and klauspost/compress library use to promhttp/zstd package. \u003ca href=\"https://redirect.github.com/prometheus/client_golang/issues/1765\"\u003e#1765\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.21.1 / 2025-03-04\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e[BUGFIX] prometheus: Revert of \u003ccode\u003eInc\u003c/code\u003e, \u003ccode\u003eAdd\u003c/code\u003e and \u003ccode\u003eObserve\u003c/code\u003e cumulative metric CAS optimizations (\u003ca href=\"https://redirect.github.com/prometheus/client_golang/issues/1661\"\u003e#1661\u003c/a\u003e), causing regressions on low contention cases.\u003c/li\u003e\n\u003cli\u003e[BUGFIX] prometheus: Fix GOOS=ios build, broken due to process_collector_* wrong build tags.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.21.0 / 2025-02-17\u003c/h2\u003e\n\u003cp\u003e:warning: This release contains potential breaking change if you upgrade \u003ccode\u003egithub.com/prometheus/common\u003c/code\u003e to 0.62+ together with client_golang. :warning:\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prometheus/client_golang/commit/8179a560819f2c64ef6ade70e6ae4c73aecaca3c\"\u003e\u003ccode\u003e8179a56\u003c/code\u003e\u003c/a\u003e Cut v1.23.2 (\u003ca href=\"https://redirect.github.com/prometheus/client_golang/issues/1870\"\u003e#1870\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prometheus/client_golang/commit/4142b5908bb6c8f5e412b72de5ea4b927d8c219d\"\u003e\u003ccode\u003e4142b59\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/prometheus/client_golang/issues/1869\"\u003e#1869\u003c/a\u003e from prometheus/arve/upgrade-common\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prometheus/client_golang/commit/4ff40f0d918efc0f59701d13622913805c2425b4\"\u003e\u003ccode\u003e4ff40f0\u003c/code\u003e\u003c/a\u003e Cut v1.23.1 (\u003ca href=\"https://redirect.github.com/prometheus/client_golang/issues/1867\"\u003e#1867\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prometheus/client_golang/commit/989b0298944e64f88a54ac9c70cd8c8121f10bc9\"\u003e\u003ccode\u003e989b029\u003c/code\u003e\u003c/a\u003e Upgrade to prometheus/common v0.66 (\u003ca href=\"https://redirect.github.com/prometheus/client_golang/issues/1866\"\u003e#1866\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prometheus/client_golang/commit/e4b2208dd8cb6d1425f00250db842ec3c1e8749e\"\u003e\u003ccode\u003ee4b2208\u003c/code\u003e\u003c/a\u003e Cut v1.23.0 (\u003ca href=\"https://redirect.github.com/prometheus/client_golang/issues/1848\"\u003e#1848\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prometheus/client_golang/commit/d9492afd3a6f2e9782a7fc10363281bfd5b743bb\"\u003e\u003ccode\u003ed9492af\u003c/code\u003e\u003c/a\u003e cut v1.23.0-rc.1 (\u003ca href=\"https://redirect.github.com/prometheus/client_golang/issues/1842\"\u003e#1842\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prometheus/client_golang/commit/aeae8a0b4f54a8fa720d19b88638a2d048596f82\"\u003e\u003ccode\u003eaeae8a0\u003c/code\u003e\u003c/a\u003e Cut v1.23.0-rc.0 (\u003ca href=\"https://redirect.github.com/prometheus/client_golang/issues/1837\"\u003e#1837\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prometheus/client_golang/commit/b157309b723f0b8588ea604bb78dbbba196803f2\"\u003e\u003ccode\u003eb157309\u003c/code\u003e\u003c/a\u003e Update common Prometheus files (\u003ca href=\"https://redirect.github.com/prometheus/client_golang/issues/1832\"\u003e#1832\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prometheus/client_golang/commit/a704e287f467b79744c30af996b7d710d4c6900d\"\u003e\u003ccode\u003ea704e28\u003c/code\u003e\u003c/a\u003e build(deps): bump the github-actions group with 3 updates (\u003ca href=\"https://redirect.github.com/prometheus/client_golang/issues/1826\"\u003e#1826\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prometheus/client_golang/commit/c7743110ad2c599de3d8c23682d978a12f9f36d1\"\u003e\u003ccode\u003ec774311\u003c/code\u003e\u003c/a\u003e Fix errNotImplemented reference (\u003ca href=\"https://redirect.github.com/prometheus/client_golang/issues/1835\"\u003e#1835\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/prometheus/client_golang/compare/v1.19.0...v1.23.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `go.uber.org/zap` from 1.27.0 to 1.28.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/uber-go/zap/releases\"\u003ego.uber.org/zap's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.28.0\u003c/h2\u003e\n\u003cp\u003eEnhancements:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/uber-go/zap/issues/1534\"\u003e#1534\u003c/a\u003e[]: Add \u003ccode\u003ezapcore.CheckPreWriteHook\u003c/code\u003e and \u003ccode\u003eCheckedEntry.Before\u003c/code\u003e method for transforming entries before they are written to any Cores.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/uber-go/zap/issues/1534\"\u003e#1534\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/uber-go/zap/pull/1534\"\u003euber-go/zap#1534\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.27.1\u003c/h2\u003e\n\u003cp\u003eEnhancements:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/uber-go/zap/issues/1501\"\u003e#1501\u003c/a\u003e[]: prevent \u003ccode\u003eObject\u003c/code\u003e from panicking on nils\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/uber-go/zap/issues/1511\"\u003e#1511\u003c/a\u003e[]: Fix a race condition in \u003ccode\u003eWithLazy\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThanks to \u003ca href=\"https://github.com/rabbbit\"\u003e\u003ccode\u003e@​rabbbit\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/alshopov\"\u003e\u003ccode\u003e@​alshopov\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/jquirke\"\u003e\u003ccode\u003e@​jquirke\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arukiidou\"\u003e\u003ccode\u003e@​arukiidou\u003c/code\u003e\u003c/a\u003e for their contributions to this release.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/uber-go/zap/issues/1501\"\u003e#1501\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/uber-go/zap/pull/1501\"\u003euber-go/zap#1501\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/uber-go/zap/issues/1511\"\u003e#1511\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/uber-go/zap/pull/1511\"\u003euber-go/zap#1511\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/uber-go/zap/blob/master/CHANGELOG.md\"\u003ego.uber.org/zap's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.28.0 (27 Apr 2026)\u003c/h2\u003e\n\u003cp\u003eEnhancements:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/uber-go/zap/issues/1534\"\u003e#1534\u003c/a\u003e[]: Add \u003ccode\u003ezapcore.CheckPreWriteHook\u003c/code\u003e and \u003ccode\u003eCheckedEntry.Before\u003c/code\u003e method for transforming entries before they are written to any Cores.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.27.1 (19 Nov 2025)\u003c/h2\u003e\n\u003cp\u003eEnhancements:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/uber-go/zap/issues/1501\"\u003e#1501\u003c/a\u003e[]: prevent \u003ccode\u003eObject\u003c/code\u003e from panicking on nils\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/uber-go/zap/issues/1511\"\u003e#1511\u003c/a\u003e[]: Fix a race condition in \u003ccode\u003eWithLazy\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThanks to \u003ca href=\"https://github.com/rabbbit\"\u003e\u003ccode\u003e@​rabbbit\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/alshopov\"\u003e\u003ccode\u003e@​alshopov\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/jquirke\"\u003e\u003ccode\u003e@​jquirke\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arukiidou\"\u003e\u003ccode\u003e@​arukiidou\u003c/code\u003e\u003c/a\u003e for their contributions to this release.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/uber-go/zap/issues/1501\"\u003e#1501\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/uber-go/zap/pull/1501\"\u003euber-go/zap#1501\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/uber-go/zap/issues/1511\"\u003e#1511\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/uber-go/zap/pull/1511\"\u003euber-go/zap#1511\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/uber-go/zap/commit/5b81b37b81b8e2ed447a6f57991e372ee4fa5c8f\"\u003e\u003ccode\u003e5b81b37\u003c/code\u003e\u003c/a\u003e release v1.28.0 (\u003ca href=\"https://redirect.github.com/uber-go/zap/issues/1547\"\u003e#1547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/uber-go/zap/commit/0ab0d5aae5986395e2ca497385d977ccd7cdfc5e\"\u003e\u003ccode\u003e0ab0d5a\u003c/code\u003e\u003c/a\u003e zapcore: Add PreWriteHook for transforming entries before write (\u003ca href=\"https://redirect.github.com/uber-go/zap/issues/1534\"\u003e#1534\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/uber-go/zap/commit/d278c5962cb0f7423170c11a5da9b7a4edbf9b92\"\u003e\u003ccode\u003ed278c59\u003c/code\u003e\u003c/a\u003e [chore] CI: test on Go 1.26 (\u003ca href=\"https://redirect.github.com/uber-go/zap/issues/1535\"\u003e#1535\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/uber-go/zap/commit/16fb16b353f2e27bcd71eba69cbd346b3dcc471a\"\u003e\u003ccode\u003e16fb16b\u003c/code\u003e\u003c/a\u003e chore(dep): replace archived gopkg.in/yaml.v3 with officially maintained go.y...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/uber-go/zap/commit/7b755a3910491932656b01f2013b8bf41e74d4e8\"\u003e\u003ccode\u003e7b755a3\u003c/code\u003e\u003c/a\u003e release 1.27.1 (\u003ca href=\"https://redirect.github.com/uber-go/zap/issues/1521\"\u003e#1521\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/uber-go/zap/commit/d6b395b76053053ec6ae18121c01e08718708bc3\"\u003e\u003ccode\u003ed6b395b\u003c/code\u003e\u003c/a\u003e Update lazy logger not to materialize unless it's being written to (\u003ca href=\"https://redirect.github.com/uber-go/zap/issues/1519\"\u003e#1519\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/uber-go/zap/commit/4b9cea0fee0414839ee5f8c69320c12f181c3d47\"\u003e\u003ccode\u003e4b9cea0\u003c/code\u003e\u003c/a\u003e ci: Test with Go 1.24, Go 1.25 (\u003ca href=\"https://redirect.github.com/uber-go/zap/issues/1508\"\u003e#1508\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/uber-go/zap/commit/7c80d7b53df6ed592d333998cbbfcd99ff52f3c2\"\u003e\u003ccode\u003e7c80d7b\u003c/code\u003e\u003c/a\u003e Fix race condition in WithLazy implementation (\u003ca href=\"https://redirect.github.com/uber-go/zap/issues/1426\"\u003e#1426\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/uber-go/zap/issues/1511\"\u003e#1511\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/uber-go/zap/commit/07077a697f639389cc998ff91b8885feb25f520d\"\u003e\u003ccode\u003e07077a6\u003c/code\u003e\u003c/a\u003e Prevent zap.Object from panicing on nils (\u003ca href=\"https://redirect.github.com/uber-go/zap/issues/1501\"\u003e#1501\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/uber-go/zap/commit/a6afd05063133cc713487d6c883760decd673ca0\"\u003e\u003ccode\u003ea6afd05\u003c/code\u003e\u003c/a\u003e Fix lint check name (\u003ca href=\"https://redirect.github.com/uber-go/zap/issues/1502\"\u003e#1502\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/uber-go/zap/compare/v1.27.0...v1.28.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/guessleej/xCloudAPIM/pull/41","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/guessleej%2FxCloudAPIM/issues/41","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/41/packages"},{"uuid":"4389339062","node_id":"PR_kwDOSUQ3o87YqSy2","number":36,"state":"closed","title":"build(deps): Bump the policy-go-deps group across 1 directory with 6 updates","user":"dependabot[bot]","labels":["dependencies","go"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-05-19T00:23:27.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-06T06:46:11.000Z","updated_at":"2026-05-19T00:23:29.000Z","time_to_close":1100236,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): Bump","group_name":"policy-go-deps","update_count":6,"packages":[{"name":"github.com/gin-gonic/gin","old_version":"1.9.1","new_version":"1.12.0","repository_url":"https://github.com/gin-gonic/gin"},{"name":"github.com/jmoiron/sqlx","old_version":"1.3.5","new_version":"1.4.0","repository_url":"https://github.com/jmoiron/sqlx"},{"name":"github.com/lib/pq","old_version":"1.10.9","new_version":"1.12.3","repository_url":"https://github.com/lib/pq"},{"name":"github.com/prometheus/client_golang","old_version":"1.19.0","new_version":"1.23.2","repository_url":"https://github.com/prometheus/client_golang"},{"name":"github.com/redis/go-redis/v9","old_version":"9.5.1","new_version":"9.19.0","repository_url":"https://github.com/redis/go-redis"},{"name":"go.uber.org/zap","old_version":"1.27.0","new_version":"1.28.0","repository_url":"https://github.com/uber-go/zap"}],"path":null,"ecosystem":"go"},"body":"Bumps the policy-go-deps group with 6 updates in the /policy-engine directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [github.com/gin-gonic/gin](https://github.com/gin-gonic/gin) | `1.9.1` | `1.12.0` |\n| [github.com/jmoiron/sqlx](https://github.com/jmoiron/sqlx) | `1.3.5` | `1.4.0` |\n| [github.com/lib/pq](https://github.com/lib/pq) | `1.10.9` | `1.12.3` |\n| [github.com/prometheus/client_golang](https://github.com/prometheus/client_golang) | `1.19.0` | `1.23.2` |\n| [github.com/redis/go-redis/v9](https://github.com/redis/go-redis) | `9.5.1` | `9.19.0` |\n| [go.uber.org/zap](https://github.com/uber-go/zap) | `1.27.0` | `1.28.0` |\n\n\nUpdates `github.com/gin-gonic/gin` from 1.9.1 to 1.12.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/gin-gonic/gin/releases\"\u003egithub.com/gin-gonic/gin's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.12.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e192ac89eefc1c30f7c97ae48a9ffb1c6f1c8c8bc: feat(binding): add support for encoding.UnmarshalText in uri/query binding (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4203\"\u003e#4203\u003c/a\u003e) (\u003ca href=\"https://github.com/takanuva15\"\u003e\u003ccode\u003e@​takanuva15\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e53410d2e07054369e0960fbe2eed97e1b9966f12: feat(context): add GetError and GetErrorSlice methods for error retrieval (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4502\"\u003e#4502\u003c/a\u003e) (\u003ca href=\"https://github.com/raju-mechatronics\"\u003e\u003ccode\u003e@​raju-mechatronics\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eacc55e049e33b401e810dbd8c0d6dcb6b3ba2b05: feat(context): add Protocol Buffers support to content negotiation (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4423\"\u003e#4423\u003c/a\u003e) (\u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e38e765119241d990705169bedb5002a29ae0cbd1: feat(context): implemented Delete method (\u003ca href=\"https://github.com/Spyder01\"\u003e\u003ccode\u003e@​Spyder01\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e771dcc6476d7bc6abb9ec0235ecefa4d38fe6fb0: feat(gin): add option to use escaped path (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4420\"\u003e#4420\u003c/a\u003e) (\u003ca href=\"https://github.com/ldesauw\"\u003e\u003ccode\u003e@​ldesauw\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e4dec17afdff48e8018c83618fbbe69fceeb2b41d: feat(logger): color latency (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4146\"\u003e#4146\u003c/a\u003e) (\u003ca href=\"https://github.com/wsyqn6\"\u003e\u003ccode\u003e@​wsyqn6\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ed7776de7d444935ea4385999711bd6331a98fecb: feat(render): add bson protocol (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4145\"\u003e#4145\u003c/a\u003e) (\u003ca href=\"https://github.com/laurentcau\"\u003e\u003ccode\u003e@​laurentcau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eb917b14ff9d189f16a7492be79d123a47806ee19: fix(binding): empty value error (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/2169\"\u003e#2169\u003c/a\u003e) (\u003ca href=\"https://github.com/guonaihong\"\u003e\u003ccode\u003e@​guonaihong\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ec3d1092b3b48addf6f9cd00fe274ec3bd14650eb: fix(binding): improve empty slice/array handling in form binding (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4380\"\u003e#4380\u003c/a\u003e) (\u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e9914178584e42458ff7d23891463a880f58c9d86: fix(context): ClientIP handling for multiple X-Forwarded-For header values (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4472\"\u003e#4472\u003c/a\u003e) (\u003ca href=\"https://github.com/Nurysso\"\u003e\u003ccode\u003e@​Nurysso\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e2a794cd0b0faa7d829291375b27a3467ea972b0d: fix(debug): version mismatch (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4403\"\u003e#4403\u003c/a\u003e) (\u003ca href=\"https://github.com/zeek0x\"\u003e\u003ccode\u003e@​zeek0x\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ec3d5a28ed6d3849da820195b6774d212bcc038a9: fix(gin): close os.File in RunFd to prevent resource leak (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4422\"\u003e#4422\u003c/a\u003e) (\u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e5fad976b372e381312f8de69f0969f1284d229d3: fix(gin): literal colon routes not working with engine.Handler() (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4415\"\u003e#4415\u003c/a\u003e) (\u003ca href=\"https://github.com/pawannn\"\u003e\u003ccode\u003e@​pawannn\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e63dd3e60cab89c27fb66bce1423bd268d52abad1: fix(recover): suppress http.ErrAbortHandler in recover (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4336\"\u003e#4336\u003c/a\u003e) (\u003ca href=\"https://github.com/MondayCha\"\u003e\u003ccode\u003e@​MondayCha\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e5c00df8afadd06cc5be530dde00fe6d9fa4a2e4a: fix(render): write content length in Data.Render (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4206\"\u003e#4206\u003c/a\u003e) (\u003ca href=\"https://github.com/dengaleev\"\u003e\u003ccode\u003e@​dengaleev\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e234a6d4c00cb77af9852aca0b8289745d5529b4b: fix(response): refine hijack behavior for response lifecycle (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4373\"\u003e#4373\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e472d086af2acd924cb4b9d7be0525f7d790f69bc: fix(tree): panic in findCaseInsensitivePathRec with RedirectFixedPath (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4535\"\u003e#4535\u003c/a\u003e) (\u003ca href=\"https://github.com/veeceey\"\u003e\u003ccode\u003e@​veeceey\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e8e07d37c63e5536eb25f4af4c91eabeee4011fba: fix: Correct typos, improve documentation clarity, and remove dead code (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4511\"\u003e#4511\u003c/a\u003e) (\u003ca href=\"https://github.com/mahanadh\"\u003e\u003ccode\u003e@​mahanadh\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eba093d19477b896ac89a7fc3246af23d290b8e26: chore(binding): upgrade bson dependency to mongo-driver v2 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4549\"\u003e#4549\u003c/a\u003e) (\u003ca href=\"https://github.com/BobDu\"\u003e\u003ccode\u003e@​BobDu\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eb2b489dbf4826c2c630717a77fd5e42774625410: chore(context): always trust xff headers from unix socket (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/3359\"\u003e#3359\u003c/a\u003e) (\u003ca href=\"https://github.com/WeidiDeng\"\u003e\u003ccode\u003e@​WeidiDeng\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eecb3f7b5e2f3915bf1db240ed5eee572f8dbea36: chore(deps): upgrade golang.org/x/crypto to v0.45.0 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4449\"\u003e#4449\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eaf6e8b70b8261bb0c99ad094fe552ab92991620a: chore(deps): upgrade quic-go to v0.57.1 (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edb309081bc5c137b2aa15701ef53f7f19788da25: chore(logger): allow skipping query string output (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4547\"\u003e#4547\u003c/a\u003e) (\u003ca href=\"https://github.com/USA-RedDragon\"\u003e\u003ccode\u003e@​USA-RedDragon\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e26c3a628655cad2388380cb8102d6ce7d4875f3b: chore(response): prevent Flush() panic when \u003ccode\u003ehttp.Flusher\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4479\"\u003e#4479\u003c/a\u003e) (\u003ca href=\"https://github.com/Twacqwq\"\u003e\u003ccode\u003e@​Twacqwq\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e5dd833f1f26de0eb30eae47b17e05ced2482dc41: chore: bump minimum Go version to 1.24 and update workflows (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4388\"\u003e#4388\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRefactor\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e39858a0859c914bd26948fa950477e11bd8d3823: refactor(binding): use maps.Copy for cleaner map handling (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4352\"\u003e#4352\u003c/a\u003e) (\u003ca href=\"https://github.com/russcoss\"\u003e\u003ccode\u003e@​russcoss\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ec0048f645ee945c4db30593afdea10123e2c30a6: refactor(context): omit the return value names (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4395\"\u003e#4395\u003c/a\u003e) (\u003ca href=\"https://github.com/wanghaolong613\"\u003e\u003ccode\u003e@​wanghaolong613\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e915e4c90d28ec4cffc6eb146e208ab5a65eac772: refactor(context): replace hardcoded localhost IPs with constants (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4481\"\u003e#4481\u003c/a\u003e) (\u003ca href=\"https://github.com/pauloappbr\"\u003e\u003ccode\u003e@​pauloappbr\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e414de60574449457f3192a7a1d5528940db2836d: refactor(context): using maps.Clone (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4333\"\u003e#4333\u003c/a\u003e) (\u003ca href=\"https://github.com/cuiweixie\"\u003e\u003ccode\u003e@​cuiweixie\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e59e9d4a794f12c4f9a6c7bed441b9644e5f6d99b: refactor(ginS): use sync.OnceValue to simplify engine function (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4314\"\u003e#4314\u003c/a\u003e) (\u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e3ab698dc5110af1977d57226e4995c57dd34c233: refactor(recovery): smart error comparison (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4142\"\u003e#4142\u003c/a\u003e) (\u003ca href=\"https://github.com/zeek0x\"\u003e\u003ccode\u003e@​zeek0x\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ed1a15347b1e45a8ee816193d3578a93bfd73b70f: refactor(utils): move util functions to utils.go (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4467\"\u003e#4467\u003c/a\u003e) (\u003ca href=\"https://github.com/zeek0x\"\u003e\u003ccode\u003e@​zeek0x\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ee3118cc378d263454098924ebbde7e8d1dd2e904: refactor: for loop can be modernized using range over int (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4392\"\u003e#4392\u003c/a\u003e) (\u003ca href=\"https://github.com/wanghaolong613\"\u003e\u003ccode\u003e@​wanghaolong613\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e488f8c3ffa579a8d19beb2bae95ff8ef36b3d53f: refactor: replace magic numbers with named constants in bodyAllowedForStatus (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4529\"\u003e#4529\u003c/a\u003e) (\u003ca href=\"https://github.com/veeceey\"\u003e\u003ccode\u003e@​veeceey\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e9968c4bf9d5a99edc3eee2c068a4c9160ece8915: refactor: use b.Loop() to simplify the code and improve performance (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4389\"\u003e#4389\u003c/a\u003e) (\u003ca href=\"https://github.com/reddaisyy\"\u003e\u003ccode\u003e@​reddaisyy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ea85ef5ce4d0cda8834c59c855068ed48b51192d1: refactor: use b.Loop() to simplify the code and improve performance (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4432\"\u003e#4432\u003c/a\u003e) (\u003ca href=\"https://github.com/efcking\"\u003e\u003ccode\u003e@​efcking\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBuild process updates\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e61b67de522a189b568aced4c5c16917c558e3387: ci(bot): increase frequency and group updates for dependencies (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4367\"\u003e#4367\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efb27ef26c2fdfe25344b4c039d8a53551f9e912c: ci(lint): refactor test assertions and linter configuration (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4436\"\u003e#4436\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e93ff771e6dbf10e432864b30f3719ac5c84a4d4a: ci(sec): improve type safety and server organization in HTTP middleware (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4437\"\u003e#4437\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ee88fc8927a52b74f55bec0351604a56ac0aa1c51: ci(sec): schedule Trivy security scans to run daily at midnight UTC (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4439\"\u003e#4439\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e5e5ff3ace496a31b138b0820136a146bfb5de0ef: ci: replace vulnerability scanning workflow with Trivy integration (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4421\"\u003e#4421\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e00900fb3e1ea9dde33985a0e4f6afec793d5e786: ci: update CI workflows and standardize Trivy config quotes (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4531\"\u003e#4531\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eae3f524974fc4f55d18c9e7fae4614503c015226: ci: update Go version support to 1.25+ across CI and docs (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4550\"\u003e#4550\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/gin-gonic/gin/blob/master/CHANGELOG.md\"\u003egithub.com/gin-gonic/gin's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eGin v1.12.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat(render): add bson protocol (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4145\"\u003e#4145\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(context): add GetError and GetErrorSlice methods for error retrieval (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4502\"\u003e#4502\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(binding): add support for encoding.UnmarshalText in uri/query binding (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4203\"\u003e#4203\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(gin): add option to use escaped path (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4420\"\u003e#4420\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(context): add Protocol Buffers support to content negotiation (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4423\"\u003e#4423\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(context): implemented Delete method (\u003ca href=\"https://github.com/gin-gonic/gin/commit/38e7651\"\u003e#38e7651\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(logger): color latency (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4146\"\u003e#4146\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eperf(tree): reduce allocations in findCaseInsensitivePath (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4417\"\u003e#4417\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eperf(recovery): optimize line reading in stack function (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4466\"\u003e#4466\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eperf(path): replace regex with custom functions in redirectTrailingSlash (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4414\"\u003e#4414\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eperf(tree): optimize path parsing using strings.Count (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4246\"\u003e#4246\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(logger): allow skipping query string output (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4547\"\u003e#4547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(context): always trust xff headers from unix socket (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/3359\"\u003e#3359\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(response): prevent Flush() panic when the underlying ResponseWriter does not implement \u003ccode\u003ehttp.Flusher\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4479\"\u003e#4479\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(recovery): smart error comparison (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4142\"\u003e#4142\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(context): replace hardcoded localhost IPs with constants (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4481\"\u003e#4481\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(utils): move util functions to utils.go (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4467\"\u003e#4467\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(binding): use maps.Copy for cleaner map handling (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4352\"\u003e#4352\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(context): using maps.Clone (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4333\"\u003e#4333\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(ginS): use sync.OnceValue to simplify engine function (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4314\"\u003e#4314\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor: replace magic numbers with named constants in bodyAllowedForStatus (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4529\"\u003e#4529\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor: for loop can be modernized using range over int (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4392\"\u003e#4392\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(tree): panic in findCaseInsensitivePathRec with RedirectFixedPath (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4535\"\u003e#4535\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(render): write content length in Data.Render (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4206\"\u003e#4206\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(context): ClientIP handling for multiple X-Forwarded-For header values (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4472\"\u003e#4472\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(binding): empty value error (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/2169\"\u003e#2169\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(recover): suppress http.ErrAbortHandler in recover (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4336\"\u003e#4336\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(gin): literal colon routes not working with engine.Handler() (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4415\"\u003e#4415\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(gin): close os.File in RunFd to prevent resource leak (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4422\"\u003e#4422\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(response): refine hijack behavior for response lifecycle (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4373\"\u003e#4373\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(binding): improve empty slice/array handling in form binding (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4380\"\u003e#4380\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(debug): version mismatch (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4403\"\u003e#4403\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: correct typos, improve documentation clarity, and remove dead code (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4511\"\u003e#4511\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBuild process updates / CI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eci: update Go version support to 1.25+ across CI and docs (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4550\"\u003e#4550\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(binding): upgrade bson dependency to mongo-driver v2 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4549\"\u003e#4549\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eGin v1.11.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/73726dc606796a025971fe451f0aa6f1b9b847f6\"\u003e\u003ccode\u003e73726dc\u003c/code\u003e\u003c/a\u003e docs: update documentation to reflect Go version changes (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4552\"\u003e#4552\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/e292e5caa777bce70b66fe08c94cbe9cef3e2ec9\"\u003e\u003ccode\u003ee292e5c\u003c/code\u003e\u003c/a\u003e docs: document and finalize Gin v1.12.0 release (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4551\"\u003e#4551\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/ae3f524974fc4f55d18c9e7fae4614503c015226\"\u003e\u003ccode\u003eae3f524\u003c/code\u003e\u003c/a\u003e ci: update Go version support to 1.25+ across CI and docs (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4550\"\u003e#4550\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/38534e2bf98a06e1f62d6b24384e90b5f78699bf\"\u003e\u003ccode\u003e38534e2\u003c/code\u003e\u003c/a\u003e chore(deps): bump golang.org/x/net from 0.50.0 to 0.51.0 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4548\"\u003e#4548\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/472d086af2acd924cb4b9d7be0525f7d790f69bc\"\u003e\u003ccode\u003e472d086\u003c/code\u003e\u003c/a\u003e fix(tree): panic in findCaseInsensitivePathRec with RedirectFixedPath (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4535\"\u003e#4535\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/fb2583442c4d9bccb75e6d26f1aa6e7c01950db6\"\u003e\u003ccode\u003efb25834\u003c/code\u003e\u003c/a\u003e test(context): use http.StatusContinue constant instead of magic number 100 (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/6f1d5fe3cdb171a08928c3c9dd3fbcfc9ee1b521\"\u003e\u003ccode\u003e6f1d5fe\u003c/code\u003e\u003c/a\u003e test(render): add comprehensive error handling tests (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4541\"\u003e#4541\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/5c00df8afadd06cc5be530dde00fe6d9fa4a2e4a\"\u003e\u003ccode\u003e5c00df8\u003c/code\u003e\u003c/a\u003e fix(render): write content length in Data.Render (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4206\"\u003e#4206\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/db309081bc5c137b2aa15701ef53f7f19788da25\"\u003e\u003ccode\u003edb30908\u003c/code\u003e\u003c/a\u003e chore(logger): allow skipping query string output (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4547\"\u003e#4547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/ba093d19477b896ac89a7fc3246af23d290b8e26\"\u003e\u003ccode\u003eba093d1\u003c/code\u003e\u003c/a\u003e chore(binding): upgrade bson dependency to mongo-driver v2 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4549\"\u003e#4549\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/gin-gonic/gin/compare/v1.9.1...v1.12.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/jmoiron/sqlx` from 1.3.5 to 1.4.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jmoiron/sqlx/releases\"\u003egithub.com/jmoiron/sqlx's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eUpdate dependencies to their latest stable versions\u003c/h2\u003e\n\u003cp\u003eThis release has updated all dependencies to their latest stable version.\u003c/p\u003e\n\u003cp\u003eAnd now, for the auto-generated description:\u003c/p\u003e\n\u003chr /\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eIntroduce CircleCI by \u003ca href=\"https://github.com/dlsniper\"\u003e\u003ccode\u003e@​dlsniper\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jmoiron/sqlx/pull/922\"\u003ejmoiron/sqlx#922\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade dependencies by \u003ca href=\"https://github.com/dlsniper\"\u003e\u003ccode\u003e@​dlsniper\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jmoiron/sqlx/pull/909\"\u003ejmoiron/sqlx#909\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dlsniper\"\u003e\u003ccode\u003e@​dlsniper\u003c/code\u003e\u003c/a\u003e made their first contribution at \u003ca href=\"https://redirect.github.com/jmoiron/sqlx/pull/922\"\u003ejmoiron/sqlx#922\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/jmoiron/sqlx/compare/v1.3.5...v1.4.0\"\u003ehttps://github.com/jmoiron/sqlx/compare/v1.3.5...v1.4.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jmoiron/sqlx/commit/bc916999dc0011f5caf1f0d40e898ea9f839f4ea\"\u003e\u003ccode\u003ebc91699\u003c/code\u003e\u003c/a\u003e Upgrade dependencies (\u003ca href=\"https://redirect.github.com/jmoiron/sqlx/issues/909\"\u003e#909\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jmoiron/sqlx/commit/dcafbc90dc685e20a870c7604a444bff7a5f4267\"\u003e\u003ccode\u003edcafbc9\u003c/code\u003e\u003c/a\u003e Introduce CircleCI (\u003ca href=\"https://redirect.github.com/jmoiron/sqlx/issues/922\"\u003e#922\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/jmoiron/sqlx/compare/v1.3.5...v1.4.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/lib/pq` from 1.10.9 to 1.12.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/lib/pq/releases\"\u003egithub.com/lib/pq's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.12.3\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSend datestyle startup parameter, improving compatbility with database engines that use a different default datestyle such as EnterpriseDB (\u003ca href=\"https://redirect.github.com/lib/pq/issues/1312\"\u003e#1312\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/lib/pq/issues/1312\"\u003e#1312\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/lib/pq/pull/1312\"\u003elib/pq#1312\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.12.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eTreat io.ErrUnexpectedEOF as driver.ErrBadConn so database/sql discards the connection. Since v1.12.0 this could result in permanently broken connections, especially with CockroachDB which frequently sends partial messages (\u003ca href=\"https://redirect.github.com/lib/pq/issues/1299\"\u003e#1299\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/lib/pq/issues/1299\"\u003e#1299\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/lib/pq/pull/1299\"\u003elib/pq#1299\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.12.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eLook for pgpass file in ~/.pgpass instead of ~/.postgresql/pgpass (\u003ca href=\"https://redirect.github.com/lib/pq/issues/1300\"\u003e#1300\u003c/a\u003e).\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDon't clear password if directly set on pq.Config (\u003ca href=\"https://redirect.github.com/lib/pq/issues/1302\"\u003e#1302\u003c/a\u003e).\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/lib/pq/issues/1300\"\u003e#1300\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/lib/pq/pull/1300\"\u003elib/pq#1300\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/lib/pq/issues/1302\"\u003e#1302\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/lib/pq/pull/1302\"\u003elib/pq#1302\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.12.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eThe next release may change the default sslmode from \u003ccode\u003erequire\u003c/code\u003e to \u003ccode\u003eprefer\u003c/code\u003e. See \u003ca href=\"https://redirect.github.com/lib/pq/issues/1271\"\u003e#1271\u003c/a\u003e for details.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003eCopyIn()\u003c/code\u003e and \u003ccode\u003eCopyInToSchema()\u003c/code\u003e have been marked as deprecated. These are simple query builders and not needed for \u003ccode\u003eCOPY [..] FROM STDIN\u003c/code\u003e support (which is \u003cem\u003enot\u003c/em\u003e deprecated). (\u003ca href=\"https://redirect.github.com/lib/pq/issues/1279\"\u003e#1279\u003c/a\u003e)\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e// Old\r\ntx.Prepare(CopyIn(\u0026quot;temp\u0026quot;, \u0026quot;num\u0026quot;, \u0026quot;text\u0026quot;, \u0026quot;blob\u0026quot;, \u0026quot;nothing\u0026quot;))\r\n\u003cp\u003e// Replacement\ntx.Prepare(\u003ccode\u003ecopy temp (num, text, blob, nothing) from stdin\u003c/code\u003e)\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eSupport protocol 3.2, and the \u003ccode\u003emin_protocol_version\u003c/code\u003e and \u003ccode\u003emax_protocol_version\u003c/code\u003e DSN parameters (\u003ca href=\"https://redirect.github.com/lib/pq/issues/1258\"\u003e#1258\u003c/a\u003e).\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSupport \u003ccode\u003esslmode=prefer\u003c/code\u003e and \u003ccode\u003esslmode=allow\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/lib/pq/issues/1270\"\u003e#1270\u003c/a\u003e).\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSupport \u003ccode\u003essl_min_protocol_version\u003c/code\u003e and \u003ccode\u003essl_max_protocol_version\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/lib/pq/issues/1277\"\u003e#1277\u003c/a\u003e).\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSupport connection service file to load connection details (\u003ca href=\"https://redirect.github.com/lib/pq/issues/1285\"\u003e#1285\u003c/a\u003e).\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSupport \u003ccode\u003esslrootcert=system\u003c/code\u003e and use \u003ccode\u003e~/.postgresql/root.crt\u003c/code\u003e as the default value of sslrootcert (\u003ca href=\"https://redirect.github.com/lib/pq/issues/1280\"\u003e#1280\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/lib/pq/issues/1281\"\u003e#1281\u003c/a\u003e).\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd a new \u003ccode\u003epqerror\u003c/code\u003e package with PostgreSQL error codes (\u003ca href=\"https://redirect.github.com/lib/pq/issues/1275\"\u003e#1275\u003c/a\u003e).\u003c/p\u003e\n\u003cp\u003eFor example, to test if an error is a UNIQUE constraint violation:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eif pqErr, ok := errors.AsType[*pq.Error](https://github.com/lib/pq/blob/HEAD/err); ok \u0026amp;\u0026amp; pqErr.Code == pqerror.UniqueViolation {\r\n    log.Fatalf(\u0026quot;email %q already exsts\u0026quot;, email)\r\n}\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eTo make this a bit more convenient, it also adds a \u003ccode\u003epq.As()\u003c/code\u003e function:\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/lib/pq/blob/master/CHANGELOG.md\"\u003egithub.com/lib/pq's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.12.3 (2026-04-03)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSend datestyle startup parameter, improving compatbility with database engines\nthat use a different default datestyle such as EnterpriseDB (\u003ca href=\"https://redirect.github.com/lib/pq/issues/1312\"\u003e#1312\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/lib/pq/issues/1312\"\u003e#1312\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/lib/pq/pull/1312\"\u003elib/pq#1312\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.12.2 (2026-04-02)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eTreat io.ErrUnexpectedEOF as driver.ErrBadConn so database/sql discards the\nconnection. Since v1.12.0 this could result in permanently broken connections,\nespecially with CockroachDB which frequently sends partial messages (\u003ca href=\"https://redirect.github.com/lib/pq/issues/1299\"\u003e#1299\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/lib/pq/issues/1299\"\u003e#1299\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/lib/pq/pull/1299\"\u003elib/pq#1299\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.12.1 (2026-03-30)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eLook for pgpass file in ~/.pgpass instead of ~/.postgresql/pgpass (\u003ca href=\"https://redirect.github.com/lib/pq/issues/1300\"\u003e#1300\u003c/a\u003e).\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDon't clear password if directly set on pq.Config (\u003ca href=\"https://redirect.github.com/lib/pq/issues/1302\"\u003e#1302\u003c/a\u003e).\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/lib/pq/issues/1300\"\u003e#1300\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/lib/pq/pull/1300\"\u003elib/pq#1300\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/lib/pq/issues/1302\"\u003e#1302\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/lib/pq/pull/1302\"\u003elib/pq#1302\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.12.0 (2026-03-18)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eThe next release may change the default sslmode from \u003ccode\u003erequire\u003c/code\u003e to \u003ccode\u003eprefer\u003c/code\u003e.\nSee \u003ca href=\"https://redirect.github.com/lib/pq/issues/1271\"\u003e#1271\u003c/a\u003e for details.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003eCopyIn()\u003c/code\u003e and \u003ccode\u003eCopyInToSchema()\u003c/code\u003e have been marked as deprecated. These are\nsimple query builders and not needed for \u003ccode\u003eCOPY [..] FROM STDIN\u003c/code\u003e support (which\nis \u003cem\u003enot\u003c/em\u003e deprecated). (\u003ca href=\"https://redirect.github.com/lib/pq/issues/1279\"\u003e#1279\u003c/a\u003e)\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e// Old\ntx.Prepare(CopyIn(\u0026quot;temp\u0026quot;, \u0026quot;num\u0026quot;, \u0026quot;text\u0026quot;, \u0026quot;blob\u0026quot;, \u0026quot;nothing\u0026quot;))\n\u003cp\u003e// Replacement\ntx.Prepare(\u003ccode\u003ecopy temp (num, text, blob, nothing) from stdin\u003c/code\u003e)\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eSupport protocol 3.2, and the \u003ccode\u003emin_protocol_version\u003c/code\u003e and\n\u003ccode\u003emax_protocol_version\u003c/code\u003e DSN parameters (\u003ca href=\"https://redirect.github.com/lib/pq/issues/1258\"\u003e#1258\u003c/a\u003e).\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSupport \u003ccode\u003esslmode=prefer\u003c/code\u003e and \u003ccode\u003esslmode=allow\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/lib/pq/issues/1270\"\u003e#1270\u003c/a\u003e).\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSupport \u003ccode\u003essl_min_protocol_version\u003c/code\u003e and \u003ccode\u003essl_max_protocol_version\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/lib/pq/issues/1277\"\u003e#1277\u003c/a\u003e).\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lib/pq/commit/1f3e3d92865dd313b4e146968684d7e3836c76e8\"\u003e\u003ccode\u003e1f3e3d9\u003c/code\u003e\u003c/a\u003e Send datestyle as a startup parameter (\u003ca href=\"https://redirect.github.com/lib/pq/issues/1312\"\u003e#1312\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lib/pq/commit/32ba56b8f9c09575e3320f0043f4f0bdf0ad2009\"\u003e\u003ccode\u003e32ba56b\u003c/code\u003e\u003c/a\u003e Expand tests for multiple result sets\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lib/pq/commit/c2cfac15d5048670f784616c0c3dca56f97f49c0\"\u003e\u003ccode\u003ec2cfac1\u003c/code\u003e\u003c/a\u003e Release v1.12.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lib/pq/commit/859f10493799ae5b3fc3706bbef2ee48764dc787\"\u003e\u003ccode\u003e859f104\u003c/code\u003e\u003c/a\u003e Test CockroachDB\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lib/pq/commit/12e464c3afecfb945fc764001837c137fa764e37\"\u003e\u003ccode\u003e12e464c\u003c/code\u003e\u003c/a\u003e Allow multiple matches and regexps in pqtest.ErrorContains()\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lib/pq/commit/6d77ced41719616090c9e7eec2c313a18640bc3f\"\u003e\u003ccode\u003e6d77ced\u003c/code\u003e\u003c/a\u003e Treat io.ErrUnexpectedEOF as driver.ErrBadConn in handleError\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lib/pq/commit/71daecbc4522cf9cb6c399e19b910d22356ebb87\"\u003e\u003ccode\u003e71daecb\u003c/code\u003e\u003c/a\u003e Ensure transactions are closed in pqtest\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lib/pq/commit/8f448230b50d3c2f796fd20622daaf8ebe3d173c\"\u003e\u003ccode\u003e8f44823\u003c/code\u003e\u003c/a\u003e Set PGAPPNAME for tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lib/pq/commit/4af2196aa02298c23461f2baf538a0679b66a093\"\u003e\u003ccode\u003e4af2196\u003c/code\u003e\u003c/a\u003e Fix healthcheck\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lib/pq/commit/38a54e44b0a91e12314291c9102714e7f503ba98\"\u003e\u003ccode\u003e38a54e4\u003c/code\u003e\u003c/a\u003e Split out testdata/init a bit\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/lib/pq/compare/v1.10.9...v1.12.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/prometheus/client_golang` from 1.19.0 to 1.23.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/prometheus/client_golang/releases\"\u003egithub.com/prometheus/client_golang's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.23.2 - 2025-09-05\u003c/h2\u003e\n\u003cp\u003eThis release is made to upgrade to prometheus/common v0.66.1, which drops the dependencies github.com/grafana/regexp and go.uber.org/atomic and replaces gopkg.in/yaml.v2 with go.yaml.in/yaml/v2 (a drop-in replacement). There are no functional changes.\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cul\u003e\n\u003cli\u003e[release-1.23] Upgrade to prometheus/common@v0.66.1 by \u003ca href=\"https://github.com/aknuds1\"\u003e\u003ccode\u003e@​aknuds1\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/prometheus/client_golang/pull/1869\"\u003eprometheus/client_golang#1869\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[release-1.23] Cut v1.23.2 by \u003ca href=\"https://github.com/aknuds1\"\u003e\u003ccode\u003e@​aknuds1\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/prometheus/client_golang/pull/1870\"\u003eprometheus/client_golang#1870\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/prometheus/client_golang/compare/v1.23.1...v1.23.2\"\u003ehttps://github.com/prometheus/client_golang/compare/v1.23.1...v1.23.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.23.1 - 2025-09-04\u003c/h2\u003e\n\u003cp\u003eThis release is made to be compatible with a backwards incompatible API change in prometheus/common v0.66.0. There are no functional changes.\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cul\u003e\n\u003cli\u003e[release-1.23] Upgrade to prometheus/common v0.66 by \u003ca href=\"https://github.com/aknuds1\"\u003e\u003ccode\u003e@​aknuds1\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/prometheus/client_golang/pull/1866\"\u003eprometheus/client_golang#1866\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[release-1.23] Cut v1.23.1 by \u003ca href=\"https://github.com/aknuds1\"\u003e\u003ccode\u003e@​aknuds1\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/prometheus/client_golang/pull/1867\"\u003eprometheus/client_golang#1867\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/prometheus/client_golang/compare/v1.23.0...v1.23.1\"\u003ehttps://github.com/prometheus/client_golang/compare/v1.23.0...v1.23.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.23.0 - 2025-07-30\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e[CHANGE] Minimum required Go version is now 1.23, only the two latest Go versions are supported from now on. \u003ca href=\"https://redirect.github.com/prometheus/client_golang/issues/1812\"\u003e#1812\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[FEATURE] Add WrapCollectorWith and WrapCollectorWithPrefix \u003ca href=\"https://redirect.github.com/prometheus/client_golang/issues/1766\"\u003e#1766\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[FEATURE] Add exemplars for native histograms \u003ca href=\"https://redirect.github.com/prometheus/client_golang/issues/1686\"\u003e#1686\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENHANCEMENT] exp/api: Bubble up status code from writeResponse \u003ca href=\"https://redirect.github.com/prometheus/client_golang/issues/1823\"\u003e#1823\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENHANCEMENT] collector/go: Update runtime metrics for Go v1.23 and v1.24 \u003ca href=\"https://redirect.github.com/prometheus/client_golang/issues/1833\"\u003e#1833\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[BUGFIX] exp/api: client prompt return on context cancellation \u003ca href=\"https://redirect.github.com/prometheus/client_golang/issues/1729\"\u003e#1729\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/prometheus/client_golang/blob/main/CHANGELOG.md\"\u003egithub.com/prometheus/client_golang's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.23.2 / 2025-09-05\u003c/h2\u003e\n\u003cp\u003eThis release is made to upgrade to prometheus/common v0.66.1, which drops the dependencies github.com/grafana/regexp and go.uber.org/atomic and replaces gopkg.in/yaml.v2 with go.yaml.in/yaml/v2 (a drop-in replacement).\nThere are no functional changes.\u003c/p\u003e\n\u003ch2\u003e1.23.1 / 2025-09-04\u003c/h2\u003e\n\u003cp\u003eThis release is made to be compatible with a backwards incompatible API change\nin prometheus/common v0.66.0. There are no functional changes.\u003c/p\u003e\n\u003ch2\u003e1.23.0 / 2025-07-30\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e[CHANGE] Minimum required Go version is now 1.23, only the two latest Go versions are supported from now on. \u003ca href=\"https://redirect.github.com/prometheus/client_golang/issues/1812\"\u003e#1812\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[FEATURE] Add WrapCollectorWith and WrapCollectorWithPrefix \u003ca href=\"https://redirect.github.com/prometheus/client_golang/issues/1766\"\u003e#1766\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[FEATURE] Add exemplars for native histograms \u003ca href=\"https://redirect.github.com/prometheus/client_golang/issues/1686\"\u003e#1686\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENHANCEMENT] exp/api: Bubble up status code from writeResponse \u003ca href=\"https://redirect.github.com/prometheus/client_golang/issues/1823\"\u003e#1823\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENHANCEMENT] collector/go: Update runtime metrics for Go v1.23 and v1.24 \u003ca href=\"https://redirect.github.com/prometheus/client_golang/issues/1833\"\u003e#1833\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[BUGFIX] exp/api: client prompt return on context cancellation \u003ca href=\"https://redirect.github.com/prometheus/client_golang/issues/1729\"\u003e#1729\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.22.0 / 2025-04-07\u003c/h2\u003e\n\u003cp\u003e:warning: This release contains potential breaking change if you use experimental \u003ccode\u003ezstd\u003c/code\u003e support introduce in \u003ca href=\"https://redirect.github.com/prometheus/client_golang/issues/1496\"\u003e#1496\u003c/a\u003e :warning:\u003c/p\u003e\n\u003cp\u003eExperimental support for \u003ccode\u003ezstd\u003c/code\u003e on scrape was added, controlled by the request \u003ccode\u003eAccept-Encoding\u003c/code\u003e header.\nIt was enabled by default since version 1.20, but now you need to add a blank import to enable it.\nThe decision to make it opt-in by default was originally made because the Go standard library was expected to have default zstd support added soon,\n\u003ca href=\"https://redirect.github.com/golang/go/issues/62513\"\u003egolang/go#62513\u003c/a\u003e however, the work took longer than anticipated and it will be postponed to upcoming major Go versions.\u003c/p\u003e\n\u003cp\u003ee.g.:\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cpre lang=\"go\"\u003e\u003ccode\u003eimport (\n  _ \u0026quot;github.com/prometheus/client_golang/prometheus/promhttp/zstd\u0026quot;\n)\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/blockquote\u003e\n\u003cul\u003e\n\u003cli\u003e[FEATURE] prometheus: Add new CollectorFunc utility \u003ca href=\"https://redirect.github.com/prometheus/client_golang/issues/1724\"\u003e#1724\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[CHANGE] Minimum required Go version is now 1.22 (we also test client_golang against latest go version - 1.24) \u003ca href=\"https://redirect.github.com/prometheus/client_golang/issues/1738\"\u003e#1738\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[FEATURE] api: \u003ccode\u003eWithLookbackDelta\u003c/code\u003e and \u003ccode\u003eWithStats\u003c/code\u003e options have been added to API client. \u003ca href=\"https://redirect.github.com/prometheus/client_golang/issues/1743\"\u003e#1743\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[CHANGE] :warning: promhttp: Isolate zstd support and klauspost/compress library use to promhttp/zstd package. \u003ca href=\"https://redirect.github.com/prometheus/client_golang/issues/1765\"\u003e#1765\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.21.1 / 2025-03-04\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e[BUGFIX] prometheus: Revert of \u003ccode\u003eInc\u003c/code\u003e, \u003ccode\u003eAdd\u003c/code\u003e and \u003ccode\u003eObserve\u003c/code\u003e cumulative metric CAS optimizations (\u003ca href=\"https://redirect.github.com/prometheus/client_golang/issues/1661\"\u003e#1661\u003c/a\u003e), causing regressions on low contention cases.\u003c/li\u003e\n\u003cli\u003e[BUGFIX] prometheus: Fix GOOS=ios build, broken due to process_collector_* wrong build tags.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.21.0 / 2025-02-17\u003c/h2\u003e\n\u003cp\u003e:warning: This release contains potential breaking change if you upgrade \u003ccode\u003egithub.com/prometheus/common\u003c/code\u003e to 0.62+ together with client_golang. :warning:\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prometheus/client_golang/commit/8179a560819f2c64ef6ade70e6ae4c73aecaca3c\"\u003e\u003ccode\u003e8179a56\u003c/code\u003e\u003c/a\u003e Cut v1.23.2 (\u003ca href=\"https://redirect.github.com/prometheus/client_golang/issues/1870\"\u003e#1870\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prometheus/client_golang/commit/4142b5908bb6c8f5e412b72de5ea4b927d8c219d\"\u003e\u003ccode\u003e4142b59\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/prometheus/client_golang/issues/1869\"\u003e#1869\u003c/a\u003e from prometheus/arve/upgrade-common\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prometheus/client_golang/commit/4ff40f0d918efc0f59701d13622913805c2425b4\"\u003e\u003ccode\u003e4ff40f0\u003c/code\u003e\u003c/a\u003e Cut v1.23.1 (\u003ca href=\"https://redirect.github.com/prometheus/client_golang/issues/1867\"\u003e#1867\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prometheus/client_golang/commit/989b0298944e64f88a54ac9c70cd8c8121f10bc9\"\u003e\u003ccode\u003e989b029\u003c/code\u003e\u003c/a\u003e Upgrade to prometheus/common v0.66 (\u003ca href=\"https://redirect.github.com/prometheus/client_golang/issues/1866\"\u003e#1866\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prometheus/client_golang/commit/e4b2208dd8cb6d1425f00250db842ec3c1e8749e\"\u003e\u003ccode\u003ee4b2208\u003c/code\u003e\u003c/a\u003e Cut v1.23.0 (\u003ca href=\"https://redirect.github.com/prometheus/client_golang/issues/1848\"\u003e#1848\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prometheus/client_golang/commit/d9492afd3a6f2e9782a7fc10363281bfd5b743bb\"\u003e\u003ccode\u003ed9492af\u003c/code\u003e\u003c/a\u003e cut v1.23.0-rc.1 (\u003ca href=\"https://redirect.github.com/prometheus/client_golang/issues/1842\"\u003e#1842\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prometheus/client_golang/commit/aeae8a0b4f54a8fa720d19b88638a2d048596f82\"\u003e\u003ccode\u003eaeae8a0\u003c/code\u003e\u003c/a\u003e Cut v1.23.0-rc.0 (\u003ca href=\"https://redirect.github.com/prometheus/client_golang/issues/1837\"\u003e#1837\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prometheus/client_golang/commit/b157309b723f0b8588ea604bb78dbbba196803f2\"\u003e\u003ccode\u003eb157309\u003c/code\u003e\u003c/a\u003e Update common Prometheus files (\u003ca href=\"https://redirect.github.com/prometheus/client_golang/issues/1832\"\u003e#1832\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prometheus/client_golang/commit/a704e287f467b79744c30af996b7d710d4c6900d\"\u003e\u003ccode\u003ea704e28\u003c/code\u003e\u003c/a\u003e build(deps): bump the github-actions group with 3 updates (\u003ca href=\"https://redirect.github.com/prometheus/client_golang/issues/1826\"\u003e#1826\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prometheus/client_golang/commit/c7743110ad2c599de3d8c23682d978a12f9f36d1\"\u003e\u003ccode\u003ec774311\u003c/code\u003e\u003c/a\u003e Fix errNotImplemented reference (\u003ca href=\"https://redirect.github.com/prometheus/client_golang/issues/1835\"\u003e#1835\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/prometheus/client_golang/compare/v1.19.0...v1.23.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/redis/go-redis/v9` from 9.5.1 to 9.19.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/redis/go-redis/releases\"\u003egithub.com/redis/go-redis/v9's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e9.19.0\u003c/h2\u003e\n\u003ch2\u003e🚀 Highlights\u003c/h2\u003e\n\u003ch3\u003eFIPS-Compatible Script Helper\u003c/h3\u003e\n\u003cp\u003e\u003ccode\u003eScript\u003c/code\u003e now supports a FIPS-safe execution mode that avoids client-side SHA-1 computation, which is blocked in strict FIPS environments. A new \u003ccode\u003eNewScriptServerSHA\u003c/code\u003e constructor uses \u003ccode\u003eSCRIPT LOAD\u003c/code\u003e to obtain and cache the digest from the server, then runs commands via \u003ccode\u003eEVALSHA\u003c/code\u003e/\u003ccode\u003eEVALSHA_RO\u003c/code\u003e. Falls back to \u003ccode\u003eEVAL\u003c/code\u003e/\u003ccode\u003eEVALRO\u003c/code\u003e if loading fails, and transparently retries once on \u003ccode\u003eNOSCRIPT\u003c/code\u003e. The default behavior is unchanged for existing users.\u003c/p\u003e\n\u003cp\u003e(\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3700\"\u003e#3700\u003c/a\u003e) by \u003ca href=\"https://github.com/chaitanyabodlapati\"\u003e\u003ccode\u003e@​chaitanyabodlapati\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFT.AGGREGATE Step-Based Pipeline Builder\u003c/h3\u003e\n\u003cp\u003eAdded a new step-based \u003ccode\u003eFT.AGGREGATE\u003c/code\u003e pipeline API via \u003ccode\u003eFTAggregateOptions.Steps\u003c/code\u003e, allowing \u003ccode\u003eLOAD\u003c/code\u003e, \u003ccode\u003eAPPLY\u003c/code\u003e, \u003ccode\u003eGROUPBY\u003c/code\u003e, and \u003ccode\u003eSORTBY\u003c/code\u003e (with per-step \u003ccode\u003eMAX\u003c/code\u003e) to be repeated and interleaved in arbitrary order — matching Redis's native multi-stage aggregation semantics. The legacy \u003ccode\u003eLoad\u003c/code\u003e/\u003ccode\u003eApply\u003c/code\u003e/\u003ccode\u003eGroupBy\u003c/code\u003e/\u003ccode\u003eSortBy\u003c/code\u003e/\u003ccode\u003eSortByMax\u003c/code\u003e fields are now deprecated.\u003c/p\u003e\n\u003cp\u003e(\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3782\"\u003e#3782\u003c/a\u003e) by \u003ca href=\"https://github.com/ndyakov\"\u003e\u003ccode\u003e@​ndyakov\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eRaw RESP Protocol Access\u003c/h3\u003e\n\u003cp\u003eAdded \u003ccode\u003eDoRaw\u003c/code\u003e and \u003ccode\u003eDoRawWriteTo\u003c/code\u003e methods for executing arbitrary commands and reading the raw RESP response. Useful for proxying, custom protocol inspection, and working with commands not yet wrapped by go-redis.\u003c/p\u003e\n\u003cp\u003e(\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3713\"\u003e#3713\u003c/a\u003e) by \u003ca href=\"https://github.com/ofekshenawa\"\u003e\u003ccode\u003e@​ofekshenawa\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eConfigurable Dial Retry Backoff\u003c/h3\u003e\n\u003cp\u003eAdded \u003ccode\u003eDialerRetryBackoff\u003c/code\u003e option (plumbed through \u003ccode\u003eOptions\u003c/code\u003e, \u003ccode\u003eClusterOptions\u003c/code\u003e, \u003ccode\u003eRingOptions\u003c/code\u003e, \u003ccode\u003eFailoverOptions\u003c/code\u003e) to let callers customize the delay between failed dial attempts. Helpers \u003ccode\u003eDialRetryBackoffConstant\u003c/code\u003e and \u003ccode\u003eDialRetryBackoffExponential\u003c/code\u003e (with jitter and cap) are provided out of the box. Dial timeout is now also applied \u003cstrong\u003eper attempt\u003c/strong\u003e rather than across all retries.\u003c/p\u003e\n\u003cp\u003e(\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3706\"\u003e#3706\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3705\"\u003e#3705\u003c/a\u003e) by \u003ca href=\"https://github.com/mwhooker\"\u003e\u003ccode\u003e@​mwhooker\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e✨ New Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eFT.AGGREGATE Steps\u003c/strong\u003e: Step-based pipeline builder for \u003ccode\u003eFT.AGGREGATE\u003c/code\u003e with support for repeated/interleaved \u003ccode\u003eLOAD\u003c/code\u003e, \u003ccode\u003eAPPLY\u003c/code\u003e, \u003ccode\u003eGROUPBY\u003c/code\u003e, and \u003ccode\u003eSORTBY\u003c/code\u003e stages (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3782\"\u003e#3782\u003c/a\u003e) by \u003ca href=\"https://github.com/ndyakov\"\u003e\u003ccode\u003e@​ndyakov\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eVectorSet commands\u003c/strong\u003e: Added \u003ccode\u003eVISMEMBER\u003c/code\u003e and \u003ccode\u003eWITHATTRIBS\u003c/code\u003e support (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3753\"\u003e#3753\u003c/a\u003e) by \u003ca href=\"https://github.com/romanpovol\"\u003e\u003ccode\u003e@​romanpovol\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eFIPS-safe Script\u003c/strong\u003e: \u003ccode\u003eNewScriptServerSHA\u003c/code\u003e uses \u003ccode\u003eSCRIPT LOAD\u003c/code\u003e to obtain the digest from the server, avoiding client-side SHA-1 (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3700\"\u003e#3700\u003c/a\u003e) by \u003ca href=\"https://github.com/chaitanyabodlapati\"\u003e\u003ccode\u003e@​chaitanyabodlapati\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eRaw RESP access\u003c/strong\u003e: \u003ccode\u003eDoRaw\u003c/code\u003e and \u003ccode\u003eDoRawWriteTo\u003c/code\u003e for raw RESP protocol access (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3713\"\u003e#3713\u003c/a\u003e) by \u003ca href=\"https://github.com/ofekshenawa\"\u003e\u003ccode\u003e@​ofekshenawa\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eDial retry backoff\u003c/strong\u003e: \u003ccode\u003eDialerRetryBackoff\u003c/code\u003e function option with constant and exponential helpers (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3706\"\u003e#3706\u003c/a\u003e) by \u003ca href=\"https://github.com/mwhooker\"\u003e\u003ccode\u003e@​mwhooker\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eTyped NOSCRIPT error\u003c/strong\u003e: Redis \u003ccode\u003eNOSCRIPT\u003c/code\u003e replies are now surfaced as a typed error for easier handling (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3738\"\u003e#3738\u003c/a\u003e) by \u003ca href=\"https://github.com/LINKIWI\"\u003e\u003ccode\u003e@​LINKIWI\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ePubSub ClientSetName\u003c/strong\u003e: Added \u003ccode\u003eClientSetName\u003c/code\u003e method to \u003ccode\u003ePubSub\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3727\"\u003e#3727\u003c/a\u003e) by \u003ca href=\"https://github.com/Flack74\"\u003e\u003ccode\u003e@​Flack74\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eReplicaOf\u003c/strong\u003e: New \u003ccode\u003eReplicaOf\u003c/code\u003e method replaces the deprecated \u003ccode\u003eSlaveOf\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3720\"\u003e#3720\u003c/a\u003e) by \u003ca href=\"https://github.com/apps/copilot-swe-agent\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eHSCAN BinaryUnmarshaler\u003c/strong\u003e: \u003ccode\u003eHScan\u003c/code\u003e now supports types implementing \u003ccode\u003eencoding.BinaryUnmarshaler\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3768\"\u003e#3768\u003c/a\u003e) by \u003ca href=\"https://github.com/Aaditya-dubey1\"\u003e\u003ccode\u003e@​Aaditya-dubey1\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eAuto hostname type detection\u003c/strong\u003e: Improved endpoint type detection for maintenance notifications using DNS-based classification; handles empty hosts and expanded private-IP ranges (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3789\"\u003e#3789\u003c/a\u003e) by \u003ca href=\"https://github.com/ndyakov\"\u003e\u003ccode\u003e@​ndyakov\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eHELLO fallback\u003c/strong\u003e: Don't send \u003ccode\u003eCLIENT MAINT_NOTIFICATIONS\u003c/code\u003e handshake when \u003ccode\u003eHELLO\u003c/code\u003e fails and connection falls back to RESP2; fail fast when explicitly enabled with RESP3 (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3788\"\u003e#3788\u003c/a\u003e) by \u003ca href=\"https://github.com/ndyakov\"\u003e\u003ccode\u003e@​ndyakov\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eDial TCP retry\u003c/strong\u003e: \u003ccode\u003eShouldRetry\u003c/code\u003e now treats \u003ccode\u003enet.OpError\u003c/code\u003e with \u003ccode\u003eOp == \u0026quot;dial\u0026quot;\u003c/code\u003e timeout errors as safe to retry since no command was sent (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3787\"\u003e#3787\u003c/a\u003e) by \u003ca href=\"https://github.com/vladisa88\"\u003e\u003ccode\u003e@​vladisa88\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ewrappedOnClose leak\u003c/strong\u003e: Fixed resource leak caused by repeatedly wrapping \u003ccode\u003ebaseClient\u003c/code\u003e close logic; replaced with a bounded, concurrency-safe named-hook registry (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3785\"\u003e#3785\u003c/a\u003e) by \u003ca href=\"https://github.com/ndyakov\"\u003e\u003ccode\u003e@​ndyakov\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ePool Close() on stale connections\u003c/strong\u003e: Suppress close errors (e.g., TLS \u003ccode\u003ecloseNotify\u003c/code\u003e timeouts) for connections already dropped by the server due to idle timeout (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3778\"\u003e#3778\u003c/a\u003e) by \u003ca href=\"https://github.com/ofekshenawa\"\u003e\u003ccode\u003e@​ofekshenawa\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eFIFO waiter ordering\u003c/strong\u003e: Fixed race in \u003ccode\u003eConnStateMachine.notifyWaiters\u003c/code\u003e that could wake multiple waiters under a single mutex hold and violate FIFO ordering (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3777\"\u003e#3777\u003c/a\u003e) by \u003ca href=\"https://github.com/0x48core\"\u003e\u003ccode\u003e@​0x48core\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eLua READONLY detection\u003c/strong\u003e: Detect \u003ccode\u003eREADONLY\u003c/code\u003e errors embedded in Lua script error messages on read-only replicas so commands are correctly retried (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3769\"\u003e#3769\u003c/a\u003e) by \u003ca href=\"https://github.com/zhengjilei\"\u003e\u003ccode\u003e@​zhengjilei\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eVectorScoreSliceCmd RESP2\u003c/strong\u003e: Fixed \u003ccode\u003eVSimWithScores\u003c/code\u003e, \u003ccode\u003eVSimWithArgsWithScores\u003c/code\u003e, and \u003ccode\u003eVLinksWithScores\u003c/code\u003e which were broken on RESP2 connections returning flat arrays instead of maps (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3767\"\u003e#3767\u003c/a\u003e) by \u003ca href=\"https://github.com/apps/copilot-swe-agent\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/redis/go-redis/blob/master/RELEASE-NOTES.md\"\u003egithub.com/redis/go-redis/v9's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e9.19.0 (2026-04-27)\u003c/h1\u003e\n\u003ch2\u003e🚀 Highlights\u003c/h2\u003e\n\u003ch3\u003eFIPS-Compatible Script Helper\u003c/h3\u003e\n\u003cp\u003e\u003ccode\u003eScript\u003c/code\u003e now supports a FIPS-safe execution mode that avoids client-side SHA-1 computation, which is blocked in strict FIPS environments. A new \u003ccode\u003eNewScriptServerSHA\u003c/code\u003e constructor uses \u003ccode\u003eSCRIPT LOAD\u003c/code\u003e to obtain and cache the digest from the server, then runs commands via \u003ccode\u003eEVALSHA\u003c/code\u003e/\u003ccode\u003eEVALSHA_RO\u003c/code\u003e. Falls back to \u003ccode\u003eEVAL\u003c/code\u003e/\u003ccode\u003eEVALRO\u003c/code\u003e if loading fails, and transparently retries once on \u003ccode\u003eNOSCRIPT\u003c/code\u003e. The default behavior is unchanged for existing users.\u003c/p\u003e\n\u003cp\u003e(\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3700\"\u003e#3700\u003c/a\u003e) by \u003ca href=\"https://github.com/chaitanyabodlapati\"\u003e\u003ccode\u003e@​chaitanyabodlapati\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFT.AGGREGATE Step-Based Pipeline Builder\u003c/h3\u003e\n\u003cp\u003eAdded a new step-based \u003ccode\u003eFT.AGGREGATE\u003c/code\u003e pipeline API via \u003ccode\u003eFTAggregateOptions.Steps\u003c/code\u003e, allowing \u003ccode\u003eLOAD\u003c/code\u003e, \u003ccode\u003eAPPLY\u003c/code\u003e, \u003ccode\u003eGROUPBY\u003c/code\u003e, and \u003ccode\u003eSORTBY\u003c/code\u003e (with per-step \u003ccode\u003eMAX\u003c/code\u003e) to be repeated and interleaved in arbitrary order — matching Redis's native multi-stage aggregation semantics. The legacy \u003ccode\u003eLoad\u003c/code\u003e/\u003ccode\u003eApply\u003c/code\u003e/\u003ccode\u003eGroupBy\u003c/code\u003e/\u003ccode\u003eSortBy\u003c/code\u003e/\u003ccode\u003eSortByMax\u003c/code\u003e fields are now deprecated.\u003c/p\u003e\n\u003cp\u003e(\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3782\"\u003e#3782\u003c/a\u003e) by \u003ca href=\"https://github.com/ndyakov\"\u003e\u003ccode\u003e@​ndyakov\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eRaw RESP Protocol Access\u003c/h3\u003e\n\u003cp\u003eAdded \u003ccode\u003eDoRaw\u003c/code\u003e and \u003ccode\u003eDoRawWriteTo\u003c/code\u003e methods for executing arbitrary commands and reading the raw RESP response. Useful for proxying, custom protocol inspection, and working with commands not yet wrapped by go-redis.\u003c/p\u003e\n\u003cp\u003e(\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3713\"\u003e#3713\u003c/a\u003e) by \u003ca href=\"https://github.com/ofekshenawa\"\u003e\u003ccode\u003e@​ofekshenawa\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eConfigurable Dial Retry Backoff\u003c/h3\u003e\n\u003cp\u003eAdded \u003ccode\u003eDialerRetryBackoff\u003c/code\u003e option (plumbed through \u003ccode\u003eOptions\u003c/code\u003e, \u003ccode\u003eClusterOptions\u003c/code\u003e, \u003ccode\u003eRingOptions\u003c/code\u003e, \u003ccode\u003eFailoverOptions\u003c/code\u003e) to let callers customize the delay between failed dial attempts. Helpers \u003ccode\u003eDialRetryBackoffConstant\u003c/code\u003e and \u003ccode\u003eDialRetryBackoffExponential\u003c/code\u003e (with jitter and cap) are provided out of the box. Dial timeout is now also applied \u003cstrong\u003eper attempt\u003c/strong\u003e rather than across all retries.\u003c/p\u003e\n\u003cp\u003e(\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3706\"\u003e#3706\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3705\"\u003e#3705\u003c/a\u003e) by \u003ca href=\"https://github.com/mwhooker\"\u003e\u003ccode\u003e@​mwhooker\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e✨ New Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eFT.AGGREGATE Steps\u003c/strong\u003e: Step-based pipeline builder for \u003ccode\u003eFT.AGGREGATE\u003c/code\u003e with support for repeated/interleaved \u003ccode\u003eLOAD\u003c/code\u003e, \u003ccode\u003eAPPLY\u003c/code\u003e, \u003ccode\u003eGROUPBY\u003c/code\u003e, and \u003ccode\u003eSORTBY\u003c/code\u003e stages (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3782\"\u003e#3782\u003c/a\u003e) by \u003ca href=\"https://github.com/ndyakov\"\u003e\u003ccode\u003e@​ndyakov\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eVectorSet commands\u003c/strong\u003e: Added \u003ccode\u003eVISMEMBER\u003c/code\u003e and \u003ccode\u003eWITHATTRIBS\u003c/code\u003e support (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3753\"\u003e#3753\u003c/a\u003e) by \u003ca href=\"https://github.com/romanpovol\"\u003e\u003ccode\u003e@​romanpovol\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eFIPS-safe Script\u003c/strong\u003e: \u003ccode\u003eNewScriptServerSHA\u003c/code\u003e uses \u003ccode\u003eSCRIPT LOAD\u003c/code\u003e to obtain the digest from the server, avoiding client-side SHA-1 (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3700\"\u003e#3700\u003c/a\u003e) by \u003ca href=\"https://github.com/chaitanyabodlapati\"\u003e\u003ccode\u003e@​chaitanyabodlapati\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eRaw RESP access\u003c/strong\u003e: \u003ccode\u003eDoRaw\u003c/code\u003e and \u003ccode\u003eDoRawWriteTo\u003c/code\u003e for raw RESP protocol access (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3713\"\u003e#3713\u003c/a\u003e) by \u003ca href=\"https://github.com/ofekshenawa\"\u003e\u003ccode\u003e@​ofekshenawa\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eDial retry backoff\u003c/strong\u003e: \u003ccode\u003eDialerRetryBackoff\u003c/code\u003e function option with constant and exponential helpers (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3706\"\u003e#3706\u003c/a\u003e) by \u003ca href=\"https://github.com/mwhooker\"\u003e\u003ccode\u003e@​mwhooker\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eTyped NOSCRIPT error\u003c/strong\u003e: Redis \u003ccode\u003eNOSCRIPT\u003c/code\u003e replies are now surfaced as a typed error for easier handling (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3738\"\u003e#3738\u003c/a\u003e) by \u003ca href=\"https://github.com/LINKIWI\"\u003e\u003ccode\u003e@​LINKIWI\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ePubSub ClientSetName\u003c/strong\u003e: Added \u003ccode\u003eClientSetName\u003c/code\u003e method to \u003ccode\u003ePubSub\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3727\"\u003e#3727\u003c/a\u003e) by \u003ca href=\"https://github.com/Flack74\"\u003e\u003ccode\u003e@​Flack74\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eReplicaOf\u003c/strong\u003e: New \u003ccode\u003eReplicaOf\u003c/code\u003e method replaces the deprecated \u003ccode\u003eSlaveOf\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3720\"\u003e#3720\u003c/a\u003e) by \u003ca href=\"https://github.com/apps/copilot-swe-agent\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eHSCAN BinaryUnmarshaler\u003c/strong\u003e: \u003ccode\u003eHScan\u003c/code\u003e now supports types implementing \u003ccode\u003eencoding.BinaryUnmarshaler\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3768\"\u003e#3768\u003c/a\u003e) by \u003ca href=\"https://github.com/Aaditya-dubey1\"\u003e\u003ccode\u003e@​Aaditya-dubey1\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eAuto hostname type detection\u003c/strong\u003e: Improved endpoint type detection for maintenance notifications using DNS-based classification; handles empty hosts and expanded private-IP ranges (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3789\"\u003e#3789\u003c/a\u003e) by \u003ca href=\"https://github.com/ndyakov\"\u003e\u003ccode\u003e@​ndyakov\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eHELLO fallback\u003c/strong\u003e: Don't send \u003ccode\u003eCLIENT MAINT_NOTIFICATIONS\u003c/code\u003e handshake when \u003ccode\u003eHELLO\u003c/code\u003e fails and connection falls back to RESP2; fail fast when explicitly enabled with RESP3 (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3788\"\u003e#3788\u003c/a\u003e) by \u003ca href=\"https://github.com/ndyakov\"\u003e\u003ccode\u003e@​ndyakov\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eDial TCP retry\u003c/strong\u003e: \u003ccode\u003eShouldRetry\u003c/code\u003e now treats \u003ccode\u003enet.OpError\u003c/code\u003e with \u003ccode\u003eOp == \u0026quot;dial\u0026quot;\u003c/code\u003e timeout errors as safe to retry since no command was sent (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3787\"\u003e#3787\u003c/a\u003e) by \u003ca href=\"https://github.com/vladisa88\"\u003e\u003ccode\u003e@​vladisa88\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ewrappedOnClose leak\u003c/strong\u003e: Fixed resource leak caused by repeatedly wrapping \u003ccode\u003ebaseClient\u003c/code\u003e close logic; replaced with a bounded, concurrency-safe named-hook registry (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3785\"\u003e#3785\u003c/a\u003e) by \u003ca href=\"https://github.com/ndyakov\"\u003e\u003ccode\u003e@​ndyakov\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ePool Close() on stale connections\u003c/strong\u003e: Suppress close errors (e.g., TLS \u003ccode\u003ecloseNotify\u003c/code\u003e timeouts) for connections already dropped by the server due to idle timeout (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3778\"\u003e#3778\u003c/a\u003e) by \u003ca href=\"https://github.com/ofekshenawa\"\u003e\u003ccode\u003e@​ofekshenawa\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eFIFO waiter ordering\u003c/strong\u003e: Fixed race in \u003ccode\u003eConnStateMachine.notifyWaiters\u003c/code\u003e that could wake multiple waiters under a single mutex hold and violate FIFO ordering (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3777\"\u003e#3777\u003c/a\u003e) by \u003ca href=\"https://github.com/0x48core\"\u003e\u003ccode\u003e@​0x48core\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eLua READONLY detection\u003c/strong\u003e: Detect \u003ccode\u003eREADONLY\u003c/code\u003e errors embedded in Lua script error messages on read-only replicas so commands are correctly retried (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3769\"\u003e#3769\u003c/a\u003e) by \u003ca href=\"https://github.com/zhengjilei\"\u003e\u003ccode\u003e@​zhengjilei\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eVectorScoreSliceCmd RESP2\u003c/strong\u003e: Fixed \u003ccode\u003eVSimWithScores\u003c/code\u003e, \u003ccode\u003eVSimWithArgsWithScores\u003c/code\u003e, and \u003ccode\u003eVLinksWithScores\u003c/code\u003e which were broken on RESP2 connections returning flat arrays instead of maps (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3767\"\u003e#3767\u003c/a\u003e) by \u003ca href=\"https://github.com/apps/copilot-swe-agent\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/go-redis/commit/e7e9866e54f4423addca48ec804044cfca1b30d6\"\u003e\u003ccode\u003ee7e9866\u003c/code\u003e\u003c/a\u003e chore(release): v9.19.0 (\u003ca href=\"https://redirect.github.com/redis/go-redis/issues/3796\"\u003e#3796\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/go-redis/commit/22b26f4b3ea5c2ab58605092e0937b78a8673267\"\u003e\u003ccode\u003e22b26f4\u003c/code\u003e\u003c/a\u003e feat(ft.aggregate): Add Steps for query building (\u003ca href=\"https://redirect.github.com/redis/go-redis/issues/3782\"\u003e#3782\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/go-redis/commit/d9d769491154d4da6d683b73e9dfff5c878c1890\"\u003e\u003ccode\u003ed9d7694\u003c/code\u003e\u003c/a\u003e fix(pool): two fixes for closed connection handling (\u003ca href=\"https://redirect.github.com/redis/go-redis/issues/3764\"\u003e#3764\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/go-redis/commit/44e8b7309cf547f620b9849a5a4dd9013cc3660a\"\u003e\u003ccode\u003e44e8b73\u003c/code\u003e\u003c/a\u003e fix(sch): auto hostname type detection (\u003ca href=\"https://redirect.github.com/redis/go-redis/issues/3789\"\u003e#3789\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/go-redis/commit/ad21622ce8dba26c4ac7dc0fbf74a0bd278d2c19\"\u003e\u003ccode\u003ead21622\u003c/code\u003e\u003c/a\u003e fix(hello): do not send maintnotifications handshake when hello fails (\u003ca href=\"https://redirect.github.com/redis/go-redis/issues/3788\"\u003e#3788\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/go-redis/commit/1a7ac744c3f98b415852b4c9842b97991e3e4d91\"\u003e\u003ccode\u003e1a7ac74\u003c/code\u003e\u003c/a\u003e fix(pool): suppress pool Close() errors for stale connections (\u003ca href=\"https://redirect.github.com/redis/go-redis/issues/3778\"\u003e#3778\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/go-redis/commit/903d6bd360af9ea53d4af4ca652d18b915398c7d\"\u003e\u003ccode\u003e903d6bd\u003c/code\u003e\u003c/a\u003e fix(retry): make dial tcp error redirectable (\u003ca href=\"https://redirect.github.com/redis/go-redis/issues/3786\"\u003e#3786\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/redis/go-redis/issues/3787\"\u003e#3787\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/go-redis/commit/00a551b3b468687e5e06b295b419292786bcdc99\"\u003e\u003ccode\u003e00a551b\u003c/code\u003e\u003c/a\u003e fix(credentials): leak in wrappedOnClose (\u003ca href=\"https://redirect.github.com/redis/go-redis/issues/3785\"\u003e#3785\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/go-redis/commit/b5a6f99b7a9d496bf2e3d68ad9c33e43c23c4df9\"\u003e\u003ccode\u003eb5a6f99\u003c/code\u003e\u003c/a\u003e refactor(pool): remove redundant Conn.closed atomic field (\u003ca href=\"https://redirect.github.com/redis/go-redis/issues/3783\"\u003e#3783\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/go-redis/commit/928f27aef850b3508b590e41a050f27d29fb14a2\"\u003e\u003ccode\u003e928f27a\u003c/code\u003e\u003c/a\u003e feat(hscan): add support for encoding.BinaryUnmarshaler (\u003ca href=\"https://redirect.github.com/redis/go-redis/issues/3768\"\u003e#3768\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/redis/go-redis/compare/v9.5.1...v9.19.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `go.uber.org/zap` from 1.27.0 to 1.28.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/uber-go/zap/releases\"\u003ego.uber.org/zap's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.28.0\u003c/h2\u003e\n\u003cp\u003eEnhancements:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/uber-go/zap/issues/1534\"\u003e#1534\u003c/a\u003e[]: Add \u003ccode\u003ezapcore.CheckPreWriteHook\u003c/code\u003e and \u003ccode\u003eCheckedEntry.Before\u003c/code\u003e method for transforming entries before they are written to any Cores.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/uber-go/zap/issues/1534\"\u003e#1534\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/uber-go/zap/pull/1534\"\u003euber-go/zap#1534\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.27.1\u003c/h2\u003e\n\u003cp\u003eEnhancements:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/uber-go/zap/issues/1501\"\u003e#1501\u003c/a\u003e[]: prevent \u003ccode\u003eObject\u003c/code\u003e from panicking on nils\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/uber-go/zap/issues/1511\"\u003e#1511\u003c/a\u003e[]: Fix a race condition in \u003ccode\u003eWithLazy\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThanks to \u003ca href=\"https://github.com/rabbbit\"\u003e\u003ccode\u003e@​rabbbit\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/alshopov\"\u003e\u003ccode\u003e@​alshopov\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/jquirke\"\u003e\u003ccode\u003e@​jquirke\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arukiidou\"\u003e\u003ccode\u003e@​arukiidou\u003c/code\u003e\u003c/a\u003e for their contributions to this release.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/uber-go/zap/issues/1501\"\u003e#1501\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/uber-go/zap/pull/1501\"\u003euber-go/zap#1501\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/uber-go/zap/issues/1511\"\u003e#1511\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/uber-go/zap/pull/1511\"\u003euber-go/zap#1511\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/uber-go/zap/blob/master/CHANGELOG.md\"\u003ego.uber.org/zap's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.28.0 (27 Apr 2026)\u003c/h2\u003e\n\u003cp\u003eEnhancements:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/uber-go/zap/issues/1534\"\u003e#1534\u003c/a\u003e[]: Add \u003ccode\u003ezapcore.CheckPreWriteHook\u003c/code\u003e and \u003ccode\u003eCheckedEntry.Before\u003c/code\u003e method for transforming entries before they are written to any Cores.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.27.1 (19 Nov 2025)\u003c/h2\u003e\n\u003cp\u003eEnhancements:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/uber-go/zap/issues/1501\"\u003e#1501\u003c/a\u003e[]: prevent \u003ccode\u003eObject\u003c/code\u003e from panicking on nils\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/uber-go/zap/issues/1511\"\u003e#1511\u003c/a\u003e[]: Fix a race condition in \u003ccode\u003eWithLazy\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThanks to \u003ca href=\"https://github.com/rabbbit\"\u003e\u003ccode\u003e@​rabbbit\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/alshopov\"\u003e\u003ccode\u003e@​alshopov\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/jquirke\"\u003e\u003ccode\u003e@​jquirke\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arukiidou\"\u003e\u003ccode\u003e@​arukiidou\u003c/code\u003e\u003c/a\u003e for their contributions to this release.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/uber-go/zap/issues/1501\"\u003e#1501\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/uber-go/zap/pull/1501\"\u003euber-go/zap#1501\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/uber-go/zap/issues/1511\"\u003e#1511\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/uber-go/zap/pull/1511\"\u003euber-go/zap#1511\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/uber-go/zap/commit/5b81b37b81b8e2ed447a6f57991e372ee4fa5c8f\"\u003e\u003ccode\u003e5b81b37\u003c/code\u003e\u003c/a\u003e release v1.28.0 (\u003ca href=\"https://redirect.github.com/uber-go/zap/issues/1547\"\u003e#1547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/uber-go/zap/commit/0ab0d5aae5986395e2ca497385d977ccd7cdfc5e\"\u003e\u003ccode\u003e0ab0d5a\u003c/code\u003e\u003c/a\u003e zapcore: Add PreWriteHook for transforming entries before write (\u003ca href=\"https://redirect.github.com/uber-go/zap/issues/1534\"\u003e#1534\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/uber-go/zap/commit/d278c5962cb0f7423170c11a5da9b7a4edbf9b92\"\u003e\u003ccode\u003ed278c59\u003c/code\u003e\u003c/a\u003e [chore] CI: test on Go 1.26 (\u003ca href=\"https://redirect.github.com/uber-go/zap/issues/1535\"\u003e#1535\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/uber-go/zap/commit/16fb16b353f2e27bcd71eba69cbd346b3dcc471a\"\u003e\u003ccode\u003e16fb16b\u003c/code\u003e\u003c/a\u003e chore(dep): replace archived gopkg.in/yaml.v3 with officially maintained go.y...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/uber-go/zap/commit/7b755a3910491932656b01f2013b8bf41e74d4e8\"\u003e\u003ccode\u003e7b755a3\u003c/code\u003e\u003c/a\u003e release 1.27.1 (\u003ca href=\"https://redirect.github.com/uber-go/zap/issues/1521\"\u003e#1521\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/uber-go/zap/commit/d6b395b76053053ec6ae18121c01e08718708bc3\"\u003e\u003ccode\u003ed6b395b\u003c/code\u003e\u003c/a\u003e Update lazy logger not to materialize unless it's being written to (\u003ca href=\"https://redirect.github.com/uber-go/zap/issues/1519\"\u003e#1519\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/uber-go/zap/commit/4b9cea0fee0414839ee5f8c69320c12f181c3d47\"\u003e\u003ccode\u003e4b9cea0\u003c/code\u003e\u003c/a\u003e ci: Test with Go 1.24, Go 1.25 (\u003ca href=\"https://redirect.github.com/uber-go/zap/issues/1508\"\u003e#1508\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/uber-go/zap/commit/7c80d7b53df6ed592d333998cbbfcd99ff52f3c2\"\u003e\u003ccode\u003e7c80d7b\u003c/code\u003e\u003c/a\u003e Fix race condition in WithLazy implementation (\u003ca href=\"https://redirect.github.com/uber-go/zap/is...\n\n_Description has been truncated_","html_url":"https://github.com/guessleej/xCloudAPIM/pull/36","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/guessleej%2FxCloudAPIM/issues/36","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/36/packages"},{"uuid":"4373501324","node_id":"PR_kwDORSf6Zs7X2cBx","number":7,"state":"open","title":"deps(deps): bump the production-dependencies group across 1 directory with 2 updates","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-04T01:13:10.000Z","updated_at":"2026-05-04T01:14:52.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"deps(deps): bump","group_name":"production-dependencies","update_count":2,"packages":[{"name":"github.com/gin-gonic/gin","old_version":"1.11.0","new_version":"1.12.0","repository_url":"https://github.com/gin-gonic/gin"},{"name":"go.uber.org/zap","old_version":"1.27.1","new_version":"1.28.0","repository_url":"https://github.com/uber-go/zap"}],"path":null,"ecosystem":"go"},"body":"Bumps the production-dependencies group with 2 updates in the / directory: [github.com/gin-gonic/gin](https://github.com/gin-gonic/gin) and [go.uber.org/zap](https://github.com/uber-go/zap).\n\nUpdates `github.com/gin-gonic/gin` from 1.11.0 to 1.12.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/gin-gonic/gin/releases\"\u003egithub.com/gin-gonic/gin's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.12.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e192ac89eefc1c30f7c97ae48a9ffb1c6f1c8c8bc: feat(binding): add support for encoding.UnmarshalText in uri/query binding (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4203\"\u003e#4203\u003c/a\u003e) (\u003ca href=\"https://github.com/takanuva15\"\u003e\u003ccode\u003e@​takanuva15\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e53410d2e07054369e0960fbe2eed97e1b9966f12: feat(context): add GetError and GetErrorSlice methods for error retrieval (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4502\"\u003e#4502\u003c/a\u003e) (\u003ca href=\"https://github.com/raju-mechatronics\"\u003e\u003ccode\u003e@​raju-mechatronics\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eacc55e049e33b401e810dbd8c0d6dcb6b3ba2b05: feat(context): add Protocol Buffers support to content negotiation (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4423\"\u003e#4423\u003c/a\u003e) (\u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e38e765119241d990705169bedb5002a29ae0cbd1: feat(context): implemented Delete method (\u003ca href=\"https://github.com/Spyder01\"\u003e\u003ccode\u003e@​Spyder01\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e771dcc6476d7bc6abb9ec0235ecefa4d38fe6fb0: feat(gin): add option to use escaped path (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4420\"\u003e#4420\u003c/a\u003e) (\u003ca href=\"https://github.com/ldesauw\"\u003e\u003ccode\u003e@​ldesauw\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e4dec17afdff48e8018c83618fbbe69fceeb2b41d: feat(logger): color latency (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4146\"\u003e#4146\u003c/a\u003e) (\u003ca href=\"https://github.com/wsyqn6\"\u003e\u003ccode\u003e@​wsyqn6\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ed7776de7d444935ea4385999711bd6331a98fecb: feat(render): add bson protocol (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4145\"\u003e#4145\u003c/a\u003e) (\u003ca href=\"https://github.com/laurentcau\"\u003e\u003ccode\u003e@​laurentcau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eb917b14ff9d189f16a7492be79d123a47806ee19: fix(binding): empty value error (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/2169\"\u003e#2169\u003c/a\u003e) (\u003ca href=\"https://github.com/guonaihong\"\u003e\u003ccode\u003e@​guonaihong\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ec3d1092b3b48addf6f9cd00fe274ec3bd14650eb: fix(binding): improve empty slice/array handling in form binding (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4380\"\u003e#4380\u003c/a\u003e) (\u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e9914178584e42458ff7d23891463a880f58c9d86: fix(context): ClientIP handling for multiple X-Forwarded-For header values (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4472\"\u003e#4472\u003c/a\u003e) (\u003ca href=\"https://github.com/Nurysso\"\u003e\u003ccode\u003e@​Nurysso\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e2a794cd0b0faa7d829291375b27a3467ea972b0d: fix(debug): version mismatch (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4403\"\u003e#4403\u003c/a\u003e) (\u003ca href=\"https://github.com/zeek0x\"\u003e\u003ccode\u003e@​zeek0x\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ec3d5a28ed6d3849da820195b6774d212bcc038a9: fix(gin): close os.File in RunFd to prevent resource leak (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4422\"\u003e#4422\u003c/a\u003e) (\u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e5fad976b372e381312f8de69f0969f1284d229d3: fix(gin): literal colon routes not working with engine.Handler() (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4415\"\u003e#4415\u003c/a\u003e) (\u003ca href=\"https://github.com/pawannn\"\u003e\u003ccode\u003e@​pawannn\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e63dd3e60cab89c27fb66bce1423bd268d52abad1: fix(recover): suppress http.ErrAbortHandler in recover (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4336\"\u003e#4336\u003c/a\u003e) (\u003ca href=\"https://github.com/MondayCha\"\u003e\u003ccode\u003e@​MondayCha\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e5c00df8afadd06cc5be530dde00fe6d9fa4a2e4a: fix(render): write content length in Data.Render (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4206\"\u003e#4206\u003c/a\u003e) (\u003ca href=\"https://github.com/dengaleev\"\u003e\u003ccode\u003e@​dengaleev\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e234a6d4c00cb77af9852aca0b8289745d5529b4b: fix(response): refine hijack behavior for response lifecycle (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4373\"\u003e#4373\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e472d086af2acd924cb4b9d7be0525f7d790f69bc: fix(tree): panic in findCaseInsensitivePathRec with RedirectFixedPath (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4535\"\u003e#4535\u003c/a\u003e) (\u003ca href=\"https://github.com/veeceey\"\u003e\u003ccode\u003e@​veeceey\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e8e07d37c63e5536eb25f4af4c91eabeee4011fba: fix: Correct typos, improve documentation clarity, and remove dead code (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4511\"\u003e#4511\u003c/a\u003e) (\u003ca href=\"https://github.com/mahanadh\"\u003e\u003ccode\u003e@​mahanadh\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eba093d19477b896ac89a7fc3246af23d290b8e26: chore(binding): upgrade bson dependency to mongo-driver v2 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4549\"\u003e#4549\u003c/a\u003e) (\u003ca href=\"https://github.com/BobDu\"\u003e\u003ccode\u003e@​BobDu\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eb2b489dbf4826c2c630717a77fd5e42774625410: chore(context): always trust xff headers from unix socket (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/3359\"\u003e#3359\u003c/a\u003e) (\u003ca href=\"https://github.com/WeidiDeng\"\u003e\u003ccode\u003e@​WeidiDeng\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eecb3f7b5e2f3915bf1db240ed5eee572f8dbea36: chore(deps): upgrade golang.org/x/crypto to v0.45.0 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4449\"\u003e#4449\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eaf6e8b70b8261bb0c99ad094fe552ab92991620a: chore(deps): upgrade quic-go to v0.57.1 (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edb309081bc5c137b2aa15701ef53f7f19788da25: chore(logger): allow skipping query string output (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4547\"\u003e#4547\u003c/a\u003e) (\u003ca href=\"https://github.com/USA-RedDragon\"\u003e\u003ccode\u003e@​USA-RedDragon\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e26c3a628655cad2388380cb8102d6ce7d4875f3b: chore(response): prevent Flush() panic when \u003ccode\u003ehttp.Flusher\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4479\"\u003e#4479\u003c/a\u003e) (\u003ca href=\"https://github.com/Twacqwq\"\u003e\u003ccode\u003e@​Twacqwq\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e5dd833f1f26de0eb30eae47b17e05ced2482dc41: chore: bump minimum Go version to 1.24 and update workflows (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4388\"\u003e#4388\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRefactor\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e39858a0859c914bd26948fa950477e11bd8d3823: refactor(binding): use maps.Copy for cleaner map handling (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4352\"\u003e#4352\u003c/a\u003e) (\u003ca href=\"https://github.com/russcoss\"\u003e\u003ccode\u003e@​russcoss\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ec0048f645ee945c4db30593afdea10123e2c30a6: refactor(context): omit the return value names (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4395\"\u003e#4395\u003c/a\u003e) (\u003ca href=\"https://github.com/wanghaolong613\"\u003e\u003ccode\u003e@​wanghaolong613\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e915e4c90d28ec4cffc6eb146e208ab5a65eac772: refactor(context): replace hardcoded localhost IPs with constants (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4481\"\u003e#4481\u003c/a\u003e) (\u003ca href=\"https://github.com/pauloappbr\"\u003e\u003ccode\u003e@​pauloappbr\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e414de60574449457f3192a7a1d5528940db2836d: refactor(context): using maps.Clone (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4333\"\u003e#4333\u003c/a\u003e) (\u003ca href=\"https://github.com/cuiweixie\"\u003e\u003ccode\u003e@​cuiweixie\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e59e9d4a794f12c4f9a6c7bed441b9644e5f6d99b: refactor(ginS): use sync.OnceValue to simplify engine function (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4314\"\u003e#4314\u003c/a\u003e) (\u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e3ab698dc5110af1977d57226e4995c57dd34c233: refactor(recovery): smart error comparison (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4142\"\u003e#4142\u003c/a\u003e) (\u003ca href=\"https://github.com/zeek0x\"\u003e\u003ccode\u003e@​zeek0x\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ed1a15347b1e45a8ee816193d3578a93bfd73b70f: refactor(utils): move util functions to utils.go (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4467\"\u003e#4467\u003c/a\u003e) (\u003ca href=\"https://github.com/zeek0x\"\u003e\u003ccode\u003e@​zeek0x\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ee3118cc378d263454098924ebbde7e8d1dd2e904: refactor: for loop can be modernized using range over int (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4392\"\u003e#4392\u003c/a\u003e) (\u003ca href=\"https://github.com/wanghaolong613\"\u003e\u003ccode\u003e@​wanghaolong613\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e488f8c3ffa579a8d19beb2bae95ff8ef36b3d53f: refactor: replace magic numbers with named constants in bodyAllowedForStatus (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4529\"\u003e#4529\u003c/a\u003e) (\u003ca href=\"https://github.com/veeceey\"\u003e\u003ccode\u003e@​veeceey\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e9968c4bf9d5a99edc3eee2c068a4c9160ece8915: refactor: use b.Loop() to simplify the code and improve performance (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4389\"\u003e#4389\u003c/a\u003e) (\u003ca href=\"https://github.com/reddaisyy\"\u003e\u003ccode\u003e@​reddaisyy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ea85ef5ce4d0cda8834c59c855068ed48b51192d1: refactor: use b.Loop() to simplify the code and improve performance (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4432\"\u003e#4432\u003c/a\u003e) (\u003ca href=\"https://github.com/efcking\"\u003e\u003ccode\u003e@​efcking\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBuild process updates\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e61b67de522a189b568aced4c5c16917c558e3387: ci(bot): increase frequency and group updates for dependencies (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4367\"\u003e#4367\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efb27ef26c2fdfe25344b4c039d8a53551f9e912c: ci(lint): refactor test assertions and linter configuration (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4436\"\u003e#4436\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e93ff771e6dbf10e432864b30f3719ac5c84a4d4a: ci(sec): improve type safety and server organization in HTTP middleware (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4437\"\u003e#4437\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ee88fc8927a52b74f55bec0351604a56ac0aa1c51: ci(sec): schedule Trivy security scans to run daily at midnight UTC (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4439\"\u003e#4439\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e5e5ff3ace496a31b138b0820136a146bfb5de0ef: ci: replace vulnerability scanning workflow with Trivy integration (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4421\"\u003e#4421\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e00900fb3e1ea9dde33985a0e4f6afec793d5e786: ci: update CI workflows and standardize Trivy config quotes (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4531\"\u003e#4531\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eae3f524974fc4f55d18c9e7fae4614503c015226: ci: update Go version support to 1.25+ across CI and docs (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4550\"\u003e#4550\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/gin-gonic/gin/blob/master/CHANGELOG.md\"\u003egithub.com/gin-gonic/gin's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eGin v1.12.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat(render): add bson protocol (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4145\"\u003e#4145\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(context): add GetError and GetErrorSlice methods for error retrieval (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4502\"\u003e#4502\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(binding): add support for encoding.UnmarshalText in uri/query binding (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4203\"\u003e#4203\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(gin): add option to use escaped path (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4420\"\u003e#4420\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(context): add Protocol Buffers support to content negotiation (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4423\"\u003e#4423\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(context): implemented Delete method (\u003ca href=\"https://github.com/gin-gonic/gin/commit/38e7651\"\u003e#38e7651\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(logger): color latency (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4146\"\u003e#4146\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eperf(tree): reduce allocations in findCaseInsensitivePath (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4417\"\u003e#4417\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eperf(recovery): optimize line reading in stack function (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4466\"\u003e#4466\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eperf(path): replace regex with custom functions in redirectTrailingSlash (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4414\"\u003e#4414\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eperf(tree): optimize path parsing using strings.Count (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4246\"\u003e#4246\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(logger): allow skipping query string output (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4547\"\u003e#4547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(context): always trust xff headers from unix socket (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/3359\"\u003e#3359\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(response): prevent Flush() panic when the underlying ResponseWriter does not implement \u003ccode\u003ehttp.Flusher\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4479\"\u003e#4479\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(recovery): smart error comparison (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4142\"\u003e#4142\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(context): replace hardcoded localhost IPs with constants (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4481\"\u003e#4481\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(utils): move util functions to utils.go (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4467\"\u003e#4467\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(binding): use maps.Copy for cleaner map handling (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4352\"\u003e#4352\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(context): using maps.Clone (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4333\"\u003e#4333\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(ginS): use sync.OnceValue to simplify engine function (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4314\"\u003e#4314\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor: replace magic numbers with named constants in bodyAllowedForStatus (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4529\"\u003e#4529\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor: for loop can be modernized using range over int (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4392\"\u003e#4392\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(tree): panic in findCaseInsensitivePathRec with RedirectFixedPath (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4535\"\u003e#4535\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(render): write content length in Data.Render (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4206\"\u003e#4206\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(context): ClientIP handling for multiple X-Forwarded-For header values (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4472\"\u003e#4472\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(binding): empty value error (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/2169\"\u003e#2169\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(recover): suppress http.ErrAbortHandler in recover (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4336\"\u003e#4336\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(gin): literal colon routes not working with engine.Handler() (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4415\"\u003e#4415\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(gin): close os.File in RunFd to prevent resource leak (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4422\"\u003e#4422\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(response): refine hijack behavior for response lifecycle (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4373\"\u003e#4373\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(binding): improve empty slice/array handling in form binding (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4380\"\u003e#4380\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(debug): version mismatch (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4403\"\u003e#4403\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: correct typos, improve documentation clarity, and remove dead code (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4511\"\u003e#4511\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBuild process updates / CI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eci: update Go version support to 1.25+ across CI and docs (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4550\"\u003e#4550\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(binding): upgrade bson dependency to mongo-driver v2 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4549\"\u003e#4549\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/73726dc606796a025971fe451f0aa6f1b9b847f6\"\u003e\u003ccode\u003e73726dc\u003c/code\u003e\u003c/a\u003e docs: update documentation to reflect Go version changes (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4552\"\u003e#4552\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/e292e5caa777bce70b66fe08c94cbe9cef3e2ec9\"\u003e\u003ccode\u003ee292e5c\u003c/code\u003e\u003c/a\u003e docs: document and finalize Gin v1.12.0 release (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4551\"\u003e#4551\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/ae3f524974fc4f55d18c9e7fae4614503c015226\"\u003e\u003ccode\u003eae3f524\u003c/code\u003e\u003c/a\u003e ci: update Go version support to 1.25+ across CI and docs (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4550\"\u003e#4550\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/38534e2bf98a06e1f62d6b24384e90b5f78699bf\"\u003e\u003ccode\u003e38534e2\u003c/code\u003e\u003c/a\u003e chore(deps): bump golang.org/x/net from 0.50.0 to 0.51.0 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4548\"\u003e#4548\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/472d086af2acd924cb4b9d7be0525f7d790f69bc\"\u003e\u003ccode\u003e472d086\u003c/code\u003e\u003c/a\u003e fix(tree): panic in findCaseInsensitivePathRec with RedirectFixedPath (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4535\"\u003e#4535\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/fb2583442c4d9bccb75e6d26f1aa6e7c01950db6\"\u003e\u003ccode\u003efb25834\u003c/code\u003e\u003c/a\u003e test(context): use http.StatusContinue constant instead of magic number 100 (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/6f1d5fe3cdb171a08928c3c9dd3fbcfc9ee1b521\"\u003e\u003ccode\u003e6f1d5fe\u003c/code\u003e\u003c/a\u003e test(render): add comprehensive error handling tests (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4541\"\u003e#4541\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/5c00df8afadd06cc5be530dde00fe6d9fa4a2e4a\"\u003e\u003ccode\u003e5c00df8\u003c/code\u003e\u003c/a\u003e fix(render): write content length in Data.Render (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4206\"\u003e#4206\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/db309081bc5c137b2aa15701ef53f7f19788da25\"\u003e\u003ccode\u003edb30908\u003c/code\u003e\u003c/a\u003e chore(logger): allow skipping query string output (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4547\"\u003e#4547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/ba093d19477b896ac89a7fc3246af23d290b8e26\"\u003e\u003ccode\u003eba093d1\u003c/code\u003e\u003c/a\u003e chore(binding): upgrade bson dependency to mongo-driver v2 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4549\"\u003e#4549\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/gin-gonic/gin/compare/v1.11.0...v1.12.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `go.uber.org/zap` from 1.27.1 to 1.28.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/uber-go/zap/releases\"\u003ego.uber.org/zap's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.28.0\u003c/h2\u003e\n\u003cp\u003eEnhancements:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/uber-go/zap/issues/1534\"\u003e#1534\u003c/a\u003e[]: Add \u003ccode\u003ezapcore.CheckPreWriteHook\u003c/code\u003e and \u003ccode\u003eCheckedEntry.Before\u003c/code\u003e method for transforming entries before they are written to any Cores.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/uber-go/zap/issues/1534\"\u003e#1534\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/uber-go/zap/pull/1534\"\u003euber-go/zap#1534\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/uber-go/zap/blob/master/CHANGELOG.md\"\u003ego.uber.org/zap's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.28.0 (27 Apr 2026)\u003c/h2\u003e\n\u003cp\u003eEnhancements:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/uber-go/zap/issues/1534\"\u003e#1534\u003c/a\u003e[]: Add \u003ccode\u003ezapcore.CheckPreWriteHook\u003c/code\u003e and \u003ccode\u003eCheckedEntry.Before\u003c/code\u003e method for transforming entries before they are written to any Cores.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/uber-go/zap/commit/5b81b37b81b8e2ed447a6f57991e372ee4fa5c8f\"\u003e\u003ccode\u003e5b81b37\u003c/code\u003e\u003c/a\u003e release v1.28.0 (\u003ca href=\"https://redirect.github.com/uber-go/zap/issues/1547\"\u003e#1547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/uber-go/zap/commit/0ab0d5aae5986395e2ca497385d977ccd7cdfc5e\"\u003e\u003ccode\u003e0ab0d5a\u003c/code\u003e\u003c/a\u003e zapcore: Add PreWriteHook for transforming entries before write (\u003ca href=\"https://redirect.github.com/uber-go/zap/issues/1534\"\u003e#1534\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/uber-go/zap/commit/d278c5962cb0f7423170c11a5da9b7a4edbf9b92\"\u003e\u003ccode\u003ed278c59\u003c/code\u003e\u003c/a\u003e [chore] CI: test on Go 1.26 (\u003ca href=\"https://redirect.github.com/uber-go/zap/issues/1535\"\u003e#1535\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/uber-go/zap/commit/16fb16b353f2e27bcd71eba69cbd346b3dcc471a\"\u003e\u003ccode\u003e16fb16b\u003c/code\u003e\u003c/a\u003e chore(dep): replace archived gopkg.in/yaml.v3 with officially maintained go.y...\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/uber-go/zap/compare/v1.27.1...v1.28.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/lyimoexiao/gin-doh/pull/7","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/lyimoexiao%2Fgin-doh/issues/7","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/7/packages"},{"uuid":"4330720217","node_id":"PR_kwDOR6RzH87Vtnjo","number":17,"state":"open","title":"chore(backend/deps): bump the go-minor-and-patch group across 1 directory with 6 updates","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-04-26T11:19:01.000Z","updated_at":"2026-04-26T16:17:33.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(backend/deps): bump","group_name":"go-minor-and-patch","update_count":6,"packages":[{"name":"github.com/coreos/go-oidc/v3","old_version":"3.17.0","new_version":"3.18.0","repository_url":"https://github.com/coreos/go-oidc"},{"name":"github.com/gin-gonic/gin","old_version":"1.10.0","new_version":"1.12.0","repository_url":"https://github.com/gin-gonic/gin"},{"name":"github.com/golang-jwt/jwt/v5","old_version":"5.3.0","new_version":"5.3.1","repository_url":"https://github.com/golang-jwt/jwt"},{"name":"golang.org/x/crypto","old_version":"0.46.0","new_version":"0.48.0"},{"name":"golang.org/x/oauth2","old_version":"0.35.0","new_version":"0.36.0"},{"name":"google.golang.org/genai","old_version":"1.40.0","new_version":"1.54.0","repository_url":"https://github.com/googleapis/go-genai"}],"path":null,"ecosystem":"go"},"body":"Bumps the go-minor-and-patch group with 4 updates in the /backend directory: [github.com/coreos/go-oidc/v3](https://github.com/coreos/go-oidc), [github.com/gin-gonic/gin](https://github.com/gin-gonic/gin), [github.com/golang-jwt/jwt/v5](https://github.com/golang-jwt/jwt) and [google.golang.org/genai](https://github.com/googleapis/go-genai).\n\nUpdates `github.com/coreos/go-oidc/v3` from 3.17.0 to 3.18.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/coreos/go-oidc/releases\"\u003egithub.com/coreos/go-oidc/v3's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.18.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e.github: configure dependabot by \u003ca href=\"https://github.com/ericchiang\"\u003e\u003ccode\u003e@​ericchiang\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/coreos/go-oidc/pull/477\"\u003ecoreos/go-oidc#477\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e.github: update go versions in CI by \u003ca href=\"https://github.com/ericchiang\"\u003e\u003ccode\u003e@​ericchiang\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/coreos/go-oidc/pull/480\"\u003ecoreos/go-oidc#480\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump golang.org/x/oauth2 from 0.28.0 to 0.36.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/coreos/go-oidc/pull/478\"\u003ecoreos/go-oidc#478\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump github.com/go-jose/go-jose/v4 from 4.1.3 to 4.1.4 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/coreos/go-oidc/pull/479\"\u003ecoreos/go-oidc#479\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/coreos/go-oidc/compare/v3.17.0...v3.18.0\"\u003ehttps://github.com/coreos/go-oidc/compare/v3.17.0...v3.18.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coreos/go-oidc/commit/da6b3bfca8af72414ee0e6e8746585ff5d206003\"\u003e\u003ccode\u003eda6b3bf\u003c/code\u003e\u003c/a\u003e build(deps): bump github.com/go-jose/go-jose/v4 from 4.1.3 to 4.1.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coreos/go-oidc/commit/7f80694215d5eb5b28f851f35845439b1e1e9e5d\"\u003e\u003ccode\u003e7f80694\u003c/code\u003e\u003c/a\u003e build(deps): bump golang.org/x/oauth2 from 0.28.0 to 0.36.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coreos/go-oidc/commit/7271de57587bb756318f9819796ba846b1ba875a\"\u003e\u003ccode\u003e7271de5\u003c/code\u003e\u003c/a\u003e .github: update go versions in CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coreos/go-oidc/commit/3ccf20fdc4afab7c64881a108d6f4c17a4ecc24d\"\u003e\u003ccode\u003e3ccf20f\u003c/code\u003e\u003c/a\u003e .github: configure dependabot\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/coreos/go-oidc/compare/v3.17.0...v3.18.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/gin-gonic/gin` from 1.10.0 to 1.12.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/gin-gonic/gin/releases\"\u003egithub.com/gin-gonic/gin's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.12.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e192ac89eefc1c30f7c97ae48a9ffb1c6f1c8c8bc: feat(binding): add support for encoding.UnmarshalText in uri/query binding (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4203\"\u003e#4203\u003c/a\u003e) (\u003ca href=\"https://github.com/takanuva15\"\u003e\u003ccode\u003e@​takanuva15\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e53410d2e07054369e0960fbe2eed97e1b9966f12: feat(context): add GetError and GetErrorSlice methods for error retrieval (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4502\"\u003e#4502\u003c/a\u003e) (\u003ca href=\"https://github.com/raju-mechatronics\"\u003e\u003ccode\u003e@​raju-mechatronics\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eacc55e049e33b401e810dbd8c0d6dcb6b3ba2b05: feat(context): add Protocol Buffers support to content negotiation (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4423\"\u003e#4423\u003c/a\u003e) (\u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e38e765119241d990705169bedb5002a29ae0cbd1: feat(context): implemented Delete method (\u003ca href=\"https://github.com/Spyder01\"\u003e\u003ccode\u003e@​Spyder01\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e771dcc6476d7bc6abb9ec0235ecefa4d38fe6fb0: feat(gin): add option to use escaped path (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4420\"\u003e#4420\u003c/a\u003e) (\u003ca href=\"https://github.com/ldesauw\"\u003e\u003ccode\u003e@​ldesauw\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e4dec17afdff48e8018c83618fbbe69fceeb2b41d: feat(logger): color latency (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4146\"\u003e#4146\u003c/a\u003e) (\u003ca href=\"https://github.com/wsyqn6\"\u003e\u003ccode\u003e@​wsyqn6\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ed7776de7d444935ea4385999711bd6331a98fecb: feat(render): add bson protocol (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4145\"\u003e#4145\u003c/a\u003e) (\u003ca href=\"https://github.com/laurentcau\"\u003e\u003ccode\u003e@​laurentcau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eb917b14ff9d189f16a7492be79d123a47806ee19: fix(binding): empty value error (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/2169\"\u003e#2169\u003c/a\u003e) (\u003ca href=\"https://github.com/guonaihong\"\u003e\u003ccode\u003e@​guonaihong\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ec3d1092b3b48addf6f9cd00fe274ec3bd14650eb: fix(binding): improve empty slice/array handling in form binding (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4380\"\u003e#4380\u003c/a\u003e) (\u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e9914178584e42458ff7d23891463a880f58c9d86: fix(context): ClientIP handling for multiple X-Forwarded-For header values (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4472\"\u003e#4472\u003c/a\u003e) (\u003ca href=\"https://github.com/Nurysso\"\u003e\u003ccode\u003e@​Nurysso\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e2a794cd0b0faa7d829291375b27a3467ea972b0d: fix(debug): version mismatch (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4403\"\u003e#4403\u003c/a\u003e) (\u003ca href=\"https://github.com/zeek0x\"\u003e\u003ccode\u003e@​zeek0x\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ec3d5a28ed6d3849da820195b6774d212bcc038a9: fix(gin): close os.File in RunFd to prevent resource leak (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4422\"\u003e#4422\u003c/a\u003e) (\u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e5fad976b372e381312f8de69f0969f1284d229d3: fix(gin): literal colon routes not working with engine.Handler() (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4415\"\u003e#4415\u003c/a\u003e) (\u003ca href=\"https://github.com/pawannn\"\u003e\u003ccode\u003e@​pawannn\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e63dd3e60cab89c27fb66bce1423bd268d52abad1: fix(recover): suppress http.ErrAbortHandler in recover (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4336\"\u003e#4336\u003c/a\u003e) (\u003ca href=\"https://github.com/MondayCha\"\u003e\u003ccode\u003e@​MondayCha\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e5c00df8afadd06cc5be530dde00fe6d9fa4a2e4a: fix(render): write content length in Data.Render (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4206\"\u003e#4206\u003c/a\u003e) (\u003ca href=\"https://github.com/dengaleev\"\u003e\u003ccode\u003e@​dengaleev\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e234a6d4c00cb77af9852aca0b8289745d5529b4b: fix(response): refine hijack behavior for response lifecycle (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4373\"\u003e#4373\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e472d086af2acd924cb4b9d7be0525f7d790f69bc: fix(tree): panic in findCaseInsensitivePathRec with RedirectFixedPath (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4535\"\u003e#4535\u003c/a\u003e) (\u003ca href=\"https://github.com/veeceey\"\u003e\u003ccode\u003e@​veeceey\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e8e07d37c63e5536eb25f4af4c91eabeee4011fba: fix: Correct typos, improve documentation clarity, and remove dead code (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4511\"\u003e#4511\u003c/a\u003e) (\u003ca href=\"https://github.com/mahanadh\"\u003e\u003ccode\u003e@​mahanadh\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eba093d19477b896ac89a7fc3246af23d290b8e26: chore(binding): upgrade bson dependency to mongo-driver v2 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4549\"\u003e#4549\u003c/a\u003e) (\u003ca href=\"https://github.com/BobDu\"\u003e\u003ccode\u003e@​BobDu\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eb2b489dbf4826c2c630717a77fd5e42774625410: chore(context): always trust xff headers from unix socket (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/3359\"\u003e#3359\u003c/a\u003e) (\u003ca href=\"https://github.com/WeidiDeng\"\u003e\u003ccode\u003e@​WeidiDeng\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eecb3f7b5e2f3915bf1db240ed5eee572f8dbea36: chore(deps): upgrade golang.org/x/crypto to v0.45.0 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4449\"\u003e#4449\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eaf6e8b70b8261bb0c99ad094fe552ab92991620a: chore(deps): upgrade quic-go to v0.57.1 (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edb309081bc5c137b2aa15701ef53f7f19788da25: chore(logger): allow skipping query string output (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4547\"\u003e#4547\u003c/a\u003e) (\u003ca href=\"https://github.com/USA-RedDragon\"\u003e\u003ccode\u003e@​USA-RedDragon\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e26c3a628655cad2388380cb8102d6ce7d4875f3b: chore(response): prevent Flush() panic when \u003ccode\u003ehttp.Flusher\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4479\"\u003e#4479\u003c/a\u003e) (\u003ca href=\"https://github.com/Twacqwq\"\u003e\u003ccode\u003e@​Twacqwq\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e5dd833f1f26de0eb30eae47b17e05ced2482dc41: chore: bump minimum Go version to 1.24 and update workflows (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4388\"\u003e#4388\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRefactor\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e39858a0859c914bd26948fa950477e11bd8d3823: refactor(binding): use maps.Copy for cleaner map handling (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4352\"\u003e#4352\u003c/a\u003e) (\u003ca href=\"https://github.com/russcoss\"\u003e\u003ccode\u003e@​russcoss\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ec0048f645ee945c4db30593afdea10123e2c30a6: refactor(context): omit the return value names (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4395\"\u003e#4395\u003c/a\u003e) (\u003ca href=\"https://github.com/wanghaolong613\"\u003e\u003ccode\u003e@​wanghaolong613\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e915e4c90d28ec4cffc6eb146e208ab5a65eac772: refactor(context): replace hardcoded localhost IPs with constants (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4481\"\u003e#4481\u003c/a\u003e) (\u003ca href=\"https://github.com/pauloappbr\"\u003e\u003ccode\u003e@​pauloappbr\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e414de60574449457f3192a7a1d5528940db2836d: refactor(context): using maps.Clone (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4333\"\u003e#4333\u003c/a\u003e) (\u003ca href=\"https://github.com/cuiweixie\"\u003e\u003ccode\u003e@​cuiweixie\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e59e9d4a794f12c4f9a6c7bed441b9644e5f6d99b: refactor(ginS): use sync.OnceValue to simplify engine function (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4314\"\u003e#4314\u003c/a\u003e) (\u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e3ab698dc5110af1977d57226e4995c57dd34c233: refactor(recovery): smart error comparison (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4142\"\u003e#4142\u003c/a\u003e) (\u003ca href=\"https://github.com/zeek0x\"\u003e\u003ccode\u003e@​zeek0x\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ed1a15347b1e45a8ee816193d3578a93bfd73b70f: refactor(utils): move util functions to utils.go (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4467\"\u003e#4467\u003c/a\u003e) (\u003ca href=\"https://github.com/zeek0x\"\u003e\u003ccode\u003e@​zeek0x\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ee3118cc378d263454098924ebbde7e8d1dd2e904: refactor: for loop can be modernized using range over int (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4392\"\u003e#4392\u003c/a\u003e) (\u003ca href=\"https://github.com/wanghaolong613\"\u003e\u003ccode\u003e@​wanghaolong613\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e488f8c3ffa579a8d19beb2bae95ff8ef36b3d53f: refactor: replace magic numbers with named constants in bodyAllowedForStatus (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4529\"\u003e#4529\u003c/a\u003e) (\u003ca href=\"https://github.com/veeceey\"\u003e\u003ccode\u003e@​veeceey\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e9968c4bf9d5a99edc3eee2c068a4c9160ece8915: refactor: use b.Loop() to simplify the code and improve performance (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4389\"\u003e#4389\u003c/a\u003e) (\u003ca href=\"https://github.com/reddaisyy\"\u003e\u003ccode\u003e@​reddaisyy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ea85ef5ce4d0cda8834c59c855068ed48b51192d1: refactor: use b.Loop() to simplify the code and improve performance (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4432\"\u003e#4432\u003c/a\u003e) (\u003ca href=\"https://github.com/efcking\"\u003e\u003ccode\u003e@​efcking\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBuild process updates\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e61b67de522a189b568aced4c5c16917c558e3387: ci(bot): increase frequency and group updates for dependencies (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4367\"\u003e#4367\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efb27ef26c2fdfe25344b4c039d8a53551f9e912c: ci(lint): refactor test assertions and linter configuration (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4436\"\u003e#4436\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e93ff771e6dbf10e432864b30f3719ac5c84a4d4a: ci(sec): improve type safety and server organization in HTTP middleware (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4437\"\u003e#4437\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ee88fc8927a52b74f55bec0351604a56ac0aa1c51: ci(sec): schedule Trivy security scans to run daily at midnight UTC (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4439\"\u003e#4439\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e5e5ff3ace496a31b138b0820136a146bfb5de0ef: ci: replace vulnerability scanning workflow with Trivy integration (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4421\"\u003e#4421\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e00900fb3e1ea9dde33985a0e4f6afec793d5e786: ci: update CI workflows and standardize Trivy config quotes (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4531\"\u003e#4531\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eae3f524974fc4f55d18c9e7fae4614503c015226: ci: update Go version support to 1.25+ across CI and docs (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4550\"\u003e#4550\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/gin-gonic/gin/blob/master/CHANGELOG.md\"\u003egithub.com/gin-gonic/gin's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eGin v1.12.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat(render): add bson protocol (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4145\"\u003e#4145\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(context): add GetError and GetErrorSlice methods for error retrieval (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4502\"\u003e#4502\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(binding): add support for encoding.UnmarshalText in uri/query binding (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4203\"\u003e#4203\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(gin): add option to use escaped path (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4420\"\u003e#4420\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(context): add Protocol Buffers support to content negotiation (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4423\"\u003e#4423\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(context): implemented Delete method (\u003ca href=\"https://github.com/gin-gonic/gin/commit/38e7651\"\u003e#38e7651\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(logger): color latency (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4146\"\u003e#4146\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eperf(tree): reduce allocations in findCaseInsensitivePath (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4417\"\u003e#4417\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eperf(recovery): optimize line reading in stack function (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4466\"\u003e#4466\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eperf(path): replace regex with custom functions in redirectTrailingSlash (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4414\"\u003e#4414\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eperf(tree): optimize path parsing using strings.Count (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4246\"\u003e#4246\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(logger): allow skipping query string output (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4547\"\u003e#4547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(context): always trust xff headers from unix socket (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/3359\"\u003e#3359\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(response): prevent Flush() panic when the underlying ResponseWriter does not implement \u003ccode\u003ehttp.Flusher\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4479\"\u003e#4479\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(recovery): smart error comparison (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4142\"\u003e#4142\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(context): replace hardcoded localhost IPs with constants (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4481\"\u003e#4481\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(utils): move util functions to utils.go (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4467\"\u003e#4467\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(binding): use maps.Copy for cleaner map handling (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4352\"\u003e#4352\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(context): using maps.Clone (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4333\"\u003e#4333\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(ginS): use sync.OnceValue to simplify engine function (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4314\"\u003e#4314\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor: replace magic numbers with named constants in bodyAllowedForStatus (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4529\"\u003e#4529\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor: for loop can be modernized using range over int (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4392\"\u003e#4392\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(tree): panic in findCaseInsensitivePathRec with RedirectFixedPath (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4535\"\u003e#4535\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(render): write content length in Data.Render (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4206\"\u003e#4206\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(context): ClientIP handling for multiple X-Forwarded-For header values (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4472\"\u003e#4472\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(binding): empty value error (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/2169\"\u003e#2169\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(recover): suppress http.ErrAbortHandler in recover (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4336\"\u003e#4336\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(gin): literal colon routes not working with engine.Handler() (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4415\"\u003e#4415\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(gin): close os.File in RunFd to prevent resource leak (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4422\"\u003e#4422\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(response): refine hijack behavior for response lifecycle (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4373\"\u003e#4373\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(binding): improve empty slice/array handling in form binding (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4380\"\u003e#4380\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(debug): version mismatch (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4403\"\u003e#4403\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: correct typos, improve documentation clarity, and remove dead code (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4511\"\u003e#4511\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBuild process updates / CI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eci: update Go version support to 1.25+ across CI and docs (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4550\"\u003e#4550\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(binding): upgrade bson dependency to mongo-driver v2 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4549\"\u003e#4549\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eGin v1.11.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/73726dc606796a025971fe451f0aa6f1b9b847f6\"\u003e\u003ccode\u003e73726dc\u003c/code\u003e\u003c/a\u003e docs: update documentation to reflect Go version changes (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4552\"\u003e#4552\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/e292e5caa777bce70b66fe08c94cbe9cef3e2ec9\"\u003e\u003ccode\u003ee292e5c\u003c/code\u003e\u003c/a\u003e docs: document and finalize Gin v1.12.0 release (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4551\"\u003e#4551\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/ae3f524974fc4f55d18c9e7fae4614503c015226\"\u003e\u003ccode\u003eae3f524\u003c/code\u003e\u003c/a\u003e ci: update Go version support to 1.25+ across CI and docs (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4550\"\u003e#4550\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/38534e2bf98a06e1f62d6b24384e90b5f78699bf\"\u003e\u003ccode\u003e38534e2\u003c/code\u003e\u003c/a\u003e chore(deps): bump golang.org/x/net from 0.50.0 to 0.51.0 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4548\"\u003e#4548\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/472d086af2acd924cb4b9d7be0525f7d790f69bc\"\u003e\u003ccode\u003e472d086\u003c/code\u003e\u003c/a\u003e fix(tree): panic in findCaseInsensitivePathRec with RedirectFixedPath (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4535\"\u003e#4535\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/fb2583442c4d9bccb75e6d26f1aa6e7c01950db6\"\u003e\u003ccode\u003efb25834\u003c/code\u003e\u003c/a\u003e test(context): use http.StatusContinue constant instead of magic number 100 (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/6f1d5fe3cdb171a08928c3c9dd3fbcfc9ee1b521\"\u003e\u003ccode\u003e6f1d5fe\u003c/code\u003e\u003c/a\u003e test(render): add comprehensive error handling tests (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4541\"\u003e#4541\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/5c00df8afadd06cc5be530dde00fe6d9fa4a2e4a\"\u003e\u003ccode\u003e5c00df8\u003c/code\u003e\u003c/a\u003e fix(render): write content length in Data.Render (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4206\"\u003e#4206\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/db309081bc5c137b2aa15701ef53f7f19788da25\"\u003e\u003ccode\u003edb30908\u003c/code\u003e\u003c/a\u003e chore(logger): allow skipping query string output (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4547\"\u003e#4547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/ba093d19477b896ac89a7fc3246af23d290b8e26\"\u003e\u003ccode\u003eba093d1\u003c/code\u003e\u003c/a\u003e chore(binding): upgrade bson dependency to mongo-driver v2 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4549\"\u003e#4549\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/gin-gonic/gin/compare/v1.10.0...v1.12.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/golang-jwt/jwt/v5` from 5.3.0 to 5.3.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/golang-jwt/jwt/releases\"\u003egithub.com/golang-jwt/jwt/v5's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev5.3.1\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003e🔐 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd spellcheck Github action to catch common spelling mistakes by \u003ca href=\"https://github.com/equalsgibson\"\u003e\u003ccode\u003e@​equalsgibson\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/golang-jwt/jwt/pull/458\"\u003egolang-jwt/jwt#458\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eWithNotBeforeRequired\u003c/code\u003e parser option and add test coverage by \u003ca href=\"https://github.com/equalsgibson\"\u003e\u003ccode\u003e@​equalsgibson\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/golang-jwt/jwt/pull/456\"\u003egolang-jwt/jwt#456\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate godoc example func to properly refer to \u003ccode\u003eNewWithClaims()\u003c/code\u003e by \u003ca href=\"https://github.com/equalsgibson\"\u003e\u003ccode\u003e@​equalsgibson\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/golang-jwt/jwt/pull/459\"\u003egolang-jwt/jwt#459\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate github workflows by \u003ca href=\"https://github.com/mfridman\"\u003e\u003ccode\u003e@​mfridman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/golang-jwt/jwt/pull/462\"\u003egolang-jwt/jwt#462\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdditional test for CustomClaims that validates unmarshalling behaviour by \u003ca href=\"https://github.com/equalsgibson\"\u003e\u003ccode\u003e@​equalsgibson\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/golang-jwt/jwt/pull/457\"\u003egolang-jwt/jwt#457\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix early file close in jwt cli by \u003ca href=\"https://github.com/mfridman\"\u003e\u003ccode\u003e@​mfridman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/golang-jwt/jwt/pull/472\"\u003egolang-jwt/jwt#472\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd TPM signature reference by \u003ca href=\"https://github.com/salrashid123\"\u003e\u003ccode\u003e@​salrashid123\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/golang-jwt/jwt/pull/473\"\u003egolang-jwt/jwt#473\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove misleading ParserOptions documentation in \u003ca href=\"https://redirect.github.com/golang-jwt/jwt/pull/484\"\u003egolang-jwt/jwt#484\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSave signature to Token struct after successful signing by \u003ca href=\"https://github.com/EgorSheff\"\u003e\u003ccode\u003e@​EgorSheff\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/golang-jwt/jwt/pull/417\"\u003egolang-jwt/jwt#417\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSet token.Signature in \u003ccode\u003eParseUnverified\u003c/code\u003e by \u003ca href=\"https://github.com/slickwilli\"\u003e\u003ccode\u003e@​slickwilli\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/golang-jwt/jwt/pull/414\"\u003egolang-jwt/jwt#414\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e👒 Dependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBump crate-ci/typos from 1.34.0 to 1.35.3 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/golang-jwt/jwt/pull/461\"\u003egolang-jwt/jwt#461\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump crate-ci/typos from 1.35.4 to 1.36.2 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/golang-jwt/jwt/pull/470\"\u003egolang-jwt/jwt#470\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump github/codeql-action from 3 to 4 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/golang-jwt/jwt/pull/478\"\u003egolang-jwt/jwt#478\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump crate-ci/typos from 1.36.2 to 1.39.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/golang-jwt/jwt/pull/480\"\u003egolang-jwt/jwt#480\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump golangci/golangci-lint-action from 8 to 9 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/golang-jwt/jwt/pull/481\"\u003egolang-jwt/jwt#481\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/setup-go from 5 to 6 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/golang-jwt/jwt/pull/469\"\u003egolang-jwt/jwt#469\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump crate-ci/typos from 1.39.0 to 1.40.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/golang-jwt/jwt/pull/488\"\u003egolang-jwt/jwt#488\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/checkout from 5 to 6 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/golang-jwt/jwt/pull/487\"\u003egolang-jwt/jwt#487\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump crate-ci/typos from 1.40.0 to 1.41.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/golang-jwt/jwt/pull/490\"\u003egolang-jwt/jwt#490\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump crate-ci/typos from 1.41.0 to 1.42.1 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/golang-jwt/jwt/pull/492\"\u003egolang-jwt/jwt#492\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/equalsgibson\"\u003e\u003ccode\u003e@​equalsgibson\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/golang-jwt/jwt/pull/458\"\u003egolang-jwt/jwt#458\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/salrashid123\"\u003e\u003ccode\u003e@​salrashid123\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/golang-jwt/jwt/pull/473\"\u003egolang-jwt/jwt#473\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/EgorSheff\"\u003e\u003ccode\u003e@​EgorSheff\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/golang-jwt/jwt/pull/417\"\u003egolang-jwt/jwt#417\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/slickwilli\"\u003e\u003ccode\u003e@​slickwilli\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/golang-jwt/jwt/pull/414\"\u003egolang-jwt/jwt#414\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/golang-jwt/jwt/compare/v5.3.0...v5.3.1\"\u003ehttps://github.com/golang-jwt/jwt/compare/v5.3.0...v5.3.1\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/golang-jwt/jwt/commit/7ceae619e739dc8a7bf577214aa8ebf26668e9db\"\u003e\u003ccode\u003e7ceae61\u003c/code\u003e\u003c/a\u003e Add release.yml for changelog configuration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/golang-jwt/jwt/commit/dce8e4dddcc9dc812cdc0b9d2037512d0e4b3eb5\"\u003e\u003ccode\u003edce8e4d\u003c/code\u003e\u003c/a\u003e Set token.Signature in \u003ccode\u003eParseUnverified\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/golang-jwt/jwt/issues/414\"\u003e#414\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/golang-jwt/jwt/commit/8889e208aa5c3736e5f7a856107ee70c046b803e\"\u003e\u003ccode\u003e8889e20\u003c/code\u003e\u003c/a\u003e Save signature to Token struct after successful signing (\u003ca href=\"https://redirect.github.com/golang-jwt/jwt/issues/417\"\u003e#417\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/golang-jwt/jwt/commit/d237f8204b397bc008b5b07c4e081beb4ec2a7b1\"\u003e\u003ccode\u003ed237f82\u003c/code\u003e\u003c/a\u003e ci: update github-actions schedule interval to monthly\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/golang-jwt/jwt/commit/d8dce95a406fc435aa3d11c5073f2f31a9449116\"\u003e\u003ccode\u003ed8dce95\u003c/code\u003e\u003c/a\u003e Bump crate-ci/typos from 1.41.0 to 1.42.1 (\u003ca href=\"https://redirect.github.com/golang-jwt/jwt/issues/492\"\u003e#492\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/golang-jwt/jwt/commit/e93180329eab078116176ff7dc4352760bc5f290\"\u003e\u003ccode\u003ee931803\u003c/code\u003e\u003c/a\u003e Bump crate-ci/typos from 1.40.0 to 1.41.0 (\u003ca href=\"https://redirect.github.com/golang-jwt/jwt/issues/490\"\u003e#490\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/golang-jwt/jwt/commit/e6a0afa839d74787501369217245b52bfc75f30d\"\u003e\u003ccode\u003ee6a0afa\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 5 to 6 (\u003ca href=\"https://redirect.github.com/golang-jwt/jwt/issues/487\"\u003e#487\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/golang-jwt/jwt/commit/9f85c9ec9f10fb6919d773cb8df07029639ec76e\"\u003e\u003ccode\u003e9f85c9e\u003c/code\u003e\u003c/a\u003e Bump crate-ci/typos from 1.39.0 to 1.40.0 (\u003ca href=\"https://redirect.github.com/golang-jwt/jwt/issues/488\"\u003e#488\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/golang-jwt/jwt/commit/60a8669e0221aed55a6abfd9b5cd20472f0c6ebd\"\u003e\u003ccode\u003e60a8669\u003c/code\u003e\u003c/a\u003e Bump actions/setup-go from 5 to 6 (\u003ca href=\"https://redirect.github.com/golang-jwt/jwt/issues/469\"\u003e#469\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/golang-jwt/jwt/commit/76f582896da76978896d59ced995d7967c33c434\"\u003e\u003ccode\u003e76f5828\u003c/code\u003e\u003c/a\u003e Remove misleading ParserOptions documentation (\u003ca href=\"https://redirect.github.com/golang-jwt/jwt/issues/484\"\u003e#484\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/golang-jwt/jwt/compare/v5.3.0...v5.3.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `golang.org/x/crypto` from 0.46.0 to 0.48.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/golang/crypto/commit/e08b06753d6a72f1fe375b6e0fefefb39917c165\"\u003e\u003ccode\u003ee08b067\u003c/code\u003e\u003c/a\u003e go.mod: update golang.org/x dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/golang/crypto/commit/7d0074ccc6f17acbf2ebb10db06d492e08f887dc\"\u003e\u003ccode\u003e7d0074c\u003c/code\u003e\u003c/a\u003e scrypt: fix panic on parameters \u0026lt;= 0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/golang/crypto/commit/506e022208b864bc3c9c4a416fe56be75d10ad24\"\u003e\u003ccode\u003e506e022\u003c/code\u003e\u003c/a\u003e go.mod: update golang.org/x dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/golang/crypto/commit/7dacc380ba001e8fe7c3c7a46bf3cbdaa5064df9\"\u003e\u003ccode\u003e7dacc38\u003c/code\u003e\u003c/a\u003e chacha20poly1305: error out in fips140=only mode\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/golang/crypto/compare/v0.46.0...v0.48.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `golang.org/x/oauth2` from 0.35.0 to 0.36.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/golang/oauth2/commit/4d954e69a88d9e1ccb8439f8d5b6cbef230c4ef9\"\u003e\u003ccode\u003e4d954e6\u003c/code\u003e\u003c/a\u003e all: upgrade go directive to at least 1.25.0 [generated]\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/golang/oauth2/compare/v0.35.0...v0.36.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `google.golang.org/genai` from 1.40.0 to 1.54.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/go-genai/releases\"\u003egoogle.golang.org/genai's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.54.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/go-genai/compare/v1.53.0...v1.54.0\"\u003e1.54.0\u003c/a\u003e (2026-04-13)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u0026quot;eu\u0026quot; as a supported service location for Vertex AI platform. (\u003ca href=\"https://github.com/googleapis/go-genai/commit/9245aba251afea99b1560fae07b93498ed5b5d8e\"\u003e9245aba\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Live Avatar new fields (\u003ca href=\"https://github.com/googleapis/go-genai/commit/2ae252caaf0d5273d5656d32858e54c354326248\"\u003e2ae252c\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd webhook_config to batches.create() and models.generate_videos() (\u003ca href=\"https://github.com/googleapis/go-genai/commit/4790027b553d401d5cc99f21776dcfa49cbda16d\"\u003e4790027\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.53.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/go-genai/compare/v1.52.1...v1.53.0\"\u003e1.53.0\u003c/a\u003e (2026-04-08)\u003c/h2\u003e\n\u003ch3\u003eMiscellaneous Chores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003erelease 1.53.0 (\u003ca href=\"https://github.com/googleapis/go-genai/commit/07f38c926798eb5f4d9ef3af531ee3f4d91c6fd6\"\u003e07f38c9\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.52.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/go-genai/compare/v1.52.0...v1.52.1\"\u003e1.52.1\u003c/a\u003e (2026-03-31)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix service_tier enums. (\u003ca href=\"https://github.com/googleapis/go-genai/commit/5518442a2a8dac4a00ad4248470ec995604974f6\"\u003e5518442\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.52.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/go-genai/compare/v1.51.0...v1.52.0\"\u003e1.52.0\u003c/a\u003e (2026-03-27)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd labels field to Veo configs (\u003ca href=\"https://github.com/googleapis/go-genai/commit/3fab63a5f628b8ffe35fe75c325108a75e5c5add\"\u003e3fab63a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd model_status to GenerateContentResponse (Gemini API only) (\u003ca href=\"https://github.com/googleapis/go-genai/commit/8c040e35aaab4089303fbd0fcacdf80ae85cc9df\"\u003e8c040e3\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd part_metadata in Part (Gemini API only) (\u003ca href=\"https://github.com/googleapis/go-genai/commit/8c040e35aaab4089303fbd0fcacdf80ae85cc9df\"\u003e8c040e3\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd service tier to GenerateContent. (\u003ca href=\"https://github.com/googleapis/go-genai/commit/c07b6a0b47408e038264a4b0d85183e4240cb30a\"\u003ec07b6a0\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003egenai:\u003c/strong\u003e add TURN_INCLUDES_AUDIO_ACTIVITY_AND_ALL_VIDEO to TurnCoverage (\u003ca href=\"https://github.com/googleapis/go-genai/commit/ea49f9a7d885d7d0fb2016c7621b1d22eee06b26\"\u003eea49f9a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003esupport hyperparameters in distillation tuning (\u003ca href=\"https://github.com/googleapis/go-genai/commit/b8873ea18126d825b841794414c05c66cb2bc094\"\u003eb8873ea\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport rendered_parts in GroundingSupport (\u003ca href=\"https://github.com/googleapis/go-genai/commit/8c040e35aaab4089303fbd0fcacdf80ae85cc9df\"\u003e8c040e3\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix empty InlinedEmbedContentResponses for inline batch embeddings in Go GenAI SDK (\u003ca href=\"https://github.com/googleapis/go-genai/commit/e70c9d111e5f70e684537ae3ebb3fcaaf839d642\"\u003ee70c9d1\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/googleapis/go-genai/issues/712\"\u003e#712\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003esupport us region routing (\u003ca href=\"https://github.com/googleapis/go-genai/commit/09d5be32d28541debeb2fbfae13be29e51d0b42d\"\u003e09d5be3\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.51.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/go-genai/compare/v1.50.0...v1.51.0\"\u003e1.51.0\u003c/a\u003e (2026-03-17)\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/go-genai/blob/main/CHANGELOG.md\"\u003egoogle.golang.org/genai's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/go-genai/compare/v1.53.0...v1.54.0\"\u003e1.54.0\u003c/a\u003e (2026-04-13)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u0026quot;eu\u0026quot; as a supported service location for Vertex AI platform. (\u003ca href=\"https://github.com/googleapis/go-genai/commit/9245aba251afea99b1560fae07b93498ed5b5d8e\"\u003e9245aba\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Live Avatar new fields (\u003ca href=\"https://github.com/googleapis/go-genai/commit/2ae252caaf0d5273d5656d32858e54c354326248\"\u003e2ae252c\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd webhook_config to batches.create() and models.generate_videos() (\u003ca href=\"https://github.com/googleapis/go-genai/commit/4790027b553d401d5cc99f21776dcfa49cbda16d\"\u003e4790027\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/go-genai/compare/v1.52.1...v1.53.0\"\u003e1.53.0\u003c/a\u003e (2026-04-08)\u003c/h2\u003e\n\u003ch3\u003eMiscellaneous Chores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003erelease 1.53.0 (\u003ca href=\"https://github.com/googleapis/go-genai/commit/07f38c926798eb5f4d9ef3af531ee3f4d91c6fd6\"\u003e07f38c9\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/go-genai/compare/v1.52.0...v1.52.1\"\u003e1.52.1\u003c/a\u003e (2026-03-31)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix service_tier enums. (\u003ca href=\"https://github.com/googleapis/go-genai/commit/5518442a2a8dac4a00ad4248470ec995604974f6\"\u003e5518442\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/go-genai/compare/v1.51.0...v1.52.0\"\u003e1.52.0\u003c/a\u003e (2026-03-27)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd labels field to Veo configs (\u003ca href=\"https://github.com/googleapis/go-genai/commit/3fab63a5f628b8ffe35fe75c325108a75e5c5add\"\u003e3fab63a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd model_status to GenerateContentResponse (Gemini API only) (\u003ca href=\"https://github.com/googleapis/go-genai/commit/8c040e35aaab4089303fbd0fcacdf80ae85cc9df\"\u003e8c040e3\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd part_metadata in Part (Gemini API only) (\u003ca href=\"https://github.com/googleapis/go-genai/commit/8c040e35aaab4089303fbd0fcacdf80ae85cc9df\"\u003e8c040e3\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd service tier to GenerateContent. (\u003ca href=\"https://github.com/googleapis/go-genai/commit/c07b6a0b47408e038264a4b0d85183e4240cb30a\"\u003ec07b6a0\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003egenai:\u003c/strong\u003e add TURN_INCLUDES_AUDIO_ACTIVITY_AND_ALL_VIDEO to TurnCoverage (\u003ca href=\"https://github.com/googleapis/go-genai/commit/ea49f9a7d885d7d0fb2016c7621b1d22eee06b26\"\u003eea49f9a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003esupport hyperparameters in distillation tuning (\u003ca href=\"https://github.com/googleapis/go-genai/commit/b8873ea18126d825b841794414c05c66cb2bc094\"\u003eb8873ea\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport rendered_parts in GroundingSupport (\u003ca href=\"https://github.com/googleapis/go-genai/commit/8c040e35aaab4089303fbd0fcacdf80ae85cc9df\"\u003e8c040e3\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix empty InlinedEmbedContentResponses for inline batch embeddings in Go GenAI SDK (\u003ca href=\"https://github.com/googleapis/go-genai/commit/e70c9d111e5f70e684537ae3ebb3fcaaf839d642\"\u003ee70c9d1\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/googleapis/go-genai/issues/712\"\u003e#712\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003esupport us region routing (\u003ca href=\"https://github.com/googleapis/go-genai/commit/09d5be32d28541debeb2fbfae13be29e51d0b42d\"\u003e09d5be3\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/go-genai/compare/v1.50.0...v1.51.0\"\u003e1.51.0\u003c/a\u003e (2026-03-17)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSupport include_server_side_tool_invocations for genai. (\u003ca href=\"https://github.com/googleapis/go-genai/commit/cec4bfd51223b19740526a44a610a8c06de737d4\"\u003ecec4bfd\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/go-genai/compare/v1.49.0...v1.50.0\"\u003e1.50.0\u003c/a\u003e (2026-03-12)\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/go-genai/commit/2abde7d2eeec00e58ad817fee0545efdf2cbf94b\"\u003e\u003ccode\u003e2abde7d\u003c/code\u003e\u003c/a\u003e chore(main): release 1.54.0 (\u003ca href=\"https://redirect.github.com/googleapis/go-genai/issues/750\"\u003e#750\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/go-genai/commit/4790027b553d401d5cc99f21776dcfa49cbda16d\"\u003e\u003ccode\u003e4790027\u003c/code\u003e\u003c/a\u003e feat: Add webhook_config to batches.create() and models.generate_videos()\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/go-genai/commit/2db1072b87c1059118aab06596fdede050e77c14\"\u003e\u003ccode\u003e2db1072\u003c/code\u003e\u003c/a\u003e chore: support new config mappings and fields for gemini-embedding-2 on GenAI...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/go-genai/commit/5bc9bf413f5064c679bf071f1fd831194b3d87fe\"\u003e\u003ccode\u003e5bc9bf4\u003c/code\u003e\u003c/a\u003e No public description\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/go-genai/commit/2ae252caaf0d5273d5656d32858e54c354326248\"\u003e\u003ccode\u003e2ae252c\u003c/code\u003e\u003c/a\u003e feat: Add Live Avatar new fields\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/go-genai/commit/6ccba365395a4102804543d884e16d368876b74d\"\u003e\u003ccode\u003e6ccba36\u003c/code\u003e\u003c/a\u003e chore: Clean up no-op converters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/go-genai/commit/9245aba251afea99b1560fae07b93498ed5b5d8e\"\u003e\u003ccode\u003e9245aba\u003c/code\u003e\u003c/a\u003e feat: Add \u0026quot;eu\u0026quot; as a supported service location for Vertex AI platform.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/go-genai/commit/dda317bd5af22073018e1d87c8cfe5402935909a\"\u003e\u003ccode\u003edda317b\u003c/code\u003e\u003c/a\u003e chore(main): release 1.53.0 (\u003ca href=\"https://redirect.github.com/googleapis/go-genai/issues/748\"\u003e#748\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/go-genai/commit/07f38c926798eb5f4d9ef3af531ee3f4d91c6fd6\"\u003e\u003ccode\u003e07f38c9\u003c/code\u003e\u003c/a\u003e chore: release 1.53.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/go-genai/commit/2ece8783afc8e6d17027bea9aebf0f6e72f657fa\"\u003e\u003ccode\u003e2ece878\u003c/code\u003e\u003c/a\u003e docs: Remove deprecated product recontext model samples from docstrings\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/googleapis/go-genai/compare/v1.40.0...v1.54.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n","html_url":"https://github.com/kube-rca/kuberca/pull/17","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/kube-rca%2Fkuberca/issues/17","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/17/packages"},{"uuid":"4330105557","node_id":"PR_kwDOHqP31c7Vr3I6","number":6174,"state":"closed","title":"chore(deps): bump the go-minor group with 27 updates","user":"dependabot[bot]","labels":["dependencies","go"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-04-26T14:24:26.000Z","author_association":null,"state_reason":null,"created_at":"2026-04-26T05:26:28.000Z","updated_at":"2026-04-26T14:24:36.000Z","time_to_close":32278,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"go-minor","update_count":27,"packages":[{"name":"code.gitea.io/sdk/gitea","old_version":"0.22.1","new_version":"0.24.1"},{"name":"github.com/Azure/azure-sdk-for-go/sdk/azcore","old_version":"1.20.0","new_version":"1.21.1","repository_url":"https://github.com/Azure/azure-sdk-for-go"},{"name":"github.com/aws/aws-sdk-go-v2/service/ecr","old_version":"1.55.4","new_version":"1.57.1","repository_url":"https://github.com/aws/aws-sdk-go-v2"},{"name":"github.com/bmatcuk/doublestar/v4","old_version":"4.9.2","new_version":"4.10.0","repository_url":"https://github.com/bmatcuk/doublestar"},{"name":"github.com/coreos/go-oidc/v3","old_version":"3.17.0","new_version":"3.18.0","repository_url":"https://github.com/coreos/go-oidc"},{"name":"github.com/fluxcd/pkg/kustomize","old_version":"1.24.0","new_version":"1.31.0","repository_url":"https://github.com/fluxcd/pkg"},{"name":"github.com/gin-gonic/gin","old_version":"1.11.0","new_version":"1.12.0","repository_url":"https://github.com/gin-gonic/gin"},{"name":"github.com/google/go-containerregistry","old_version":"0.20.7","new_version":"0.21.5","repository_url":"https://github.com/google/go-containerregistry"},{"name":"github.com/jferrl/go-githubauth","old_version":"1.5.1","new_version":"1.6.0","repository_url":"https://github.com/jferrl/go-githubauth"},{"name":"github.com/pelletier/go-toml/v2","old_version":"2.2.4","new_version":"2.3.0","repository_url":"https://github.com/pelletier/go-toml"},{"name":"gitlab.com/gitlab-org/api/client-go","old_version":"1.13.0","new_version":"1.46.0"},{"name":"golang.org/x/crypto","old_version":"0.49.0","new_version":"0.50.0","repository_url":"https://github.com/golang/crypto"},{"name":"golang.org/x/net","old_version":"0.52.0","new_version":"0.53.0","repository_url":"https://github.com/golang/net"},{"name":"golang.org/x/oauth2","old_version":"0.34.0","new_version":"0.36.0","repository_url":"https://github.com/golang/oauth2"},{"name":"golang.org/x/text","old_version":"0.35.0","new_version":"0.36.0","repository_url":"https://github.com/golang/text"},{"name":"google.golang.org/api","old_version":"0.259.0","new_version":"0.276.0","repository_url":"https://github.com/googleapis/google-api-go-client"},{"name":"google.golang.org/grpc","old_version":"1.79.3","new_version":"1.80.0","repository_url":"https://github.com/grpc/grpc-go"},{"name":"helm.sh/helm/v3","old_version":"3.19.5","new_version":"3.20.2","repository_url":"https://github.com/helm/helm"},{"name":"k8s.io/api","old_version":"0.34.3","new_version":"0.35.2","repository_url":"https://github.com/kubernetes/api"},{"name":"k8s.io/apiextensions-apiserver","old_version":"0.34.3","new_version":"0.35.2","repository_url":"https://github.com/kubernetes/apiextensions-apiserver"},{"name":"k8s.io/apimachinery","old_version":"0.34.3","new_version":"0.35.2","repository_url":"https://github.com/kubernetes/apimachinery"},{"name":"k8s.io/apiserver","old_version":"0.34.3","new_version":"0.35.2","repository_url":"https://github.com/kubernetes/apiserver"},{"name":"k8s.io/cli-runtime","old_version":"0.34.3","new_version":"0.35.1","repository_url":"https://github.com/kubernetes/cli-runtime"},{"name":"k8s.io/client-go","old_version":"0.34.3","new_version":"0.35.2","repository_url":"https://github.com/kubernetes/client-go"},{"name":"k8s.io/klog/v2","old_version":"2.130.1","new_version":"2.140.0","repository_url":"https://github.com/kubernetes/klog"},{"name":"k8s.io/utils","old_version":"0.0.0-20250604170112-4c0f3b243397","new_version":"0.0.0-20251002143259-bc988d571ff4","repository_url":"https://github.com/kubernetes/utils"},{"name":"sigs.k8s.io/controller-runtime","old_version":"0.22.4","new_version":"0.23.3","repository_url":"https://github.com/kubernetes-sigs/controller-runtime"}],"path":null,"ecosystem":"go"},"body":"Bumps the go-minor group with 27 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| code.gitea.io/sdk/gitea | `0.22.1` | `0.24.1` |\n| [github.com/Azure/azure-sdk-for-go/sdk/azcore](https://github.com/Azure/azure-sdk-for-go) | `1.20.0` | `1.21.1` |\n| [github.com/aws/aws-sdk-go-v2/service/ecr](https://github.com/aws/aws-sdk-go-v2) | `1.55.4` | `1.57.1` |\n| [github.com/bmatcuk/doublestar/v4](https://github.com/bmatcuk/doublestar) | `4.9.2` | `4.10.0` |\n| [github.com/coreos/go-oidc/v3](https://github.com/coreos/go-oidc) | `3.17.0` | `3.18.0` |\n| [github.com/fluxcd/pkg/kustomize](https://github.com/fluxcd/pkg) | `1.24.0` | `1.31.0` |\n| [github.com/gin-gonic/gin](https://github.com/gin-gonic/gin) | `1.11.0` | `1.12.0` |\n| [github.com/google/go-containerregistry](https://github.com/google/go-containerregistry) | `0.20.7` | `0.21.5` |\n| [github.com/jferrl/go-githubauth](https://github.com/jferrl/go-githubauth) | `1.5.1` | `1.6.0` |\n| [github.com/pelletier/go-toml/v2](https://github.com/pelletier/go-toml) | `2.2.4` | `2.3.0` |\n| [gitlab.com/gitlab-org/api/client-go](https://gitlab.com/gitlab-org/api/client-go) | `1.13.0` | `1.46.0` |\n| [golang.org/x/crypto](https://github.com/golang/crypto) | `0.49.0` | `0.50.0` |\n| [golang.org/x/net](https://github.com/golang/net) | `0.52.0` | `0.53.0` |\n| [golang.org/x/oauth2](https://github.com/golang/oauth2) | `0.34.0` | `0.36.0` |\n| [golang.org/x/text](https://github.com/golang/text) | `0.35.0` | `0.36.0` |\n| [google.golang.org/api](https://github.com/googleapis/google-api-go-client) | `0.259.0` | `0.276.0` |\n| [google.golang.org/grpc](https://github.com/grpc/grpc-go) | `1.79.3` | `1.80.0` |\n| [helm.sh/helm/v3](https://github.com/helm/helm) | `3.19.5` | `3.20.2` |\n| [k8s.io/api](https://github.com/kubernetes/api) | `0.34.3` | `0.35.2` |\n| [k8s.io/apiextensions-apiserver](https://github.com/kubernetes/apiextensions-apiserver) | `0.34.3` | `0.35.2` |\n| [k8s.io/apimachinery](https://github.com/kubernetes/apimachinery) | `0.34.3` | `0.35.2` |\n| [k8s.io/apiserver](https://github.com/kubernetes/apiserver) | `0.34.3` | `0.35.2` |\n| [k8s.io/cli-runtime](https://github.com/kubernetes/cli-runtime) | `0.34.3` | `0.35.1` |\n| [k8s.io/client-go](https://github.com/kubernetes/client-go) | `0.34.3` | `0.35.2` |\n| [k8s.io/klog/v2](https://github.com/kubernetes/klog) | `2.130.1` | `2.140.0` |\n| [k8s.io/utils](https://github.com/kubernetes/utils) | `0.0.0-20250604170112-4c0f3b243397` | `0.0.0-20251002143259-bc988d571ff4` |\n| [sigs.k8s.io/controller-runtime](https://github.com/kubernetes-sigs/controller-runtime) | `0.22.4` | `0.23.3` |\n\nUpdates `code.gitea.io/sdk/gitea` from 0.22.1 to 0.24.1\n\nUpdates `github.com/Azure/azure-sdk-for-go/sdk/azcore` from 1.20.0 to 1.21.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Azure/azure-sdk-for-go/releases\"\u003egithub.com/Azure/azure-sdk-for-go/sdk/azcore's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003esdk/azcore/v1.21.1\u003c/h2\u003e\n\u003ch2\u003e1.21.1 (2026-04-16)\u003c/h2\u003e\n\u003ch3\u003eBugs Fixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an issue in \u003ccode\u003eResponseError.Error()\u003c/code\u003e where the request URL path was being logged unescaped.\u003c/li\u003e\n\u003cli\u003eRedact query parameters when logging errors.\u003c/li\u003e\n\u003cli\u003eFor \u003ccode\u003eruntime.JoinPaths\u003c/code\u003e, don't add a slash between root and paths when \u003ccode\u003epaths\u003c/code\u003e starts with \u003ccode\u003e?\u003c/code\u003e (query string).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgraded to Go 1.25.0.\u003c/li\u003e\n\u003cli\u003eUpgraded dependencies.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003esdk/azcore/v1.21.0\u003c/h2\u003e\n\u003ch2\u003e1.21.0 (2026-01-12)\u003c/h2\u003e\n\u003ch3\u003eFeatures Added\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eruntime/datetime\u003c/code\u003e package which provides specialized time type wrappers for serializing and deserializing\ntime values in various formats used by Azure services.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAligned \u003ccode\u003ecloud.AzureGovernment\u003c/code\u003e and \u003ccode\u003ecloud.AzureChina\u003c/code\u003e audience values with Azure CLI\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-go/commit/63e4ba18204b0df554e330df8f85662e653e67ab\"\u003e\u003ccode\u003e63e4ba1\u003c/code\u003e\u003c/a\u003e Bump release date for azcore (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-go/issues/26613\"\u003e#26613\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-go/commit/fa0312174d17ff4cb7cb0118fa80de07409841c2\"\u003e\u003ccode\u003efa03121\u003c/code\u003e\u003c/a\u003e remove bypass local dns (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-go/issues/26609\"\u003e#26609\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-go/commit/c47f9a60dd1e9be6943ff0d6a5666a0ac09f6cfa\"\u003e\u003ccode\u003ec47f9a6\u003c/code\u003e\u003c/a\u003e Sync eng/common directory with azure-sdk-tools for PR 15153 (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-go/issues/26607\"\u003e#26607\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-go/commit/88b8b5b38ecebb929a2e302df054fed1d68618b8\"\u003e\u003ccode\u003e88b8b5b\u003c/code\u003e\u003c/a\u003e Changelog for v2.2.0 (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-go/issues/26567\"\u003e#26567\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-go/commit/72ca19ae2b8b4514c4f48a5ff33495b03c08afd0\"\u003e\u003ccode\u003e72ca19a\u003c/code\u003e\u003c/a\u003e Storage STG 101 (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-go/issues/26568\"\u003e#26568\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-go/commit/b64baf56c6b168d258b2a0678290ac5f9ab97938\"\u003e\u003ccode\u003eb64baf5\u003c/code\u003e\u003c/a\u003e Sync .github directory with azure-sdk-tools repository (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-go/issues/26600\"\u003e#26600\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-go/commit/ecd64dd6500a04da22107925c3ba9fbe8e636f2c\"\u003e\u003ccode\u003eecd64dd\u003c/code\u003e\u003c/a\u003e Prep azcore@v1.21.1 for release (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-go/issues/26596\"\u003e#26596\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-go/commit/1d02f204d0146ffd7d13d5585bf3766e53c32cc5\"\u003e\u003ccode\u003e1d02f20\u003c/code\u003e\u003c/a\u003e Update copilot code review instructions and migration breaking change mitigat...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-go/commit/f6e9ce3212cc9d654d349778f19065eb5d849197\"\u003e\u003ccode\u003ef6e9ce3\u003c/code\u003e\u003c/a\u003e Sync eng/common directory with azure-sdk-tools for PR 14973 (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-go/issues/26531\"\u003e#26531\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-go/commit/d5a3baf11e0b743a4009efb8e84cbaee335fc0eb\"\u003e\u003ccode\u003ed5a3baf\u003c/code\u003e\u003c/a\u003e Update CODEOWNERS to remove one owner from Custom Providers (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-go/issues/26588\"\u003e#26588\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Azure/azure-sdk-for-go/compare/sdk/azcore/v1.20.0...sdk/azcore/v1.21.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/aws/aws-sdk-go-v2/service/ecr` from 1.55.4 to 1.57.1\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-go-v2/commit/4509a600408280c8dcdbc6825ba750cf1628423d\"\u003e\u003ccode\u003e4509a60\u003c/code\u003e\u003c/a\u003e Release 2024-06-28\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-go-v2/commit/0c61504d74dd81214542aae8a68993166935fa2a\"\u003e\u003ccode\u003e0c61504\u003c/code\u003e\u003c/a\u003e Regenerated Clients\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-go-v2/commit/7ca59bf2c0fc11f80a59f7f0e5c7f4d7805444e3\"\u003e\u003ccode\u003e7ca59bf\u003c/code\u003e\u003c/a\u003e Update SDK's smithy-go dependency to v1.20.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-go-v2/commit/fe1af5ba9947870b221f0c17b92e4f6d48e318c9\"\u003e\u003ccode\u003efe1af5b\u003c/code\u003e\u003c/a\u003e Update endpoints model\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-go-v2/commit/b76404f69b8b6b2e398f9fd3f4759e36e3407353\"\u003e\u003ccode\u003eb76404f\u003c/code\u003e\u003c/a\u003e Update API model\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-go-v2/commit/8ca412df63bb420ae20bf4ae198b8ea57e2aacf6\"\u003e\u003ccode\u003e8ca412d\u003c/code\u003e\u003c/a\u003e Release 2024-06-27\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-go-v2/commit/6505a148d0d4e3a624fa5fb10c7fc4a226c9257f\"\u003e\u003ccode\u003e6505a14\u003c/code\u003e\u003c/a\u003e Regenerated Clients\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-go-v2/commit/66e5439ffbb921f031bae700e78ecea6b48b3517\"\u003e\u003ccode\u003e66e5439\u003c/code\u003e\u003c/a\u003e Update endpoints model\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-go-v2/commit/590c9dbbfd52c9f93a2997bcca309c362d7f90e1\"\u003e\u003ccode\u003e590c9db\u003c/code\u003e\u003c/a\u003e Update API model\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-go-v2/commit/7c25c211744bdcff47a7203a7a894b1241f9da50\"\u003e\u003ccode\u003e7c25c21\u003c/code\u003e\u003c/a\u003e Release 2024-06-26\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/aws/aws-sdk-go-v2/compare/service/ecr/v1.55.4...service/s3/v1.57.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/bmatcuk/doublestar/v4` from 4.9.2 to 4.10.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/bmatcuk/doublestar/releases\"\u003egithub.com/bmatcuk/doublestar/v4's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eAdded WithNoHidden option\u003c/h2\u003e\n\u003cp\u003eAdded support for a \u003ccode\u003eWithNoHidden\u003c/code\u003e option to ignore hidden files in patterns that might unintentionally match them. For example, a \u003ccode\u003e.config\u003c/code\u003e directory would not be matched by \u003ccode\u003e*\u003c/code\u003e or recursed into by \u003ccode\u003e**\u003c/code\u003e, but \u003cem\u003ewould\u003c/em\u003e be matched by \u003ccode\u003e.*\u003c/code\u003e or recursed by \u003ccode\u003e.config/**\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eThanks to \u003ca href=\"https://github.com/lukasngl\"\u003e\u003ccode\u003e@​lukasngl\u003c/code\u003e\u003c/a\u003e for the initial PR and idea!\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efeat: add WithNoHidden option to skip hidden files by \u003ca href=\"https://github.com/lukasngl\"\u003e\u003ccode\u003e@​lukasngl\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/bmatcuk/doublestar/pull/109\"\u003ebmatcuk/doublestar#109\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lukasngl\"\u003e\u003ccode\u003e@​lukasngl\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/bmatcuk/doublestar/pull/109\"\u003ebmatcuk/doublestar#109\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/bmatcuk/doublestar/compare/v4.9.2...v4.10.0\"\u003ehttps://github.com/bmatcuk/doublestar/compare/v4.9.2...v4.10.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bmatcuk/doublestar/commit/a9ad9e0ef4d6b7e4443090e9a7201d847a881711\"\u003e\u003ccode\u003ea9ad9e0\u003c/code\u003e\u003c/a\u003e allow starting test manually\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bmatcuk/doublestar/commit/9987c0c624376f84f44515adca73ddcdfdcdf453\"\u003e\u003ccode\u003e9987c0c\u003c/code\u003e\u003c/a\u003e update docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bmatcuk/doublestar/commit/d3b2184d103391fcd0fcca6590c16367310eee65\"\u003e\u003ccode\u003ed3b2184\u003c/code\u003e\u003c/a\u003e windows support for WithNoHidden; better tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bmatcuk/doublestar/commit/5d6a6cd76ba3e45482d13140f332be36451f5a48\"\u003e\u003ccode\u003e5d6a6cd\u003c/code\u003e\u003c/a\u003e Merge branch 'lukasngl-feat/no-hidden'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bmatcuk/doublestar/commit/e8319d206e9dab8d51d41e662811cdfb9af72b24\"\u003e\u003ccode\u003ee8319d2\u003c/code\u003e\u003c/a\u003e run tests when a branch/tag is created\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bmatcuk/doublestar/commit/614b331133390c7682c227740c51ff65dea2de65\"\u003e\u003ccode\u003e614b331\u003c/code\u003e\u003c/a\u003e run tests when a branch/tag is created\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bmatcuk/doublestar/commit/df2e03fb0b91b726e0366c0d9ba1c5e580e2d0c9\"\u003e\u003ccode\u003edf2e03f\u003c/code\u003e\u003c/a\u003e feat: add WithNoHidden option to skip hidden files\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/bmatcuk/doublestar/compare/v4.9.2...v4.10.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/coreos/go-oidc/v3` from 3.17.0 to 3.18.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/coreos/go-oidc/releases\"\u003egithub.com/coreos/go-oidc/v3's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.18.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e.github: configure dependabot by \u003ca href=\"https://github.com/ericchiang\"\u003e\u003ccode\u003e@​ericchiang\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/coreos/go-oidc/pull/477\"\u003ecoreos/go-oidc#477\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e.github: update go versions in CI by \u003ca href=\"https://github.com/ericchiang\"\u003e\u003ccode\u003e@​ericchiang\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/coreos/go-oidc/pull/480\"\u003ecoreos/go-oidc#480\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump golang.org/x/oauth2 from 0.28.0 to 0.36.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/coreos/go-oidc/pull/478\"\u003ecoreos/go-oidc#478\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump github.com/go-jose/go-jose/v4 from 4.1.3 to 4.1.4 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/coreos/go-oidc/pull/479\"\u003ecoreos/go-oidc#479\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/coreos/go-oidc/compare/v3.17.0...v3.18.0\"\u003ehttps://github.com/coreos/go-oidc/compare/v3.17.0...v3.18.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coreos/go-oidc/commit/da6b3bfca8af72414ee0e6e8746585ff5d206003\"\u003e\u003ccode\u003eda6b3bf\u003c/code\u003e\u003c/a\u003e build(deps): bump github.com/go-jose/go-jose/v4 from 4.1.3 to 4.1.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coreos/go-oidc/commit/7f80694215d5eb5b28f851f35845439b1e1e9e5d\"\u003e\u003ccode\u003e7f80694\u003c/code\u003e\u003c/a\u003e build(deps): bump golang.org/x/oauth2 from 0.28.0 to 0.36.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coreos/go-oidc/commit/7271de57587bb756318f9819796ba846b1ba875a\"\u003e\u003ccode\u003e7271de5\u003c/code\u003e\u003c/a\u003e .github: update go versions in CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coreos/go-oidc/commit/3ccf20fdc4afab7c64881a108d6f4c17a4ecc24d\"\u003e\u003ccode\u003e3ccf20f\u003c/code\u003e\u003c/a\u003e .github: configure dependabot\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/coreos/go-oidc/compare/v3.17.0...v3.18.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/fluxcd/pkg/kustomize` from 1.24.0 to 1.31.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fluxcd/pkg/commit/1bfcca47168cb6d2d7dfdc5b35d8b379a773976d\"\u003e\u003ccode\u003e1bfcca4\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/fluxcd/pkg/issues/1184\"\u003e#1184\u003c/a\u003e from fluxcd/release-main\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fluxcd/pkg/commit/29717cf12f2287d4af942bfa28b15425a28f15b7\"\u003e\u003ccode\u003e29717cf\u003c/code\u003e\u003c/a\u003e Prepare for release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fluxcd/pkg/commit/56b4f164d7c70a4e419f508db29727e468648204\"\u003e\u003ccode\u003e56b4f16\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/fluxcd/pkg/issues/1183\"\u003e#1183\u003c/a\u003e from fluxcd/cel-api-group\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fluxcd/pkg/commit/6b6497f0bf6c7d7252f35c66e2de8ad6d5b478b1\"\u003e\u003ccode\u003e6b6497f\u003c/code\u003e\u003c/a\u003e runtime/cel: allow empty kind in status reader\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fluxcd/pkg/commit/8f83548109570226fefc580b954b6d83e948b1e8\"\u003e\u003ccode\u003e8f83548\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/fluxcd/pkg/issues/1180\"\u003e#1180\u003c/a\u003e from fluxcd/release-main\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fluxcd/pkg/commit/9b58a01df04b801a0569d4ca0e5d0dcb9f534b35\"\u003e\u003ccode\u003e9b58a01\u003c/code\u003e\u003c/a\u003e Prepare for release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fluxcd/pkg/commit/31385e2a96dc8639124e7e61418a38a49073c691\"\u003e\u003ccode\u003e31385e2\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/fluxcd/pkg/issues/1179\"\u003e#1179\u003c/a\u003e from fluxcd/go-git-5.18\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fluxcd/pkg/commit/d527b349de65e94327158a12ba054db60a3256d0\"\u003e\u003ccode\u003ed527b34\u003c/code\u003e\u003c/a\u003e Upgrade go-git to v5.18\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fluxcd/pkg/commit/edb5072051e73f78ee5e26d50bc45972e1009934\"\u003e\u003ccode\u003eedb5072\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/fluxcd/pkg/issues/1178\"\u003e#1178\u003c/a\u003e from fluxcd/cleanup-aws-eni\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fluxcd/pkg/commit/d7014c457a86606ca629dbf1a7a06113b322a028\"\u003e\u003ccode\u003ed7014c4\u003c/code\u003e\u003c/a\u003e tests/intergration: cleanup AWS ENIs\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/fluxcd/pkg/compare/apis/meta/v1.24.0...kustomize/v1.31.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/gin-gonic/gin` from 1.11.0 to 1.12.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/gin-gonic/gin/releases\"\u003egithub.com/gin-gonic/gin's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.12.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e192ac89eefc1c30f7c97ae48a9ffb1c6f1c8c8bc: feat(binding): add support for encoding.UnmarshalText in uri/query binding (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4203\"\u003e#4203\u003c/a\u003e) (\u003ca href=\"https://github.com/takanuva15\"\u003e\u003ccode\u003e@​takanuva15\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e53410d2e07054369e0960fbe2eed97e1b9966f12: feat(context): add GetError and GetErrorSlice methods for error retrieval (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4502\"\u003e#4502\u003c/a\u003e) (\u003ca href=\"https://github.com/raju-mechatronics\"\u003e\u003ccode\u003e@​raju-mechatronics\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eacc55e049e33b401e810dbd8c0d6dcb6b3ba2b05: feat(context): add Protocol Buffers support to content negotiation (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4423\"\u003e#4423\u003c/a\u003e) (\u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e38e765119241d990705169bedb5002a29ae0cbd1: feat(context): implemented Delete method (\u003ca href=\"https://github.com/Spyder01\"\u003e\u003ccode\u003e@​Spyder01\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e771dcc6476d7bc6abb9ec0235ecefa4d38fe6fb0: feat(gin): add option to use escaped path (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4420\"\u003e#4420\u003c/a\u003e) (\u003ca href=\"https://github.com/ldesauw\"\u003e\u003ccode\u003e@​ldesauw\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e4dec17afdff48e8018c83618fbbe69fceeb2b41d: feat(logger): color latency (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4146\"\u003e#4146\u003c/a\u003e) (\u003ca href=\"https://github.com/wsyqn6\"\u003e\u003ccode\u003e@​wsyqn6\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ed7776de7d444935ea4385999711bd6331a98fecb: feat(render): add bson protocol (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4145\"\u003e#4145\u003c/a\u003e) (\u003ca href=\"https://github.com/laurentcau\"\u003e\u003ccode\u003e@​laurentcau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eb917b14ff9d189f16a7492be79d123a47806ee19: fix(binding): empty value error (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/2169\"\u003e#2169\u003c/a\u003e) (\u003ca href=\"https://github.com/guonaihong\"\u003e\u003ccode\u003e@​guonaihong\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ec3d1092b3b48addf6f9cd00fe274ec3bd14650eb: fix(binding): improve empty slice/array handling in form binding (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4380\"\u003e#4380\u003c/a\u003e) (\u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e9914178584e42458ff7d23891463a880f58c9d86: fix(context): ClientIP handling for multiple X-Forwarded-For header values (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4472\"\u003e#4472\u003c/a\u003e) (\u003ca href=\"https://github.com/Nurysso\"\u003e\u003ccode\u003e@​Nurysso\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e2a794cd0b0faa7d829291375b27a3467ea972b0d: fix(debug): version mismatch (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4403\"\u003e#4403\u003c/a\u003e) (\u003ca href=\"https://github.com/zeek0x\"\u003e\u003ccode\u003e@​zeek0x\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ec3d5a28ed6d3849da820195b6774d212bcc038a9: fix(gin): close os.File in RunFd to prevent resource leak (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4422\"\u003e#4422\u003c/a\u003e) (\u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e5fad976b372e381312f8de69f0969f1284d229d3: fix(gin): literal colon routes not working with engine.Handler() (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4415\"\u003e#4415\u003c/a\u003e) (\u003ca href=\"https://github.com/pawannn\"\u003e\u003ccode\u003e@​pawannn\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e63dd3e60cab89c27fb66bce1423bd268d52abad1: fix(recover): suppress http.ErrAbortHandler in recover (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4336\"\u003e#4336\u003c/a\u003e) (\u003ca href=\"https://github.com/MondayCha\"\u003e\u003ccode\u003e@​MondayCha\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e5c00df8afadd06cc5be530dde00fe6d9fa4a2e4a: fix(render): write content length in Data.Render (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4206\"\u003e#4206\u003c/a\u003e) (\u003ca href=\"https://github.com/dengaleev\"\u003e\u003ccode\u003e@​dengaleev\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e234a6d4c00cb77af9852aca0b8289745d5529b4b: fix(response): refine hijack behavior for response lifecycle (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4373\"\u003e#4373\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e472d086af2acd924cb4b9d7be0525f7d790f69bc: fix(tree): panic in findCaseInsensitivePathRec with RedirectFixedPath (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4535\"\u003e#4535\u003c/a\u003e) (\u003ca href=\"https://github.com/veeceey\"\u003e\u003ccode\u003e@​veeceey\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e8e07d37c63e5536eb25f4af4c91eabeee4011fba: fix: Correct typos, improve documentation clarity, and remove dead code (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4511\"\u003e#4511\u003c/a\u003e) (\u003ca href=\"https://github.com/mahanadh\"\u003e\u003ccode\u003e@​mahanadh\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eba093d19477b896ac89a7fc3246af23d290b8e26: chore(binding): upgrade bson dependency to mongo-driver v2 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4549\"\u003e#4549\u003c/a\u003e) (\u003ca href=\"https://github.com/BobDu\"\u003e\u003ccode\u003e@​BobDu\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eb2b489dbf4826c2c630717a77fd5e42774625410: chore(context): always trust xff headers from unix socket (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/3359\"\u003e#3359\u003c/a\u003e) (\u003ca href=\"https://github.com/WeidiDeng\"\u003e\u003ccode\u003e@​WeidiDeng\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eecb3f7b5e2f3915bf1db240ed5eee572f8dbea36: chore(deps): upgrade golang.org/x/crypto to v0.45.0 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4449\"\u003e#4449\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eaf6e8b70b8261bb0c99ad094fe552ab92991620a: chore(deps): upgrade quic-go to v0.57.1 (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edb309081bc5c137b2aa15701ef53f7f19788da25: chore(logger): allow skipping query string output (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4547\"\u003e#4547\u003c/a\u003e) (\u003ca href=\"https://github.com/USA-RedDragon\"\u003e\u003ccode\u003e@​USA-RedDragon\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e26c3a628655cad2388380cb8102d6ce7d4875f3b: chore(response): prevent Flush() panic when \u003ccode\u003ehttp.Flusher\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4479\"\u003e#4479\u003c/a\u003e) (\u003ca href=\"https://github.com/Twacqwq\"\u003e\u003ccode\u003e@​Twacqwq\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e5dd833f1f26de0eb30eae47b17e05ced2482dc41: chore: bump minimum Go version to 1.24 and update workflows (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4388\"\u003e#4388\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRefactor\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e39858a0859c914bd26948fa950477e11bd8d3823: refactor(binding): use maps.Copy for cleaner map handling (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4352\"\u003e#4352\u003c/a\u003e) (\u003ca href=\"https://github.com/russcoss\"\u003e\u003ccode\u003e@​russcoss\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ec0048f645ee945c4db30593afdea10123e2c30a6: refactor(context): omit the return value names (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4395\"\u003e#4395\u003c/a\u003e) (\u003ca href=\"https://github.com/wanghaolong613\"\u003e\u003ccode\u003e@​wanghaolong613\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e915e4c90d28ec4cffc6eb146e208ab5a65eac772: refactor(context): replace hardcoded localhost IPs with constants (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4481\"\u003e#4481\u003c/a\u003e) (\u003ca href=\"https://github.com/pauloappbr\"\u003e\u003ccode\u003e@​pauloappbr\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e414de60574449457f3192a7a1d5528940db2836d: refactor(context): using maps.Clone (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4333\"\u003e#4333\u003c/a\u003e) (\u003ca href=\"https://github.com/cuiweixie\"\u003e\u003ccode\u003e@​cuiweixie\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e59e9d4a794f12c4f9a6c7bed441b9644e5f6d99b: refactor(ginS): use sync.OnceValue to simplify engine function (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4314\"\u003e#4314\u003c/a\u003e) (\u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e3ab698dc5110af1977d57226e4995c57dd34c233: refactor(recovery): smart error comparison (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4142\"\u003e#4142\u003c/a\u003e) (\u003ca href=\"https://github.com/zeek0x\"\u003e\u003ccode\u003e@​zeek0x\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ed1a15347b1e45a8ee816193d3578a93bfd73b70f: refactor(utils): move util functions to utils.go (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4467\"\u003e#4467\u003c/a\u003e) (\u003ca href=\"https://github.com/zeek0x\"\u003e\u003ccode\u003e@​zeek0x\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ee3118cc378d263454098924ebbde7e8d1dd2e904: refactor: for loop can be modernized using range over int (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4392\"\u003e#4392\u003c/a\u003e) (\u003ca href=\"https://github.com/wanghaolong613\"\u003e\u003ccode\u003e@​wanghaolong613\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e488f8c3ffa579a8d19beb2bae95ff8ef36b3d53f: refactor: replace magic numbers with named constants in bodyAllowedForStatus (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4529\"\u003e#4529\u003c/a\u003e) (\u003ca href=\"https://github.com/veeceey\"\u003e\u003ccode\u003e@​veeceey\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e9968c4bf9d5a99edc3eee2c068a4c9160ece8915: refactor: use b.Loop() to simplify the code and improve performance (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4389\"\u003e#4389\u003c/a\u003e) (\u003ca href=\"https://github.com/reddaisyy\"\u003e\u003ccode\u003e@​reddaisyy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ea85ef5ce4d0cda8834c59c855068ed48b51192d1: refactor: use b.Loop() to simplify the code and improve performance (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4432\"\u003e#4432\u003c/a\u003e) (\u003ca href=\"https://github.com/efcking\"\u003e\u003ccode\u003e@​efcking\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBuild process updates\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e61b67de522a189b568aced4c5c16917c558e3387: ci(bot): increase frequency and group updates for dependencies (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4367\"\u003e#4367\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efb27ef26c2fdfe25344b4c039d8a53551f9e912c: ci(lint): refactor test assertions and linter configuration (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4436\"\u003e#4436\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e93ff771e6dbf10e432864b30f3719ac5c84a4d4a: ci(sec): improve type safety and server organization in HTTP middleware (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4437\"\u003e#4437\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ee88fc8927a52b74f55bec0351604a56ac0aa1c51: ci(sec): schedule Trivy security scans to run daily at midnight UTC (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4439\"\u003e#4439\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e5e5ff3ace496a31b138b0820136a146bfb5de0ef: ci: replace vulnerability scanning workflow with Trivy integration (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4421\"\u003e#4421\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e00900fb3e1ea9dde33985a0e4f6afec793d5e786: ci: update CI workflows and standardize Trivy config quotes (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4531\"\u003e#4531\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eae3f524974fc4f55d18c9e7fae4614503c015226: ci: update Go version support to 1.25+ across CI and docs (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4550\"\u003e#4550\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/gin-gonic/gin/blob/master/CHANGELOG.md\"\u003egithub.com/gin-gonic/gin's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eGin v1.12.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat(render): add bson protocol (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4145\"\u003e#4145\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(context): add GetError and GetErrorSlice methods for error retrieval (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4502\"\u003e#4502\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(binding): add support for encoding.UnmarshalText in uri/query binding (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4203\"\u003e#4203\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(gin): add option to use escaped path (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4420\"\u003e#4420\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(context): add Protocol Buffers support to content negotiation (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4423\"\u003e#4423\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(context): implemented Delete method (\u003ca href=\"https://github.com/gin-gonic/gin/commit/38e7651\"\u003e#38e7651\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(logger): color latency (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4146\"\u003e#4146\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eperf(tree): reduce allocations in findCaseInsensitivePath (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4417\"\u003e#4417\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eperf(recovery): optimize line reading in stack function (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4466\"\u003e#4466\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eperf(path): replace regex with custom functions in redirectTrailingSlash (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4414\"\u003e#4414\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eperf(tree): optimize path parsing using strings.Count (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4246\"\u003e#4246\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(logger): allow skipping query string output (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4547\"\u003e#4547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(context): always trust xff headers from unix socket (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/3359\"\u003e#3359\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(response): prevent Flush() panic when the underlying ResponseWriter does not implement \u003ccode\u003ehttp.Flusher\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4479\"\u003e#4479\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(recovery): smart error comparison (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4142\"\u003e#4142\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(context): replace hardcoded localhost IPs with constants (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4481\"\u003e#4481\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(utils): move util functions to utils.go (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4467\"\u003e#4467\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(binding): use maps.Copy for cleaner map handling (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4352\"\u003e#4352\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(context): using maps.Clone (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4333\"\u003e#4333\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(ginS): use sync.OnceValue to simplify engine function (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4314\"\u003e#4314\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor: replace magic numbers with named constants in bodyAllowedForStatus (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4529\"\u003e#4529\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor: for loop can be modernized using range over int (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4392\"\u003e#4392\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(tree): panic in findCaseInsensitivePathRec with RedirectFixedPath (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4535\"\u003e#4535\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(render): write content length in Data.Render (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4206\"\u003e#4206\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(context): ClientIP handling for multiple X-Forwarded-For header values (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4472\"\u003e#4472\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(binding): empty value error (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/2169\"\u003e#2169\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(recover): suppress http.ErrAbortHandler in recover (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4336\"\u003e#4336\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(gin): literal colon routes not working with engine.Handler() (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4415\"\u003e#4415\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(gin): close os.File in RunFd to prevent resource leak (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4422\"\u003e#4422\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(response): refine hijack behavior for response lifecycle (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4373\"\u003e#4373\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(binding): improve empty slice/array handling in form binding (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4380\"\u003e#4380\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(debug): version mismatch (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4403\"\u003e#4403\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: correct typos, improve documentation clarity, and remove dead code (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4511\"\u003e#4511\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBuild process updates / CI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eci: update Go version support to 1.25+ across CI and docs (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4550\"\u003e#4550\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(binding): upgrade bson dependency to mongo-driver v2 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4549\"\u003e#4549\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/73726dc606796a025971fe451f0aa6f1b9b847f6\"\u003e\u003ccode\u003e73726dc\u003c/code\u003e\u003c/a\u003e docs: update documentation to reflect Go version changes (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4552\"\u003e#4552\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/e292e5caa777bce70b66fe08c94cbe9cef3e2ec9\"\u003e\u003ccode\u003ee292e5c\u003c/code\u003e\u003c/a\u003e docs: document and finalize Gin v1.12.0 release (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4551\"\u003e#4551\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/ae3f524974fc4f55d18c9e7fae4614503c015226\"\u003e\u003ccode\u003eae3f524\u003c/code\u003e\u003c/a\u003e ci: update Go version support to 1.25+ across CI and docs (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4550\"\u003e#4550\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/38534e2bf98a06e1f62d6b24384e90b5f78699bf\"\u003e\u003ccode\u003e38534e2\u003c/code\u003e\u003c/a\u003e chore(deps): bump golang.org/x/net from 0.50.0 to 0.51.0 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4548\"\u003e#4548\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/472d086af2acd924cb4b9d7be0525f7d790f69bc\"\u003e\u003ccode\u003e472d086\u003c/code\u003e\u003c/a\u003e fix(tree): panic in findCaseInsensitivePathRec with RedirectFixedPath (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4535\"\u003e#4535\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/fb2583442c4d9bccb75e6d26f1aa6e7c01950db6\"\u003e\u003ccode\u003efb25834\u003c/code\u003e\u003c/a\u003e test(context): use http.StatusContinue constant instead of magic number 100 (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/6f1d5fe3cdb171a08928c3c9dd3fbcfc9ee1b521\"\u003e\u003ccode\u003e6f1d5fe\u003c/code\u003e\u003c/a\u003e test(render): add comprehensive error handling tests (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4541\"\u003e#4541\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/5c00df8afadd06cc5be530dde00fe6d9fa4a2e4a\"\u003e\u003ccode\u003e5c00df8\u003c/code\u003e\u003c/a\u003e fix(render): write content length in Data.Render (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4206\"\u003e#4206\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/db309081bc5c137b2aa15701ef53f7f19788da25\"\u003e\u003ccode\u003edb30908\u003c/code\u003e\u003c/a\u003e chore(logger): allow skipping query string output (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4547\"\u003e#4547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/ba093d19477b896ac89a7fc3246af23d290b8e26\"\u003e\u003ccode\u003eba093d1\u003c/code\u003e\u003c/a\u003e chore(binding): upgrade bson dependency to mongo-driver v2 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4549\"\u003e#4549\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/gin-gonic/gin/compare/v1.11.0...v1.12.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/google/go-containerregistry` from 0.20.7 to 0.21.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/google/go-containerregistry/releases\"\u003egithub.com/google/go-containerregistry's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.21.5\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump docker/cli v29.4.0, moby/api v1.54.1, moby/client v0.4.0 by \u003ca href=\"https://github.com/thaJeztah\"\u003e\u003ccode\u003e@​thaJeztah\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2254\"\u003egoogle/go-containerregistry#2254\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eupdate to Go 1.26.2 by \u003ca href=\"https://github.com/thaJeztah\"\u003e\u003ccode\u003e@​thaJeztah\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2255\"\u003egoogle/go-containerregistry#2255\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump aws-actions/configure-aws-credentials from 6.0.0 to 6.1.0 in the actions group across 1 directory by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2257\"\u003egoogle/go-containerregistry#2257\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump golang.org/x/tools from 0.43.0 to 0.44.0 in the go-deps group across 1 directory by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2260\"\u003egoogle/go-containerregistry#2260\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/google/go-containerregistry/compare/v0.21.4...v0.21.5\"\u003ehttps://github.com/google/go-containerregistry/compare/v0.21.4...v0.21.5\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.21.4\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ego.mod: do not make a viral minimum go version by \u003ca href=\"https://github.com/howardjohn\"\u003e\u003ccode\u003e@​howardjohn\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2237\"\u003egoogle/go-containerregistry#2237\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAvoid pruning absolute links from extracted and flattened images by \u003ca href=\"https://github.com/Subserial\"\u003e\u003ccode\u003e@​Subserial\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2241\"\u003egoogle/go-containerregistry#2241\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump the go-deps group across 3 directories with 5 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2245\"\u003egoogle/go-containerregistry#2245\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: update to go1.25.8, and use separate .go-version file by \u003ca href=\"https://github.com/thaJeztah\"\u003e\u003ccode\u003e@​thaJeztah\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2246\"\u003egoogle/go-containerregistry#2246\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump CI go version to 1.26.1 by \u003ca href=\"https://github.com/Subserial\"\u003e\u003ccode\u003e@​Subserial\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2242\"\u003egoogle/go-containerregistry#2242\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump codecov/codecov-action from 5.5.2 to 5.5.3 in the actions group by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2240\"\u003egoogle/go-containerregistry#2240\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efork distribution client v3 auth-challenge as an internal package (squashed) by \u003ca href=\"https://github.com/thaJeztah\"\u003e\u003ccode\u003e@​thaJeztah\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2248\"\u003egoogle/go-containerregistry#2248\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etransport: validate Bearer realm URL to prevent SSRF by \u003ca href=\"https://github.com/evilgensec\"\u003e\u003ccode\u003e@​evilgensec\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2243\"\u003egoogle/go-containerregistry#2243\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erevert path traversal and symlink escape from \u003ca href=\"https://redirect.github.com/google/go-containerregistry/issues/2227\"\u003e#2227\u003c/a\u003e by \u003ca href=\"https://github.com/Subserial\"\u003e\u003ccode\u003e@​Subserial\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2250\"\u003egoogle/go-containerregistry#2250\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix pkg/v1/google/auth tests for arm64  by \u003ca href=\"https://github.com/Subserial\"\u003e\u003ccode\u003e@​Subserial\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2085\"\u003egoogle/go-containerregistry#2085\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003egoreleaser: Update goreleaser config and GH action by \u003ca href=\"https://github.com/Subserial\"\u003e\u003ccode\u003e@​Subserial\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2253\"\u003egoogle/go-containerregistry#2253\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/evilgensec\"\u003e\u003ccode\u003e@​evilgensec\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2243\"\u003egoogle/go-containerregistry#2243\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/google/go-containerregistry/compare/v0.21.3...v0.21.4\"\u003ehttps://github.com/google/go-containerregistry/compare/v0.21.3...v0.21.4\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.21.3\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdds local file support to the \u003ccode\u003ecrane index\u003c/code\u003e subcommand  by \u003ca href=\"https://github.com/edwardthiele\"\u003e\u003ccode\u003e@​edwardthiele\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2223\"\u003egoogle/go-containerregistry#2223\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003emigrate to github.com/moby/moby modules by \u003ca href=\"https://github.com/thaJeztah\"\u003e\u003ccode\u003e@​thaJeztah\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2228\"\u003egoogle/go-containerregistry#2228\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump the go-deps group across 4 directories with 7 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2233\"\u003egoogle/go-containerregistry#2233\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump goreleaser/goreleaser-action from 6.4.0 to 7.0.0 in the actions group by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2220\"\u003egoogle/go-containerregistry#2220\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003emutate: reject path traversal and symlink escape in Extract by \u003ca href=\"https://github.com/KevinZhao\"\u003e\u003ccode\u003e@​KevinZhao\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2227\"\u003egoogle/go-containerregistry#2227\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etarball: detect symlink cycles in extractFileFromTar by \u003ca href=\"https://github.com/vnykmshr\"\u003e\u003ccode\u003e@​vnykmshr\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2232\"\u003egoogle/go-containerregistry#2232\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebump golang to 1.25.7 by \u003ca href=\"https://github.com/Subserial\"\u003e\u003ccode\u003e@​Subserial\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2236\"\u003egoogle/go-containerregistry#2236\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/edwardthiele\"\u003e\u003ccode\u003e@​edwardthiele\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2223\"\u003egoogle/go-containerregistry#2223\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/thaJeztah\"\u003e\u003ccode\u003e@​thaJeztah\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2228\"\u003egoogle/go-containerregistry#2228\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/KevinZhao\"\u003e\u003ccode\u003e@​KevinZhao\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2227\"\u003egoogle/go-containerregistry#2227\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vnykmshr\"\u003e\u003ccode\u003e@​vnykmshr\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2232\"\u003egoogle/go-containerregistry#2232\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/google/go-containerregistry/compare/v0.21.2...v0.21.3\"\u003ehttps://github.com/google/go-containerregistry/compare/v0.21.2...v0.21.3\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.21.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBetter handle redirects to https in ping by \u003ca href=\"https://github.com/jonjohnsonjr\"\u003e\u003ccode\u003e@​jonjohnsonjr\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2225\"\u003egoogle/go-containerregistry#2225\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/go-containerregistry/commit/5b80281da727dae218e1697ab8529b631b9efa64\"\u003e\u003ccode\u003e5b80281\u003c/code\u003e\u003c/a\u003e build(deps): bump golang.org/x/tools from 0.43.0 to 0.44.0 in the go-deps gro...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/go-containerregistry/commit/b99bca24a8df1bd88afc1d299d4c0ebba0555cf8\"\u003e\u003ccode\u003eb99bca2\u003c/code\u003e\u003c/a\u003e build(deps): bump aws-actions/configure-aws-credentials (\u003ca href=\"https://redirect.github.com/google/go-containerregistry/issues/2257\"\u003e#2257\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/go-containerregistry/commit/f8be1d442e6fc85c791e4aa50155aa8806ca8312\"\u003e\u003ccode\u003ef8be1d4\u003c/code\u003e\u003c/a\u003e update to Go 1.26.2 (\u003ca href=\"https://redirect.github.com/google/go-containerregistry/issues/2255\"\u003e#2255\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/go-containerregistry/commit/87ad88b4a000e418add5c1bb4ae1da908cbc3b85\"\u003e\u003ccode\u003e87ad88b\u003c/code\u003e\u003c/a\u003e Bump docker/cli v29.4.0, moby/api v1.54.1, moby/client v0.4.0 (\u003ca href=\"https://redirect.github.com/google/go-containerregistry/issues/2254\"\u003e#2254\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/go-containerregistry/commit/e8813dd0a00e799459cae01d8a4659b9be2fd871\"\u003e\u003ccode\u003ee8813dd\u003c/code\u003e\u003c/a\u003e goreleaser: Update goreleaser config and GH action for releases (\u003ca href=\"https://redirect.github.com/google/go-containerregistry/issues/2253\"\u003e#2253\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/go-containerregistry/commit/e90447d319233b94dcdc75a24246ccbee6d1e72a\"\u003e\u003ccode\u003ee90447d\u003c/code\u003e\u003c/a\u003e replace gcloud in binary calls in pkg/v1/google tests (\u003ca href=\"https://redirect.github.com/google/go-containerregistry/issues/2085\"\u003e#2085\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/go-containerregistry/commit/0d0368c2a5fa524c4765a6c0b7df4ff6d6951471\"\u003e\u003ccode\u003e0d0368c\u003c/code\u003e\u003c/a\u003e revert path traversal and symlink escape changes (\u003ca href=\"https://redirect.github.com/google/go-containerregistry/issues/2250\"\u003e#2250\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/go-containerregistry/commit/a2f47d4202de443f68e8bafa95ddd41407327168\"\u003e\u003ccode\u003ea2f47d4\u003c/code\u003e\u003c/a\u003e transport: validate Bearer realm URL to prevent SSRF (\u003ca href=\"https://redirect.github.com/google/go-containerregistry/issues/2243\"\u003e#2243\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/go-containerregistry/commit/19a36cd8c44dd465a84f9d6ffea3009023f73660\"\u003e\u003ccode\u003e19a36cd\u003c/code\u003e\u003c/a\u003e fork distribution client v3 auth-challenge as an internal package (squashed) ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/go-containerregistry/commit/c612a9b20a4c533454b7fa8b39a8c8139065f0b1\"\u003e\u003ccode\u003ec612a9b\u003c/code\u003e\u003c/a\u003e Bump codecov/codecov-action from 5.5.2 to 5.5.3 in the actions group (\u003ca href=\"https://redirect.github.com/google/go-containerregistry/issues/2240\"\u003e#2240\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/google/go-containerregistry/compare/v0.20.7...v0.21.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/jferrl/go-githubauth` from 1.5.1 to 1.6.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jferrl/go-githubauth/releases\"\u003egithub.com/jferrl/go-githubauth's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.6.0\u003c/h2\u003e\n\u003ch2\u003e✨ Features\u003c/h2\u003e\n\u003ch3\u003eExternal key store support for GitHub App JWTs\u003c/h3\u003e\n\u003cp\u003eAdded \u003ccode\u003eNewApplicationTokenSourceFromSigner\u003c/code\u003e which accepts any \u003ccode\u003ecrypto.Signer\u003c/code\u003e with an RSA public key. Enables signing via AWS KMS, GCP KMS, Azure Key Vault, HashiCorp Vault Transit, PKCS#11 HSMs, or ssh-agent — the private key never touches process memory. Validates at construction that the signer's public key is \u003ccode\u003e*rsa.PublicKey\u003c/code\u003e (GitHub requires RS256).\u003c/p\u003e\n\u003cpre lang=\"go\"\u003e\u003ccode\u003esigner, _ := kms.NewSigner(ctx, keyID) // any crypto.Signer backed by RSA\r\nts, err := githubauth.NewApplicationTokenSourceFromSigner(appID, signer)\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch3\u003eProactive token refresh with configurable skew\u003c/h3\u003e\n\u003cp\u003eNew \u003ccode\u003eReuseTokenSourceWithSkew\u003c/code\u003e refreshes cached tokens when \u003ccode\u003etime.Until(exp) \u0026lt;= skew\u003c/code\u003e instead of waiting for expiry to pass. Closes the in-flight 401 window where a request starts shortly before expiry and reaches GitHub already expired.\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003eNewApplicationTokenSource\u003c/code\u003e and \u003ccode\u003eNewInstallationTokenSource\u003c/code\u003e now wrap with \u003ccode\u003eDefaultExpirySkew\u003c/code\u003e (30s); tune via \u003ccode\u003eWithExpirySkew\u003c/code\u003e / \u003ccode\u003eWithInstallationExpirySkew\u003c/code\u003e. Zero/negative skew delegates to \u003ccode\u003eoauth2.ReuseTokenSource\u003c/code\u003e verbatim for backwards compatibility.\u003c/p\u003e\n\u003ch3\u003eAutomatic retry on installation token throttling\u003c/h3\u003e\n\u003cp\u003e\u003ccode\u003ecreateInstallationToken\u003c/code\u003e now performs a single automatic retry when GitHub returns \u003ccode\u003e429\u003c/code\u003e, or \u003ccode\u003e403\u003c/code\u003e with \u003ccode\u003eRetry-After\u003c/code\u003e / \u003ccode\u003eX-RateLimit-Reset\u003c/code\u003e headers. Sleep honors context cancellation and is capped at 60s. Terminal throttle errors wrap \u003ccode\u003eErrRateLimited\u003c/code\u003e for \u003ccode\u003eerrors.Is\u003c/code\u003e branching. Opt out via \u003ccode\u003eWithRetryOnThrottle(false)\u003c/code\u003e.\u003c/p\u003e\n\u003ch3\u003eNew \u003ccode\u003ewebhook\u003c/code\u003e subpackage\u003c/h3\u003e\n\u003cp\u003eAdded a \u003ccode\u003ewebhook\u003c/code\u003e package for verifying GitHub webhook deliveries using constant-time HMAC-SHA256:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eVerify(secret, body, signature)\u003c/code\u003e with sentinel errors (\u003ccode\u003eErrMissingSignature\u003c/code\u003e, \u003ccode\u003eErrInvalidSignatureFormat\u003c/code\u003e, \u003ccode\u003eErrSignatureMismatch\u003c/code\u003e) wrapped for \u003ccode\u003eerrors.Is\u003c/code\u003e / \u003ccode\u003eerrors.As\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eMiddleware(secret, opts...)\u003c/code\u003e \u003ccode\u003enet/http\u003c/code\u003e middleware with body restoration, 25 MiB default cap, and 401/413 short-circuits.\u003c/li\u003e\n\u003cli\u003eFunctional options \u003ccode\u003eWithMaxPayloadSize\u003c/code\u003e and \u003ccode\u003eWithErrorHandler\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eSuitable for direct use in queue, Lambda, or Cloud Run consumers.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cpre lang=\"go\"\u003e\u003ccode\u003ehttp.Handle(\u0026quot;/webhook\u0026quot;, webhook.Middleware(secret)(handler))\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003e📦 Dependencies\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump \u003ccode\u003egolang.org/x/oauth2\u003c/code\u003e from 0.34.0 → 0.36.0\u003c/li\u003e\n\u003cli\u003eBump \u003ccode\u003ecodecov/codecov-action\u003c/code\u003e 5 → 6\u003c/li\u003e\n\u003cli\u003eBump \u003ccode\u003estyfle/cancel-workflow-action\u003c/code\u003e 0.13.0 → 0.13.1\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e⚠️ Breaking / Behavior Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eMinimum Go version is now 1.25\u003c/strong\u003e (transitively required by \u003ccode\u003egolang.org/x/oauth2\u003c/code\u003e v0.36.0). README previously claimed 1.21; the actual floor is now enforced.\u003c/li\u003e\n\u003cli\u003eToken sources refresh \u003cstrong\u003e30s before expiry\u003c/strong\u003e by default. Set skew to \u003ccode\u003e0\u003c/code\u003e via \u003ccode\u003eWithExpirySkew(0)\u003c/code\u003e / \u003ccode\u003eWithInstallationExpirySkew(0)\u003c/code\u003e to restore prior behavior.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/jferrl/go-githubauth/compare/v1.5.1...v1.6.0\"\u003ehttps://github.com/jferrl/go-githubauth/compare/v1.5.1...v1.6.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jferrl/go-githubauth/blob/main/CHANGELOG.md\"\u003egithub.com/jferrl/go-githubauth's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eChangelog\u003c/h1\u003e\n\u003cp\u003eAll notable changes to this project will be documented in this file.\u003c/p\u003e\n\u003cp\u003eThe format is based on \u003ca href=\"https://keepachangelog.com/en/1.0.0/\"\u003eKeep a Changelog\u003c/a\u003e,\nand this project adheres to \u003ca href=\"https://semver.org/spec/v2.0.0.html\"\u003eSemantic Versioning\u003c/a\u003e.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jferrl/go-githubauth/commit/dc730e4071a0c44e348e1339a34ed39a5656a802\"\u003e\u003ccode\u003edc730e4\u003c/code\u003e\u003c/a\u003e ✨ feat(auth): retry installation token fetches on rate limit\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jferrl/go-githubauth/commit/599f97f423e2319e61ec5d3a6f04afc8eacd2d4b\"\u003e\u003ccode\u003e599f97f\u003c/code\u003e\u003c/a\u003e ✨ feat(auth): proactive token refresh with configurable skew\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jferrl/go-githubauth/commit/a6a8b1bb415877df992e75e3ab926abe256406e6\"\u003e\u003ccode\u003ea6a8b1b\u003c/code\u003e\u003c/a\u003e ✨ feat(auth): add crypto.Signer-backed JWT token source\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jferrl/go-githubauth/commit/e6ea8945b7dc09f1d51002d13a5e36784010f75e\"\u003e\u003ccode\u003ee6ea894\u003c/code\u003e\u003c/a\u003e ✨ feat(webhook): add GitHub webhook signature verification\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jferrl/go-githubauth/commit/ec35ab14e015d8b9a3c76737bb6a8fe531957bd0\"\u003e\u003ccode\u003eec35ab1\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/jferrl/go-githubauth/issues/45\"\u003e#45\u003c/a\u003e from jferrl/dependabot/github_actions/codecov/codecov-...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jferrl/go-githubauth/commit/6b16b502ecdd7218a5c85b4783a5d2f8948d642b\"\u003e\u003ccode\u003e6b16b50\u003c/code\u003e\u003c/a\u003e chore(deps): bump codecov/codecov-action from 5 to 6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jferrl/go-githubauth/commit/401bfce601e2abd072b67d19901baca6c2bf3c09\"\u003e\u003ccode\u003e401bfce\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/jferrl/go-githubauth/issues/44\"\u003e#44\u003c/a\u003e from jferrl/dependabot/github_actions/styfle/cancel-wo...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jferrl/go-githubauth/commit/8bb16907a27087e04b4a334a8cab529bce822363\"\u003e\u003ccode\u003e8bb1690\u003c/code\u003e\u003c/a\u003e chore(deps): bump styfle/cancel-workflow-action from 0.13.0 to 0.13.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jferrl/go-githubauth/commit/134b27b16b980f988b0b56bd11369b0b6c603451\"\u003e\u003ccode\u003e134b27b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/jferrl/go-githubauth/issues/43\"\u003e#43\u003c/a\u003e from jferrl/dependabot/go_modules/golang.org/x/oauth2-...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jferrl/go-githubauth/commit/724c86a57433cc7eb0f233c8aae2bb57de5a694e\"\u003e\u003ccode\u003e724c86a\u003c/code\u003e\u003c/a\u003e chore(deps): bump golang.org/x/oauth2 from 0.35.0 to 0.36.0\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jferrl/go-githubauth/compare/v1.5.1...v1.6.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/pelletier/go-toml/v2` from 2.2.4 to 2.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pelletier/go-toml/releases\"\u003egithub.com/pelletier/go-toml/v2's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.3.0\u003c/h2\u003e\n\u003cp\u003eThis is the first release built largely with the help of AI coding agents. Highlights include the complete removal of the unsafe package. go-toml is now fully safe Go code, with a geomean overhead of only ~1.4% vs v2.2.4 and zero additional allocations on benchmarks. This release also adds omitzero struct tag support, improves UnmarshalText/Unmarshaler handling for tables and array tables, and fixes several bugs including nil pointer marshaling, leap second handling, and datetime unmarshaling panics.\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eWhat's new\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003emarshal: don't escape quotes unnecessarily by \u003ca href=\"https://github.com/virtuald\"\u003e\u003ccode\u003e@​virtuald\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pelletier/go-toml/pull/991\"\u003epelletier/go-toml#991\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eomitzero\u003c/code\u003e tag support by \u003ca href=\"https://github.com/NathanBaulch\"\u003e\u003ccode\u003e@​NathanBaulch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pelletier/go-toml/pull/998\"\u003epelletier/go-toml#998\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport custom IsZero() methods with omitzero tag by \u003ca href=\"https://github.com/pelletier\"\u003e\u003ccode\u003e@​pelletier\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pelletier/go-toml/pull/1020\"\u003epelletier/go-toml#1020\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUnmarshalText fallbacks to struct unmarshaling for tables and arrays by \u003ca href=\"https://github.com/pelletier\"\u003e\u003ccode\u003e@​pelletier\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pelletier/go-toml/pull/1026\"\u003epelletier/go-toml#1026\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[unstable] Support Unmarshaler interface for tables and array tables by \u003ca href=\"https://github.com/pelletier\"\u003e\u003ccode\u003e@​pelletier\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pelletier/go-toml/pull/1027\"\u003epelletier/go-toml#1027\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed bugs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd missing UnmarshalTOML call by \u003ca href=\"https://github.com/pelletier\"\u003e\u003ccode\u003e@​pelletier\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pelletier/go-toml/pull/996\"\u003epelletier/go-toml#996\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHandle array table into an empty slice by \u003ca href=\"https://github.com/pelletier\"\u003e\u003ccode\u003e@​pelletier\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pelletier/go-toml/pull/997\"\u003epelletier/go-toml#997\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUnwrap strict errors by \u003ca href=\"https://github.com/bersace\"\u003e\u003ccode\u003e@​bersace\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pelletier/go-toml/pull/1012\"\u003epelletier/go-toml#1012\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix leap second handling found by fuzz by \u003ca href=\"https://github.com/pelletier\"\u003e\u003ccode\u003e@​pelletier\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pelletier/go-toml/pull/1019\"\u003epelletier/go-toml#1019\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix nil pointer map values not being marshaled by \u003ca href=\"https://github.com/pelletier\"\u003e\u003ccode\u003e@​pelletier\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pelletier/go-toml/pull/1025\"\u003epelletier/go-toml#1025\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix panic when unmarshaling datetime values to incompatible types (\u003ca href=\"https://redirect.github.com/pelletier/go-toml/issues/1028\"\u003e#1028\u003c/a\u003e) by \u003ca href=\"https://github.com/pelletier\"\u003e\u003ccode\u003e@​pelletier\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pelletier/go-toml/pull/1029\"\u003epelletier/go-toml#1029\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix parser error pointing to wrong line at EOF without trailing newline by \u003ca href=\"https://github.com/pelletier\"\u003e\u003ccode\u003e@​pelletier\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pelletier/go-toml/pull/1041\"\u003epelletier/go-toml#1041\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImprove Unmarshaling README by \u003ca href=\"https://github.com/heckelson\"\u003e\u003ccode\u003e@​heckelson\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pelletier/go-toml/pull/1016\"\u003epelletier/go-toml#1016\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCreate AGENTS.md guidelines file by \u003ca href=\"https://github.com/pelletier\"\u003e\u003ccode\u003e@​pelletier\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pelletier/go-toml/pull/1017\"\u003epelletier/go-toml#1017\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUnsafe package removal by \u003ca href=\"https://github.com/pelletier\"\u003e\u003ccode\u003e@​pelletier\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pelletier/go-toml/pull/1021\"\u003epelletier/go-toml#1021\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump CI and test scripts to Go 1.26 by \u003ca href=\"https://github.com/pelletier\"\u003e\u003ccode\u003e@​pelletier\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pelletier/go-toml/pull/1030\"\u003epelletier/go-toml#1030\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/virtuald\"\u003e\u003ccode\u003e@​virtuald\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pelletier/go-toml/pull/991\"\u003epelletier/go-toml#991\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/NathanBaulch\"\u003e\u003ccode\u003e@​NathanBaulch\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pelletier/go-toml/pull/999\"\u003epelletier/go-toml#999\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bersace\"\u003e\u003ccode\u003e@​bersace\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pelletier/go-toml/pull/1012\"\u003epelletier/go-toml#1012\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/flyn-org\"\u003e\u003ccode\u003e@​flyn-org\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pelletier/go-toml/pull/1013\"\u003epelletier/go-toml#1013\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/heckelson\"\u003e\u003ccode\u003e@​heckelson\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pelletier/go-toml/pull/1016\"\u003epelletier/go-toml#1016\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pelletier/go-toml/compare/v2.2.4...v2.3.0\"\u003ehttps://github.com/pelletier/go-toml/compare/v2.2.4...v2.3.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pelletier/go-toml/commit/f36a3ece9e3adf0efaf9f9bd3591c3001f17602b\"\u003e\u003ccode\u003ef36a3ec\u003c/code\u003e\u003c/a\u003e Reduce marshal and unmarshal overhead (\u003ca href=\"https://redirect.github.com/pelletier/go-toml/issues/1044\"\u003e#1044\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pelletier/go-toml/commit/77f3862df44d71c6eab9a7f4b30154046a9c3c62\"\u003e\u003ccode\u003e77f3862\u003c/code\u003e\u003c/a\u003e Fix benchmark script replacing internal package imports (\u003ca href=\"https://redirect.github.com/pelletier/go-toml/issues/1042\"\u003e#1042\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pelletier/go-toml/commit/16b1ef5508d99a35131b454a80e05a784d0f61fe\"\u003e\u003ccode\u003e16b1ef5\u003c/code\u003e\u003c/a\u003e Fix parser error pointing to wrong line when last line has no trailing newlin...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pelletier/go-toml/commit/e14bde7c1d0e055cc26b8348f7a08ba0c7af1cdb\"\u003e\u003ccode\u003ee14bde7\u003c/code\u003e\u003c/a\u003e build(deps): bump docker/login-action from 3 to 4 (\u003ca href=\"https://redirect.github.com/pelletier/go-toml/issues/1039\"\u003e#1039\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pelletier/go-toml/commit/4b1ff01eb3bdc32f3610d5715da3d9e1d03a2d8c\"\u003e\u003ccode\u003e4b1ff01\u003c/code\u003e\u003c/a\u003e build(deps): bump docker/setup-buildx-action from 3 to 4 (\u003ca href=\"https://redirect.github.com/pelletier/go-toml/issues/1040\"\u003e#1040\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pelletier/go-toml/commit/048a25f0f2360787e267ac3025c7f74a9aa3a3c9\"\u003e\u003ccode\u003e048a25f\u003c/code\u003e\u003c/a\u003e Go 1.26 (\u003ca href=\"https://redirect.github.com/pelletier/go-toml/issues/1030\"\u003e#1030\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pelletier/go-toml/commit/b3575580f98d71a957f5ff4e05b39d959aee1957\"\u003e\u003ccode\u003eb357558\u003c/code\u003e\u003c/a\u003e build(deps): bump goreleaser/goreleaser-action from 6 to 7 (\u003ca href=\"https://redirect.github.com/pelletier/go-toml/issues/1035\"\u003e#1035\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pelletier/go-toml/commit/a0be52f4c1d9cd997580d9d8962628ad7a18b32d\"\u003e\u003ccode\u003ea0be52f\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/upload-artifact from 6 to 7 (\u003ca href=\"https://redirect.github.com/pelletier/go-toml/issues/1036\"\u003e#1036\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pelletier/go-toml/commit/316bfc66a4af619a1b0b8f844659b533992bde40\"\u003e\u003ccode\u003e316bfc6\u003c/code\u003e\u003c/a\u003e Support Unmarshaler interface for tables and array tables (\u003ca href=\"https://redirect.github.com/pelletier/go-toml/issues/1027\"\u003e#1027\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pelletier/go-toml/commit/2edc61f17159e4fde0f26098841160013015430b\"\u003e\u003ccode\u003e2edc61f\u003c/code\u003e\u003c/a\u003e Fix panic when unmarshaling datetime values to incompatible types (\u003ca href=\"https://redirect.github.com/pelletier/go-toml/issues/1028\"\u003e#1028\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/pelletier/go-toml/issues/1\"\u003e#1\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pelletier/go-toml/compare/v2.2.4...v2.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `gitlab.com/gitlab-org/api/client-go` from 1.13.0 to 1.46.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://gitlab.com/gitlab-org/api/client-go/blob/main/CHANGELOG.md\"\u003egitlab.com/gitlab-org/api/client-go's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.46.0\u003c/h2\u003e\n\u003ch3\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate urls and add missing (\u003ca href=\"https://gitlab.com/gitlab-org/api/client-go/-/merge_requests/2785\"\u003e!2785\u003c/a\u003e) by \u003ca href=\"https://gitlab.com/mohamedmongy96\"\u003eMohamed Mongy\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e\u003ca href=\"https://gitlab.com/gitlab-org/api/client-go/compare/v1.45.0...v1.46.0\"\u003e1.46.0\u003c/a\u003e (2026-03-01)\u003c/h1\u003e\n\u003ch2\u003e1.45.0\u003c/h2\u003e\n\u003ch3\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd LockMembershipsToSAML support to Application Settings (\u003ca href=\"https://gitlab.com/gitlab-org/api/client-go/-/merge_requests/2791\"\u003e!2791\u003c/a\u003e) by \u003ca href=\"https://gitlab.com/mohamedmongy96\"\u003eMohamed Mongy\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🔄 Other Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003etest(integration): Use epic IID instead of ID in \u003ccode\u003eDeleteEpic\u003c/code\u003e cleanup. (\u003ca href=\"https://gitlab.com/gitlab-org/api/client-go/-/merge_requests/2794\"\u003e!2794\u003c/a\u003e) by \u003ca href=\"https://gitlab.com/fforster\"\u003eFlorian Forster\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e\u003ca href=\"https://gitlab.com/gitlab-org/api/client-go/compare/v1.44.0...v1.45.0\"\u003e1.45.0\u003c/a\u003e (2026-02-27)\u003c/h1\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003etest:\u003c/strong\u003e Use epic IID instead of ID in \u003ccode\u003eDeleteEpic\u003c/code\u003e cleanup. (\u003ca href=\"https://gitlab.com/gitlab-org/api/client-go/commit/49dea0587894cd75d5962e69080974fccedde406\"\u003e49dea05\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.44.0\u003c/h2\u003e\n\u003ch3\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImplement runner controller instance-level runner scope support (\u003ca href=\"https://gitlab.com/gitlab-org/api/client-go/-/merge_requests/2765\"\u003e!2765\u003c/a\u003e) by \u003ca href=\"https://gitlab.com/timofurrer\"\u003eTimo Furrer\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🔄 Other Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore(deps): update module github.com/graph-gophers/graphql-go to v1.9.0 (\u003ca href=\"https://gitlab.com/gitlab-org/api/client-go/-/merge_requests/2789\"\u003e!2789\u003c/a\u003e) by \u003ca href=\"https://gitlab.com/gitlab-dependency-update-bot\"\u003eGitLab Dependency Bot\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e\u003ca href=\"https://gitlab.com/gitlab-org/api/client-go/compare/v1.43.0...v1.44.0\"\u003e1.44.0\u003c/a\u003e (2026-02-26)\u003c/h1\u003e\n\u003ch2\u003e1.43.0\u003c/h2\u003e\n\u003ch3\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat(pagination): Add \u003ccode\u003eScanAndCollectN\u003c/code\u003e to collect at most \u003cem\u003en\u003c/em\u003e results. (\u003ca href=\"https://gitlab.com/gitlab-org/api/client-go/-/merge_requests/2788\"\u003e!2788\u003c/a\u003e) by \u003ca href=\"https://gitlab.com/fforster\"\u003eFlorian Forster\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://gitlab.com/gitlab-org/api/client-go/commit/da7b8a72a07b41ac257b538fac02a6aaa49047fc\"\u003e\u003ccode\u003eda7b8a7\u003c/code\u003e\u003c/a\u003e chore(release): 1.46.0 [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://gitlab.com/gitlab-org/api/client-go/commit/072590b6d71610f6148328c5e0c27de4c7e1fdda\"\u003e\u003ccode\u003e072590b\u003c/code\u003e\u003c/a\u003e Merge branch 'Update_Urls_and_add-missing' into 'main'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://gitlab.com/gitlab-org/api/client-go/commit/8b634616608deae4019c3d7a421c6809b5cf231d\"\u003e\u003ccode\u003e8b63461\u003c/code\u003e\u003c/a\u003e Update urls and add missing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://gitlab.com/gitlab-org/api/client-go/commit/0abd5cedc3b377211cee5ce084c80e9d744c18a5\"\u003e\u003ccode\u003e0abd5ce\u003c/code\u003e\u003c/a\u003e chore(release): 1.45.0 [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://gitlab.com/gitlab-org/api/client-go/commit/6f5a6dac70026af0c25c240ba64c761451222757\"\u003e\u003ccode\u003e6f5a6da\u003c/code\u003e\u003c/a\u003e Merge branch 'issue_\u003ca href=\"https://gitlab.com/gitlab-org/api/client-go/issues/2237\"\u003e#2237\u003c/a\u003e' into 'main'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://gitlab.com/gitlab-org/api/client-go/commit/06094f9180bc37218e6e8bf0d613b6bdcb726e64\"\u003e\u003ccode\u003e06094f9\u003c/code\u003e\u003c/a\u003e Add LockMembershipsToSAML support to Application Settings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://gitlab.com/gitlab-org/api/client-go/commit/37ff76ba4d9296b8475e9f3e11bea86ad1cb4c5b\"\u003e\u003ccode\u003e37ff76b\u003c/code\u003e\u003c/a\u003e Merge branch 'fforster/epic-cleanup' into 'main...\n\n_Description has been truncated_","html_url":"https://github.com/akuity/kargo/pull/6174","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/akuity%2Fkargo/issues/6174","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/6174/packages"},{"uuid":"4316332567","node_id":"PR_kwDOSKk7Fs7U_n5k","number":2,"state":"closed","title":"feat(deps): bump the gomod-deps group with 13 updates","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-04-23T22:25:33.000Z","author_association":null,"state_reason":null,"created_at":"2026-04-23T13:35:24.000Z","updated_at":"2026-04-23T22:25:41.000Z","time_to_close":31809,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"feat(deps): bump","group_name":"gomod-deps","update_count":13,"packages":[{"name":"github.com/gin-gonic/gin","old_version":"1.9.1","new_version":"1.12.0","repository_url":"https://github.com/gin-gonic/gin"},{"name":"github.com/golang-jwt/jwt/v4","old_version":"4.5.0","new_version":"4.5.2","repository_url":"https://github.com/golang-jwt/jwt"},{"name":"github.com/google/uuid","old_version":"1.3.1","new_version":"1.6.0","repository_url":"https://github.com/google/uuid"},{"name":"google.golang.org/grpc","old_version":"1.58.0","new_version":"1.80.0","repository_url":"https://github.com/grpc/grpc-go"},{"name":"google.golang.org/protobuf","old_version":"1.31.0","new_version":"1.36.11"},{"name":"gorm.io/driver/mysql","old_version":"1.5.1","new_version":"1.6.0","repository_url":"https://github.com/go-gorm/mysql"},{"name":"gorm.io/gorm","old_version":"1.25.4","new_version":"1.30.0","repository_url":"https://github.com/go-gorm/gorm"},{"name":"github.com/alibabacloud-go/tea","old_version":"1.2.1","new_version":"1.4.0","repository_url":"https://github.com/alibabacloud-go/tea"},{"name":"github.com/go-sql-driver/mysql","old_version":"1.7.1","new_version":"1.8.1","repository_url":"https://github.com/go-sql-driver/mysql"},{"name":"github.com/go-zookeeper/zk","old_version":"1.0.3","new_version":"1.0.4","repository_url":"https://github.com/go-zookeeper/zk"},{"name":"github.com/redis/go-redis/v9","old_version":"9.1.0","new_version":"9.18.0","repository_url":"https://github.com/redis/go-redis"},{"name":"github.com/xuri/excelize/v2","old_version":"2.8.0","new_version":"2.10.1","repository_url":"https://github.com/xuri/excelize"},{"name":"go.mongodb.org/mongo-driver","old_version":"1.12.0","new_version":"1.17.9","repository_url":"https://github.com/mongodb/mongo-go-driver"}],"path":null,"ecosystem":"go"},"body":"Bumps the gomod-deps group with 13 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [github.com/gin-gonic/gin](https://github.com/gin-gonic/gin) | `1.9.1` | `1.12.0` |\n| [github.com/golang-jwt/jwt/v4](https://github.com/golang-jwt/jwt) | `4.5.0` | `4.5.2` |\n| [github.com/google/uuid](https://github.com/google/uuid) | `1.3.1` | `1.6.0` |\n| [google.golang.org/grpc](https://github.com/grpc/grpc-go) | `1.58.0` | `1.80.0` |\n| google.golang.org/protobuf | `1.31.0` | `1.36.11` |\n| [gorm.io/driver/mysql](https://github.com/go-gorm/mysql) | `1.5.1` | `1.6.0` |\n| [gorm.io/gorm](https://github.com/go-gorm/gorm) | `1.25.4` | `1.30.0` |\n| [github.com/alibabacloud-go/tea](https://github.com/alibabacloud-go/tea) | `1.2.1` | `1.4.0` |\n| [github.com/go-sql-driver/mysql](https://github.com/go-sql-driver/mysql) | `1.7.1` | `1.8.1` |\n| [github.com/go-zookeeper/zk](https://github.com/go-zookeeper/zk) | `1.0.3` | `1.0.4` |\n| [github.com/redis/go-redis/v9](https://github.com/redis/go-redis) | `9.1.0` | `9.18.0` |\n| [github.com/xuri/excelize/v2](https://github.com/xuri/excelize) | `2.8.0` | `2.10.1` |\n| [go.mongodb.org/mongo-driver](https://github.com/mongodb/mongo-go-driver) | `1.12.0` | `1.17.9` |\n\nUpdates `github.com/gin-gonic/gin` from 1.9.1 to 1.12.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/gin-gonic/gin/releases\"\u003egithub.com/gin-gonic/gin's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.12.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e192ac89eefc1c30f7c97ae48a9ffb1c6f1c8c8bc: feat(binding): add support for encoding.UnmarshalText in uri/query binding (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4203\"\u003e#4203\u003c/a\u003e) (\u003ca href=\"https://github.com/takanuva15\"\u003e\u003ccode\u003e@​takanuva15\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e53410d2e07054369e0960fbe2eed97e1b9966f12: feat(context): add GetError and GetErrorSlice methods for error retrieval (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4502\"\u003e#4502\u003c/a\u003e) (\u003ca href=\"https://github.com/raju-mechatronics\"\u003e\u003ccode\u003e@​raju-mechatronics\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eacc55e049e33b401e810dbd8c0d6dcb6b3ba2b05: feat(context): add Protocol Buffers support to content negotiation (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4423\"\u003e#4423\u003c/a\u003e) (\u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e38e765119241d990705169bedb5002a29ae0cbd1: feat(context): implemented Delete method (\u003ca href=\"https://github.com/Spyder01\"\u003e\u003ccode\u003e@​Spyder01\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e771dcc6476d7bc6abb9ec0235ecefa4d38fe6fb0: feat(gin): add option to use escaped path (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4420\"\u003e#4420\u003c/a\u003e) (\u003ca href=\"https://github.com/ldesauw\"\u003e\u003ccode\u003e@​ldesauw\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e4dec17afdff48e8018c83618fbbe69fceeb2b41d: feat(logger): color latency (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4146\"\u003e#4146\u003c/a\u003e) (\u003ca href=\"https://github.com/wsyqn6\"\u003e\u003ccode\u003e@​wsyqn6\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ed7776de7d444935ea4385999711bd6331a98fecb: feat(render): add bson protocol (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4145\"\u003e#4145\u003c/a\u003e) (\u003ca href=\"https://github.com/laurentcau\"\u003e\u003ccode\u003e@​laurentcau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eb917b14ff9d189f16a7492be79d123a47806ee19: fix(binding): empty value error (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/2169\"\u003e#2169\u003c/a\u003e) (\u003ca href=\"https://github.com/guonaihong\"\u003e\u003ccode\u003e@​guonaihong\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ec3d1092b3b48addf6f9cd00fe274ec3bd14650eb: fix(binding): improve empty slice/array handling in form binding (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4380\"\u003e#4380\u003c/a\u003e) (\u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e9914178584e42458ff7d23891463a880f58c9d86: fix(context): ClientIP handling for multiple X-Forwarded-For header values (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4472\"\u003e#4472\u003c/a\u003e) (\u003ca href=\"https://github.com/Nurysso\"\u003e\u003ccode\u003e@​Nurysso\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e2a794cd0b0faa7d829291375b27a3467ea972b0d: fix(debug): version mismatch (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4403\"\u003e#4403\u003c/a\u003e) (\u003ca href=\"https://github.com/zeek0x\"\u003e\u003ccode\u003e@​zeek0x\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ec3d5a28ed6d3849da820195b6774d212bcc038a9: fix(gin): close os.File in RunFd to prevent resource leak (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4422\"\u003e#4422\u003c/a\u003e) (\u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e5fad976b372e381312f8de69f0969f1284d229d3: fix(gin): literal colon routes not working with engine.Handler() (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4415\"\u003e#4415\u003c/a\u003e) (\u003ca href=\"https://github.com/pawannn\"\u003e\u003ccode\u003e@​pawannn\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e63dd3e60cab89c27fb66bce1423bd268d52abad1: fix(recover): suppress http.ErrAbortHandler in recover (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4336\"\u003e#4336\u003c/a\u003e) (\u003ca href=\"https://github.com/MondayCha\"\u003e\u003ccode\u003e@​MondayCha\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e5c00df8afadd06cc5be530dde00fe6d9fa4a2e4a: fix(render): write content length in Data.Render (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4206\"\u003e#4206\u003c/a\u003e) (\u003ca href=\"https://github.com/dengaleev\"\u003e\u003ccode\u003e@​dengaleev\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e234a6d4c00cb77af9852aca0b8289745d5529b4b: fix(response): refine hijack behavior for response lifecycle (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4373\"\u003e#4373\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e472d086af2acd924cb4b9d7be0525f7d790f69bc: fix(tree): panic in findCaseInsensitivePathRec with RedirectFixedPath (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4535\"\u003e#4535\u003c/a\u003e) (\u003ca href=\"https://github.com/veeceey\"\u003e\u003ccode\u003e@​veeceey\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e8e07d37c63e5536eb25f4af4c91eabeee4011fba: fix: Correct typos, improve documentation clarity, and remove dead code (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4511\"\u003e#4511\u003c/a\u003e) (\u003ca href=\"https://github.com/mahanadh\"\u003e\u003ccode\u003e@​mahanadh\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eba093d19477b896ac89a7fc3246af23d290b8e26: chore(binding): upgrade bson dependency to mongo-driver v2 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4549\"\u003e#4549\u003c/a\u003e) (\u003ca href=\"https://github.com/BobDu\"\u003e\u003ccode\u003e@​BobDu\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eb2b489dbf4826c2c630717a77fd5e42774625410: chore(context): always trust xff headers from unix socket (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/3359\"\u003e#3359\u003c/a\u003e) (\u003ca href=\"https://github.com/WeidiDeng\"\u003e\u003ccode\u003e@​WeidiDeng\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eecb3f7b5e2f3915bf1db240ed5eee572f8dbea36: chore(deps): upgrade golang.org/x/crypto to v0.45.0 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4449\"\u003e#4449\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eaf6e8b70b8261bb0c99ad094fe552ab92991620a: chore(deps): upgrade quic-go to v0.57.1 (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edb309081bc5c137b2aa15701ef53f7f19788da25: chore(logger): allow skipping query string output (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4547\"\u003e#4547\u003c/a\u003e) (\u003ca href=\"https://github.com/USA-RedDragon\"\u003e\u003ccode\u003e@​USA-RedDragon\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e26c3a628655cad2388380cb8102d6ce7d4875f3b: chore(response): prevent Flush() panic when \u003ccode\u003ehttp.Flusher\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4479\"\u003e#4479\u003c/a\u003e) (\u003ca href=\"https://github.com/Twacqwq\"\u003e\u003ccode\u003e@​Twacqwq\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e5dd833f1f26de0eb30eae47b17e05ced2482dc41: chore: bump minimum Go version to 1.24 and update workflows (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4388\"\u003e#4388\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRefactor\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e39858a0859c914bd26948fa950477e11bd8d3823: refactor(binding): use maps.Copy for cleaner map handling (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4352\"\u003e#4352\u003c/a\u003e) (\u003ca href=\"https://github.com/russcoss\"\u003e\u003ccode\u003e@​russcoss\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ec0048f645ee945c4db30593afdea10123e2c30a6: refactor(context): omit the return value names (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4395\"\u003e#4395\u003c/a\u003e) (\u003ca href=\"https://github.com/wanghaolong613\"\u003e\u003ccode\u003e@​wanghaolong613\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e915e4c90d28ec4cffc6eb146e208ab5a65eac772: refactor(context): replace hardcoded localhost IPs with constants (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4481\"\u003e#4481\u003c/a\u003e) (\u003ca href=\"https://github.com/pauloappbr\"\u003e\u003ccode\u003e@​pauloappbr\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e414de60574449457f3192a7a1d5528940db2836d: refactor(context): using maps.Clone (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4333\"\u003e#4333\u003c/a\u003e) (\u003ca href=\"https://github.com/cuiweixie\"\u003e\u003ccode\u003e@​cuiweixie\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e59e9d4a794f12c4f9a6c7bed441b9644e5f6d99b: refactor(ginS): use sync.OnceValue to simplify engine function (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4314\"\u003e#4314\u003c/a\u003e) (\u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e3ab698dc5110af1977d57226e4995c57dd34c233: refactor(recovery): smart error comparison (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4142\"\u003e#4142\u003c/a\u003e) (\u003ca href=\"https://github.com/zeek0x\"\u003e\u003ccode\u003e@​zeek0x\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ed1a15347b1e45a8ee816193d3578a93bfd73b70f: refactor(utils): move util functions to utils.go (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4467\"\u003e#4467\u003c/a\u003e) (\u003ca href=\"https://github.com/zeek0x\"\u003e\u003ccode\u003e@​zeek0x\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ee3118cc378d263454098924ebbde7e8d1dd2e904: refactor: for loop can be modernized using range over int (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4392\"\u003e#4392\u003c/a\u003e) (\u003ca href=\"https://github.com/wanghaolong613\"\u003e\u003ccode\u003e@​wanghaolong613\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e488f8c3ffa579a8d19beb2bae95ff8ef36b3d53f: refactor: replace magic numbers with named constants in bodyAllowedForStatus (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4529\"\u003e#4529\u003c/a\u003e) (\u003ca href=\"https://github.com/veeceey\"\u003e\u003ccode\u003e@​veeceey\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e9968c4bf9d5a99edc3eee2c068a4c9160ece8915: refactor: use b.Loop() to simplify the code and improve performance (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4389\"\u003e#4389\u003c/a\u003e) (\u003ca href=\"https://github.com/reddaisyy\"\u003e\u003ccode\u003e@​reddaisyy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ea85ef5ce4d0cda8834c59c855068ed48b51192d1: refactor: use b.Loop() to simplify the code and improve performance (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4432\"\u003e#4432\u003c/a\u003e) (\u003ca href=\"https://github.com/efcking\"\u003e\u003ccode\u003e@​efcking\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBuild process updates\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e61b67de522a189b568aced4c5c16917c558e3387: ci(bot): increase frequency and group updates for dependencies (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4367\"\u003e#4367\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efb27ef26c2fdfe25344b4c039d8a53551f9e912c: ci(lint): refactor test assertions and linter configuration (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4436\"\u003e#4436\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e93ff771e6dbf10e432864b30f3719ac5c84a4d4a: ci(sec): improve type safety and server organization in HTTP middleware (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4437\"\u003e#4437\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ee88fc8927a52b74f55bec0351604a56ac0aa1c51: ci(sec): schedule Trivy security scans to run daily at midnight UTC (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4439\"\u003e#4439\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e5e5ff3ace496a31b138b0820136a146bfb5de0ef: ci: replace vulnerability scanning workflow with Trivy integration (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4421\"\u003e#4421\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e00900fb3e1ea9dde33985a0e4f6afec793d5e786: ci: update CI workflows and standardize Trivy config quotes (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4531\"\u003e#4531\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eae3f524974fc4f55d18c9e7fae4614503c015226: ci: update Go version support to 1.25+ across CI and docs (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4550\"\u003e#4550\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/gin-gonic/gin/blob/master/CHANGELOG.md\"\u003egithub.com/gin-gonic/gin's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eGin v1.12.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat(render): add bson protocol (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4145\"\u003e#4145\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(context): add GetError and GetErrorSlice methods for error retrieval (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4502\"\u003e#4502\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(binding): add support for encoding.UnmarshalText in uri/query binding (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4203\"\u003e#4203\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(gin): add option to use escaped path (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4420\"\u003e#4420\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(context): add Protocol Buffers support to content negotiation (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4423\"\u003e#4423\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(context): implemented Delete method (\u003ca href=\"https://github.com/gin-gonic/gin/commit/38e7651\"\u003e#38e7651\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(logger): color latency (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4146\"\u003e#4146\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eperf(tree): reduce allocations in findCaseInsensitivePath (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4417\"\u003e#4417\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eperf(recovery): optimize line reading in stack function (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4466\"\u003e#4466\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eperf(path): replace regex with custom functions in redirectTrailingSlash (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4414\"\u003e#4414\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eperf(tree): optimize path parsing using strings.Count (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4246\"\u003e#4246\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(logger): allow skipping query string output (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4547\"\u003e#4547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(context): always trust xff headers from unix socket (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/3359\"\u003e#3359\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(response): prevent Flush() panic when the underlying ResponseWriter does not implement \u003ccode\u003ehttp.Flusher\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4479\"\u003e#4479\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(recovery): smart error comparison (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4142\"\u003e#4142\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(context): replace hardcoded localhost IPs with constants (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4481\"\u003e#4481\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(utils): move util functions to utils.go (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4467\"\u003e#4467\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(binding): use maps.Copy for cleaner map handling (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4352\"\u003e#4352\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(context): using maps.Clone (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4333\"\u003e#4333\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(ginS): use sync.OnceValue to simplify engine function (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4314\"\u003e#4314\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor: replace magic numbers with named constants in bodyAllowedForStatus (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4529\"\u003e#4529\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor: for loop can be modernized using range over int (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4392\"\u003e#4392\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(tree): panic in findCaseInsensitivePathRec with RedirectFixedPath (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4535\"\u003e#4535\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(render): write content length in Data.Render (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4206\"\u003e#4206\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(context): ClientIP handling for multiple X-Forwarded-For header values (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4472\"\u003e#4472\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(binding): empty value error (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/2169\"\u003e#2169\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(recover): suppress http.ErrAbortHandler in recover (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4336\"\u003e#4336\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(gin): literal colon routes not working with engine.Handler() (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4415\"\u003e#4415\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(gin): close os.File in RunFd to prevent resource leak (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4422\"\u003e#4422\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(response): refine hijack behavior for response lifecycle (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4373\"\u003e#4373\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(binding): improve empty slice/array handling in form binding (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4380\"\u003e#4380\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(debug): version mismatch (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4403\"\u003e#4403\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: correct typos, improve documentation clarity, and remove dead code (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4511\"\u003e#4511\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBuild process updates / CI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eci: update Go version support to 1.25+ across CI and docs (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4550\"\u003e#4550\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(binding): upgrade bson dependency to mongo-driver v2 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4549\"\u003e#4549\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eGin v1.11.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/73726dc606796a025971fe451f0aa6f1b9b847f6\"\u003e\u003ccode\u003e73726dc\u003c/code\u003e\u003c/a\u003e docs: update documentation to reflect Go version changes (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4552\"\u003e#4552\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/e292e5caa777bce70b66fe08c94cbe9cef3e2ec9\"\u003e\u003ccode\u003ee292e5c\u003c/code\u003e\u003c/a\u003e docs: document and finalize Gin v1.12.0 release (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4551\"\u003e#4551\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/ae3f524974fc4f55d18c9e7fae4614503c015226\"\u003e\u003ccode\u003eae3f524\u003c/code\u003e\u003c/a\u003e ci: update Go version support to 1.25+ across CI and docs (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4550\"\u003e#4550\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/38534e2bf98a06e1f62d6b24384e90b5f78699bf\"\u003e\u003ccode\u003e38534e2\u003c/code\u003e\u003c/a\u003e chore(deps): bump golang.org/x/net from 0.50.0 to 0.51.0 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4548\"\u003e#4548\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/472d086af2acd924cb4b9d7be0525f7d790f69bc\"\u003e\u003ccode\u003e472d086\u003c/code\u003e\u003c/a\u003e fix(tree): panic in findCaseInsensitivePathRec with RedirectFixedPath (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4535\"\u003e#4535\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/fb2583442c4d9bccb75e6d26f1aa6e7c01950db6\"\u003e\u003ccode\u003efb25834\u003c/code\u003e\u003c/a\u003e test(context): use http.StatusContinue constant instead of magic number 100 (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/6f1d5fe3cdb171a08928c3c9dd3fbcfc9ee1b521\"\u003e\u003ccode\u003e6f1d5fe\u003c/code\u003e\u003c/a\u003e test(render): add comprehensive error handling tests (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4541\"\u003e#4541\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/5c00df8afadd06cc5be530dde00fe6d9fa4a2e4a\"\u003e\u003ccode\u003e5c00df8\u003c/code\u003e\u003c/a\u003e fix(render): write content length in Data.Render (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4206\"\u003e#4206\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/db309081bc5c137b2aa15701ef53f7f19788da25\"\u003e\u003ccode\u003edb30908\u003c/code\u003e\u003c/a\u003e chore(logger): allow skipping query string output (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4547\"\u003e#4547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/ba093d19477b896ac89a7fc3246af23d290b8e26\"\u003e\u003ccode\u003eba093d1\u003c/code\u003e\u003c/a\u003e chore(binding): upgrade bson dependency to mongo-driver v2 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4549\"\u003e#4549\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/gin-gonic/gin/compare/v1.9.1...v1.12.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/golang-jwt/jwt/v4` from 4.5.0 to 4.5.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/golang-jwt/jwt/releases\"\u003egithub.com/golang-jwt/jwt/v4's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.5.2\u003c/h2\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/golang-jwt/jwt/security/advisories/GHSA-mh63-6h87-95cp\"\u003ehttps://github.com/golang-jwt/jwt/security/advisories/GHSA-mh63-6h87-95cp\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/golang-jwt/jwt/compare/v4.5.1...v4.5.2\"\u003ehttps://github.com/golang-jwt/jwt/compare/v4.5.1...v4.5.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.5.1\u003c/h2\u003e\n\u003ch1\u003eSecurity\u003c/h1\u003e\n\u003cp\u003eUnclear documentation of the error behavior in \u003ccode\u003eParseWithClaims\u003c/code\u003e in \u0026lt;= 4.5.0 could lead to situation where users are potentially not checking errors in the way they should be. Especially, if a token is both expired and invalid, the errors returned by \u003ccode\u003eParseWithClaims\u003c/code\u003e return both error codes. If users only check for the \u003ccode\u003ejwt.ErrTokenExpired \u003c/code\u003e using \u003ccode\u003eerror.Is\u003c/code\u003e, they will ignore the embedded \u003ccode\u003ejwt.ErrTokenSignatureInvalid\u003c/code\u003e and thus potentially accept invalid tokens.\u003c/p\u003e\n\u003cp\u003eThis issue was documented in \u003ca href=\"https://github.com/golang-jwt/jwt/security/advisories/GHSA-29wx-vh33-7x7r\"\u003ehttps://github.com/golang-jwt/jwt/security/advisories/GHSA-29wx-vh33-7x7r\u003c/a\u003e and fixed in this release.\u003c/p\u003e\n\u003cp\u003eNote: \u003ccode\u003ev5\u003c/code\u003e was not affected by this issue. So upgrading to this release version is also recommended.\u003c/p\u003e\n\u003ch1\u003eWhat's Changed\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eBack-ported error-handling logic in \u003ccode\u003eParseWithClaims\u003c/code\u003e from \u003ccode\u003ev5\u003c/code\u003e branch. This fixes \u003ca href=\"https://github.com/golang-jwt/jwt/security/advisories/GHSA-29wx-vh33-7x7r\"\u003ehttps://github.com/golang-jwt/jwt/security/advisories/GHSA-29wx-vh33-7x7r\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/golang-jwt/jwt/compare/v4.5.0...v4.5.1\"\u003ehttps://github.com/golang-jwt/jwt/compare/v4.5.0...v4.5.1\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/golang-jwt/jwt/commit/2f0e9add62078527821828c76865661aa7718a84\"\u003e\u003ccode\u003e2f0e9ad\u003c/code\u003e\u003c/a\u003e Backporting 0951d18 to v4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/golang-jwt/jwt/commit/7b1c1c00a171c6c79bbdb40e4ce7d197060c1c2c\"\u003e\u003ccode\u003e7b1c1c0\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/golang-jwt/jwt/compare/v4.5.0...v4.5.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/google/uuid` from 1.3.1 to 1.6.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/google/uuid/releases\"\u003egithub.com/google/uuid's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.6.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/google/uuid/compare/v1.5.0...v1.6.0\"\u003e1.6.0\u003c/a\u003e (2024-01-16)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd Max UUID constant (\u003ca href=\"https://redirect.github.com/google/uuid/issues/149\"\u003e#149\u003c/a\u003e) (\u003ca href=\"https://github.com/google/uuid/commit/c58770eb495f55fe2ced6284f93c5158a62e53e3\"\u003ec58770e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix typo in version 7 uuid documentation (\u003ca href=\"https://redirect.github.com/google/uuid/issues/153\"\u003e#153\u003c/a\u003e) (\u003ca href=\"https://github.com/google/uuid/commit/016b199544692f745ffc8867b914129ecb47ef06\"\u003e016b199\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMonotonicity in UUIDv7 (\u003ca href=\"https://redirect.github.com/google/uuid/issues/150\"\u003e#150\u003c/a\u003e) (\u003ca href=\"https://github.com/google/uuid/commit/a2b2b32373ff0b1a312b7fdf6d38a977099698a6\"\u003ea2b2b32\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.5.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/google/uuid/compare/v1.4.0...v1.5.0\"\u003e1.5.0\u003c/a\u003e (2023-12-12)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eValidate UUID without creating new UUID (\u003ca href=\"https://redirect.github.com/google/uuid/issues/141\"\u003e#141\u003c/a\u003e) (\u003ca href=\"https://github.com/google/uuid/commit/9ee7366e66c9ad96bab89139418a713dc584ae29\"\u003e9ee7366\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.4.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/google/uuid/compare/v1.3.1...v1.4.0\"\u003e1.4.0\u003c/a\u003e (2023-10-26)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUUIDs slice type with Strings() convenience method (\u003ca href=\"https://redirect.github.com/google/uuid/issues/133\"\u003e#133\u003c/a\u003e) (\u003ca href=\"https://github.com/google/uuid/commit/cd5fbbdd02f3e3467ac18940e07e062be1f864b4\"\u003ecd5fbbd\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eClarify that Parse's job is to parse but not necessarily validate strings. (Documents current behavior)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/google/uuid/blob/master/CHANGELOG.md\"\u003egithub.com/google/uuid's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/google/uuid/compare/v1.5.0...v1.6.0\"\u003e1.6.0\u003c/a\u003e (2024-01-16)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd Max UUID constant (\u003ca href=\"https://redirect.github.com/google/uuid/issues/149\"\u003e#149\u003c/a\u003e) (\u003ca href=\"https://github.com/google/uuid/commit/c58770eb495f55fe2ced6284f93c5158a62e53e3\"\u003ec58770e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix typo in version 7 uuid documentation (\u003ca href=\"https://redirect.github.com/google/uuid/issues/153\"\u003e#153\u003c/a\u003e) (\u003ca href=\"https://github.com/google/uuid/commit/016b199544692f745ffc8867b914129ecb47ef06\"\u003e016b199\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMonotonicity in UUIDv7 (\u003ca href=\"https://redirect.github.com/google/uuid/issues/150\"\u003e#150\u003c/a\u003e) (\u003ca href=\"https://github.com/google/uuid/commit/a2b2b32373ff0b1a312b7fdf6d38a977099698a6\"\u003ea2b2b32\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/google/uuid/compare/v1.4.0...v1.5.0\"\u003e1.5.0\u003c/a\u003e (2023-12-12)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eValidate UUID without creating new UUID (\u003ca href=\"https://redirect.github.com/google/uuid/issues/141\"\u003e#141\u003c/a\u003e) (\u003ca href=\"https://github.com/google/uuid/commit/9ee7366e66c9ad96bab89139418a713dc584ae29\"\u003e9ee7366\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/google/uuid/compare/v1.3.1...v1.4.0\"\u003e1.4.0\u003c/a\u003e (2023-10-26)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUUIDs slice type with Strings() convenience method (\u003ca href=\"https://redirect.github.com/google/uuid/issues/133\"\u003e#133\u003c/a\u003e) (\u003ca href=\"https://github.com/google/uuid/commit/cd5fbbdd02f3e3467ac18940e07e062be1f864b4\"\u003ecd5fbbd\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eClarify that Parse's job is to parse but not necessarily validate strings. (Documents current behavior)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/uuid/commit/0f11ee6918f41a04c201eceeadf612a377bc7fbc\"\u003e\u003ccode\u003e0f11ee6\u003c/code\u003e\u003c/a\u003e chore(master): release 1.6.0 (\u003ca href=\"https://redirect.github.com/google/uuid/issues/151\"\u003e#151\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/uuid/commit/16939dafc37a38d2743810a8bdf60fdad6a0f3a3\"\u003e\u003ccode\u003e16939da\u003c/code\u003e\u003c/a\u003e chore(tests):  add strict monotonicity test case for uuid v7. (\u003ca href=\"https://redirect.github.com/google/uuid/issues/154\"\u003e#154\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/uuid/commit/016b199544692f745ffc8867b914129ecb47ef06\"\u003e\u003ccode\u003e016b199\u003c/code\u003e\u003c/a\u003e fix: fix typo in version 7 uuid documentation (\u003ca href=\"https://redirect.github.com/google/uuid/issues/153\"\u003e#153\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/uuid/commit/1d8b6ea0990d688105843a9a67b1d07222350502\"\u003e\u003ccode\u003e1d8b6ea\u003c/code\u003e\u003c/a\u003e ci: set token permissions to github workflows (\u003ca href=\"https://redirect.github.com/google/uuid/issues/143\"\u003e#143\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/uuid/commit/a2b2b32373ff0b1a312b7fdf6d38a977099698a6\"\u003e\u003ccode\u003ea2b2b32\u003c/code\u003e\u003c/a\u003e fix: Monotonicity in UUIDv7 (\u003ca href=\"https://redirect.github.com/google/uuid/issues/150\"\u003e#150\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/uuid/commit/c58770eb495f55fe2ced6284f93c5158a62e53e3\"\u003e\u003ccode\u003ec58770e\u003c/code\u003e\u003c/a\u003e feat: add Max UUID constant (\u003ca href=\"https://redirect.github.com/google/uuid/issues/149\"\u003e#149\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/uuid/commit/4d47f8eb066f43cfaedd728a543479d9c9dfa8f6\"\u003e\u003ccode\u003e4d47f8e\u003c/code\u003e\u003c/a\u003e chore(master): release 1.5.0 (\u003ca href=\"https://redirect.github.com/google/uuid/issues/145\"\u003e#145\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/uuid/commit/9ee7366e66c9ad96bab89139418a713dc584ae29\"\u003e\u003ccode\u003e9ee7366\u003c/code\u003e\u003c/a\u003e feat: Validate UUID without creating new UUID (\u003ca href=\"https://redirect.github.com/google/uuid/issues/141\"\u003e#141\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/uuid/commit/b35aa6a595277504b1ec94c520d4091ec050b9d5\"\u003e\u003ccode\u003eb35aa6a\u003c/code\u003e\u003c/a\u003e add uuid version 6 and 7 (\u003ca href=\"https://redirect.github.com/google/uuid/issues/139\"\u003e#139\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/uuid/commit/8de8764e294f072b7a2f1a209e88fdcdb1ebc875\"\u003e\u003ccode\u003e8de8764\u003c/code\u003e\u003c/a\u003e chore(master): release 1.4.0 (\u003ca href=\"https://redirect.github.com/google/uuid/issues/134\"\u003e#134\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/google/uuid/compare/v1.3.1...v1.6.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `google.golang.org/grpc` from 1.58.0 to 1.80.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/grpc/grpc-go/releases\"\u003egoogle.golang.org/grpc's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease 1.80.0\u003c/h2\u003e\n\u003ch1\u003eBehavior Changes\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003ebalancer: log a warning if a balancer is registered with uppercase letters, as balancer names should be lowercase. In a future release, balancer names will be treated as case-insensitive; see \u003ca href=\"https://redirect.github.com/grpc/grpc-go/issues/5288\"\u003e#5288\u003c/a\u003e for details. (\u003ca href=\"https://redirect.github.com/grpc/grpc-go/issues/8837\"\u003e#8837\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003exds: update resource error handling and re-resolution logic (\u003ca href=\"https://redirect.github.com/grpc/grpc-go/issues/8907\"\u003e#8907\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003eRe-resolve all \u003ccode\u003eLOGICAL_DNS\u003c/code\u003e clusters simultaneously when re-resolution is requested.\u003c/li\u003e\n\u003cli\u003eFail all in-flight RPCs immediately upon receipt of listener or route resource errors, instead of allowing them to complete.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eBug Fixes\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003exds: support the LB policy configured in \u003ccode\u003eLOGICAL_DNS\u003c/code\u003e cluster resources instead of defaulting to \u003ccode\u003epick_first\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/grpc/grpc-go/issues/8733\"\u003e#8733\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ecredentials/tls: perform per-RPC authority validation against the leaf certificate instead of the entire peer certificate chain. (\u003ca href=\"https://redirect.github.com/grpc/grpc-go/issues/8831\"\u003e#8831\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003exds: enabling A76 ring hash endpoint keys no longer causes EDS resources with invalid proxy metadata to be NACKed when HTTP CONNECT (gRFC A86) is disabled. (\u003ca href=\"https://redirect.github.com/grpc/grpc-go/issues/8875\"\u003e#8875\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003exds: validate that the sum of endpoint weights in a locality does not exceed the maximum \u003ccode\u003euint32\u003c/code\u003e value. (\u003ca href=\"https://redirect.github.com/grpc/grpc-go/issues/8899\"\u003e#8899\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003eSpecial Thanks: \u003ca href=\"https://github.com/RAVEYUS\"\u003e\u003ccode\u003e@​RAVEYUS\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003exds: fix incorrect proto field access in the weighted round robin (WRR) configuration where \u003ccode\u003eblackout_period\u003c/code\u003e was used instead of \u003ccode\u003eweight_expiration_period\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/grpc/grpc-go/issues/8915\"\u003e#8915\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003eSpecial Thanks: \u003ca href=\"https://github.com/gregbarasch\"\u003e\u003ccode\u003e@​gregbarasch\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003exds/rbac: handle addresses with ports in IP matchers. (\u003ca href=\"https://redirect.github.com/grpc/grpc-go/issues/8990\"\u003e#8990\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eNew Features\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eringhash: enable gRFC A76 (endpoint hash keys and request hash headers) by default. (\u003ca href=\"https://redirect.github.com/grpc/grpc-go/issues/8922\"\u003e#8922\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003ePerformance Improvements\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003ecredentials/alts: pool write buffers to reduce memory allocations and usage. (\u003ca href=\"https://redirect.github.com/grpc/grpc-go/issues/8919\"\u003e#8919\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003egrpc: enable the use of pooled write buffers for buffering HTTP/2 frame writes by default. This reduces memory usage when connections are idle. Use the \u003ca href=\"https://pkg.go.dev/google.golang.org/grpc#WithSharedWriteBuffer\"\u003eWithSharedWriteBuffer\u003c/a\u003e dial option or the \u003ca href=\"https://pkg.go.dev/google.golang.org/grpc#SharedWriteBuffer\"\u003eSharedWriteBuffer\u003c/a\u003e server option to disable this feature. (\u003ca href=\"https://redirect.github.com/grpc/grpc-go/issues/8957\"\u003e#8957\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003exds/priority: stop caching child LB policies removed from the configuration. This will help reduce memory and cpu usage when localities are constantly switching between priorities. (\u003ca href=\"https://redirect.github.com/grpc/grpc-go/issues/8997\"\u003e#8997\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003emem: add a faster tiered buffer pool; use the experimental \u003ca href=\"https://pkg.go.dev/google.golang.org/grpc/mem@master#NewBinaryTieredBufferPool\"\u003emem.NewBinaryTieredBufferPool\u003c/a\u003e function to create such pools. (\u003ca href=\"https://redirect.github.com/grpc/grpc-go/issues/8775\"\u003e#8775\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRelease 1.79.3\u003c/h2\u003e\n\u003ch1\u003eSecurity\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eserver: fix an authorization bypass where malformed :path headers (missing the leading slash) could bypass path-based restricted \u0026quot;deny\u0026quot; rules in interceptors like \u003ccode\u003egrpc/authz\u003c/code\u003e. Any request with a non-canonical path is now immediately rejected with an \u003ccode\u003eUnimplemented\u003c/code\u003e error. (\u003ca href=\"https://redirect.github.com/grpc/grpc-go/issues/8981\"\u003e#8981\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRelease 1.79.2\u003c/h2\u003e\n\u003ch1\u003eBug Fixes\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003estats: Prevent redundant error logging in health/ORCA producers by skipping stats/tracing processing when no stats handler is configured. (\u003ca href=\"https://redirect.github.com/grpc/grpc-go/pull/8874\"\u003egrpc/grpc-go#8874\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRelease 1.79.1\u003c/h2\u003e\n\u003ch1\u003eBug Fixes\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003egrpc: Remove the \u003ccode\u003e-dev\u003c/code\u003e suffix from the User-Agent header. (\u003ca href=\"https://redirect.github.com/grpc/grpc-go/pull/8902\"\u003egrpc/grpc-go#8902\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRelease 1.79.0\u003c/h2\u003e\n\u003ch1\u003eAPI Changes\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003emem: Add experimental API \u003ccode\u003eSetDefaultBufferPool\u003c/code\u003e to change the default buffer pool. (\u003ca href=\"https://redirect.github.com/grpc/grpc-go/issues/8806\"\u003e#8806\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003eSpecial Thanks: \u003ca href=\"https://github.com/vanja-p\"\u003e\u003ccode\u003e@​vanja-p\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eexperimental/stats: Update \u003ccode\u003eMetricsRecorder\u003c/code\u003e to require embedding the new \u003ccode\u003eUnimplementedMetricsRecorder\u003c/code\u003e (a no-op struct) in all implementations for forward compatibility. (\u003ca href=\"https://redirect.github.com/grpc/grpc-go/issues/8780\"\u003e#8780\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/grpc/grpc-go/commit/397e45edaa68f8763773bbaaf539cf7894169cd2\"\u003e\u003ccode\u003e397e45e\u003c/code\u003e\u003c/a\u003e Change version to 1.80.0 (\u003ca href=\"https://redirect.github.com/grpc/grpc-go/issues/8948\"\u003e#8948\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/grpc/grpc-go/commit/64ebf0a600005838970e6ba1eb0a9e46e528ed73\"\u003e\u003ccode\u003e64ebf0a\u003c/code\u003e\u003c/a\u003e Cherry-pick \u003ca href=\"https://redirect.github.com/grpc/grpc-go/issues/8997\"\u003e#8997\u003c/a\u003e to v1.80.x (\u003ca href=\"https://redirect.github.com/grpc/grpc-go/issues/9027\"\u003e#9027\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/grpc/grpc-go/commit/e45ed241865981b6973cdd0dd69571456d570282\"\u003e\u003ccode\u003ee45ed24\u003c/code\u003e\u003c/a\u003e xds/rbac: add additional handling for addresses with ports (\u003ca href=\"https://redirect.github.com/grpc/grpc-go/issues/8990\"\u003e#8990\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/grpc/grpc-go/issues/9022\"\u003e#9022\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/grpc/grpc-go/commit/c78d26e03e129f5cb357b757037fcded2333b74e\"\u003e\u003ccode\u003ec78d26e\u003c/code\u003e\u003c/a\u003e Cherry-pick \u003ca href=\"https://redirect.github.com/grpc/grpc-go/issues/8957\"\u003e#8957\u003c/a\u003e to v1.80.x (\u003ca href=\"https://redirect.github.com/grpc/grpc-go/issues/9007\"\u003e#9007\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/grpc/grpc-go/commit/bd7cd3c1abbd27fb751275a58886444d52103482\"\u003e\u003ccode\u003ebd7cd3c\u003c/code\u003e\u003c/a\u003e grpc: enforce strict path checking for incoming requests on the server (\u003ca href=\"https://redirect.github.com/grpc/grpc-go/issues/8987\"\u003e#8987\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/grpc/grpc-go/commit/b6597b3d328c1ed6b003f9a23b942af7148352ca\"\u003e\u003ccode\u003eb6597b3\u003c/code\u003e\u003c/a\u003e xds/clusterimpl: use xdsConfig for updates and remove redundant fields from L...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/grpc/grpc-go/commit/1d4fa8a7b772553e82137b059ad4a8f632a1c522\"\u003e\u003ccode\u003e1d4fa8a\u003c/code\u003e\u003c/a\u003e xds: change cdsbalancer to use update from dependency manager (\u003ca href=\"https://redirect.github.com/grpc/grpc-go/issues/8907\"\u003e#8907\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/grpc/grpc-go/commit/8f47d364511c8eb0517b47e1a39f13a1370c6a10\"\u003e\u003ccode\u003e8f47d36\u003c/code\u003e\u003c/a\u003e attributes: Replace internal map with linked list (\u003ca href=\"https://redirect.github.com/grpc/grpc-go/issues/8933\"\u003e#8933\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/grpc/grpc-go/commit/22e1ee8085952b4bdadf2928c187d665f6daff99\"\u003e\u003ccode\u003e22e1ee8\u003c/code\u003e\u003c/a\u003e xds: add panic recovery in xdsclient resource unmarshalling. (\u003ca href=\"https://redirect.github.com/grpc/grpc-go/issues/8895\"\u003e#8895\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/grpc/grpc-go/commit/7136e99ee323c26984174eb3cec85c201fef9946\"\u003e\u003ccode\u003e7136e99\u003c/code\u003e\u003c/a\u003e credentials/alts: Pool write buffers (\u003ca href=\"https://redirect.github.com/grpc/grpc-go/issues/8919\"\u003e#8919\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/grpc/grpc-go/compare/v1.58.0...v1.80.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `google.golang.org/protobuf` from 1.31.0 to 1.36.11\n\nUpdates `gorm.io/driver/mysql` from 1.5.1 to 1.6.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/go-gorm/mysql/commit/d744156745998478ffa3c5395c3336ae6f0b0c0c\"\u003e\u003ccode\u003ed744156\u003c/code\u003e\u003c/a\u003e Don't overwrite existing clause builders\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/go-gorm/mysql/commit/f0a26459a30b6dcf05383840f9c6bc6992764fcd\"\u003e\u003ccode\u003ef0a2645\u003c/code\u003e\u003c/a\u003e build(deps): bump gorm.io/gorm from 1.25.11 to 1.30.0 (\u003ca href=\"https://redirect.github.com/go-gorm/mysql/issues/172\"\u003e#172\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/go-gorm/mysql/commit/d81572929ad34f62154d5187b7b436a67e29e3f9\"\u003e\u003ccode\u003ed815729\u003c/code\u003e\u003c/a\u003e Fix creating unique index on non-unique field (\u003ca href=\"https://redirect.github.com/go-gorm/mysql/issues/168\"\u003e#168\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/go-gorm/mysql/commit/449c37a0089d2396d67220f1a04e25032b2d3dba\"\u003e\u003ccode\u003e449c37a\u003c/code\u003e\u003c/a\u003e Updated the go version to 1.18. (\u003ca href=\"https://redirect.github.com/go-gorm/mysql/issues/159\"\u003e#159\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/go-gorm/mysql/commit/c829f6e3d7f916190f9ab96fc75ffdd89188bd39\"\u003e\u003ccode\u003ec829f6e\u003c/code\u003e\u003c/a\u003e Fixed missing database name with table name. (\u003ca href=\"https://redirect.github.com/go-gorm/mysql/issues/153\"\u003e#153\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/go-gorm/mysql/commit/361eb5f8915096ec10db6d0325d9a3ddcf86f962\"\u003e\u003ccode\u003e361eb5f\u003c/code\u003e\u003c/a\u003e define default driver name constant (\u003ca href=\"https://redirect.github.com/go-gorm/mysql/issues/155\"\u003e#155\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/go-gorm/mysql/commit/9d1b8d6223195000eff181349ae24ed28dbd9c52\"\u003e\u003ccode\u003e9d1b8d6\u003c/code\u003e\u003c/a\u003e Fix insert id order for mariadb\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/go-gorm/mysql/commit/d848c693dc02414a8dbd80648f93146258d35525\"\u003e\u003ccode\u003ed848c69\u003c/code\u003e\u003c/a\u003e Fix set time field's precision to 0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/go-gorm/mysql/commit/e724f924732928c2dcb1151cdcd05e48bad1cd24\"\u003e\u003ccode\u003ee724f92\u003c/code\u003e\u003c/a\u003e only trim paired single-quotes for column.DefaultValue (\u003ca href=\"https://redirect.github.com/go-gorm/mysql/issues/143\"\u003e#143\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/go-gorm/mysql/commit/739f97b32c7708a7c49d3fd57d78a22885efdf05\"\u003e\u003ccode\u003e739f97b\u003c/code\u003e\u003c/a\u003e feat: map mysql error 1451 to gorm error (\u003ca href=\"https://redirect.github.com/go-gorm/mysql/issues/145\"\u003e#145\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/go-gorm/mysql/compare/v1.5.1...v1.6.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `gorm.io/gorm` from 1.25.4 to 1.30.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/go-gorm/gorm/releases\"\u003egorm.io/gorm's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease v1.30.0\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e(WIP) Implement Generics API \u003ca href=\"https://github.com/jinzhu\"\u003e\u003ccode\u003e@​jinzhu\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/go-gorm/gorm/issues/7424\"\u003e#7424\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eperf(schema): avoid redundant strings.ToLower call \u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/go-gorm/gorm/issues/7464\"\u003e#7464\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: return init dialector error \u003ca href=\"https://github.com/codingplz\"\u003e\u003ccode\u003e@​codingplz\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/go-gorm/gorm/issues/7379\"\u003e#7379\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eperf: break early on match failure in ParseConstraint \u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/go-gorm/gorm/issues/7402\"\u003e#7402\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat: error message show field name \u003ca href=\"https://github.com/pi12138\"\u003e\u003ccode\u003e@​pi12138\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/go-gorm/gorm/issues/7452\"\u003e#7452\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eperf: use strings.IndexByte to replace strings.Index \u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/go-gorm/gorm/issues/7454\"\u003e#7454\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eperf: use strings.Cut to replace strings.SplitN \u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/go-gorm/gorm/issues/7455\"\u003e#7455\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRelease v1.26.1\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: int type variable defaultMaxSize overflows in 32-bit environment \u003ca href=\"https://github.com/iTanken\"\u003e\u003ccode\u003e@​iTanken\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/go-gorm/gorm/issues/7439\"\u003e#7439\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRelease v1.26.0\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePreparestmt use LRU Map instead default map \u003ca href=\"https://github.com/Yaccc\"\u003e\u003ccode\u003e@​Yaccc\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/go-gorm/gorm/issues/7435\"\u003e#7435\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003euse golangci replace reviewdog \u003ca href=\"https://github.com/jinzhu\"\u003e\u003ccode\u003e@​jinzhu\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/go-gorm/gorm/issues/7426\"\u003e#7426\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etest: mssql ci \u003ca href=\"https://github.com/a631807682\"\u003e\u003ccode\u003e@​a631807682\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/go-gorm/gorm/issues/7388\"\u003e#7388\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix deprecated reflect.PtrTo reflect.PointerTo usage \u003ca href=\"https://github.com/Aman-Shitta\"\u003e\u003ccode\u003e@​Aman-Shitta\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/go-gorm/gorm/issues/7366\"\u003e#7366\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix concurrent map writes \u003ca href=\"https://redirect.github.com/go-gorm/gorm/issues/7297\"\u003e#7297\u003c/a\u003e \u003ca href=\"https://github.com/Ponywka\"\u003e\u003ccode\u003e@​Ponywka\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/go-gorm/gorm/issues/7298\"\u003e#7298\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: update copyright year \u003ca href=\"https://github.com/maxktz\"\u003e\u003ccode\u003e@​maxktz\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/go-gorm/gorm/issues/7332\"\u003e#7332\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnhance db.Scan with ParamsFilter - Issue 7336 - Suggestion \u003ca href=\"https://github.com/evyaffe\"\u003e\u003ccode\u003e@​evyaffe\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/go-gorm/gorm/issues/7337\"\u003e#7337\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed Empty Returning Clause Merge Edge Case \u003ca href=\"https://github.com/aviyam181199\"\u003e\u003ccode\u003e@​aviyam181199\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/go-gorm/gorm/issues/7339\"\u003e#7339\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat:Capitalize the priority field of IndexOption（\u003ca href=\"https://redirect.github.com/go-gorm/gorm/issues/7331%EF%BC%89\"\u003ego-gorm/gorm#7331\u003c/a\u003e \u003ca href=\"https://github.com/nowindexman\"\u003e\u003ccode\u003e@​nowindexman\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/go-gorm/gorm/issues/7342\"\u003e#7342\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: deterministic index ordering when migrating \u003ca href=\"https://github.com/bamo\"\u003e\u003ccode\u003e@​bamo\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/go-gorm/gorm/issues/7208\"\u003e#7208\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003euse map look-up for indexes \u003ca href=\"https://github.com/abbyssoul\"\u003e\u003ccode\u003e@​abbyssoul\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/go-gorm/gorm/issues/7242\"\u003e#7242\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/go-gorm/gorm/issues/6372\"\u003e#6372\u003c/a\u003e Fixed nullable constraint bug for columns during auto migration \u003ca href=\"https://github.com/wookie0\"\u003e\u003ccode\u003e@​wookie0\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/go-gorm/gorm/issues/7269\"\u003e#7269\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCreate CODE_OF_CONDUCT.md \u003ca href=\"https://github.com/omidfth\"\u003e\u003ccode\u003e@​omidfth\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/go-gorm/gorm/issues/7240\"\u003e#7240\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnhance Release Process: Implement Automated Release Management and Notes Generation \u003ca href=\"https://github.com/YidiDev\"\u003e\u003ccode\u003e@​YidiDev\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/go-gorm/gorm/issues/7224\"\u003e#7224\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor: improve logging for unimplemented ErrorTranslator in TranlateError config enabled \u003ca href=\"https://github.com/Invidam\"\u003e\u003ccode\u003e@​Invidam\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/go-gorm/gorm/issues/7225\"\u003e#7225\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd GitHub Actions workflow to automate release creation on tagged pushes \u003ca href=\"https://github.com/YidiDev\"\u003e\u003ccode\u003e@​YidiDev\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/go-gorm/gorm/issues/7209\"\u003e#7209\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse official SQL Server docker image for tests \u003ca href=\"https://github.com/omkar-foss\"\u003e\u003ccode\u003e@​omkar-foss\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/go-gorm/gorm/issues/7205\"\u003e#7205\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat: Modernize Docker Compose File \u003ca href=\"https://github.com/isso-719\"\u003e\u003ccode\u003e@​isso-719\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/go-gorm/gorm/issues/7086\"\u003e#7086\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGenerate unique savepoint names for nested transactions \u003ca href=\"https://github.com/phroggyy\"\u003e\u003ccode\u003e@​phroggyy\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/go-gorm/gorm/issues/7174\"\u003e#7174\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: AfterQuery using safer right trim while clearing from clause's j… \u003ca href=\"https://github.com/bhowmik-abhijeet\"\u003e\u003ccode\u003e@​bhowmik-abhijeet\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/go-gorm/gorm/issues/7153\"\u003e#7153\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix memory leaks in PrepareStatementDB \u003ca href=\"https://github.com/ivila\"\u003e\u003ccode\u003e@​ivila\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/go-gorm/gorm/issues/7142\"\u003e#7142\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eci: Add PostgreSQL 14 and 15 to GitHub Actions matrix \u003ca href=\"https://github.com/enomotodev\"\u003e\u003ccode\u003e@​enomotodev\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/go-gorm/gorm/issues/7081\"\u003e#7081\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat: add MapColumns method \u003ca href=\"https://github.com/molon\"\u003e\u003ccode\u003e@​molon\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/go-gorm/gorm/issues/6901\"\u003e#6901\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd DB level propagation for the Unscoped flag \u003ca href=\"https://github.com/sprataa\"\u003e\u003ccode\u003e@​sprataa\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/go-gorm/gorm/issues/7007\"\u003e#7007\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(scan): update Scan function to reset structs to zero values for each scan \u003ca href=\"https://github.com/Waldeedle\"\u003e\u003ccode\u003e@​Waldeedle\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/go-gorm/gorm/issues/7061\"\u003e#7061\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: use reflect.Append when preloading nested associations instead of making a slice with fixed size \u003ca href=\"https://github.com/emilienkofman\"\u003e\u003ccode\u003e@​emilienkofman\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/go-gorm/gorm/issues/7014\"\u003e#7014\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix association replace non-addressable panic \u003ca href=\"https://github.com/SergeiSadov\"\u003e\u003ccode\u003e@​SergeiSadov\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/go-gorm/gorm/issues/7012\"\u003e#7012\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: \u003ccode\u003eunsupported data\u003c/code\u003e on nested joins with preloads \u003ca href=\"https://github.com/N-Schaef\"\u003e\u003ccode\u003e@​N-Schaef\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/go-gorm/gorm/issues/6957\"\u003e#6957\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: AfterQuery should clear FROM Clause's Joins rather than the Stat… \u003ca href=\"https://github.com/liov\"\u003e\u003ccode\u003e@​liov\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/go-gorm/gorm/issues/7027\"\u003e#7027\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat: chainable order support clause.OrderBy \u003ca href=\"https://github.com/supergem3000\"\u003e\u003ccode\u003e@​supergem3000\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/go-gorm/gorm/issues/7054\"\u003e#7054\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: strings.Title -\u0026gt; cases.Title bcs strings.Title library is deprecated \u003ca href=\"https://github.com/ryuji-cre8ive\"\u003e\u003ccode\u003e@​ryuji-cre8ive\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/go-gorm/gorm/issues/6999\"\u003e#6999\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/go-gorm/gorm/commit/c44405a25b0fb15c20265e672b8632b8774793ca\"\u003e\u003ccode\u003ec44405a\u003c/code\u003e\u003c/a\u003e Implement Generics API (\u003ca href=\"https://redirect.github.com/go-gorm/gorm/issues/7424\"\u003e#7424\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/go-gorm/gorm/commit/751c1d6b45245843405c87d8b4b94e26c26b1ba8\"\u003e\u003ccode\u003e751c1d6\u003c/code\u003e\u003c/a\u003e perf(schema): avoid redundant strings.ToLower call (\u003ca href=\"https://redirect.github.com/go-gorm/gorm/issues/7464\"\u003e#7464\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/go-gorm/gorm/commit/8e7ab46c1b865386bbb8f5322d64880ee5ce6f40\"\u003e\u003ccode\u003e8e7ab46\u003c/code\u003e\u003c/a\u003e fix: return init dialector error (\u003ca href=\"https://redirect.github.com/go-gorm/gorm/issues/7379\"\u003e#7379\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/go-gorm/gorm/commit/e3037e4ef0394faf118cf926fd03283995d6da1f\"\u003e\u003ccode\u003ee3037e4\u003c/code\u003e\u003c/a\u003e perf: break early on match failure in ParseConstraint (\u003ca href=\"https://redirect.github.com/go-gorm/gorm/issues/7402\"\u003e#7402\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/go-gorm/gorm/commit/12043304197c54237d430825e90adc50d63ef383\"\u003e\u003ccode\u003e1204330\u003c/code\u003e\u003c/a\u003e feat: error message show field name (\u003ca href=\"https://redirect.github.com/go-gorm/gorm/issues/7452\"\u003e#7452\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/go-gorm/gorm/commit/9703eb775f203e916759bfa51af6724b05ff04ba\"\u003e\u003ccode\u003e9703eb7\u003c/code\u003e\u003c/a\u003e perf: use strings.IndexByte to replace strings.Index (\u003ca href=\"https://redirect.github.com/go-gorm/gorm/issues/7454\"\u003e#7454\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/go-gorm/gorm/commit/1c966e0d25a6cdedbb7d599eae0cd060a0572ddf\"\u003e\u003ccode\u003e1c966e0\u003c/code\u003e\u003c/a\u003e perf: use strings.Cut to replace strings.SplitN (\u003ca href=\"https://redirect.github.com/go-gorm/gorm/issues/7455\"\u003e#7455\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/go-gorm/gorm/commit/e5b867e785039199800f0549c60fe688dc0304d2\"\u003e\u003ccode\u003ee5b867e\u003c/code\u003e\u003c/a\u003e remove unnecessary session-level configuration for prepared statements\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/go-gorm/gorm/commit/8c4e8e2d2a63ef019048bd988a2016948605920b\"\u003e\u003ccode\u003e8c4e8e2\u003c/code\u003e\u003c/a\u003e fix: int type variable defaultMaxSize overflows in 32-bit environment (\u003ca href=\"https://redirect.github.com/go-gorm/gorm/issues/7439\"\u003e#7439\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/go-gorm/gorm/commit/a827495be126f896c0f744043410642d70bbac1b\"\u003e\u003ccode\u003ea827495\u003c/code\u003e\u003c/a\u003e Preparestmt use LRU Map instead default map (\u003ca href=\"https://redirect.github.com/go-gorm/gorm/issues/7435\"\u003e#7435\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/go-gorm/gorm/compare/v1.25.4...v1.30.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/alibabacloud-go/tea` from 1.2.1 to 1.4.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/alibabacloud-go/tea/releases\"\u003egithub.com/alibabacloud-go/tea's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease V1.4.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: improve DNS robustness and refine timeout logic by \u003ca href=\"https://github.com/yndu13\"\u003e\u003ccode\u003e@​yndu13\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/alibabacloud-go/tea/pull/156\"\u003ealibabacloud-go/tea#156\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/alibabacloud-go/tea/compare/v1.3.14...v1.4.0\"\u003ehttps://github.com/alibabacloud-go/tea/compare/v1.3.14...v1.4.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eRelease V1.3.14\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/alibabacloud-go/tea/compare/v1.3.13...v1.3.14\"\u003ehttps://github.com/alibabacloud-go/tea/compare/v1.3.13...v1.3.14\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eRelease V1.3.13\u003c/h2\u003e\n\u003cp\u003eNo release notes provided.\u003c/p\u003e\n\u003ch2\u003eRelease V1.3.12\u003c/h2\u003e\n\u003cp\u003eNo release notes provided.\u003c/p\u003e\n\u003ch2\u003eRelease V1.3.11\u003c/h2\u003e\n\u003cp\u003eNo release notes provided.\u003c/p\u003e\n\u003ch2\u003eRelease V1.3.10\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eadd ctx\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRelease V1.3.9\u003c/h2\u003e\n\u003cp\u003eNo release notes provided.\u003c/p\u003e\n\u003ch2\u003eRelease V1.3.8\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd runtime retry options\u003c/li\u003e\n\u003cli\u003eFixed the default judge logic\u003c/li\u003e\n\u003cli\u003eFixed the ToMap\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRelease V1.3.7\u003c/h2\u003e\n\u003cp\u003eNo release notes provided.\u003c/p\u003e\n\u003ch2\u003eRelease V1.3.6\u003c/h2\u003e\n\u003cp\u003eNo release notes provided.\u003c/p\u003e\n\u003ch2\u003eRelease V1.3.5\u003c/h2\u003e\n\u003cp\u003eNo release notes provided.\u003c/p\u003e\n\u003ch2\u003eRelease V1.3.4\u003c/h2\u003e\n\u003cp\u003eNo release notes provided.\u003c/p\u003e\n\u003ch2\u003eRelease V1.3.3\u003c/h2\u003e\n\u003cp\u003eNo release notes provided.\u003c/p\u003e\n\u003ch2\u003eRlease v1.3.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix the ReadAsSSE  as stream.go\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRelease V1.3.1\u003c/h2\u003e\n\u003cp\u003eNo release notes provided.\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/alibabacloud-go/tea/commit/75efc7f189245ec38ad3f70d4d7b33cc33a5b30e\"\u003e\u003ccode\u003e75efc7f\u003c/code\u003e\u003c/a\u003e fix: improve DNS robustness and refine timeout logic\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/alibabacloud-go/tea/commit/af5f206bd88bf380d708f564538fa014c2ebf735\"\u003e\u003ccode\u003eaf5f206\u003c/code\u003e\u003c/a\u003e fix socks5 proxy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/alibabacloud-go/tea/commit/5c6eb77b428385d921d0490f213a4e67b733d677\"\u003e\u003ccode\u003e5c6eb77\u003c/code\u003e\u003c/a\u003e support IdleTimeout\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/alibabacloud-go/tea/commit/0f6d084c670376a72c70a61be3c4386bc20d0523\"\u003e\u003ccode\u003e0f6d084\u003c/code\u003e\u003c/a\u003e fix validate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/alibabacloud-go/tea/commit/df04276c089ef0ff4c730e0aba953fe401784474\"\u003e\u003ccode\u003edf04276\u003c/code\u003e\u003c/a\u003e add ReadAsSSEWithContext\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/alibabacloud-go/tea/commit/622f315135c6c502debc759361b608f3e21f15e8\"\u003e\u003ccode\u003e622f315\u003c/code\u003e\u003c/a\u003e fix sse\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/alibabacloud-go/tea/commit/31de98dc535c2f3ef45a9fd4a8d6b66dbfb95ea7\"\u003e\u003ccode\u003e31de98d\u003c/code\u003e\u003c/a\u003e add context\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/alibabacloud-go/tea/commit/f93724f86573b11eb172a0919ec41b4266bd9a15\"\u003e\u003ccode\u003ef93724f\u003c/code\u003e\u003c/a\u003e fix the stringify\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/alibabacloud-go/tea/commit/fdbb29ef15b84a40d6dbc4b5717d81b9156fd159\"\u003e\u003ccode\u003efdbb29e\u003c/code\u003e\u003c/a\u003e fix the toMap when input is basic map\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/alibabacloud-go/tea/commit/a4d8c8f7f5cfe0b27275d6b4c3bab2907385d4c4\"\u003e\u003ccode\u003ea4d8c8f\u003c/code\u003e\u003c/a\u003e fix default condition\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/alibabacloud-go/tea/compare/v1.2.1...v1.4.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/go-sql-driver/mysql` from 1.7.1 to 1.8.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/go-sql-driver/mysql/releases\"\u003egithub.com/go-sql-driver/mysql's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.8.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cp\u003eBugfixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003efix race condition when context is canceled in \u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/pull/1562\"\u003e#1562\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/pull/1570\"\u003e#1570\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/go-sql-driver/mysql/compare/v1.8.0...v1.8.1\"\u003ehttps://github.com/go-sql-driver/mysql/compare/v1.8.0...v1.8.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.8.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch2\u003eMajor changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eUse \u003ccode\u003eSET NAMES charset COLLATE collation\u003c/code\u003e. by \u003ca href=\"https://github.com/methane\"\u003e\u003ccode\u003e@​methane\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/pull/1437\"\u003ego-sql-driver/mysql#1437\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eOlder go-mysql-driver used \u003ccode\u003ecollation_id\u003c/code\u003e in the handshake packet. But it caused collation mismatch in some situation.\u003c/li\u003e\n\u003cli\u003eIf you don't specify charset nor collation, go-mysql-driver sends \u003ccode\u003eSET NAMES utf8mb4\u003c/code\u003e for new connection. This uses server's default collation for utf8mb4.\u003c/li\u003e\n\u003cli\u003eIf you specify charset, go-mysql-driver sends \u003ccode\u003eSET NAMES \u0026lt;charset\u0026gt;\u003c/code\u003e. This uses the server's default collation for \u003ccode\u003e\u0026lt;charset\u0026gt;\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eIf you specify collation and/or charset, go-mysql-driver sends \u003ccode\u003eSET NAMES charset COLLATE collation\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003ePathEscape dbname in DSN. by \u003ca href=\"https://github.com/methane\"\u003e\u003ccode\u003e@​methane\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/pull/1432\"\u003ego-sql-driver/mysql#1432\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThis is backward incompatible in rare case. Check your DSN.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDrop Go 1.13-17 support by \u003ca href=\"https://github.com/methane\"\u003e\u003ccode\u003e@​methane\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/pull/1420\"\u003ego-sql-driver/mysql#1420\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUse Go 1.18+\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eParse numbers on text protocol too by \u003ca href=\"https://github.com/methane\"\u003e\u003ccode\u003e@​methane\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/pull/1452\"\u003ego-sql-driver/mysql#1452\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eWhen text protocol is used, go-mysql-driver passed bare \u003ccode\u003e[]byte\u003c/code\u003e to database/sql for avoid unnecessary allocation and conversion.\u003c/li\u003e\n\u003cli\u003eIf user specified \u003ccode\u003e*any\u003c/code\u003e to \u003ccode\u003eScan()\u003c/code\u003e, database/sql passed the \u003ccode\u003e[]byte\u003c/code\u003e into the target variabe.\u003c/li\u003e\n\u003cli\u003eThis confused users because most user doesn't know when text/binary protocol used.\u003c/li\u003e\n\u003cli\u003ego-mysql-driver 1.8 converts integer/float values into int64/double even in text protocol. This doesn't increase allocation compared to \u003ccode\u003e[]byte\u003c/code\u003e and conversion cost is negilible.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eNew options start using the Functional Option Pattern to avoid increasing technical debt in the Config object. Future version may introduce Functional Option for existing options, but not for now.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eMake TimeTruncate functional option by \u003ca href=\"https://github.com/methane\"\u003e\u003ccode\u003e@​methane\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/pull/1552\"\u003ego-sql-driver/mysql#1552\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd BeforeConnect callback to configuration object by \u003ca href=\"https://github.com/ItalyPaleAle\"\u003e\u003ccode\u003e@​ItalyPaleAle\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/pull/1469\"\u003ego-sql-driver/mysql#1469\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdding DeregisterDialContext to prevent memory leaks with dialers we don't need anymore by \u003ca href=\"https://github.com/jypelle\"\u003e\u003ccode\u003e@​jypelle\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/pull/1422\"\u003ego-sql-driver/mysql#1422\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake logger configurable per connection by \u003ca href=\"https://github.com/frozenbonito\"\u003e\u003ccode\u003e@​frozenbonito\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/pull/1408\"\u003ego-sql-driver/mysql#1408\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix ColumnType.DatabaseTypeName for mediumint unsigned by \u003ca href=\"https://github.com/evanelias\"\u003e\u003ccode\u003e@​evanelias\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/pull/1428\"\u003ego-sql-driver/mysql#1428\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd connection attributes by \u003ca href=\"https://github.com/Daemonxiao\"\u003e\u003ccode\u003e@​Daemonxiao\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/pull/1389\"\u003ego-sql-driver/mysql#1389\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStop \u003ccode\u003eColumnTypeScanType()\u003c/code\u003e from returning \u003ccode\u003esql.RawBytes\u003c/code\u003e by \u003ca href=\"https://github.com/methane\"\u003e\u003ccode\u003e@​methane\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/pull/1424\"\u003ego-sql-driver/mysql#1424\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eExec() now provides access to status of multiple statements. by \u003ca href=\"https://github.com/mherr-google\"\u003e\u003ccode\u003e@​mherr-google\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/pull/1309\"\u003ego-sql-driver/mysql#1309\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAllow to change (or disable) the default driver name for registration by \u003ca href=\"https://github.com/dolmen\"\u003e\u003ccode\u003e@​dolmen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/pull/1499\"\u003ego-sql-driver/mysql#1499\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/go-sql-driver/mysql/blob/master/CHANGELOG.md\"\u003egithub.com/go-sql-driver/mysql's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.8.1 (2024-03-26)\u003c/h2\u003e\n\u003cp\u003eBugfixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003efix race condition when context is canceled in \u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/pull/1562\"\u003e#1562\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/pull/1570\"\u003e#1570\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 1.8.0 (2024-03-09)\u003c/h2\u003e\n\u003cp\u003eMajor Changes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUse \u003ccode\u003eSET NAMES charset COLLATE collation\u003c/code\u003e. by \u003ca href=\"https://github.com/methane\"\u003e\u003ccode\u003e@​methane\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/pull/1437\"\u003e#1437\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003eOlder go-mysql-driver used \u003ccode\u003ecollation_id\u003c/code\u003e in the handshake packet. But it caused collation mismatch in some situation.\u003c/li\u003e\n\u003cli\u003eIf you don't specify charset nor collation, go-mysql-driver sends \u003ccode\u003eSET NAMES utf8mb4\u003c/code\u003e for new connection. This uses server's default collation for utf8mb4.\u003c/li\u003e\n\u003cli\u003eIf you specify charset, go-mysql-driver sends \u003ccode\u003eSET NAMES \u0026lt;charset\u0026gt;\u003c/code\u003e. This uses the server's default collation for \u003ccode\u003e\u0026lt;charset\u0026gt;\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eIf you specify collation and/or charset, go-mysql-driver sends \u003ccode\u003eSET NAMES charset COLLATE collation\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003ePathEscape dbname in DSN. by \u003ca href=\"https://github.com/methane\"\u003e\u003ccode\u003e@​methane\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/pull/1432\"\u003e#1432\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003eThis is backward incompatible in rare case. Check your DSN.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eDrop Go 1.13-17 support by \u003ca href=\"https://github.com/methane\"\u003e\u003ccode\u003e@​methane\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/pull/1420\"\u003e#1420\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003eUse Go 1.18+\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eParse numbers on text protocol too by \u003ca href=\"https://github.com/methane\"\u003e\u003ccode\u003e@​methane\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/pull/1452\"\u003e#1452\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003eWhen text protocol is used, go-mysql-driver passed bare \u003ccode\u003e[]byte\u003c/code\u003e to database/sql for avoid unnecessary allocation and conversion.\u003c/li\u003e\n\u003cli\u003eIf user specified \u003ccode\u003e*any\u003c/code\u003e to \u003ccode\u003eScan()\u003c/code\u003e, database/sql passed the \u003ccode\u003e[]byte\u003c/code\u003e into the target variable.\u003c/li\u003e\n\u003cli\u003eThis confused users because most user doesn't know when text/binary protocol used.\u003c/li\u003e\n\u003cli\u003ego-mysql-driver 1.8 converts integer/float values into int64/double even in text protocol. This doesn't increase allocation compared to \u003ccode\u003e[]byte\u003c/code\u003e and conversion cost is negatable.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eNew options start using the Functional Option Pattern to avoid increasing technical debt in the Config object. Future version may introduce Functional Option for existing options, but not for now.\n\u003cul\u003e\n\u003cli\u003eMake TimeTruncate functional option by \u003ca href=\"https://github.com/methane\"\u003e\u003ccode\u003e@​methane\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/pull/1552\"\u003e1552\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd BeforeConnect callback to configuration object by \u003ca href=\"https://github.com/ItalyPaleAle\"\u003e\u003ccode\u003e@​ItalyPaleAle\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/pull/1469\"\u003e#1469\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eOther changes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdding DeregisterDialContext to prevent memory leaks with dialers we don't need anymore by \u003ca href=\"https://github.com/jypelle\"\u003e\u003ccode\u003e@​jypelle\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/pull/1422\"\u003ego-sql-driver/mysql#1422\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake logger configurable per connection by \u003ca href=\"https://github.com/frozenbonito\"\u003e\u003ccode\u003e@​frozenbonito\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/pull/1408\"\u003ego-sql-driver/mysql#1408\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix ColumnType.DatabaseTypeName for mediumint unsigned by \u003ca href=\"https://github.com/evanelias\"\u003e\u003ccode\u003e@​evanelias\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/pull/1428\"\u003ego-sql-driver/mysql#1428\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd connection attributes by \u003ca href=\"https://github.com/Daemonxiao\"\u003e\u003ccode\u003e@​Daemonxiao\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/pull/1389\"\u003ego-sql-driver/mysql#1389\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStop \u003ccode\u003eColumnTypeScanType()\u003c/code\u003e from returning \u003ccode\u003esql.RawBytes\u003c/code\u003e by \u003ca href=\"https://github.com/methane\"\u003e\u003ccode\u003e@​methane\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/pull/1424\"\u003ego-sql-driver/mysql#1424\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eExec() now provides access to status of multiple statements. by \u003ca href=\"https://github.com/mherr-google\"\u003e\u003ccode\u003e@​mherr-google\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/pull/1309\"\u003ego-sql-driver/mysql#1309\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAllow to change (or disable) the default driver name for registration by \u003ca href=\"https://github.com/dolmen\"\u003e\u003ccode\u003e@​dolmen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/pull/1499\"\u003ego-sql-driver/mysql#1499\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd de...\n\n_Description has been truncated_","html_url":"https://github.com/laogui0088511-pixel/chat/pull/2","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/laogui0088511-pixel%2Fchat/issues/2","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/2/packages"},{"uuid":"4310683330","node_id":"PR_kwDOC6xJac7UtQ-V","number":70,"state":"closed","title":"Bump github.com/gin-gonic/gin from 1.8.1 to 1.12.0","user":"dependabot[bot]","labels":["dependencies"],"assignees":[],"locked":false,"comments_count":4,"pull_request":true,"closed_at":"2026-04-25T18:34:30.000Z","author_association":null,"state_reason":null,"created_at":"2026-04-22T17:17:34.000Z","updated_at":"2026-04-25T18:34:39.000Z","time_to_close":263816,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"github.com/gin-gonic/gin","old_version":"1.8.1","new_version":"1.12.0","repository_url":"https://github.com/gin-gonic/gin"}],"path":null,"ecosystem":"go"},"body":"Bumps [github.com/gin-gonic/gin](https://github.com/gin-gonic/gin) from 1.8.1 to 1.12.0.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/gin-gonic/gin/releases\"\u003egithub.com/gin-gonic/gin's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.12.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e192ac89eefc1c30f7c97ae48a9ffb1c6f1c8c8bc: feat(binding): add support for encoding.UnmarshalText in uri/query binding (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4203\"\u003e#4203\u003c/a\u003e) (\u003ca href=\"https://github.com/takanuva15\"\u003e\u003ccode\u003e@​takanuva15\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e53410d2e07054369e0960fbe2eed97e1b9966f12: feat(context): add GetError and GetErrorSlice methods for error retrieval (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4502\"\u003e#4502\u003c/a\u003e) (\u003ca href=\"https://github.com/raju-mechatronics\"\u003e\u003ccode\u003e@​raju-mechatronics\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eacc55e049e33b401e810dbd8c0d6dcb6b3ba2b05: feat(context): add Protocol Buffers support to content negotiation (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4423\"\u003e#4423\u003c/a\u003e) (\u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e38e765119241d990705169bedb5002a29ae0cbd1: feat(context): implemented Delete method (\u003ca href=\"https://github.com/Spyder01\"\u003e\u003ccode\u003e@​Spyder01\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e771dcc6476d7bc6abb9ec0235ecefa4d38fe6fb0: feat(gin): add option to use escaped path (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4420\"\u003e#4420\u003c/a\u003e) (\u003ca href=\"https://github.com/ldesauw\"\u003e\u003ccode\u003e@​ldesauw\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e4dec17afdff48e8018c83618fbbe69fceeb2b41d: feat(logger): color latency (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4146\"\u003e#4146\u003c/a\u003e) (\u003ca href=\"https://github.com/wsyqn6\"\u003e\u003ccode\u003e@​wsyqn6\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ed7776de7d444935ea4385999711bd6331a98fecb: feat(render): add bson protocol (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4145\"\u003e#4145\u003c/a\u003e) (\u003ca href=\"https://github.com/laurentcau\"\u003e\u003ccode\u003e@​laurentcau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eb917b14ff9d189f16a7492be79d123a47806ee19: fix(binding): empty value error (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/2169\"\u003e#2169\u003c/a\u003e) (\u003ca href=\"https://github.com/guonaihong\"\u003e\u003ccode\u003e@​guonaihong\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ec3d1092b3b48addf6f9cd00fe274ec3bd14650eb: fix(binding): improve empty slice/array handling in form binding (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4380\"\u003e#4380\u003c/a\u003e) (\u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e9914178584e42458ff7d23891463a880f58c9d86: fix(context): ClientIP handling for multiple X-Forwarded-For header values (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4472\"\u003e#4472\u003c/a\u003e) (\u003ca href=\"https://github.com/Nurysso\"\u003e\u003ccode\u003e@​Nurysso\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e2a794cd0b0faa7d829291375b27a3467ea972b0d: fix(debug): version mismatch (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4403\"\u003e#4403\u003c/a\u003e) (\u003ca href=\"https://github.com/zeek0x\"\u003e\u003ccode\u003e@​zeek0x\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ec3d5a28ed6d3849da820195b6774d212bcc038a9: fix(gin): close os.File in RunFd to prevent resource leak (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4422\"\u003e#4422\u003c/a\u003e) (\u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e5fad976b372e381312f8de69f0969f1284d229d3: fix(gin): literal colon routes not working with engine.Handler() (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4415\"\u003e#4415\u003c/a\u003e) (\u003ca href=\"https://github.com/pawannn\"\u003e\u003ccode\u003e@​pawannn\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e63dd3e60cab89c27fb66bce1423bd268d52abad1: fix(recover): suppress http.ErrAbortHandler in recover (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4336\"\u003e#4336\u003c/a\u003e) (\u003ca href=\"https://github.com/MondayCha\"\u003e\u003ccode\u003e@​MondayCha\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e5c00df8afadd06cc5be530dde00fe6d9fa4a2e4a: fix(render): write content length in Data.Render (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4206\"\u003e#4206\u003c/a\u003e) (\u003ca href=\"https://github.com/dengaleev\"\u003e\u003ccode\u003e@​dengaleev\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e234a6d4c00cb77af9852aca0b8289745d5529b4b: fix(response): refine hijack behavior for response lifecycle (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4373\"\u003e#4373\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e472d086af2acd924cb4b9d7be0525f7d790f69bc: fix(tree): panic in findCaseInsensitivePathRec with RedirectFixedPath (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4535\"\u003e#4535\u003c/a\u003e) (\u003ca href=\"https://github.com/veeceey\"\u003e\u003ccode\u003e@​veeceey\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e8e07d37c63e5536eb25f4af4c91eabeee4011fba: fix: Correct typos, improve documentation clarity, and remove dead code (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4511\"\u003e#4511\u003c/a\u003e) (\u003ca href=\"https://github.com/mahanadh\"\u003e\u003ccode\u003e@​mahanadh\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eba093d19477b896ac89a7fc3246af23d290b8e26: chore(binding): upgrade bson dependency to mongo-driver v2 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4549\"\u003e#4549\u003c/a\u003e) (\u003ca href=\"https://github.com/BobDu\"\u003e\u003ccode\u003e@​BobDu\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eb2b489dbf4826c2c630717a77fd5e42774625410: chore(context): always trust xff headers from unix socket (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/3359\"\u003e#3359\u003c/a\u003e) (\u003ca href=\"https://github.com/WeidiDeng\"\u003e\u003ccode\u003e@​WeidiDeng\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eecb3f7b5e2f3915bf1db240ed5eee572f8dbea36: chore(deps): upgrade golang.org/x/crypto to v0.45.0 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4449\"\u003e#4449\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eaf6e8b70b8261bb0c99ad094fe552ab92991620a: chore(deps): upgrade quic-go to v0.57.1 (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edb309081bc5c137b2aa15701ef53f7f19788da25: chore(logger): allow skipping query string output (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4547\"\u003e#4547\u003c/a\u003e) (\u003ca href=\"https://github.com/USA-RedDragon\"\u003e\u003ccode\u003e@​USA-RedDragon\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e26c3a628655cad2388380cb8102d6ce7d4875f3b: chore(response): prevent Flush() panic when \u003ccode\u003ehttp.Flusher\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4479\"\u003e#4479\u003c/a\u003e) (\u003ca href=\"https://github.com/Twacqwq\"\u003e\u003ccode\u003e@​Twacqwq\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e5dd833f1f26de0eb30eae47b17e05ced2482dc41: chore: bump minimum Go version to 1.24 and update workflows (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4388\"\u003e#4388\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRefactor\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e39858a0859c914bd26948fa950477e11bd8d3823: refactor(binding): use maps.Copy for cleaner map handling (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4352\"\u003e#4352\u003c/a\u003e) (\u003ca href=\"https://github.com/russcoss\"\u003e\u003ccode\u003e@​russcoss\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ec0048f645ee945c4db30593afdea10123e2c30a6: refactor(context): omit the return value names (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4395\"\u003e#4395\u003c/a\u003e) (\u003ca href=\"https://github.com/wanghaolong613\"\u003e\u003ccode\u003e@​wanghaolong613\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e915e4c90d28ec4cffc6eb146e208ab5a65eac772: refactor(context): replace hardcoded localhost IPs with constants (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4481\"\u003e#4481\u003c/a\u003e) (\u003ca href=\"https://github.com/pauloappbr\"\u003e\u003ccode\u003e@​pauloappbr\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e414de60574449457f3192a7a1d5528940db2836d: refactor(context): using maps.Clone (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4333\"\u003e#4333\u003c/a\u003e) (\u003ca href=\"https://github.com/cuiweixie\"\u003e\u003ccode\u003e@​cuiweixie\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e59e9d4a794f12c4f9a6c7bed441b9644e5f6d99b: refactor(ginS): use sync.OnceValue to simplify engine function (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4314\"\u003e#4314\u003c/a\u003e) (\u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e3ab698dc5110af1977d57226e4995c57dd34c233: refactor(recovery): smart error comparison (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4142\"\u003e#4142\u003c/a\u003e) (\u003ca href=\"https://github.com/zeek0x\"\u003e\u003ccode\u003e@​zeek0x\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ed1a15347b1e45a8ee816193d3578a93bfd73b70f: refactor(utils): move util functions to utils.go (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4467\"\u003e#4467\u003c/a\u003e) (\u003ca href=\"https://github.com/zeek0x\"\u003e\u003ccode\u003e@​zeek0x\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ee3118cc378d263454098924ebbde7e8d1dd2e904: refactor: for loop can be modernized using range over int (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4392\"\u003e#4392\u003c/a\u003e) (\u003ca href=\"https://github.com/wanghaolong613\"\u003e\u003ccode\u003e@​wanghaolong613\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e488f8c3ffa579a8d19beb2bae95ff8ef36b3d53f: refactor: replace magic numbers with named constants in bodyAllowedForStatus (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4529\"\u003e#4529\u003c/a\u003e) (\u003ca href=\"https://github.com/veeceey\"\u003e\u003ccode\u003e@​veeceey\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e9968c4bf9d5a99edc3eee2c068a4c9160ece8915: refactor: use b.Loop() to simplify the code and improve performance (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4389\"\u003e#4389\u003c/a\u003e) (\u003ca href=\"https://github.com/reddaisyy\"\u003e\u003ccode\u003e@​reddaisyy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ea85ef5ce4d0cda8834c59c855068ed48b51192d1: refactor: use b.Loop() to simplify the code and improve performance (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4432\"\u003e#4432\u003c/a\u003e) (\u003ca href=\"https://github.com/efcking\"\u003e\u003ccode\u003e@​efcking\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBuild process updates\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e61b67de522a189b568aced4c5c16917c558e3387: ci(bot): increase frequency and group updates for dependencies (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4367\"\u003e#4367\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efb27ef26c2fdfe25344b4c039d8a53551f9e912c: ci(lint): refactor test assertions and linter configuration (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4436\"\u003e#4436\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e93ff771e6dbf10e432864b30f3719ac5c84a4d4a: ci(sec): improve type safety and server organization in HTTP middleware (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4437\"\u003e#4437\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ee88fc8927a52b74f55bec0351604a56ac0aa1c51: ci(sec): schedule Trivy security scans to run daily at midnight UTC (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4439\"\u003e#4439\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e5e5ff3ace496a31b138b0820136a146bfb5de0ef: ci: replace vulnerability scanning workflow with Trivy integration (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4421\"\u003e#4421\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e00900fb3e1ea9dde33985a0e4f6afec793d5e786: ci: update CI workflows and standardize Trivy config quotes (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4531\"\u003e#4531\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eae3f524974fc4f55d18c9e7fae4614503c015226: ci: update Go version support to 1.25+ across CI and docs (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4550\"\u003e#4550\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/gin-gonic/gin/blob/master/CHANGELOG.md\"\u003egithub.com/gin-gonic/gin's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eGin v1.12.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat(render): add bson protocol (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4145\"\u003e#4145\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(context): add GetError and GetErrorSlice methods for error retrieval (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4502\"\u003e#4502\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(binding): add support for encoding.UnmarshalText in uri/query binding (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4203\"\u003e#4203\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(gin): add option to use escaped path (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4420\"\u003e#4420\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(context): add Protocol Buffers support to content negotiation (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4423\"\u003e#4423\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(context): implemented Delete method (\u003ca href=\"https://github.com/gin-gonic/gin/commit/38e7651\"\u003e#38e7651\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(logger): color latency (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4146\"\u003e#4146\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eperf(tree): reduce allocations in findCaseInsensitivePath (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4417\"\u003e#4417\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eperf(recovery): optimize line reading in stack function (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4466\"\u003e#4466\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eperf(path): replace regex with custom functions in redirectTrailingSlash (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4414\"\u003e#4414\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eperf(tree): optimize path parsing using strings.Count (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4246\"\u003e#4246\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(logger): allow skipping query string output (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4547\"\u003e#4547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(context): always trust xff headers from unix socket (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/3359\"\u003e#3359\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(response): prevent Flush() panic when the underlying ResponseWriter does not implement \u003ccode\u003ehttp.Flusher\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4479\"\u003e#4479\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(recovery): smart error comparison (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4142\"\u003e#4142\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(context): replace hardcoded localhost IPs with constants (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4481\"\u003e#4481\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(utils): move util functions to utils.go (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4467\"\u003e#4467\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(binding): use maps.Copy for cleaner map handling (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4352\"\u003e#4352\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(context): using maps.Clone (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4333\"\u003e#4333\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(ginS): use sync.OnceValue to simplify engine function (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4314\"\u003e#4314\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor: replace magic numbers with named constants in bodyAllowedForStatus (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4529\"\u003e#4529\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor: for loop can be modernized using range over int (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4392\"\u003e#4392\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(tree): panic in findCaseInsensitivePathRec with RedirectFixedPath (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4535\"\u003e#4535\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(render): write content length in Data.Render (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4206\"\u003e#4206\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(context): ClientIP handling for multiple X-Forwarded-For header values (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4472\"\u003e#4472\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(binding): empty value error (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/2169\"\u003e#2169\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(recover): suppress http.ErrAbortHandler in recover (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4336\"\u003e#4336\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(gin): literal colon routes not working with engine.Handler() (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4415\"\u003e#4415\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(gin): close os.File in RunFd to prevent resource leak (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4422\"\u003e#4422\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(response): refine hijack behavior for response lifecycle (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4373\"\u003e#4373\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(binding): improve empty slice/array handling in form binding (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4380\"\u003e#4380\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(debug): version mismatch (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4403\"\u003e#4403\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: correct typos, improve documentation clarity, and remove dead code (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4511\"\u003e#4511\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBuild process updates / CI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eci: update Go version support to 1.25+ across CI and docs (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4550\"\u003e#4550\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(binding): upgrade bson dependency to mongo-driver v2 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4549\"\u003e#4549\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eGin v1.11.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/73726dc606796a025971fe451f0aa6f1b9b847f6\"\u003e\u003ccode\u003e73726dc\u003c/code\u003e\u003c/a\u003e docs: update documentation to reflect Go version changes (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4552\"\u003e#4552\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/e292e5caa777bce70b66fe08c94cbe9cef3e2ec9\"\u003e\u003ccode\u003ee292e5c\u003c/code\u003e\u003c/a\u003e docs: document and finalize Gin v1.12.0 release (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4551\"\u003e#4551\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/ae3f524974fc4f55d18c9e7fae4614503c015226\"\u003e\u003ccode\u003eae3f524\u003c/code\u003e\u003c/a\u003e ci: update Go version support to 1.25+ across CI and docs (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4550\"\u003e#4550\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/38534e2bf98a06e1f62d6b24384e90b5f78699bf\"\u003e\u003ccode\u003e38534e2\u003c/code\u003e\u003c/a\u003e chore(deps): bump golang.org/x/net from 0.50.0 to 0.51.0 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4548\"\u003e#4548\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/472d086af2acd924cb4b9d7be0525f7d790f69bc\"\u003e\u003ccode\u003e472d086\u003c/code\u003e\u003c/a\u003e fix(tree): panic in findCaseInsensitivePathRec with RedirectFixedPath (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4535\"\u003e#4535\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/fb2583442c4d9bccb75e6d26f1aa6e7c01950db6\"\u003e\u003ccode\u003efb25834\u003c/code\u003e\u003c/a\u003e test(context): use http.StatusContinue constant instead of magic number 100 (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/6f1d5fe3cdb171a08928c3c9dd3fbcfc9ee1b521\"\u003e\u003ccode\u003e6f1d5fe\u003c/code\u003e\u003c/a\u003e test(render): add comprehensive error handling tests (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4541\"\u003e#4541\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/5c00df8afadd06cc5be530dde00fe6d9fa4a2e4a\"\u003e\u003ccode\u003e5c00df8\u003c/code\u003e\u003c/a\u003e fix(render): write content length in Data.Render (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4206\"\u003e#4206\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/db309081bc5c137b2aa15701ef53f7f19788da25\"\u003e\u003ccode\u003edb30908\u003c/code\u003e\u003c/a\u003e chore(logger): allow skipping query string output (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4547\"\u003e#4547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/ba093d19477b896ac89a7fc3246af23d290b8e26\"\u003e\u003ccode\u003eba093d1\u003c/code\u003e\u003c/a\u003e chore(binding): upgrade bson dependency to mongo-driver v2 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4549\"\u003e#4549\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/gin-gonic/gin/compare/v1.8.1...v1.12.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n","html_url":"https://github.com/kodefluence/altair/pull/70","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/kodefluence%2Faltair/issues/70","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/70/packages"},{"uuid":"4303704913","node_id":"PR_kwDOHWkejc7UWrdS","number":229,"state":"closed","title":"chore(deps): bump github.com/gin-gonic/gin from 1.9.1 to 1.12.0 in /http/gin","user":"dependabot[bot]","labels":["dependencies","go"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-04-21T22:44:33.000Z","author_association":null,"state_reason":null,"created_at":"2026-04-21T15:37:26.000Z","updated_at":"2026-04-21T22:44:43.000Z","time_to_close":25627,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)","packages":[{"name":"github.com/gin-gonic/gin","old_version":"1.9.1","new_version":"1.12.0","repository_url":"https://github.com/gin-gonic/gin"}],"path":"/http/gin","ecosystem":"go"},"body":"Bumps [github.com/gin-gonic/gin](https://github.com/gin-gonic/gin) from 1.9.1 to 1.12.0.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/gin-gonic/gin/releases\"\u003egithub.com/gin-gonic/gin's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.12.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e192ac89eefc1c30f7c97ae48a9ffb1c6f1c8c8bc: feat(binding): add support for encoding.UnmarshalText in uri/query binding (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4203\"\u003e#4203\u003c/a\u003e) (\u003ca href=\"https://github.com/takanuva15\"\u003e\u003ccode\u003e@​takanuva15\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e53410d2e07054369e0960fbe2eed97e1b9966f12: feat(context): add GetError and GetErrorSlice methods for error retrieval (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4502\"\u003e#4502\u003c/a\u003e) (\u003ca href=\"https://github.com/raju-mechatronics\"\u003e\u003ccode\u003e@​raju-mechatronics\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eacc55e049e33b401e810dbd8c0d6dcb6b3ba2b05: feat(context): add Protocol Buffers support to content negotiation (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4423\"\u003e#4423\u003c/a\u003e) (\u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e38e765119241d990705169bedb5002a29ae0cbd1: feat(context): implemented Delete method (\u003ca href=\"https://github.com/Spyder01\"\u003e\u003ccode\u003e@​Spyder01\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e771dcc6476d7bc6abb9ec0235ecefa4d38fe6fb0: feat(gin): add option to use escaped path (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4420\"\u003e#4420\u003c/a\u003e) (\u003ca href=\"https://github.com/ldesauw\"\u003e\u003ccode\u003e@​ldesauw\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e4dec17afdff48e8018c83618fbbe69fceeb2b41d: feat(logger): color latency (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4146\"\u003e#4146\u003c/a\u003e) (\u003ca href=\"https://github.com/wsyqn6\"\u003e\u003ccode\u003e@​wsyqn6\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ed7776de7d444935ea4385999711bd6331a98fecb: feat(render): add bson protocol (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4145\"\u003e#4145\u003c/a\u003e) (\u003ca href=\"https://github.com/laurentcau\"\u003e\u003ccode\u003e@​laurentcau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eb917b14ff9d189f16a7492be79d123a47806ee19: fix(binding): empty value error (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/2169\"\u003e#2169\u003c/a\u003e) (\u003ca href=\"https://github.com/guonaihong\"\u003e\u003ccode\u003e@​guonaihong\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ec3d1092b3b48addf6f9cd00fe274ec3bd14650eb: fix(binding): improve empty slice/array handling in form binding (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4380\"\u003e#4380\u003c/a\u003e) (\u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e9914178584e42458ff7d23891463a880f58c9d86: fix(context): ClientIP handling for multiple X-Forwarded-For header values (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4472\"\u003e#4472\u003c/a\u003e) (\u003ca href=\"https://github.com/Nurysso\"\u003e\u003ccode\u003e@​Nurysso\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e2a794cd0b0faa7d829291375b27a3467ea972b0d: fix(debug): version mismatch (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4403\"\u003e#4403\u003c/a\u003e) (\u003ca href=\"https://github.com/zeek0x\"\u003e\u003ccode\u003e@​zeek0x\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ec3d5a28ed6d3849da820195b6774d212bcc038a9: fix(gin): close os.File in RunFd to prevent resource leak (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4422\"\u003e#4422\u003c/a\u003e) (\u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e5fad976b372e381312f8de69f0969f1284d229d3: fix(gin): literal colon routes not working with engine.Handler() (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4415\"\u003e#4415\u003c/a\u003e) (\u003ca href=\"https://github.com/pawannn\"\u003e\u003ccode\u003e@​pawannn\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e63dd3e60cab89c27fb66bce1423bd268d52abad1: fix(recover): suppress http.ErrAbortHandler in recover (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4336\"\u003e#4336\u003c/a\u003e) (\u003ca href=\"https://github.com/MondayCha\"\u003e\u003ccode\u003e@​MondayCha\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e5c00df8afadd06cc5be530dde00fe6d9fa4a2e4a: fix(render): write content length in Data.Render (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4206\"\u003e#4206\u003c/a\u003e) (\u003ca href=\"https://github.com/dengaleev\"\u003e\u003ccode\u003e@​dengaleev\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e234a6d4c00cb77af9852aca0b8289745d5529b4b: fix(response): refine hijack behavior for response lifecycle (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4373\"\u003e#4373\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e472d086af2acd924cb4b9d7be0525f7d790f69bc: fix(tree): panic in findCaseInsensitivePathRec with RedirectFixedPath (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4535\"\u003e#4535\u003c/a\u003e) (\u003ca href=\"https://github.com/veeceey\"\u003e\u003ccode\u003e@​veeceey\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e8e07d37c63e5536eb25f4af4c91eabeee4011fba: fix: Correct typos, improve documentation clarity, and remove dead code (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4511\"\u003e#4511\u003c/a\u003e) (\u003ca href=\"https://github.com/mahanadh\"\u003e\u003ccode\u003e@​mahanadh\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eba093d19477b896ac89a7fc3246af23d290b8e26: chore(binding): upgrade bson dependency to mongo-driver v2 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4549\"\u003e#4549\u003c/a\u003e) (\u003ca href=\"https://github.com/BobDu\"\u003e\u003ccode\u003e@​BobDu\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eb2b489dbf4826c2c630717a77fd5e42774625410: chore(context): always trust xff headers from unix socket (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/3359\"\u003e#3359\u003c/a\u003e) (\u003ca href=\"https://github.com/WeidiDeng\"\u003e\u003ccode\u003e@​WeidiDeng\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eecb3f7b5e2f3915bf1db240ed5eee572f8dbea36: chore(deps): upgrade golang.org/x/crypto to v0.45.0 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4449\"\u003e#4449\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eaf6e8b70b8261bb0c99ad094fe552ab92991620a: chore(deps): upgrade quic-go to v0.57.1 (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edb309081bc5c137b2aa15701ef53f7f19788da25: chore(logger): allow skipping query string output (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4547\"\u003e#4547\u003c/a\u003e) (\u003ca href=\"https://github.com/USA-RedDragon\"\u003e\u003ccode\u003e@​USA-RedDragon\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e26c3a628655cad2388380cb8102d6ce7d4875f3b: chore(response): prevent Flush() panic when \u003ccode\u003ehttp.Flusher\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4479\"\u003e#4479\u003c/a\u003e) (\u003ca href=\"https://github.com/Twacqwq\"\u003e\u003ccode\u003e@​Twacqwq\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e5dd833f1f26de0eb30eae47b17e05ced2482dc41: chore: bump minimum Go version to 1.24 and update workflows (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4388\"\u003e#4388\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRefactor\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e39858a0859c914bd26948fa950477e11bd8d3823: refactor(binding): use maps.Copy for cleaner map handling (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4352\"\u003e#4352\u003c/a\u003e) (\u003ca href=\"https://github.com/russcoss\"\u003e\u003ccode\u003e@​russcoss\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ec0048f645ee945c4db30593afdea10123e2c30a6: refactor(context): omit the return value names (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4395\"\u003e#4395\u003c/a\u003e) (\u003ca href=\"https://github.com/wanghaolong613\"\u003e\u003ccode\u003e@​wanghaolong613\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e915e4c90d28ec4cffc6eb146e208ab5a65eac772: refactor(context): replace hardcoded localhost IPs with constants (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4481\"\u003e#4481\u003c/a\u003e) (\u003ca href=\"https://github.com/pauloappbr\"\u003e\u003ccode\u003e@​pauloappbr\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e414de60574449457f3192a7a1d5528940db2836d: refactor(context): using maps.Clone (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4333\"\u003e#4333\u003c/a\u003e) (\u003ca href=\"https://github.com/cuiweixie\"\u003e\u003ccode\u003e@​cuiweixie\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e59e9d4a794f12c4f9a6c7bed441b9644e5f6d99b: refactor(ginS): use sync.OnceValue to simplify engine function (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4314\"\u003e#4314\u003c/a\u003e) (\u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e3ab698dc5110af1977d57226e4995c57dd34c233: refactor(recovery): smart error comparison (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4142\"\u003e#4142\u003c/a\u003e) (\u003ca href=\"https://github.com/zeek0x\"\u003e\u003ccode\u003e@​zeek0x\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ed1a15347b1e45a8ee816193d3578a93bfd73b70f: refactor(utils): move util functions to utils.go (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4467\"\u003e#4467\u003c/a\u003e) (\u003ca href=\"https://github.com/zeek0x\"\u003e\u003ccode\u003e@​zeek0x\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ee3118cc378d263454098924ebbde7e8d1dd2e904: refactor: for loop can be modernized using range over int (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4392\"\u003e#4392\u003c/a\u003e) (\u003ca href=\"https://github.com/wanghaolong613\"\u003e\u003ccode\u003e@​wanghaolong613\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e488f8c3ffa579a8d19beb2bae95ff8ef36b3d53f: refactor: replace magic numbers with named constants in bodyAllowedForStatus (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4529\"\u003e#4529\u003c/a\u003e) (\u003ca href=\"https://github.com/veeceey\"\u003e\u003ccode\u003e@​veeceey\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e9968c4bf9d5a99edc3eee2c068a4c9160ece8915: refactor: use b.Loop() to simplify the code and improve performance (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4389\"\u003e#4389\u003c/a\u003e) (\u003ca href=\"https://github.com/reddaisyy\"\u003e\u003ccode\u003e@​reddaisyy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ea85ef5ce4d0cda8834c59c855068ed48b51192d1: refactor: use b.Loop() to simplify the code and improve performance (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4432\"\u003e#4432\u003c/a\u003e) (\u003ca href=\"https://github.com/efcking\"\u003e\u003ccode\u003e@​efcking\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBuild process updates\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e61b67de522a189b568aced4c5c16917c558e3387: ci(bot): increase frequency and group updates for dependencies (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4367\"\u003e#4367\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efb27ef26c2fdfe25344b4c039d8a53551f9e912c: ci(lint): refactor test assertions and linter configuration (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4436\"\u003e#4436\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e93ff771e6dbf10e432864b30f3719ac5c84a4d4a: ci(sec): improve type safety and server organization in HTTP middleware (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4437\"\u003e#4437\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ee88fc8927a52b74f55bec0351604a56ac0aa1c51: ci(sec): schedule Trivy security scans to run daily at midnight UTC (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4439\"\u003e#4439\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e5e5ff3ace496a31b138b0820136a146bfb5de0ef: ci: replace vulnerability scanning workflow with Trivy integration (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4421\"\u003e#4421\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e00900fb3e1ea9dde33985a0e4f6afec793d5e786: ci: update CI workflows and standardize Trivy config quotes (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4531\"\u003e#4531\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eae3f524974fc4f55d18c9e7fae4614503c015226: ci: update Go version support to 1.25+ across CI and docs (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4550\"\u003e#4550\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/gin-gonic/gin/blob/master/CHANGELOG.md\"\u003egithub.com/gin-gonic/gin's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eGin v1.12.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat(render): add bson protocol (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4145\"\u003e#4145\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(context): add GetError and GetErrorSlice methods for error retrieval (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4502\"\u003e#4502\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(binding): add support for encoding.UnmarshalText in uri/query binding (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4203\"\u003e#4203\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(gin): add option to use escaped path (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4420\"\u003e#4420\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(context): add Protocol Buffers support to content negotiation (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4423\"\u003e#4423\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(context): implemented Delete method (\u003ca href=\"https://github.com/gin-gonic/gin/commit/38e7651\"\u003e#38e7651\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(logger): color latency (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4146\"\u003e#4146\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eperf(tree): reduce allocations in findCaseInsensitivePath (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4417\"\u003e#4417\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eperf(recovery): optimize line reading in stack function (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4466\"\u003e#4466\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eperf(path): replace regex with custom functions in redirectTrailingSlash (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4414\"\u003e#4414\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eperf(tree): optimize path parsing using strings.Count (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4246\"\u003e#4246\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(logger): allow skipping query string output (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4547\"\u003e#4547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(context): always trust xff headers from unix socket (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/3359\"\u003e#3359\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(response): prevent Flush() panic when the underlying ResponseWriter does not implement \u003ccode\u003ehttp.Flusher\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4479\"\u003e#4479\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(recovery): smart error comparison (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4142\"\u003e#4142\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(context): replace hardcoded localhost IPs with constants (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4481\"\u003e#4481\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(utils): move util functions to utils.go (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4467\"\u003e#4467\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(binding): use maps.Copy for cleaner map handling (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4352\"\u003e#4352\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(context): using maps.Clone (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4333\"\u003e#4333\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(ginS): use sync.OnceValue to simplify engine function (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4314\"\u003e#4314\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor: replace magic numbers with named constants in bodyAllowedForStatus (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4529\"\u003e#4529\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor: for loop can be modernized using range over int (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4392\"\u003e#4392\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(tree): panic in findCaseInsensitivePathRec with RedirectFixedPath (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4535\"\u003e#4535\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(render): write content length in Data.Render (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4206\"\u003e#4206\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(context): ClientIP handling for multiple X-Forwarded-For header values (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4472\"\u003e#4472\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(binding): empty value error (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/2169\"\u003e#2169\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(recover): suppress http.ErrAbortHandler in recover (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4336\"\u003e#4336\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(gin): literal colon routes not working with engine.Handler() (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4415\"\u003e#4415\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(gin): close os.File in RunFd to prevent resource leak (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4422\"\u003e#4422\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(response): refine hijack behavior for response lifecycle (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4373\"\u003e#4373\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(binding): improve empty slice/array handling in form binding (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4380\"\u003e#4380\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(debug): version mismatch (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4403\"\u003e#4403\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: correct typos, improve documentation clarity, and remove dead code (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4511\"\u003e#4511\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBuild process updates / CI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eci: update Go version support to 1.25+ across CI and docs (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4550\"\u003e#4550\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(binding): upgrade bson dependency to mongo-driver v2 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4549\"\u003e#4549\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eGin v1.11.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/73726dc606796a025971fe451f0aa6f1b9b847f6\"\u003e\u003ccode\u003e73726dc\u003c/code\u003e\u003c/a\u003e docs: update documentation to reflect Go version changes (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4552\"\u003e#4552\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/e292e5caa777bce70b66fe08c94cbe9cef3e2ec9\"\u003e\u003ccode\u003ee292e5c\u003c/code\u003e\u003c/a\u003e docs: document and finalize Gin v1.12.0 release (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4551\"\u003e#4551\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/ae3f524974fc4f55d18c9e7fae4614503c015226\"\u003e\u003ccode\u003eae3f524\u003c/code\u003e\u003c/a\u003e ci: update Go version support to 1.25+ across CI and docs (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4550\"\u003e#4550\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/38534e2bf98a06e1f62d6b24384e90b5f78699bf\"\u003e\u003ccode\u003e38534e2\u003c/code\u003e\u003c/a\u003e chore(deps): bump golang.org/x/net from 0.50.0 to 0.51.0 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4548\"\u003e#4548\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/472d086af2acd924cb4b9d7be0525f7d790f69bc\"\u003e\u003ccode\u003e472d086\u003c/code\u003e\u003c/a\u003e fix(tree): panic in findCaseInsensitivePathRec with RedirectFixedPath (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4535\"\u003e#4535\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/fb2583442c4d9bccb75e6d26f1aa6e7c01950db6\"\u003e\u003ccode\u003efb25834\u003c/code\u003e\u003c/a\u003e test(context): use http.StatusContinue constant instead of magic number 100 (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/6f1d5fe3cdb171a08928c3c9dd3fbcfc9ee1b521\"\u003e\u003ccode\u003e6f1d5fe\u003c/code\u003e\u003c/a\u003e test(render): add comprehensive error handling tests (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4541\"\u003e#4541\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/5c00df8afadd06cc5be530dde00fe6d9fa4a2e4a\"\u003e\u003ccode\u003e5c00df8\u003c/code\u003e\u003c/a\u003e fix(render): write content length in Data.Render (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4206\"\u003e#4206\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/db309081bc5c137b2aa15701ef53f7f19788da25\"\u003e\u003ccode\u003edb30908\u003c/code\u003e\u003c/a\u003e chore(logger): allow skipping query string output (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4547\"\u003e#4547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/ba093d19477b896ac89a7fc3246af23d290b8e26\"\u003e\u003ccode\u003eba093d1\u003c/code\u003e\u003c/a\u003e chore(binding): upgrade bson dependency to mongo-driver v2 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4549\"\u003e#4549\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/gin-gonic/gin/compare/v1.9.1...v1.12.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/gin-gonic/gin\u0026package-manager=go_modules\u0026previous-version=1.9.1\u0026new-version=1.12.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/samber/do/pull/229","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/samber%2Fdo/issues/229","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/229/packages"},{"uuid":"4294959674","node_id":"PR_kwDORIpJds7T6Pi2","number":75,"state":"closed","title":"chore(deps)(deps): bump the minor-patch group across 1 directory with 4 updates","user":"dependabot[bot]","labels":["dependencies"],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":"2026-05-11T14:22:22.000Z","author_association":null,"state_reason":null,"created_at":"2026-04-20T10:27:12.000Z","updated_at":"2026-05-11T14:22:24.000Z","time_to_close":1828510,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)(deps): bump","group_name":"minor-patch","update_count":4,"packages":[{"name":"github.com/gin-gonic/gin","old_version":"1.11.0","new_version":"1.12.0","repository_url":"https://github.com/gin-gonic/gin"},{"name":"github.com/jackc/pgx/v5","old_version":"5.8.0","new_version":"5.9.2","repository_url":"https://github.com/jackc/pgx"},{"name":"github.com/lib/pq","old_version":"1.11.2","new_version":"1.12.3","repository_url":"https://github.com/lib/pq"},{"name":"go.temporal.io/sdk","old_version":"1.40.0","new_version":"1.43.0","repository_url":"https://github.com/temporalio/sdk-go"}],"path":null,"ecosystem":"go"},"body":"Bumps the minor-patch group with 4 updates in the / directory: [github.com/gin-gonic/gin](https://github.com/gin-gonic/gin), [github.com/jackc/pgx/v5](https://github.com/jackc/pgx), [github.com/lib/pq](https://github.com/lib/pq) and [go.temporal.io/sdk](https://github.com/temporalio/sdk-go).\n\nUpdates `github.com/gin-gonic/gin` from 1.11.0 to 1.12.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/gin-gonic/gin/releases\"\u003egithub.com/gin-gonic/gin's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.12.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e192ac89eefc1c30f7c97ae48a9ffb1c6f1c8c8bc: feat(binding): add support for encoding.UnmarshalText in uri/query binding (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4203\"\u003e#4203\u003c/a\u003e) (\u003ca href=\"https://github.com/takanuva15\"\u003e\u003ccode\u003e@​takanuva15\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e53410d2e07054369e0960fbe2eed97e1b9966f12: feat(context): add GetError and GetErrorSlice methods for error retrieval (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4502\"\u003e#4502\u003c/a\u003e) (\u003ca href=\"https://github.com/raju-mechatronics\"\u003e\u003ccode\u003e@​raju-mechatronics\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eacc55e049e33b401e810dbd8c0d6dcb6b3ba2b05: feat(context): add Protocol Buffers support to content negotiation (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4423\"\u003e#4423\u003c/a\u003e) (\u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e38e765119241d990705169bedb5002a29ae0cbd1: feat(context): implemented Delete method (\u003ca href=\"https://github.com/Spyder01\"\u003e\u003ccode\u003e@​Spyder01\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e771dcc6476d7bc6abb9ec0235ecefa4d38fe6fb0: feat(gin): add option to use escaped path (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4420\"\u003e#4420\u003c/a\u003e) (\u003ca href=\"https://github.com/ldesauw\"\u003e\u003ccode\u003e@​ldesauw\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e4dec17afdff48e8018c83618fbbe69fceeb2b41d: feat(logger): color latency (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4146\"\u003e#4146\u003c/a\u003e) (\u003ca href=\"https://github.com/wsyqn6\"\u003e\u003ccode\u003e@​wsyqn6\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ed7776de7d444935ea4385999711bd6331a98fecb: feat(render): add bson protocol (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4145\"\u003e#4145\u003c/a\u003e) (\u003ca href=\"https://github.com/laurentcau\"\u003e\u003ccode\u003e@​laurentcau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eb917b14ff9d189f16a7492be79d123a47806ee19: fix(binding): empty value error (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/2169\"\u003e#2169\u003c/a\u003e) (\u003ca href=\"https://github.com/guonaihong\"\u003e\u003ccode\u003e@​guonaihong\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ec3d1092b3b48addf6f9cd00fe274ec3bd14650eb: fix(binding): improve empty slice/array handling in form binding (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4380\"\u003e#4380\u003c/a\u003e) (\u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e9914178584e42458ff7d23891463a880f58c9d86: fix(context): ClientIP handling for multiple X-Forwarded-For header values (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4472\"\u003e#4472\u003c/a\u003e) (\u003ca href=\"https://github.com/Nurysso\"\u003e\u003ccode\u003e@​Nurysso\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e2a794cd0b0faa7d829291375b27a3467ea972b0d: fix(debug): version mismatch (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4403\"\u003e#4403\u003c/a\u003e) (\u003ca href=\"https://github.com/zeek0x\"\u003e\u003ccode\u003e@​zeek0x\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ec3d5a28ed6d3849da820195b6774d212bcc038a9: fix(gin): close os.File in RunFd to prevent resource leak (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4422\"\u003e#4422\u003c/a\u003e) (\u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e5fad976b372e381312f8de69f0969f1284d229d3: fix(gin): literal colon routes not working with engine.Handler() (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4415\"\u003e#4415\u003c/a\u003e) (\u003ca href=\"https://github.com/pawannn\"\u003e\u003ccode\u003e@​pawannn\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e63dd3e60cab89c27fb66bce1423bd268d52abad1: fix(recover): suppress http.ErrAbortHandler in recover (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4336\"\u003e#4336\u003c/a\u003e) (\u003ca href=\"https://github.com/MondayCha\"\u003e\u003ccode\u003e@​MondayCha\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e5c00df8afadd06cc5be530dde00fe6d9fa4a2e4a: fix(render): write content length in Data.Render (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4206\"\u003e#4206\u003c/a\u003e) (\u003ca href=\"https://github.com/dengaleev\"\u003e\u003ccode\u003e@​dengaleev\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e234a6d4c00cb77af9852aca0b8289745d5529b4b: fix(response): refine hijack behavior for response lifecycle (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4373\"\u003e#4373\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e472d086af2acd924cb4b9d7be0525f7d790f69bc: fix(tree): panic in findCaseInsensitivePathRec with RedirectFixedPath (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4535\"\u003e#4535\u003c/a\u003e) (\u003ca href=\"https://github.com/veeceey\"\u003e\u003ccode\u003e@​veeceey\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e8e07d37c63e5536eb25f4af4c91eabeee4011fba: fix: Correct typos, improve documentation clarity, and remove dead code (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4511\"\u003e#4511\u003c/a\u003e) (\u003ca href=\"https://github.com/mahanadh\"\u003e\u003ccode\u003e@​mahanadh\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eba093d19477b896ac89a7fc3246af23d290b8e26: chore(binding): upgrade bson dependency to mongo-driver v2 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4549\"\u003e#4549\u003c/a\u003e) (\u003ca href=\"https://github.com/BobDu\"\u003e\u003ccode\u003e@​BobDu\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eb2b489dbf4826c2c630717a77fd5e42774625410: chore(context): always trust xff headers from unix socket (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/3359\"\u003e#3359\u003c/a\u003e) (\u003ca href=\"https://github.com/WeidiDeng\"\u003e\u003ccode\u003e@​WeidiDeng\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eecb3f7b5e2f3915bf1db240ed5eee572f8dbea36: chore(deps): upgrade golang.org/x/crypto to v0.45.0 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4449\"\u003e#4449\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eaf6e8b70b8261bb0c99ad094fe552ab92991620a: chore(deps): upgrade quic-go to v0.57.1 (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edb309081bc5c137b2aa15701ef53f7f19788da25: chore(logger): allow skipping query string output (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4547\"\u003e#4547\u003c/a\u003e) (\u003ca href=\"https://github.com/USA-RedDragon\"\u003e\u003ccode\u003e@​USA-RedDragon\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e26c3a628655cad2388380cb8102d6ce7d4875f3b: chore(response): prevent Flush() panic when \u003ccode\u003ehttp.Flusher\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4479\"\u003e#4479\u003c/a\u003e) (\u003ca href=\"https://github.com/Twacqwq\"\u003e\u003ccode\u003e@​Twacqwq\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e5dd833f1f26de0eb30eae47b17e05ced2482dc41: chore: bump minimum Go version to 1.24 and update workflows (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4388\"\u003e#4388\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRefactor\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e39858a0859c914bd26948fa950477e11bd8d3823: refactor(binding): use maps.Copy for cleaner map handling (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4352\"\u003e#4352\u003c/a\u003e) (\u003ca href=\"https://github.com/russcoss\"\u003e\u003ccode\u003e@​russcoss\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ec0048f645ee945c4db30593afdea10123e2c30a6: refactor(context): omit the return value names (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4395\"\u003e#4395\u003c/a\u003e) (\u003ca href=\"https://github.com/wanghaolong613\"\u003e\u003ccode\u003e@​wanghaolong613\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e915e4c90d28ec4cffc6eb146e208ab5a65eac772: refactor(context): replace hardcoded localhost IPs with constants (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4481\"\u003e#4481\u003c/a\u003e) (\u003ca href=\"https://github.com/pauloappbr\"\u003e\u003ccode\u003e@​pauloappbr\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e414de60574449457f3192a7a1d5528940db2836d: refactor(context): using maps.Clone (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4333\"\u003e#4333\u003c/a\u003e) (\u003ca href=\"https://github.com/cuiweixie\"\u003e\u003ccode\u003e@​cuiweixie\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e59e9d4a794f12c4f9a6c7bed441b9644e5f6d99b: refactor(ginS): use sync.OnceValue to simplify engine function (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4314\"\u003e#4314\u003c/a\u003e) (\u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e3ab698dc5110af1977d57226e4995c57dd34c233: refactor(recovery): smart error comparison (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4142\"\u003e#4142\u003c/a\u003e) (\u003ca href=\"https://github.com/zeek0x\"\u003e\u003ccode\u003e@​zeek0x\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ed1a15347b1e45a8ee816193d3578a93bfd73b70f: refactor(utils): move util functions to utils.go (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4467\"\u003e#4467\u003c/a\u003e) (\u003ca href=\"https://github.com/zeek0x\"\u003e\u003ccode\u003e@​zeek0x\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ee3118cc378d263454098924ebbde7e8d1dd2e904: refactor: for loop can be modernized using range over int (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4392\"\u003e#4392\u003c/a\u003e) (\u003ca href=\"https://github.com/wanghaolong613\"\u003e\u003ccode\u003e@​wanghaolong613\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e488f8c3ffa579a8d19beb2bae95ff8ef36b3d53f: refactor: replace magic numbers with named constants in bodyAllowedForStatus (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4529\"\u003e#4529\u003c/a\u003e) (\u003ca href=\"https://github.com/veeceey\"\u003e\u003ccode\u003e@​veeceey\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e9968c4bf9d5a99edc3eee2c068a4c9160ece8915: refactor: use b.Loop() to simplify the code and improve performance (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4389\"\u003e#4389\u003c/a\u003e) (\u003ca href=\"https://github.com/reddaisyy\"\u003e\u003ccode\u003e@​reddaisyy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ea85ef5ce4d0cda8834c59c855068ed48b51192d1: refactor: use b.Loop() to simplify the code and improve performance (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4432\"\u003e#4432\u003c/a\u003e) (\u003ca href=\"https://github.com/efcking\"\u003e\u003ccode\u003e@​efcking\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBuild process updates\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e61b67de522a189b568aced4c5c16917c558e3387: ci(bot): increase frequency and group updates for dependencies (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4367\"\u003e#4367\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efb27ef26c2fdfe25344b4c039d8a53551f9e912c: ci(lint): refactor test assertions and linter configuration (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4436\"\u003e#4436\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e93ff771e6dbf10e432864b30f3719ac5c84a4d4a: ci(sec): improve type safety and server organization in HTTP middleware (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4437\"\u003e#4437\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ee88fc8927a52b74f55bec0351604a56ac0aa1c51: ci(sec): schedule Trivy security scans to run daily at midnight UTC (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4439\"\u003e#4439\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e5e5ff3ace496a31b138b0820136a146bfb5de0ef: ci: replace vulnerability scanning workflow with Trivy integration (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4421\"\u003e#4421\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e00900fb3e1ea9dde33985a0e4f6afec793d5e786: ci: update CI workflows and standardize Trivy config quotes (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4531\"\u003e#4531\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eae3f524974fc4f55d18c9e7fae4614503c015226: ci: update Go version support to 1.25+ across CI and docs (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4550\"\u003e#4550\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/gin-gonic/gin/blob/master/CHANGELOG.md\"\u003egithub.com/gin-gonic/gin's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eGin v1.12.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat(render): add bson protocol (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4145\"\u003e#4145\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(context): add GetError and GetErrorSlice methods for error retrieval (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4502\"\u003e#4502\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(binding): add support for encoding.UnmarshalText in uri/query binding (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4203\"\u003e#4203\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(gin): add option to use escaped path (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4420\"\u003e#4420\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(context): add Protocol Buffers support to content negotiation (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4423\"\u003e#4423\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(context): implemented Delete method (\u003ca href=\"https://github.com/gin-gonic/gin/commit/38e7651\"\u003e#38e7651\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(logger): color latency (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4146\"\u003e#4146\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eperf(tree): reduce allocations in findCaseInsensitivePath (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4417\"\u003e#4417\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eperf(recovery): optimize line reading in stack function (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4466\"\u003e#4466\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eperf(path): replace regex with custom functions in redirectTrailingSlash (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4414\"\u003e#4414\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eperf(tree): optimize path parsing using strings.Count (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4246\"\u003e#4246\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(logger): allow skipping query string output (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4547\"\u003e#4547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(context): always trust xff headers from unix socket (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/3359\"\u003e#3359\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(response): prevent Flush() panic when the underlying ResponseWriter does not implement \u003ccode\u003ehttp.Flusher\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4479\"\u003e#4479\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(recovery): smart error comparison (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4142\"\u003e#4142\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(context): replace hardcoded localhost IPs with constants (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4481\"\u003e#4481\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(utils): move util functions to utils.go (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4467\"\u003e#4467\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(binding): use maps.Copy for cleaner map handling (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4352\"\u003e#4352\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(context): using maps.Clone (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4333\"\u003e#4333\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(ginS): use sync.OnceValue to simplify engine function (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4314\"\u003e#4314\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor: replace magic numbers with named constants in bodyAllowedForStatus (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4529\"\u003e#4529\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor: for loop can be modernized using range over int (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4392\"\u003e#4392\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(tree): panic in findCaseInsensitivePathRec with RedirectFixedPath (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4535\"\u003e#4535\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(render): write content length in Data.Render (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4206\"\u003e#4206\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(context): ClientIP handling for multiple X-Forwarded-For header values (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4472\"\u003e#4472\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(binding): empty value error (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/2169\"\u003e#2169\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(recover): suppress http.ErrAbortHandler in recover (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4336\"\u003e#4336\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(gin): literal colon routes not working with engine.Handler() (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4415\"\u003e#4415\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(gin): close os.File in RunFd to prevent resource leak (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4422\"\u003e#4422\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(response): refine hijack behavior for response lifecycle (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4373\"\u003e#4373\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(binding): improve empty slice/array handling in form binding (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4380\"\u003e#4380\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(debug): version mismatch (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4403\"\u003e#4403\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: correct typos, improve documentation clarity, and remove dead code (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4511\"\u003e#4511\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBuild process updates / CI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eci: update Go version support to 1.25+ across CI and docs (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4550\"\u003e#4550\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(binding): upgrade bson dependency to mongo-driver v2 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4549\"\u003e#4549\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/73726dc606796a025971fe451f0aa6f1b9b847f6\"\u003e\u003ccode\u003e73726dc\u003c/code\u003e\u003c/a\u003e docs: update documentation to reflect Go version changes (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4552\"\u003e#4552\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/e292e5caa777bce70b66fe08c94cbe9cef3e2ec9\"\u003e\u003ccode\u003ee292e5c\u003c/code\u003e\u003c/a\u003e docs: document and finalize Gin v1.12.0 release (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4551\"\u003e#4551\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/ae3f524974fc4f55d18c9e7fae4614503c015226\"\u003e\u003ccode\u003eae3f524\u003c/code\u003e\u003c/a\u003e ci: update Go version support to 1.25+ across CI and docs (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4550\"\u003e#4550\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/38534e2bf98a06e1f62d6b24384e90b5f78699bf\"\u003e\u003ccode\u003e38534e2\u003c/code\u003e\u003c/a\u003e chore(deps): bump golang.org/x/net from 0.50.0 to 0.51.0 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4548\"\u003e#4548\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/472d086af2acd924cb4b9d7be0525f7d790f69bc\"\u003e\u003ccode\u003e472d086\u003c/code\u003e\u003c/a\u003e fix(tree): panic in findCaseInsensitivePathRec with RedirectFixedPath (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4535\"\u003e#4535\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/fb2583442c4d9bccb75e6d26f1aa6e7c01950db6\"\u003e\u003ccode\u003efb25834\u003c/code\u003e\u003c/a\u003e test(context): use http.StatusContinue constant instead of magic number 100 (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/6f1d5fe3cdb171a08928c3c9dd3fbcfc9ee1b521\"\u003e\u003ccode\u003e6f1d5fe\u003c/code\u003e\u003c/a\u003e test(render): add comprehensive error handling tests (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4541\"\u003e#4541\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/5c00df8afadd06cc5be530dde00fe6d9fa4a2e4a\"\u003e\u003ccode\u003e5c00df8\u003c/code\u003e\u003c/a\u003e fix(render): write content length in Data.Render (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4206\"\u003e#4206\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/db309081bc5c137b2aa15701ef53f7f19788da25\"\u003e\u003ccode\u003edb30908\u003c/code\u003e\u003c/a\u003e chore(logger): allow skipping query string output (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4547\"\u003e#4547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/ba093d19477b896ac89a7fc3246af23d290b8e26\"\u003e\u003ccode\u003eba093d1\u003c/code\u003e\u003c/a\u003e chore(binding): upgrade bson dependency to mongo-driver v2 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4549\"\u003e#4549\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/gin-gonic/gin/compare/v1.11.0...v1.12.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/jackc/pgx/v5` from 5.8.0 to 5.9.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jackc/pgx/blob/master/CHANGELOG.md\"\u003egithub.com/jackc/pgx/v5's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e5.9.2 (April 18, 2026)\u003c/h1\u003e\n\u003cp\u003eFix SQL Injection via placeholder confusion with dollar quoted string literals (GHSA-j88v-2chj-qfwx)\u003c/p\u003e\n\u003cp\u003eSQL injection can occur when:\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003eThe non-default simple protocol is used.\u003c/li\u003e\n\u003cli\u003eA dollar quoted string literal is used in the SQL query.\u003c/li\u003e\n\u003cli\u003eThat query contains text that would be would be interpreted outside as a placeholder outside of a string literal.\u003c/li\u003e\n\u003cli\u003eThe value of that placeholder is controllable by the attacker.\u003c/li\u003e\n\u003c/ol\u003e\n\u003cp\u003ee.g.\u003c/p\u003e\n\u003cpre lang=\"go\"\u003e\u003ccode\u003eattackValue := `$tag$; drop table canary; --`\n_, err = tx.Exec(ctx, `select $tag$ $1 $tag$, $1`, pgx.QueryExecModeSimpleProtocol, attackValue)\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eThis is unlikely to occur outside of a contrived scenario.\u003c/p\u003e\n\u003ch1\u003e5.9.1 (March 22, 2026)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eFix: batch result format corruption when using cached prepared statements (reported by Dirkjan Bussink)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e5.9.0 (March 21, 2026)\u003c/h1\u003e\n\u003cp\u003eThis release includes a number of new features such as SCRAM-SHA-256-PLUS support, OAuth authentication support, and\nPostgreSQL protocol 3.2 support.\u003c/p\u003e\n\u003cp\u003eIt significantly reduces the amount of network traffic when using prepared statements (which are used automatically by\ndefault) by avoiding unnecessary Describe Portal messages. This also reduces local memory usage.\u003c/p\u003e\n\u003cp\u003eIt also includes multiple fixes for potential DoS due to panic or OOM if connected to a malicious server that sends\ndeliberately malformed messages.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRequire Go 1.25+\u003c/li\u003e\n\u003cli\u003eAdd SCRAM-SHA-256-PLUS support (Adam Brightwell)\u003c/li\u003e\n\u003cli\u003eAdd OAuth authentication support for PostgreSQL 18 (David Schneider)\u003c/li\u003e\n\u003cli\u003eAdd PostgreSQL protocol 3.2 support (Dirkjan Bussink)\u003c/li\u003e\n\u003cli\u003eAdd tsvector type support (Adam Brightwell)\u003c/li\u003e\n\u003cli\u003eSkip Describe Portal for cached prepared statements reducing network round trips\u003c/li\u003e\n\u003cli\u003eMake LoadTypes query easier to support on \u0026quot;postgres-like\u0026quot; servers (Jelte Fennema-Nio)\u003c/li\u003e\n\u003cli\u003eDefault empty user to current OS user matching libpq behavior (ShivangSrivastava)\u003c/li\u003e\n\u003cli\u003eOptimize LRU statement cache with custom linked list and node pooling (Mathias Bogaert)\u003c/li\u003e\n\u003cli\u003eOptimize date scanning by replacing regex with manual parsing (Mathias Bogaert)\u003c/li\u003e\n\u003cli\u003eOptimize pgio append/set functions with direct byte shifts (Mathias Bogaert)\u003c/li\u003e\n\u003cli\u003eMake RowsAffected faster (Abhishek Chanda)\u003c/li\u003e\n\u003cli\u003eFix: Pipeline.Close panic when server sends multiple FATAL errors (Varun Chawla)\u003c/li\u003e\n\u003cli\u003eFix: ContextWatcher goroutine leak (Hank Donnay)\u003c/li\u003e\n\u003cli\u003eFix: stdlib discard connections with open transactions in ResetSession (Jeremy Schneider)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jackc/pgx/commit/0aeabbcf11d859229c1f0b20e710d3596c76bf27\"\u003e\u003ccode\u003e0aeabbc\u003c/code\u003e\u003c/a\u003e Release v5.9.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jackc/pgx/commit/60644f84918a8af66d14a4b0d865d4edafd955da\"\u003e\u003ccode\u003e60644f8\u003c/code\u003e\u003c/a\u003e Fix SQL sanitizer bugs with dollar-quoted strings and placeholder overflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jackc/pgx/commit/a5680bc945aa7c6ebac2778d859ee7b4ba86db60\"\u003e\u003ccode\u003ea5680bc\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/jackc/pgx/issues/2531\"\u003e#2531\u003c/a\u003e from dolmen-go/godoc-add-links\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jackc/pgx/commit/e34e4524007062710c6a4fb9c8655b75a486b5cd\"\u003e\u003ccode\u003ee34e452\u003c/code\u003e\u003c/a\u003e doc: Add godoc links\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jackc/pgx/commit/08c9bb1f0d8fa6cc10ed8c713e68b1baa64dfe2c\"\u003e\u003ccode\u003e08c9bb1\u003c/code\u003e\u003c/a\u003e Fix Stringer types encoded as text instead of numeric value in composite fields\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jackc/pgx/commit/96b4dbdfd0458cb425bf8454d292a23978872cc8\"\u003e\u003ccode\u003e96b4dbd\u003c/code\u003e\u003c/a\u003e Remove unstable test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jackc/pgx/commit/acf88e0065682e8948696d26fa6438669c4cabee\"\u003e\u003ccode\u003eacf88e0\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/jackc/pgx/issues/2526\"\u003e#2526\u003c/a\u003e from abrightwell/abrightwell-min-proto\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jackc/pgx/commit/2f81f1fc03bef99593e92c64ad9cac954c00e8e6\"\u003e\u003ccode\u003e2f81f1f\u003c/code\u003e\u003c/a\u003e Update \u003ccode\u003emax_protocol_version\u003c/code\u003e and \u003ccode\u003emin_protocol_version\u003c/code\u003e defaults\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jackc/pgx/commit/4e4eaedb47b7b3cfba0a1b0a9e6a3f015764f046\"\u003e\u003ccode\u003e4e4eaed\u003c/code\u003e\u003c/a\u003e Release v5.9.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jackc/pgx/commit/62731882651a90348febb43b2119b5f8bd9272de\"\u003e\u003ccode\u003e6273188\u003c/code\u003e\u003c/a\u003e Fix batch result format corruption when using cached prepared statements\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jackc/pgx/compare/v5.8.0...v5.9.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/lib/pq` from 1.11.2 to 1.12.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/lib/pq/releases\"\u003egithub.com/lib/pq's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.12.3\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSend datestyle startup parameter, improving compatbility with database engines that use a different default datestyle such as EnterpriseDB (\u003ca href=\"https://redirect.github.com/lib/pq/issues/1312\"\u003e#1312\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/lib/pq/issues/1312\"\u003e#1312\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/lib/pq/pull/1312\"\u003elib/pq#1312\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.12.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eTreat io.ErrUnexpectedEOF as driver.ErrBadConn so database/sql discards the connection. Since v1.12.0 this could result in permanently broken connections, especially with CockroachDB which frequently sends partial messages (\u003ca href=\"https://redirect.github.com/lib/pq/issues/1299\"\u003e#1299\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/lib/pq/issues/1299\"\u003e#1299\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/lib/pq/pull/1299\"\u003elib/pq#1299\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.12.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eLook for pgpass file in ~/.pgpass instead of ~/.postgresql/pgpass (\u003ca href=\"https://redirect.github.com/lib/pq/issues/1300\"\u003e#1300\u003c/a\u003e).\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDon't clear password if directly set on pq.Config (\u003ca href=\"https://redirect.github.com/lib/pq/issues/1302\"\u003e#1302\u003c/a\u003e).\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/lib/pq/issues/1300\"\u003e#1300\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/lib/pq/pull/1300\"\u003elib/pq#1300\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/lib/pq/issues/1302\"\u003e#1302\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/lib/pq/pull/1302\"\u003elib/pq#1302\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.12.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eThe next release may change the default sslmode from \u003ccode\u003erequire\u003c/code\u003e to \u003ccode\u003eprefer\u003c/code\u003e. See \u003ca href=\"https://redirect.github.com/lib/pq/issues/1271\"\u003e#1271\u003c/a\u003e for details.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003eCopyIn()\u003c/code\u003e and \u003ccode\u003eCopyInToSchema()\u003c/code\u003e have been marked as deprecated. These are simple query builders and not needed for \u003ccode\u003eCOPY [..] FROM STDIN\u003c/code\u003e support (which is \u003cem\u003enot\u003c/em\u003e deprecated). (\u003ca href=\"https://redirect.github.com/lib/pq/issues/1279\"\u003e#1279\u003c/a\u003e)\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e// Old\r\ntx.Prepare(CopyIn(\u0026quot;temp\u0026quot;, \u0026quot;num\u0026quot;, \u0026quot;text\u0026quot;, \u0026quot;blob\u0026quot;, \u0026quot;nothing\u0026quot;))\r\n\u003cp\u003e// Replacement\ntx.Prepare(\u003ccode\u003ecopy temp (num, text, blob, nothing) from stdin\u003c/code\u003e)\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eSupport protocol 3.2, and the \u003ccode\u003emin_protocol_version\u003c/code\u003e and \u003ccode\u003emax_protocol_version\u003c/code\u003e DSN parameters (\u003ca href=\"https://redirect.github.com/lib/pq/issues/1258\"\u003e#1258\u003c/a\u003e).\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSupport \u003ccode\u003esslmode=prefer\u003c/code\u003e and \u003ccode\u003esslmode=allow\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/lib/pq/issues/1270\"\u003e#1270\u003c/a\u003e).\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSupport \u003ccode\u003essl_min_protocol_version\u003c/code\u003e and \u003ccode\u003essl_max_protocol_version\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/lib/pq/issues/1277\"\u003e#1277\u003c/a\u003e).\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSupport connection service file to load connection details (\u003ca href=\"https://redirect.github.com/lib/pq/issues/1285\"\u003e#1285\u003c/a\u003e).\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSupport \u003ccode\u003esslrootcert=system\u003c/code\u003e and use \u003ccode\u003e~/.postgresql/root.crt\u003c/code\u003e as the default value of sslrootcert (\u003ca href=\"https://redirect.github.com/lib/pq/issues/1280\"\u003e#1280\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/lib/pq/issues/1281\"\u003e#1281\u003c/a\u003e).\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd a new \u003ccode\u003epqerror\u003c/code\u003e package with PostgreSQL error codes (\u003ca href=\"https://redirect.github.com/lib/pq/issues/1275\"\u003e#1275\u003c/a\u003e).\u003c/p\u003e\n\u003cp\u003eFor example, to test if an error is a UNIQUE constraint violation:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eif pqErr, ok := errors.AsType[*pq.Error](https://github.com/lib/pq/blob/HEAD/err); ok \u0026amp;\u0026amp; pqErr.Code == pqerror.UniqueViolation {\r\n    log.Fatalf(\u0026quot;email %q already exsts\u0026quot;, email)\r\n}\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eTo make this a bit more convenient, it also adds a \u003ccode\u003epq.As()\u003c/code\u003e function:\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/lib/pq/blob/master/CHANGELOG.md\"\u003egithub.com/lib/pq's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.12.3 (2026-04-03)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSend datestyle startup parameter, improving compatbility with database engines\nthat use a different default datestyle such as EnterpriseDB (\u003ca href=\"https://redirect.github.com/lib/pq/issues/1312\"\u003e#1312\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/lib/pq/issues/1312\"\u003e#1312\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/lib/pq/pull/1312\"\u003elib/pq#1312\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.12.2 (2026-04-02)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eTreat io.ErrUnexpectedEOF as driver.ErrBadConn so database/sql discards the\nconnection. Since v1.12.0 this could result in permanently broken connections,\nespecially with CockroachDB which frequently sends partial messages (\u003ca href=\"https://redirect.github.com/lib/pq/issues/1299\"\u003e#1299\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/lib/pq/issues/1299\"\u003e#1299\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/lib/pq/pull/1299\"\u003elib/pq#1299\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.12.1 (2026-03-30)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eLook for pgpass file in ~/.pgpass instead of ~/.postgresql/pgpass (\u003ca href=\"https://redirect.github.com/lib/pq/issues/1300\"\u003e#1300\u003c/a\u003e).\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDon't clear password if directly set on pq.Config (\u003ca href=\"https://redirect.github.com/lib/pq/issues/1302\"\u003e#1302\u003c/a\u003e).\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/lib/pq/issues/1300\"\u003e#1300\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/lib/pq/pull/1300\"\u003elib/pq#1300\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/lib/pq/issues/1302\"\u003e#1302\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/lib/pq/pull/1302\"\u003elib/pq#1302\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.12.0 (2026-03-18)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eThe next release may change the default sslmode from \u003ccode\u003erequire\u003c/code\u003e to \u003ccode\u003eprefer\u003c/code\u003e.\nSee \u003ca href=\"https://redirect.github.com/lib/pq/issues/1271\"\u003e#1271\u003c/a\u003e for details.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003eCopyIn()\u003c/code\u003e and \u003ccode\u003eCopyInToSchema()\u003c/code\u003e have been marked as deprecated. These are\nsimple query builders and not needed for \u003ccode\u003eCOPY [..] FROM STDIN\u003c/code\u003e support (which\nis \u003cem\u003enot\u003c/em\u003e deprecated). (\u003ca href=\"https://redirect.github.com/lib/pq/issues/1279\"\u003e#1279\u003c/a\u003e)\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e// Old\ntx.Prepare(CopyIn(\u0026quot;temp\u0026quot;, \u0026quot;num\u0026quot;, \u0026quot;text\u0026quot;, \u0026quot;blob\u0026quot;, \u0026quot;nothing\u0026quot;))\n\u003cp\u003e// Replacement\ntx.Prepare(\u003ccode\u003ecopy temp (num, text, blob, nothing) from stdin\u003c/code\u003e)\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eSupport protocol 3.2, and the \u003ccode\u003emin_protocol_version\u003c/code\u003e and\n\u003ccode\u003emax_protocol_version\u003c/code\u003e DSN parameters (\u003ca href=\"https://redirect.github.com/lib/pq/issues/1258\"\u003e#1258\u003c/a\u003e).\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSupport \u003ccode\u003esslmode=prefer\u003c/code\u003e and \u003ccode\u003esslmode=allow\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/lib/pq/issues/1270\"\u003e#1270\u003c/a\u003e).\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSupport \u003ccode\u003essl_min_protocol_version\u003c/code\u003e and \u003ccode\u003essl_max_protocol_version\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/lib/pq/issues/1277\"\u003e#1277\u003c/a\u003e).\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lib/pq/commit/1f3e3d92865dd313b4e146968684d7e3836c76e8\"\u003e\u003ccode\u003e1f3e3d9\u003c/code\u003e\u003c/a\u003e Send datestyle as a startup parameter (\u003ca href=\"https://redirect.github.com/lib/pq/issues/1312\"\u003e#1312\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lib/pq/commit/32ba56b8f9c09575e3320f0043f4f0bdf0ad2009\"\u003e\u003ccode\u003e32ba56b\u003c/code\u003e\u003c/a\u003e Expand tests for multiple result sets\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lib/pq/commit/c2cfac15d5048670f784616c0c3dca56f97f49c0\"\u003e\u003ccode\u003ec2cfac1\u003c/code\u003e\u003c/a\u003e Release v1.12.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lib/pq/commit/859f10493799ae5b3fc3706bbef2ee48764dc787\"\u003e\u003ccode\u003e859f104\u003c/code\u003e\u003c/a\u003e Test CockroachDB\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lib/pq/commit/12e464c3afecfb945fc764001837c137fa764e37\"\u003e\u003ccode\u003e12e464c\u003c/code\u003e\u003c/a\u003e Allow multiple matches and regexps in pqtest.ErrorContains()\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lib/pq/commit/6d77ced41719616090c9e7eec2c313a18640bc3f\"\u003e\u003ccode\u003e6d77ced\u003c/code\u003e\u003c/a\u003e Treat io.ErrUnexpectedEOF as driver.ErrBadConn in handleError\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lib/pq/commit/71daecbc4522cf9cb6c399e19b910d22356ebb87\"\u003e\u003ccode\u003e71daecb\u003c/code\u003e\u003c/a\u003e Ensure transactions are closed in pqtest\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lib/pq/commit/8f448230b50d3c2f796fd20622daaf8ebe3d173c\"\u003e\u003ccode\u003e8f44823\u003c/code\u003e\u003c/a\u003e Set PGAPPNAME for tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lib/pq/commit/4af2196aa02298c23461f2baf538a0679b66a093\"\u003e\u003ccode\u003e4af2196\u003c/code\u003e\u003c/a\u003e Fix healthcheck\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lib/pq/commit/38a54e44b0a91e12314291c9102714e7f503ba98\"\u003e\u003ccode\u003e38a54e4\u003c/code\u003e\u003c/a\u003e Split out testdata/init a bit\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/lib/pq/compare/v1.11.2...v1.12.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `go.temporal.io/sdk` from 1.40.0 to 1.43.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/temporalio/sdk-go/releases\"\u003ego.temporal.io/sdk's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.43.0\u003c/h2\u003e\n\u003ch2\u003eHighlights\u003c/h2\u003e\n\u003ch3\u003e💥 Payload and Memo Size Validation (Experimental)\u003c/h3\u003e\n\u003cp\u003eWithin workers, if a payload exceeds the server limits, the worker will eagerly fail the current task instead of uploading the object with the too large payload or memo. This allows the task to be retried instead of entirely failing the workflow from within the server. Additional documentation on how to use this feature will be linked here when available.\u003c/p\u003e\n\u003ch3\u003eExternal Storage Updates (Experimental)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eStore and retrieval operations run concurrently with a default limit of 3 concurrent sequence visits per workflow task, thus shortening wall-class time for store and retrieval operations for each workflow task.\u003c/li\u003e\n\u003cli\u003eNew Codec Server payload HTTP handler to allow Temporal Web UI and CLI to encode, decode, and download externally stored payloads. Additional documentation on how to use this feature will be linked here when available.\u003c/li\u003e\n\u003cli\u003e💥 External storage event history format has been incompatibly changed from prerelease. New storage references are emitted in the new format starting with release. Support for the ability to retrieve references in the old format has been preserved. The prerelease format is deprecated and will be removed in a future release.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eS3 driver readmes by \u003ca href=\"https://github.com/jmaeagle99\"\u003e\u003ccode\u003e@​jmaeagle99\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/temporalio/sdk-go/pull/2281\"\u003etemporalio/sdk-go#2281\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eClarify Standalone Activities in S3 driver README by \u003ca href=\"https://github.com/drewhoskins-temporal\"\u003e\u003ccode\u003e@​drewhoskins-temporal\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/temporalio/sdk-go/pull/2287\"\u003etemporalio/sdk-go#2287\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove flag for cancelling worker polls on shutdown by \u003ca href=\"https://github.com/jmaeagle99\"\u003e\u003ccode\u003e@​jmaeagle99\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/temporalio/sdk-go/pull/2288\"\u003etemporalio/sdk-go#2288\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eExpose Nexus Endpoint in Nexus Info by \u003ca href=\"https://github.com/Quinn-With-Two-Ns\"\u003e\u003ccode\u003e@​Quinn-With-Two-Ns\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/temporalio/sdk-go/pull/2291\"\u003etemporalio/sdk-go#2291\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnable external storage concurrency by \u003ca href=\"https://github.com/jmaeagle99\"\u003e\u003ccode\u003e@​jmaeagle99\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/temporalio/sdk-go/pull/2294\"\u003etemporalio/sdk-go#2294\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: Update and pin all GHA actions by \u003ca href=\"https://github.com/mjameswh\"\u003e\u003ccode\u003e@​mjameswh\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/temporalio/sdk-go/pull/2297\"\u003etemporalio/sdk-go#2297\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eInternal: fix already-ready future chaining to properly complete dest… by \u003ca href=\"https://github.com/kritibehl\"\u003e\u003ccode\u003e@​kritibehl\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/temporalio/sdk-go/pull/2298\"\u003etemporalio/sdk-go#2298\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e:boom: Experimental: Payload limit validation by \u003ca href=\"https://github.com/jmaeagle99\"\u003e\u003ccode\u003e@​jmaeagle99\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/temporalio/sdk-go/pull/2255\"\u003etemporalio/sdk-go#2255\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDo not require resource tuner for heartbeat CPU/mem metrics by \u003ca href=\"https://github.com/Sushisource\"\u003e\u003ccode\u003e@​Sushisource\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/temporalio/sdk-go/pull/2301\"\u003etemporalio/sdk-go#2301\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMore TMPRL1104 logging details by \u003ca href=\"https://github.com/jmaeagle99\"\u003e\u003ccode\u003e@​jmaeagle99\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/temporalio/sdk-go/pull/2300\"\u003etemporalio/sdk-go#2300\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: pollerBalancer.balance checks own count deterministically on every iteration by \u003ca href=\"https://github.com/brucearctor\"\u003e\u003ccode\u003e@​brucearctor\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/temporalio/sdk-go/pull/2250\"\u003etemporalio/sdk-go#2250\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eExperimental: Payload HTTP Handler for Codecs and External Storage by \u003ca href=\"https://github.com/jmaeagle99\"\u003e\u003ccode\u003e@​jmaeagle99\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/temporalio/sdk-go/pull/2295\"\u003etemporalio/sdk-go#2295\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e💥 Experimental: Memo limit validation by \u003ca href=\"https://github.com/jmaeagle99\"\u003e\u003ccode\u003e@​jmaeagle99\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/temporalio/sdk-go/pull/2303\"\u003etemporalio/sdk-go#2303\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs(contributing): remove outdated info from CONTRIBUTING.md. by \u003ca href=\"https://github.com/cconstable\"\u003e\u003ccode\u003e@​cconstable\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/temporalio/sdk-go/pull/2306\"\u003etemporalio/sdk-go#2306\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd main branch to GitHub workflows by \u003ca href=\"https://github.com/jmaeagle99\"\u003e\u003ccode\u003e@​jmaeagle99\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/temporalio/sdk-go/pull/2308\"\u003etemporalio/sdk-go#2308\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePayload visit activity heartbeat by \u003ca href=\"https://github.com/jmaeagle99\"\u003e\u003ccode\u003e@​jmaeagle99\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/temporalio/sdk-go/pull/2312\"\u003etemporalio/sdk-go#2312\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSEC-1653: remediate missing-govulncheck-workflow by \u003ca href=\"https://github.com/picatz\"\u003e\u003ccode\u003e@​picatz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/temporalio/sdk-go/pull/2313\"\u003etemporalio/sdk-go#2313\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e:boom: Use ExternalStorageReference protobuf message for payload references by \u003ca href=\"https://github.com/jmaeagle99\"\u003e\u003ccode\u003e@​jmaeagle99\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/temporalio/sdk-go/pull/2311\"\u003etemporalio/sdk-go#2311\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate go.temporal.io/api to 1.62.11 by \u003ca href=\"https://github.com/jmaeagle99\"\u003e\u003ccode\u003e@​jmaeagle99\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/temporalio/sdk-go/pull/2310\"\u003etemporalio/sdk-go#2310\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate go.opentelemetry.io/otel to 1.41.0 by \u003ca href=\"https://github.com/jmaeagle99\"\u003e\u003ccode\u003e@​jmaeagle99\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/temporalio/sdk-go/pull/2317\"\u003etemporalio/sdk-go#2317\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse protojson marshaling for payload HTTP handler response by \u003ca href=\"https://github.com/jmaeagle99\"\u003e\u003ccode\u003e@​jmaeagle99\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/temporalio/sdk-go/pull/2315\"\u003etemporalio/sdk-go#2315\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Describe to S3 driver client by \u003ca href=\"https://github.com/jmaeagle99\"\u003e\u003ccode\u003e@​jmaeagle99\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/temporalio/sdk-go/pull/2316\"\u003etemporalio/sdk-go#2316\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSet task poller type for scalable task pollers by \u003ca href=\"https://github.com/kritibehl\"\u003e\u003ccode\u003e@​kritibehl\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/temporalio/sdk-go/pull/2248\"\u003etemporalio/sdk-go#2248\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eCONTINUE_AS_NEW_VERSIONING_BEHAVIOR_USE_RAMPING_VERSION\u003c/code\u003e by \u003ca href=\"https://github.com/THardy98\"\u003e\u003ccode\u003e@​THardy98\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/temporalio/sdk-go/pull/2319\"\u003etemporalio/sdk-go#2319\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/drewhoskins-temporal\"\u003e\u003ccode\u003e@​drewhoskins-temporal\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/temporalio/sdk-go/pull/2287\"\u003etemporalio/sdk-go#2287\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brucearctor\"\u003e\u003ccode\u003e@​brucearctor\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/temporalio/sdk-go/pull/2250\"\u003etemporalio/sdk-go#2250\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cconstable\"\u003e\u003ccode\u003e@​cconstable\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/temporalio/sdk-go/pull/2306\"\u003etemporalio/sdk-go#2306\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/temporalio/sdk-go/compare/v1.42.0...v1.43.0\"\u003ehttps://github.com/temporalio/sdk-go/compare/v1.42.0...v1.43.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.42.0\u003c/h2\u003e\n\u003ch2\u003eBreaking Changes\u003c/h2\u003e\n\u003ch3\u003e\u003cstrong\u003e💥\u003c/strong\u003e Minimum Go version updated to 1.24.0\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/temporalio/sdk-go/commit/8b9d2c2589cd0466c73089eb9e71c2e8491ff2e9\"\u003e\u003ccode\u003e8b9d2c2\u003c/code\u003e\u003c/a\u003e Release Go SDK v1.43.0 (\u003ca href=\"https://redirect.github.com/temporalio/sdk-go/issues/2320\"\u003e#2320\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/temporalio/sdk-go/commit/ebf4b2b8378494b150c7cc3c17c545de51a1e7c6\"\u003e\u003ccode\u003eebf4b2b\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003eCONTINUE_AS_NEW_VERSIONING_BEHAVIOR_USE_RAMPING_VERSION\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/temporalio/sdk-go/issues/2319\"\u003e#2319\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/temporalio/sdk-go/commit/35367242edb9e92be90825cd7653ab0046a660d1\"\u003e\u003ccode\u003e3536724\u003c/code\u003e\u003c/a\u003e Set task poller type for scalable task pollers (\u003ca href=\"https://redirect.github.com/temporalio/sdk-go/issues/2248\"\u003e#2248\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/temporalio/sdk-go/commit/149711acc26af7fe10bb9009330cb74c1a841016\"\u003e\u003ccode\u003e149711a\u003c/code\u003e\u003c/a\u003e Add Describe to S3 driver client (\u003ca href=\"https://redirect.github.com/temporalio/sdk-go/issues/2316\"\u003e#2316\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/temporalio/sdk-go/commit/a27c0b46ac55e6c69580b50edf88b0c86d7220b6\"\u003e\u003ccode\u003ea27c0b4\u003c/code\u003e\u003c/a\u003e Use protojson marshaling for payload HTTP handler response (\u003ca href=\"https://redirect.github.com/temporalio/sdk-go/issues/2315\"\u003e#2315\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/temporalio/sdk-go/commit/0cdb74ea16666b8a952aa7635a7e212f653d3dfe\"\u003e\u003ccode\u003e0cdb74e\u003c/code\u003e\u003c/a\u003e Update go.opentelemetry.io/otel to 1.41.0 (\u003ca href=\"https://redirect.github.com/temporalio/sdk-go/issues/2317\"\u003e#2317\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/temporalio/sdk-go/commit/38c6f517a2d52bad2ccee7c1311ec3907638b616\"\u003e\u003ccode\u003e38c6f51\u003c/code\u003e\u003c/a\u003e Update go.temporal.io/api to 1.62.11 (\u003ca href=\"https://redirect.github.com/temporalio/sdk-go/issues/2310\"\u003e#2310\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/temporalio/sdk-go/commit/2086ddb9034e42c31549ec8a06803ce875c96805\"\u003e\u003ccode\u003e2086ddb\u003c/code\u003e\u003c/a\u003e 💥 Use ExternalStorageReference proto for payload references (\u003ca href=\"https://redirect.github.com/temporalio/sdk-go/issues/2311\"\u003e#2311\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/temporalio/sdk-go/commit/9d32461522e830f181f0dfdeab715bdb3870ac40\"\u003e\u003ccode\u003e9d32461\u003c/code\u003e\u003c/a\u003e SEC-1653: fix missing-govulncheck-workflow (\u003ca href=\"https://redirect.github.com/temporalio/sdk-go/issues/2313\"\u003e#2313\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/temporalio/sdk-go/commit/ba200b88e609f7465a3ebc2aa13e13a2199f52b0\"\u003e\u003ccode\u003eba200b8\u003c/code\u003e\u003c/a\u003e Payload visit activity heartbeat (\u003ca href=\"https://redirect.github.com/temporalio/sdk-go/issues/2312\"\u003e#2312\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/temporalio/sdk-go/compare/v1.40.0...v1.43.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n","html_url":"https://github.com/hidatara-ds/evolipia-radar/pull/75","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/hidatara-ds%2Fevolipia-radar/issues/75","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/75/packages"},{"uuid":"4287724927","node_id":"PR_kwDOSGAfc87TkZlO","number":71,"state":"open","title":"chore(deps): bump github.com/gin-gonic/gin from 1.9.1 to 1.12.0 in /services/QMServer","user":"dependabot[bot]","labels":["dependencies","go"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-04-18T10:58:08.000Z","updated_at":"2026-04-18T12:31:22.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)","packages":[{"name":"github.com/gin-gonic/gin","old_version":"1.9.1","new_version":"1.12.0","repository_url":"https://github.com/gin-gonic/gin"}],"path":"/services/QMServer","ecosystem":"go"},"body":"Bumps [github.com/gin-gonic/gin](https://github.com/gin-gonic/gin) from 1.9.1 to 1.12.0.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/gin-gonic/gin/releases\"\u003egithub.com/gin-gonic/gin's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.12.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e192ac89eefc1c30f7c97ae48a9ffb1c6f1c8c8bc: feat(binding): add support for encoding.UnmarshalText in uri/query binding (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4203\"\u003e#4203\u003c/a\u003e) (\u003ca href=\"https://github.com/takanuva15\"\u003e\u003ccode\u003e@​takanuva15\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e53410d2e07054369e0960fbe2eed97e1b9966f12: feat(context): add GetError and GetErrorSlice methods for error retrieval (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4502\"\u003e#4502\u003c/a\u003e) (\u003ca href=\"https://github.com/raju-mechatronics\"\u003e\u003ccode\u003e@​raju-mechatronics\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eacc55e049e33b401e810dbd8c0d6dcb6b3ba2b05: feat(context): add Protocol Buffers support to content negotiation (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4423\"\u003e#4423\u003c/a\u003e) (\u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e38e765119241d990705169bedb5002a29ae0cbd1: feat(context): implemented Delete method (\u003ca href=\"https://github.com/Spyder01\"\u003e\u003ccode\u003e@​Spyder01\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e771dcc6476d7bc6abb9ec0235ecefa4d38fe6fb0: feat(gin): add option to use escaped path (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4420\"\u003e#4420\u003c/a\u003e) (\u003ca href=\"https://github.com/ldesauw\"\u003e\u003ccode\u003e@​ldesauw\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e4dec17afdff48e8018c83618fbbe69fceeb2b41d: feat(logger): color latency (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4146\"\u003e#4146\u003c/a\u003e) (\u003ca href=\"https://github.com/wsyqn6\"\u003e\u003ccode\u003e@​wsyqn6\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ed7776de7d444935ea4385999711bd6331a98fecb: feat(render): add bson protocol (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4145\"\u003e#4145\u003c/a\u003e) (\u003ca href=\"https://github.com/laurentcau\"\u003e\u003ccode\u003e@​laurentcau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eb917b14ff9d189f16a7492be79d123a47806ee19: fix(binding): empty value error (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/2169\"\u003e#2169\u003c/a\u003e) (\u003ca href=\"https://github.com/guonaihong\"\u003e\u003ccode\u003e@​guonaihong\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ec3d1092b3b48addf6f9cd00fe274ec3bd14650eb: fix(binding): improve empty slice/array handling in form binding (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4380\"\u003e#4380\u003c/a\u003e) (\u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e9914178584e42458ff7d23891463a880f58c9d86: fix(context): ClientIP handling for multiple X-Forwarded-For header values (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4472\"\u003e#4472\u003c/a\u003e) (\u003ca href=\"https://github.com/Nurysso\"\u003e\u003ccode\u003e@​Nurysso\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e2a794cd0b0faa7d829291375b27a3467ea972b0d: fix(debug): version mismatch (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4403\"\u003e#4403\u003c/a\u003e) (\u003ca href=\"https://github.com/zeek0x\"\u003e\u003ccode\u003e@​zeek0x\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ec3d5a28ed6d3849da820195b6774d212bcc038a9: fix(gin): close os.File in RunFd to prevent resource leak (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4422\"\u003e#4422\u003c/a\u003e) (\u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e5fad976b372e381312f8de69f0969f1284d229d3: fix(gin): literal colon routes not working with engine.Handler() (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4415\"\u003e#4415\u003c/a\u003e) (\u003ca href=\"https://github.com/pawannn\"\u003e\u003ccode\u003e@​pawannn\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e63dd3e60cab89c27fb66bce1423bd268d52abad1: fix(recover): suppress http.ErrAbortHandler in recover (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4336\"\u003e#4336\u003c/a\u003e) (\u003ca href=\"https://github.com/MondayCha\"\u003e\u003ccode\u003e@​MondayCha\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e5c00df8afadd06cc5be530dde00fe6d9fa4a2e4a: fix(render): write content length in Data.Render (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4206\"\u003e#4206\u003c/a\u003e) (\u003ca href=\"https://github.com/dengaleev\"\u003e\u003ccode\u003e@​dengaleev\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e234a6d4c00cb77af9852aca0b8289745d5529b4b: fix(response): refine hijack behavior for response lifecycle (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4373\"\u003e#4373\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e472d086af2acd924cb4b9d7be0525f7d790f69bc: fix(tree): panic in findCaseInsensitivePathRec with RedirectFixedPath (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4535\"\u003e#4535\u003c/a\u003e) (\u003ca href=\"https://github.com/veeceey\"\u003e\u003ccode\u003e@​veeceey\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e8e07d37c63e5536eb25f4af4c91eabeee4011fba: fix: Correct typos, improve documentation clarity, and remove dead code (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4511\"\u003e#4511\u003c/a\u003e) (\u003ca href=\"https://github.com/mahanadh\"\u003e\u003ccode\u003e@​mahanadh\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eba093d19477b896ac89a7fc3246af23d290b8e26: chore(binding): upgrade bson dependency to mongo-driver v2 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4549\"\u003e#4549\u003c/a\u003e) (\u003ca href=\"https://github.com/BobDu\"\u003e\u003ccode\u003e@​BobDu\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eb2b489dbf4826c2c630717a77fd5e42774625410: chore(context): always trust xff headers from unix socket (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/3359\"\u003e#3359\u003c/a\u003e) (\u003ca href=\"https://github.com/WeidiDeng\"\u003e\u003ccode\u003e@​WeidiDeng\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eecb3f7b5e2f3915bf1db240ed5eee572f8dbea36: chore(deps): upgrade golang.org/x/crypto to v0.45.0 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4449\"\u003e#4449\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eaf6e8b70b8261bb0c99ad094fe552ab92991620a: chore(deps): upgrade quic-go to v0.57.1 (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edb309081bc5c137b2aa15701ef53f7f19788da25: chore(logger): allow skipping query string output (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4547\"\u003e#4547\u003c/a\u003e) (\u003ca href=\"https://github.com/USA-RedDragon\"\u003e\u003ccode\u003e@​USA-RedDragon\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e26c3a628655cad2388380cb8102d6ce7d4875f3b: chore(response): prevent Flush() panic when \u003ccode\u003ehttp.Flusher\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4479\"\u003e#4479\u003c/a\u003e) (\u003ca href=\"https://github.com/Twacqwq\"\u003e\u003ccode\u003e@​Twacqwq\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e5dd833f1f26de0eb30eae47b17e05ced2482dc41: chore: bump minimum Go version to 1.24 and update workflows (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4388\"\u003e#4388\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRefactor\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e39858a0859c914bd26948fa950477e11bd8d3823: refactor(binding): use maps.Copy for cleaner map handling (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4352\"\u003e#4352\u003c/a\u003e) (\u003ca href=\"https://github.com/russcoss\"\u003e\u003ccode\u003e@​russcoss\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ec0048f645ee945c4db30593afdea10123e2c30a6: refactor(context): omit the return value names (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4395\"\u003e#4395\u003c/a\u003e) (\u003ca href=\"https://github.com/wanghaolong613\"\u003e\u003ccode\u003e@​wanghaolong613\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e915e4c90d28ec4cffc6eb146e208ab5a65eac772: refactor(context): replace hardcoded localhost IPs with constants (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4481\"\u003e#4481\u003c/a\u003e) (\u003ca href=\"https://github.com/pauloappbr\"\u003e\u003ccode\u003e@​pauloappbr\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e414de60574449457f3192a7a1d5528940db2836d: refactor(context): using maps.Clone (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4333\"\u003e#4333\u003c/a\u003e) (\u003ca href=\"https://github.com/cuiweixie\"\u003e\u003ccode\u003e@​cuiweixie\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e59e9d4a794f12c4f9a6c7bed441b9644e5f6d99b: refactor(ginS): use sync.OnceValue to simplify engine function (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4314\"\u003e#4314\u003c/a\u003e) (\u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e3ab698dc5110af1977d57226e4995c57dd34c233: refactor(recovery): smart error comparison (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4142\"\u003e#4142\u003c/a\u003e) (\u003ca href=\"https://github.com/zeek0x\"\u003e\u003ccode\u003e@​zeek0x\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ed1a15347b1e45a8ee816193d3578a93bfd73b70f: refactor(utils): move util functions to utils.go (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4467\"\u003e#4467\u003c/a\u003e) (\u003ca href=\"https://github.com/zeek0x\"\u003e\u003ccode\u003e@​zeek0x\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ee3118cc378d263454098924ebbde7e8d1dd2e904: refactor: for loop can be modernized using range over int (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4392\"\u003e#4392\u003c/a\u003e) (\u003ca href=\"https://github.com/wanghaolong613\"\u003e\u003ccode\u003e@​wanghaolong613\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e488f8c3ffa579a8d19beb2bae95ff8ef36b3d53f: refactor: replace magic numbers with named constants in bodyAllowedForStatus (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4529\"\u003e#4529\u003c/a\u003e) (\u003ca href=\"https://github.com/veeceey\"\u003e\u003ccode\u003e@​veeceey\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e9968c4bf9d5a99edc3eee2c068a4c9160ece8915: refactor: use b.Loop() to simplify the code and improve performance (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4389\"\u003e#4389\u003c/a\u003e) (\u003ca href=\"https://github.com/reddaisyy\"\u003e\u003ccode\u003e@​reddaisyy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ea85ef5ce4d0cda8834c59c855068ed48b51192d1: refactor: use b.Loop() to simplify the code and improve performance (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4432\"\u003e#4432\u003c/a\u003e) (\u003ca href=\"https://github.com/efcking\"\u003e\u003ccode\u003e@​efcking\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBuild process updates\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e61b67de522a189b568aced4c5c16917c558e3387: ci(bot): increase frequency and group updates for dependencies (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4367\"\u003e#4367\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efb27ef26c2fdfe25344b4c039d8a53551f9e912c: ci(lint): refactor test assertions and linter configuration (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4436\"\u003e#4436\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e93ff771e6dbf10e432864b30f3719ac5c84a4d4a: ci(sec): improve type safety and server organization in HTTP middleware (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4437\"\u003e#4437\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ee88fc8927a52b74f55bec0351604a56ac0aa1c51: ci(sec): schedule Trivy security scans to run daily at midnight UTC (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4439\"\u003e#4439\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e5e5ff3ace496a31b138b0820136a146bfb5de0ef: ci: replace vulnerability scanning workflow with Trivy integration (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4421\"\u003e#4421\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e00900fb3e1ea9dde33985a0e4f6afec793d5e786: ci: update CI workflows and standardize Trivy config quotes (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4531\"\u003e#4531\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eae3f524974fc4f55d18c9e7fae4614503c015226: ci: update Go version support to 1.25+ across CI and docs (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4550\"\u003e#4550\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/gin-gonic/gin/blob/master/CHANGELOG.md\"\u003egithub.com/gin-gonic/gin's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eGin v1.12.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat(render): add bson protocol (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4145\"\u003e#4145\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(context): add GetError and GetErrorSlice methods for error retrieval (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4502\"\u003e#4502\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(binding): add support for encoding.UnmarshalText in uri/query binding (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4203\"\u003e#4203\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(gin): add option to use escaped path (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4420\"\u003e#4420\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(context): add Protocol Buffers support to content negotiation (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4423\"\u003e#4423\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(context): implemented Delete method (\u003ca href=\"https://github.com/gin-gonic/gin/commit/38e7651\"\u003e#38e7651\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(logger): color latency (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4146\"\u003e#4146\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eperf(tree): reduce allocations in findCaseInsensitivePath (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4417\"\u003e#4417\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eperf(recovery): optimize line reading in stack function (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4466\"\u003e#4466\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eperf(path): replace regex with custom functions in redirectTrailingSlash (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4414\"\u003e#4414\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eperf(tree): optimize path parsing using strings.Count (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4246\"\u003e#4246\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(logger): allow skipping query string output (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4547\"\u003e#4547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(context): always trust xff headers from unix socket (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/3359\"\u003e#3359\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(response): prevent Flush() panic when the underlying ResponseWriter does not implement \u003ccode\u003ehttp.Flusher\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4479\"\u003e#4479\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(recovery): smart error comparison (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4142\"\u003e#4142\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(context): replace hardcoded localhost IPs with constants (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4481\"\u003e#4481\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(utils): move util functions to utils.go (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4467\"\u003e#4467\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(binding): use maps.Copy for cleaner map handling (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4352\"\u003e#4352\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(context): using maps.Clone (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4333\"\u003e#4333\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(ginS): use sync.OnceValue to simplify engine function (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4314\"\u003e#4314\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor: replace magic numbers with named constants in bodyAllowedForStatus (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4529\"\u003e#4529\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor: for loop can be modernized using range over int (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4392\"\u003e#4392\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(tree): panic in findCaseInsensitivePathRec with RedirectFixedPath (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4535\"\u003e#4535\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(render): write content length in Data.Render (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4206\"\u003e#4206\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(context): ClientIP handling for multiple X-Forwarded-For header values (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4472\"\u003e#4472\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(binding): empty value error (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/2169\"\u003e#2169\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(recover): suppress http.ErrAbortHandler in recover (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4336\"\u003e#4336\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(gin): literal colon routes not working with engine.Handler() (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4415\"\u003e#4415\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(gin): close os.File in RunFd to prevent resource leak (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4422\"\u003e#4422\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(response): refine hijack behavior for response lifecycle (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4373\"\u003e#4373\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(binding): improve empty slice/array handling in form binding (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4380\"\u003e#4380\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(debug): version mismatch (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4403\"\u003e#4403\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: correct typos, improve documentation clarity, and remove dead code (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4511\"\u003e#4511\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBuild process updates / CI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eci: update Go version support to 1.25+ across CI and docs (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4550\"\u003e#4550\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(binding): upgrade bson dependency to mongo-driver v2 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4549\"\u003e#4549\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eGin v1.11.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/73726dc606796a025971fe451f0aa6f1b9b847f6\"\u003e\u003ccode\u003e73726dc\u003c/code\u003e\u003c/a\u003e docs: update documentation to reflect Go version changes (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4552\"\u003e#4552\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/e292e5caa777bce70b66fe08c94cbe9cef3e2ec9\"\u003e\u003ccode\u003ee292e5c\u003c/code\u003e\u003c/a\u003e docs: document and finalize Gin v1.12.0 release (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4551\"\u003e#4551\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/ae3f524974fc4f55d18c9e7fae4614503c015226\"\u003e\u003ccode\u003eae3f524\u003c/code\u003e\u003c/a\u003e ci: update Go version support to 1.25+ across CI and docs (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4550\"\u003e#4550\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/38534e2bf98a06e1f62d6b24384e90b5f78699bf\"\u003e\u003ccode\u003e38534e2\u003c/code\u003e\u003c/a\u003e chore(deps): bump golang.org/x/net from 0.50.0 to 0.51.0 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4548\"\u003e#4548\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/472d086af2acd924cb4b9d7be0525f7d790f69bc\"\u003e\u003ccode\u003e472d086\u003c/code\u003e\u003c/a\u003e fix(tree): panic in findCaseInsensitivePathRec with RedirectFixedPath (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4535\"\u003e#4535\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/fb2583442c4d9bccb75e6d26f1aa6e7c01950db6\"\u003e\u003ccode\u003efb25834\u003c/code\u003e\u003c/a\u003e test(context): use http.StatusContinue constant instead of magic number 100 (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/6f1d5fe3cdb171a08928c3c9dd3fbcfc9ee1b521\"\u003e\u003ccode\u003e6f1d5fe\u003c/code\u003e\u003c/a\u003e test(render): add comprehensive error handling tests (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4541\"\u003e#4541\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/5c00df8afadd06cc5be530dde00fe6d9fa4a2e4a\"\u003e\u003ccode\u003e5c00df8\u003c/code\u003e\u003c/a\u003e fix(render): write content length in Data.Render (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4206\"\u003e#4206\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/db309081bc5c137b2aa15701ef53f7f19788da25\"\u003e\u003ccode\u003edb30908\u003c/code\u003e\u003c/a\u003e chore(logger): allow skipping query string output (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4547\"\u003e#4547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/ba093d19477b896ac89a7fc3246af23d290b8e26\"\u003e\u003ccode\u003eba093d1\u003c/code\u003e\u003c/a\u003e chore(binding): upgrade bson dependency to mongo-driver v2 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4549\"\u003e#4549\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/gin-gonic/gin/compare/v1.9.1...v1.12.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n","html_url":"https://github.com/mindevis/qm-project/pull/71","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/mindevis%2Fqm-project/issues/71","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/71/packages"}],"issue_packages":[{"old_version":"1.11.0","new_version":"1.12.0","update_type":"minor","path":"/apps/api/src","pr_created_at":"2026-06-15T01:05:33.000Z","version_change":"1.11.0 → 1.12.0","issue":{"uuid":"4661290544","node_id":"PR_kwDONJpy787mV18d","number":619,"state":"open","title":"fix(deps): bump the go-minor-patch group in /apps/api/src with 2 updates","user":"dependabot[bot]","labels":["dependencies"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-06-15T01:05:33.000Z","updated_at":"2026-06-15T01:08:57.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"fix(deps): bump","group_name":"go-minor-patch","update_count":2,"packages":[{"name":"github.com/gin-gonic/gin","old_version":"1.11.0","new_version":"1.12.0","repository_url":"https://github.com/gin-gonic/gin"},{"name":"github.com/rs/zerolog","old_version":"1.34.0","new_version":"1.35.1","repository_url":"https://github.com/rs/zerolog"}],"path":"/apps/api/src","ecosystem":"go"},"body":"Bumps the go-minor-patch group in /apps/api/src with 2 updates: [github.com/gin-gonic/gin](https://github.com/gin-gonic/gin) and [github.com/rs/zerolog](https://github.com/rs/zerolog).\n\nUpdates `github.com/gin-gonic/gin` from 1.11.0 to 1.12.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/gin-gonic/gin/releases\"\u003egithub.com/gin-gonic/gin's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.12.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e192ac89eefc1c30f7c97ae48a9ffb1c6f1c8c8bc: feat(binding): add support for encoding.UnmarshalText in uri/query binding (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4203\"\u003e#4203\u003c/a\u003e) (\u003ca href=\"https://github.com/takanuva15\"\u003e\u003ccode\u003e@​takanuva15\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e53410d2e07054369e0960fbe2eed97e1b9966f12: feat(context): add GetError and GetErrorSlice methods for error retrieval (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4502\"\u003e#4502\u003c/a\u003e) (\u003ca href=\"https://github.com/raju-mechatronics\"\u003e\u003ccode\u003e@​raju-mechatronics\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eacc55e049e33b401e810dbd8c0d6dcb6b3ba2b05: feat(context): add Protocol Buffers support to content negotiation (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4423\"\u003e#4423\u003c/a\u003e) (\u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e38e765119241d990705169bedb5002a29ae0cbd1: feat(context): implemented Delete method (\u003ca href=\"https://github.com/Spyder01\"\u003e\u003ccode\u003e@​Spyder01\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e771dcc6476d7bc6abb9ec0235ecefa4d38fe6fb0: feat(gin): add option to use escaped path (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4420\"\u003e#4420\u003c/a\u003e) (\u003ca href=\"https://github.com/ldesauw\"\u003e\u003ccode\u003e@​ldesauw\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e4dec17afdff48e8018c83618fbbe69fceeb2b41d: feat(logger): color latency (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4146\"\u003e#4146\u003c/a\u003e) (\u003ca href=\"https://github.com/wsyqn6\"\u003e\u003ccode\u003e@​wsyqn6\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ed7776de7d444935ea4385999711bd6331a98fecb: feat(render): add bson protocol (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4145\"\u003e#4145\u003c/a\u003e) (\u003ca href=\"https://github.com/laurentcau\"\u003e\u003ccode\u003e@​laurentcau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eb917b14ff9d189f16a7492be79d123a47806ee19: fix(binding): empty value error (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/2169\"\u003e#2169\u003c/a\u003e) (\u003ca href=\"https://github.com/guonaihong\"\u003e\u003ccode\u003e@​guonaihong\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ec3d1092b3b48addf6f9cd00fe274ec3bd14650eb: fix(binding): improve empty slice/array handling in form binding (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4380\"\u003e#4380\u003c/a\u003e) (\u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e9914178584e42458ff7d23891463a880f58c9d86: fix(context): ClientIP handling for multiple X-Forwarded-For header values (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4472\"\u003e#4472\u003c/a\u003e) (\u003ca href=\"https://github.com/Nurysso\"\u003e\u003ccode\u003e@​Nurysso\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e2a794cd0b0faa7d829291375b27a3467ea972b0d: fix(debug): version mismatch (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4403\"\u003e#4403\u003c/a\u003e) (\u003ca href=\"https://github.com/zeek0x\"\u003e\u003ccode\u003e@​zeek0x\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ec3d5a28ed6d3849da820195b6774d212bcc038a9: fix(gin): close os.File in RunFd to prevent resource leak (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4422\"\u003e#4422\u003c/a\u003e) (\u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e5fad976b372e381312f8de69f0969f1284d229d3: fix(gin): literal colon routes not working with engine.Handler() (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4415\"\u003e#4415\u003c/a\u003e) (\u003ca href=\"https://github.com/pawannn\"\u003e\u003ccode\u003e@​pawannn\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e63dd3e60cab89c27fb66bce1423bd268d52abad1: fix(recover): suppress http.ErrAbortHandler in recover (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4336\"\u003e#4336\u003c/a\u003e) (\u003ca href=\"https://github.com/MondayCha\"\u003e\u003ccode\u003e@​MondayCha\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e5c00df8afadd06cc5be530dde00fe6d9fa4a2e4a: fix(render): write content length in Data.Render (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4206\"\u003e#4206\u003c/a\u003e) (\u003ca href=\"https://github.com/dengaleev\"\u003e\u003ccode\u003e@​dengaleev\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e234a6d4c00cb77af9852aca0b8289745d5529b4b: fix(response): refine hijack behavior for response lifecycle (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4373\"\u003e#4373\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e472d086af2acd924cb4b9d7be0525f7d790f69bc: fix(tree): panic in findCaseInsensitivePathRec with RedirectFixedPath (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4535\"\u003e#4535\u003c/a\u003e) (\u003ca href=\"https://github.com/veeceey\"\u003e\u003ccode\u003e@​veeceey\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e8e07d37c63e5536eb25f4af4c91eabeee4011fba: fix: Correct typos, improve documentation clarity, and remove dead code (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4511\"\u003e#4511\u003c/a\u003e) (\u003ca href=\"https://github.com/mahanadh\"\u003e\u003ccode\u003e@​mahanadh\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eba093d19477b896ac89a7fc3246af23d290b8e26: chore(binding): upgrade bson dependency to mongo-driver v2 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4549\"\u003e#4549\u003c/a\u003e) (\u003ca href=\"https://github.com/BobDu\"\u003e\u003ccode\u003e@​BobDu\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eb2b489dbf4826c2c630717a77fd5e42774625410: chore(context): always trust xff headers from unix socket (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/3359\"\u003e#3359\u003c/a\u003e) (\u003ca href=\"https://github.com/WeidiDeng\"\u003e\u003ccode\u003e@​WeidiDeng\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eecb3f7b5e2f3915bf1db240ed5eee572f8dbea36: chore(deps): upgrade golang.org/x/crypto to v0.45.0 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4449\"\u003e#4449\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eaf6e8b70b8261bb0c99ad094fe552ab92991620a: chore(deps): upgrade quic-go to v0.57.1 (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edb309081bc5c137b2aa15701ef53f7f19788da25: chore(logger): allow skipping query string output (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4547\"\u003e#4547\u003c/a\u003e) (\u003ca href=\"https://github.com/USA-RedDragon\"\u003e\u003ccode\u003e@​USA-RedDragon\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e26c3a628655cad2388380cb8102d6ce7d4875f3b: chore(response): prevent Flush() panic when \u003ccode\u003ehttp.Flusher\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4479\"\u003e#4479\u003c/a\u003e) (\u003ca href=\"https://github.com/Twacqwq\"\u003e\u003ccode\u003e@​Twacqwq\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e5dd833f1f26de0eb30eae47b17e05ced2482dc41: chore: bump minimum Go version to 1.24 and update workflows (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4388\"\u003e#4388\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRefactor\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e39858a0859c914bd26948fa950477e11bd8d3823: refactor(binding): use maps.Copy for cleaner map handling (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4352\"\u003e#4352\u003c/a\u003e) (\u003ca href=\"https://github.com/russcoss\"\u003e\u003ccode\u003e@​russcoss\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ec0048f645ee945c4db30593afdea10123e2c30a6: refactor(context): omit the return value names (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4395\"\u003e#4395\u003c/a\u003e) (\u003ca href=\"https://github.com/wanghaolong613\"\u003e\u003ccode\u003e@​wanghaolong613\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e915e4c90d28ec4cffc6eb146e208ab5a65eac772: refactor(context): replace hardcoded localhost IPs with constants (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4481\"\u003e#4481\u003c/a\u003e) (\u003ca href=\"https://github.com/pauloappbr\"\u003e\u003ccode\u003e@​pauloappbr\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e414de60574449457f3192a7a1d5528940db2836d: refactor(context): using maps.Clone (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4333\"\u003e#4333\u003c/a\u003e) (\u003ca href=\"https://github.com/cuiweixie\"\u003e\u003ccode\u003e@​cuiweixie\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e59e9d4a794f12c4f9a6c7bed441b9644e5f6d99b: refactor(ginS): use sync.OnceValue to simplify engine function (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4314\"\u003e#4314\u003c/a\u003e) (\u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e3ab698dc5110af1977d57226e4995c57dd34c233: refactor(recovery): smart error comparison (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4142\"\u003e#4142\u003c/a\u003e) (\u003ca href=\"https://github.com/zeek0x\"\u003e\u003ccode\u003e@​zeek0x\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ed1a15347b1e45a8ee816193d3578a93bfd73b70f: refactor(utils): move util functions to utils.go (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4467\"\u003e#4467\u003c/a\u003e) (\u003ca href=\"https://github.com/zeek0x\"\u003e\u003ccode\u003e@​zeek0x\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ee3118cc378d263454098924ebbde7e8d1dd2e904: refactor: for loop can be modernized using range over int (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4392\"\u003e#4392\u003c/a\u003e) (\u003ca href=\"https://github.com/wanghaolong613\"\u003e\u003ccode\u003e@​wanghaolong613\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e488f8c3ffa579a8d19beb2bae95ff8ef36b3d53f: refactor: replace magic numbers with named constants in bodyAllowedForStatus (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4529\"\u003e#4529\u003c/a\u003e) (\u003ca href=\"https://github.com/veeceey\"\u003e\u003ccode\u003e@​veeceey\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e9968c4bf9d5a99edc3eee2c068a4c9160ece8915: refactor: use b.Loop() to simplify the code and improve performance (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4389\"\u003e#4389\u003c/a\u003e) (\u003ca href=\"https://github.com/reddaisyy\"\u003e\u003ccode\u003e@​reddaisyy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ea85ef5ce4d0cda8834c59c855068ed48b51192d1: refactor: use b.Loop() to simplify the code and improve performance (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4432\"\u003e#4432\u003c/a\u003e) (\u003ca href=\"https://github.com/efcking\"\u003e\u003ccode\u003e@​efcking\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBuild process updates\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e61b67de522a189b568aced4c5c16917c558e3387: ci(bot): increase frequency and group updates for dependencies (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4367\"\u003e#4367\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efb27ef26c2fdfe25344b4c039d8a53551f9e912c: ci(lint): refactor test assertions and linter configuration (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4436\"\u003e#4436\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e93ff771e6dbf10e432864b30f3719ac5c84a4d4a: ci(sec): improve type safety and server organization in HTTP middleware (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4437\"\u003e#4437\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ee88fc8927a52b74f55bec0351604a56ac0aa1c51: ci(sec): schedule Trivy security scans to run daily at midnight UTC (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4439\"\u003e#4439\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e5e5ff3ace496a31b138b0820136a146bfb5de0ef: ci: replace vulnerability scanning workflow with Trivy integration (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4421\"\u003e#4421\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e00900fb3e1ea9dde33985a0e4f6afec793d5e786: ci: update CI workflows and standardize Trivy config quotes (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4531\"\u003e#4531\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eae3f524974fc4f55d18c9e7fae4614503c015226: ci: update Go version support to 1.25+ across CI and docs (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4550\"\u003e#4550\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/gin-gonic/gin/blob/master/CHANGELOG.md\"\u003egithub.com/gin-gonic/gin's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eGin v1.12.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat(render): add bson protocol (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4145\"\u003e#4145\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(context): add GetError and GetErrorSlice methods for error retrieval (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4502\"\u003e#4502\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(binding): add support for encoding.UnmarshalText in uri/query binding (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4203\"\u003e#4203\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(gin): add option to use escaped path (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4420\"\u003e#4420\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(context): add Protocol Buffers support to content negotiation (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4423\"\u003e#4423\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(context): implemented Delete method (\u003ca href=\"https://github.com/gin-gonic/gin/commit/38e7651\"\u003e#38e7651\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(logger): color latency (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4146\"\u003e#4146\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eperf(tree): reduce allocations in findCaseInsensitivePath (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4417\"\u003e#4417\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eperf(recovery): optimize line reading in stack function (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4466\"\u003e#4466\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eperf(path): replace regex with custom functions in redirectTrailingSlash (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4414\"\u003e#4414\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eperf(tree): optimize path parsing using strings.Count (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4246\"\u003e#4246\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(logger): allow skipping query string output (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4547\"\u003e#4547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(context): always trust xff headers from unix socket (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/3359\"\u003e#3359\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(response): prevent Flush() panic when the underlying ResponseWriter does not implement \u003ccode\u003ehttp.Flusher\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4479\"\u003e#4479\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(recovery): smart error comparison (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4142\"\u003e#4142\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(context): replace hardcoded localhost IPs with constants (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4481\"\u003e#4481\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(utils): move util functions to utils.go (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4467\"\u003e#4467\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(binding): use maps.Copy for cleaner map handling (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4352\"\u003e#4352\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(context): using maps.Clone (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4333\"\u003e#4333\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(ginS): use sync.OnceValue to simplify engine function (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4314\"\u003e#4314\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor: replace magic numbers with named constants in bodyAllowedForStatus (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4529\"\u003e#4529\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor: for loop can be modernized using range over int (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4392\"\u003e#4392\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(tree): panic in findCaseInsensitivePathRec with RedirectFixedPath (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4535\"\u003e#4535\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(render): write content length in Data.Render (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4206\"\u003e#4206\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(context): ClientIP handling for multiple X-Forwarded-For header values (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4472\"\u003e#4472\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(binding): empty value error (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/2169\"\u003e#2169\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(recover): suppress http.ErrAbortHandler in recover (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4336\"\u003e#4336\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(gin): literal colon routes not working with engine.Handler() (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4415\"\u003e#4415\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(gin): close os.File in RunFd to prevent resource leak (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4422\"\u003e#4422\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(response): refine hijack behavior for response lifecycle (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4373\"\u003e#4373\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(binding): improve empty slice/array handling in form binding (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4380\"\u003e#4380\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(debug): version mismatch (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4403\"\u003e#4403\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: correct typos, improve documentation clarity, and remove dead code (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4511\"\u003e#4511\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBuild process updates / CI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eci: update Go version support to 1.25+ across CI and docs (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4550\"\u003e#4550\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(binding): upgrade bson dependency to mongo-driver v2 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4549\"\u003e#4549\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/73726dc606796a025971fe451f0aa6f1b9b847f6\"\u003e\u003ccode\u003e73726dc\u003c/code\u003e\u003c/a\u003e docs: update documentation to reflect Go version changes (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4552\"\u003e#4552\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/e292e5caa777bce70b66fe08c94cbe9cef3e2ec9\"\u003e\u003ccode\u003ee292e5c\u003c/code\u003e\u003c/a\u003e docs: document and finalize Gin v1.12.0 release (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4551\"\u003e#4551\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/ae3f524974fc4f55d18c9e7fae4614503c015226\"\u003e\u003ccode\u003eae3f524\u003c/code\u003e\u003c/a\u003e ci: update Go version support to 1.25+ across CI and docs (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4550\"\u003e#4550\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/38534e2bf98a06e1f62d6b24384e90b5f78699bf\"\u003e\u003ccode\u003e38534e2\u003c/code\u003e\u003c/a\u003e chore(deps): bump golang.org/x/net from 0.50.0 to 0.51.0 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4548\"\u003e#4548\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/472d086af2acd924cb4b9d7be0525f7d790f69bc\"\u003e\u003ccode\u003e472d086\u003c/code\u003e\u003c/a\u003e fix(tree): panic in findCaseInsensitivePathRec with RedirectFixedPath (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4535\"\u003e#4535\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/fb2583442c4d9bccb75e6d26f1aa6e7c01950db6\"\u003e\u003ccode\u003efb25834\u003c/code\u003e\u003c/a\u003e test(context): use http.StatusContinue constant instead of magic number 100 (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/6f1d5fe3cdb171a08928c3c9dd3fbcfc9ee1b521\"\u003e\u003ccode\u003e6f1d5fe\u003c/code\u003e\u003c/a\u003e test(render): add comprehensive error handling tests (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4541\"\u003e#4541\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/5c00df8afadd06cc5be530dde00fe6d9fa4a2e4a\"\u003e\u003ccode\u003e5c00df8\u003c/code\u003e\u003c/a\u003e fix(render): write content length in Data.Render (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4206\"\u003e#4206\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/db309081bc5c137b2aa15701ef53f7f19788da25\"\u003e\u003ccode\u003edb30908\u003c/code\u003e\u003c/a\u003e chore(logger): allow skipping query string output (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4547\"\u003e#4547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/ba093d19477b896ac89a7fc3246af23d290b8e26\"\u003e\u003ccode\u003eba093d1\u003c/code\u003e\u003c/a\u003e chore(binding): upgrade bson dependency to mongo-driver v2 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4549\"\u003e#4549\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/gin-gonic/gin/compare/v1.11.0...v1.12.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/rs/zerolog` from 1.34.0 to 1.35.1\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rs/zerolog/commit/116c8060e034e8d46855354d22db2acbc8df9e1e\"\u003e\u003ccode\u003e116c806\u003c/code\u003e\u003c/a\u003e event: restore Err() logging when ErrorStackMarshaler returns nil (\u003ca href=\"https://redirect.github.com/rs/zerolog/issues/763\"\u003e#763\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rs/zerolog/commit/13966551e7cc9f174723bddde692f0f0f9a833aa\"\u003e\u003ccode\u003e1396655\u003c/code\u003e\u003c/a\u003e Bump CI Go matrix minimum from 1.21 to 1.23\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rs/zerolog/commit/4b65a2f6f63437b9db07d57733d34d381b8f0696\"\u003e\u003ccode\u003e4b65a2f\u003c/code\u003e\u003c/a\u003e Bump actions/cache from 4 to 5 (\u003ca href=\"https://redirect.github.com/rs/zerolog/issues/741\"\u003e#741\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rs/zerolog/commit/b83579670fae2aef5d260f1350975e4c0b16864c\"\u003e\u003ccode\u003eb835796\u003c/code\u003e\u003c/a\u003e Bump actions/setup-go from 5 to 6 (\u003ca href=\"https://redirect.github.com/rs/zerolog/issues/742\"\u003e#742\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rs/zerolog/commit/134caf82aab8ea832731c5b4e5967d970abbc538\"\u003e\u003ccode\u003e134caf8\u003c/code\u003e\u003c/a\u003e Added sanitization of journald keys (\u003ca href=\"https://redirect.github.com/rs/zerolog/issues/751\"\u003e#751\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rs/zerolog/commit/e133b6a5173130c6ce2349645111829ba80d589e\"\u003e\u003ccode\u003ee133b6a\u003c/code\u003e\u003c/a\u003e Added variadic StrsV, ObjectsV, and StringersV (\u003ca href=\"https://redirect.github.com/rs/zerolog/issues/752\"\u003e#752\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rs/zerolog/commit/82017d8fff8d7739ba4daf9b1cf096d501ba7732\"\u003e\u003ccode\u003e82017d8\u003c/code\u003e\u003c/a\u003e Bump github.com/coreos/go-systemd/v22 from 22.6.0 to 22.7.0 (\u003ca href=\"https://redirect.github.com/rs/zerolog/issues/753\"\u003e#753\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rs/zerolog/commit/2f5b8a91be2cea93c2a6792d4ad00f5a06967dae\"\u003e\u003ccode\u003e2f5b8a9\u003c/code\u003e\u003c/a\u003e fix: UpdateContext skips Nop and zero-value loggers (\u003ca href=\"https://redirect.github.com/rs/zerolog/issues/754\"\u003e#754\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rs/zerolog/commit/d64c9a7138d98305e963fd437246d2ca0f0c4833\"\u003e\u003ccode\u003ed64c9a7\u003c/code\u003e\u003c/a\u003e Add slog.Handler implementation for zerolog (\u003ca href=\"https://redirect.github.com/rs/zerolog/issues/755\"\u003e#755\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rs/zerolog/commit/a0d61dc2c7439bdea7e1a9920713b1134367be58\"\u003e\u003ccode\u003ea0d61dc\u003c/code\u003e\u003c/a\u003e fix: return dict to Event pool (\u003ca href=\"https://redirect.github.com/rs/zerolog/issues/749\"\u003e#749\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rs/zerolog/compare/v1.34.0...v1.35.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e\n\n\u003c!-- This is an auto-generated comment: release notes by coderabbit.ai --\u003e\n\n## Summary by CodeRabbit\n\n* **Chores**\n  * Upgraded Go toolchain from version 1.23.1 to 1.25.0, providing improved performance and stability enhancements\n  * Updated core dependencies including HTTP framework and logging utilities to their latest compatible versions\n  * Refreshed all transitive dependencies to maintain security standards and ensure compatibility with the upgraded runtime environment\n\n\u003c!-- end of auto-generated comment: release notes by coderabbit.ai --\u003e","html_url":"https://github.com/mlorentedev/kubelab/pull/619","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/mlorentedev%2Fkubelab/issues/619","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/619/packages"}},{"old_version":"1.11.0","new_version":"1.12.0","update_type":"minor","path":null,"pr_created_at":"2026-06-04T01:01:24.000Z","version_change":"1.11.0 → 1.12.0","issue":{"uuid":"4584852814","node_id":"PR_kwDOIebONs7ielEq","number":155,"state":"open","title":"chore(deps): bump the security-updates group with 22 updates","user":"dependabot[bot]","labels":["size/L","dependencies","go"],"assignees":[],"locked":false,"comments_count":4,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-06-04T01:01:24.000Z","updated_at":"2026-06-04T01:07:03.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"security-updates","update_count":22,"packages":[{"name":"github.com/BurntSushi/toml","old_version":"1.5.0","new_version":"1.6.0","repository_url":"https://github.com/BurntSushi/toml"},{"name":"github.com/gin-gonic/gin","old_version":"1.11.0","new_version":"1.12.0","repository_url":"https://github.com/gin-gonic/gin"},{"name":"github.com/go-sql-driver/mysql","old_version":"1.9.2","new_version":"1.10.0","repository_url":"https://github.com/go-sql-driver/mysql"},{"name":"github.com/prometheus/client_golang","old_version":"1.22.0","new_version":"1.23.2","repository_url":"https://github.com/prometheus/client_golang"},{"name":"github.com/redis/go-redis/v9","old_version":"9.19.0","new_version":"9.20.0","repository_url":"https://github.com/redis/go-redis"},{"name":"go.etcd.io/etcd/api/v3","old_version":"3.5.21","new_version":"3.6.12","repository_url":"https://github.com/etcd-io/etcd"},{"name":"go.etcd.io/etcd/client/v3","old_version":"3.5.21","new_version":"3.6.12","repository_url":"https://github.com/etcd-io/etcd"},{"name":"go.etcd.io/etcd/server/v3","old_version":"3.5.21","new_version":"3.6.12","repository_url":"https://github.com/etcd-io/etcd"},{"name":"go.opentelemetry.io/contrib/propagators/autoprop","old_version":"0.63.0","new_version":"0.69.0","repository_url":"https://github.com/open-telemetry/opentelemetry-go-contrib"},{"name":"go.opentelemetry.io/contrib/samplers/jaegerremote","old_version":"0.37.0","new_version":"0.37.1","repository_url":"https://github.com/open-telemetry/opentelemetry-go-contrib"},{"name":"go.opentelemetry.io/otel","old_version":"1.43.0","new_version":"1.44.0","repository_url":"https://github.com/open-telemetry/opentelemetry-go"},{"name":"go.opentelemetry.io/otel/bridge/opentracing","old_version":"1.36.0","new_version":"1.44.0","repository_url":"https://github.com/open-telemetry/opentelemetry-go"},{"name":"go.opentelemetry.io/otel/exporters/jaeger","old_version":"1.16.0","new_version":"1.17.0","repository_url":"https://github.com/open-telemetry/opentelemetry-go"},{"name":"go.opentelemetry.io/otel/exporters/otlp/otlptrace","old_version":"1.38.0","new_version":"1.44.0","repository_url":"https://github.com/open-telemetry/opentelemetry-go"},{"name":"go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc","old_version":"1.38.0","new_version":"1.44.0","repository_url":"https://github.com/open-telemetry/opentelemetry-go"},{"name":"go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp","old_version":"1.36.0","new_version":"1.44.0","repository_url":"https://github.com/open-telemetry/opentelemetry-go"},{"name":"go.opentelemetry.io/otel/sdk","old_version":"1.43.0","new_version":"1.44.0","repository_url":"https://github.com/open-telemetry/opentelemetry-go"},{"name":"go.opentelemetry.io/otel/trace","old_version":"1.43.0","new_version":"1.44.0","repository_url":"https://github.com/open-telemetry/opentelemetry-go"},{"name":"go.uber.org/zap","old_version":"1.27.0","new_version":"1.28.0","repository_url":"https://github.com/uber-go/zap"},{"name":"golang.org/x/sys","old_version":"0.42.0","new_version":"0.45.0","repository_url":"https://github.com/golang/sys"},{"name":"gorm.io/gorm","old_version":"1.30.0","new_version":"1.31.1","repository_url":"https://github.com/go-gorm/gorm"},{"name":"k8s.io/client-go","old_version":"0.34.1","new_version":"0.36.1","repository_url":"https://github.com/kubernetes/client-go"}],"path":null,"ecosystem":"go"},"body":"Bumps the security-updates group with 22 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [github.com/BurntSushi/toml](https://github.com/BurntSushi/toml) | `1.5.0` | `1.6.0` |\n| [github.com/gin-gonic/gin](https://github.com/gin-gonic/gin) | `1.11.0` | `1.12.0` |\n| [github.com/go-sql-driver/mysql](https://github.com/go-sql-driver/mysql) | `1.9.2` | `1.10.0` |\n| [github.com/prometheus/client_golang](https://github.com/prometheus/client_golang) | `1.22.0` | `1.23.2` |\n| [github.com/redis/go-redis/v9](https://github.com/redis/go-redis) | `9.19.0` | `9.20.0` |\n| [go.etcd.io/etcd/api/v3](https://github.com/etcd-io/etcd) | `3.5.21` | `3.6.12` |\n| [go.etcd.io/etcd/client/v3](https://github.com/etcd-io/etcd) | `3.5.21` | `3.6.12` |\n| [go.etcd.io/etcd/server/v3](https://github.com/etcd-io/etcd) | `3.5.21` | `3.6.12` |\n| [go.opentelemetry.io/contrib/propagators/autoprop](https://github.com/open-telemetry/opentelemetry-go-contrib) | `0.63.0` | `0.69.0` |\n| [go.opentelemetry.io/contrib/samplers/jaegerremote](https://github.com/open-telemetry/opentelemetry-go-contrib) | `0.37.0` | `0.37.1` |\n| [go.opentelemetry.io/otel](https://github.com/open-telemetry/opentelemetry-go) | `1.43.0` | `1.44.0` |\n| [go.opentelemetry.io/otel/bridge/opentracing](https://github.com/open-telemetry/opentelemetry-go) | `1.36.0` | `1.44.0` |\n| [go.opentelemetry.io/otel/exporters/jaeger](https://github.com/open-telemetry/opentelemetry-go) | `1.16.0` | `1.17.0` |\n| [go.opentelemetry.io/otel/exporters/otlp/otlptrace](https://github.com/open-telemetry/opentelemetry-go) | `1.38.0` | `1.44.0` |\n| [go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc](https://github.com/open-telemetry/opentelemetry-go) | `1.38.0` | `1.44.0` |\n| [go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp](https://github.com/open-telemetry/opentelemetry-go) | `1.36.0` | `1.44.0` |\n| [go.opentelemetry.io/otel/sdk](https://github.com/open-telemetry/opentelemetry-go) | `1.43.0` | `1.44.0` |\n| [go.opentelemetry.io/otel/trace](https://github.com/open-telemetry/opentelemetry-go) | `1.43.0` | `1.44.0` |\n| [go.uber.org/zap](https://github.com/uber-go/zap) | `1.27.0` | `1.28.0` |\n| [golang.org/x/sys](https://github.com/golang/sys) | `0.42.0` | `0.45.0` |\n| [gorm.io/gorm](https://github.com/go-gorm/gorm) | `1.30.0` | `1.31.1` |\n| [k8s.io/client-go](https://github.com/kubernetes/client-go) | `0.34.1` | `0.36.1` |\n\nUpdates `github.com/BurntSushi/toml` from 1.5.0 to 1.6.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/BurntSushi/toml/releases\"\u003egithub.com/BurntSushi/toml's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.6.0\u003c/h2\u003e\n\u003cp\u003eTOML 1.1 is now enabled by default. The TOML changelog has an overview of changes: \u003ca href=\"https://github.com/toml-lang/toml/blob/main/CHANGELOG.md\"\u003ehttps://github.com/toml-lang/toml/blob/main/CHANGELOG.md\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eAlso two small fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eEncode large floats as exponent syntax so that round-tripping things like \u003ccode\u003e5e+22\u003c/code\u003e is correct.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUsing duplicate array keys would not give an error:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003earr = [1]\r\narr = [2]\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eThis will now correctly give a \u0026quot;Key 'arr' has already been defined\u0026quot; error.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/BurntSushi/toml/commit/52534926c55b4cd85b05aee90569dd0668b8cf30\"\u003e\u003ccode\u003e5253492\u003c/code\u003e\u003c/a\u003e Enable TOML 1.1 by default (\u003ca href=\"https://redirect.github.com/BurntSushi/toml/issues/457\"\u003e#457\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/BurntSushi/toml/commit/e954445330492727c18483838a15f88a4fc2d03a\"\u003e\u003ccode\u003ee954445\u003c/code\u003e\u003c/a\u003e Reject duplicate arrays (\u003ca href=\"https://redirect.github.com/BurntSushi/toml/issues/455\"\u003e#455\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/BurntSushi/toml/commit/6b16cbdb0f5a152aad1a6b89798a89655b84150d\"\u003e\u003ccode\u003e6b16cbd\u003c/code\u003e\u003c/a\u003e Update toml-test test cases from upstream (\u003ca href=\"https://redirect.github.com/BurntSushi/toml/issues/456\"\u003e#456\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/BurntSushi/toml/commit/011fa2bc64cec3bb4ec450d11984f5e87b8e158c\"\u003e\u003ccode\u003e011fa2b\u003c/code\u003e\u003c/a\u003e Ensure constant format strings in wf calls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/BurntSushi/toml/commit/4b439bf5c6ef125a94df7a136733df5ba37d4c16\"\u003e\u003ccode\u003e4b439bf\u003c/code\u003e\u003c/a\u003e Remove itemNil\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/BurntSushi/toml/commit/a473c125bce7078efea98a29698b7c1eb453ff0b\"\u003e\u003ccode\u003ea473c12\u003c/code\u003e\u003c/a\u003e Add test for out of range float64\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/BurntSushi/toml/commit/b535ff89e48996de98ace1301decf94a3a480aa8\"\u003e\u003ccode\u003eb535ff8\u003c/code\u003e\u003c/a\u003e Add some boring tests for lex.go\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/BurntSushi/toml/commit/6011ef0c32b214ac134b8228af2a667e171dad6e\"\u003e\u003ccode\u003e6011ef0\u003c/code\u003e\u003c/a\u003e Remove unreachable condition in lexTableNameStart\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/BurntSushi/toml/commit/c8ca9e6c2d5987a6c23f89d13987ac335aad90c3\"\u003e\u003ccode\u003ec8ca9e6\u003c/code\u003e\u003c/a\u003e Remove unreachable condition\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/BurntSushi/toml/commit/1121f81c60f5947e13057fa5efecbf21369c651e\"\u003e\u003ccode\u003e1121f81\u003c/code\u003e\u003c/a\u003e Make tomlv read from stdin\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/BurntSushi/toml/compare/v1.5.0...v1.6.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/gin-gonic/gin` from 1.11.0 to 1.12.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/gin-gonic/gin/releases\"\u003egithub.com/gin-gonic/gin's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.12.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e192ac89eefc1c30f7c97ae48a9ffb1c6f1c8c8bc: feat(binding): add support for encoding.UnmarshalText in uri/query binding (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4203\"\u003e#4203\u003c/a\u003e) (\u003ca href=\"https://github.com/takanuva15\"\u003e\u003ccode\u003e@​takanuva15\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e53410d2e07054369e0960fbe2eed97e1b9966f12: feat(context): add GetError and GetErrorSlice methods for error retrieval (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4502\"\u003e#4502\u003c/a\u003e) (\u003ca href=\"https://github.com/raju-mechatronics\"\u003e\u003ccode\u003e@​raju-mechatronics\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eacc55e049e33b401e810dbd8c0d6dcb6b3ba2b05: feat(context): add Protocol Buffers support to content negotiation (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4423\"\u003e#4423\u003c/a\u003e) (\u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e38e765119241d990705169bedb5002a29ae0cbd1: feat(context): implemented Delete method (\u003ca href=\"https://github.com/Spyder01\"\u003e\u003ccode\u003e@​Spyder01\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e771dcc6476d7bc6abb9ec0235ecefa4d38fe6fb0: feat(gin): add option to use escaped path (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4420\"\u003e#4420\u003c/a\u003e) (\u003ca href=\"https://github.com/ldesauw\"\u003e\u003ccode\u003e@​ldesauw\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e4dec17afdff48e8018c83618fbbe69fceeb2b41d: feat(logger): color latency (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4146\"\u003e#4146\u003c/a\u003e) (\u003ca href=\"https://github.com/wsyqn6\"\u003e\u003ccode\u003e@​wsyqn6\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ed7776de7d444935ea4385999711bd6331a98fecb: feat(render): add bson protocol (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4145\"\u003e#4145\u003c/a\u003e) (\u003ca href=\"https://github.com/laurentcau\"\u003e\u003ccode\u003e@​laurentcau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eb917b14ff9d189f16a7492be79d123a47806ee19: fix(binding): empty value error (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/2169\"\u003e#2169\u003c/a\u003e) (\u003ca href=\"https://github.com/guonaihong\"\u003e\u003ccode\u003e@​guonaihong\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ec3d1092b3b48addf6f9cd00fe274ec3bd14650eb: fix(binding): improve empty slice/array handling in form binding (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4380\"\u003e#4380\u003c/a\u003e) (\u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e9914178584e42458ff7d23891463a880f58c9d86: fix(context): ClientIP handling for multiple X-Forwarded-For header values (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4472\"\u003e#4472\u003c/a\u003e) (\u003ca href=\"https://github.com/Nurysso\"\u003e\u003ccode\u003e@​Nurysso\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e2a794cd0b0faa7d829291375b27a3467ea972b0d: fix(debug): version mismatch (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4403\"\u003e#4403\u003c/a\u003e) (\u003ca href=\"https://github.com/zeek0x\"\u003e\u003ccode\u003e@​zeek0x\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ec3d5a28ed6d3849da820195b6774d212bcc038a9: fix(gin): close os.File in RunFd to prevent resource leak (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4422\"\u003e#4422\u003c/a\u003e) (\u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e5fad976b372e381312f8de69f0969f1284d229d3: fix(gin): literal colon routes not working with engine.Handler() (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4415\"\u003e#4415\u003c/a\u003e) (\u003ca href=\"https://github.com/pawannn\"\u003e\u003ccode\u003e@​pawannn\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e63dd3e60cab89c27fb66bce1423bd268d52abad1: fix(recover): suppress http.ErrAbortHandler in recover (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4336\"\u003e#4336\u003c/a\u003e) (\u003ca href=\"https://github.com/MondayCha\"\u003e\u003ccode\u003e@​MondayCha\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e5c00df8afadd06cc5be530dde00fe6d9fa4a2e4a: fix(render): write content length in Data.Render (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4206\"\u003e#4206\u003c/a\u003e) (\u003ca href=\"https://github.com/dengaleev\"\u003e\u003ccode\u003e@​dengaleev\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e234a6d4c00cb77af9852aca0b8289745d5529b4b: fix(response): refine hijack behavior for response lifecycle (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4373\"\u003e#4373\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e472d086af2acd924cb4b9d7be0525f7d790f69bc: fix(tree): panic in findCaseInsensitivePathRec with RedirectFixedPath (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4535\"\u003e#4535\u003c/a\u003e) (\u003ca href=\"https://github.com/veeceey\"\u003e\u003ccode\u003e@​veeceey\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e8e07d37c63e5536eb25f4af4c91eabeee4011fba: fix: Correct typos, improve documentation clarity, and remove dead code (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4511\"\u003e#4511\u003c/a\u003e) (\u003ca href=\"https://github.com/mahanadh\"\u003e\u003ccode\u003e@​mahanadh\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eba093d19477b896ac89a7fc3246af23d290b8e26: chore(binding): upgrade bson dependency to mongo-driver v2 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4549\"\u003e#4549\u003c/a\u003e) (\u003ca href=\"https://github.com/BobDu\"\u003e\u003ccode\u003e@​BobDu\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eb2b489dbf4826c2c630717a77fd5e42774625410: chore(context): always trust xff headers from unix socket (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/3359\"\u003e#3359\u003c/a\u003e) (\u003ca href=\"https://github.com/WeidiDeng\"\u003e\u003ccode\u003e@​WeidiDeng\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eecb3f7b5e2f3915bf1db240ed5eee572f8dbea36: chore(deps): upgrade golang.org/x/crypto to v0.45.0 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4449\"\u003e#4449\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eaf6e8b70b8261bb0c99ad094fe552ab92991620a: chore(deps): upgrade quic-go to v0.57.1 (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edb309081bc5c137b2aa15701ef53f7f19788da25: chore(logger): allow skipping query string output (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4547\"\u003e#4547\u003c/a\u003e) (\u003ca href=\"https://github.com/USA-RedDragon\"\u003e\u003ccode\u003e@​USA-RedDragon\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e26c3a628655cad2388380cb8102d6ce7d4875f3b: chore(response): prevent Flush() panic when \u003ccode\u003ehttp.Flusher\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4479\"\u003e#4479\u003c/a\u003e) (\u003ca href=\"https://github.com/Twacqwq\"\u003e\u003ccode\u003e@​Twacqwq\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e5dd833f1f26de0eb30eae47b17e05ced2482dc41: chore: bump minimum Go version to 1.24 and update workflows (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4388\"\u003e#4388\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRefactor\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e39858a0859c914bd26948fa950477e11bd8d3823: refactor(binding): use maps.Copy for cleaner map handling (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4352\"\u003e#4352\u003c/a\u003e) (\u003ca href=\"https://github.com/russcoss\"\u003e\u003ccode\u003e@​russcoss\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ec0048f645ee945c4db30593afdea10123e2c30a6: refactor(context): omit the return value names (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4395\"\u003e#4395\u003c/a\u003e) (\u003ca href=\"https://github.com/wanghaolong613\"\u003e\u003ccode\u003e@​wanghaolong613\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e915e4c90d28ec4cffc6eb146e208ab5a65eac772: refactor(context): replace hardcoded localhost IPs with constants (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4481\"\u003e#4481\u003c/a\u003e) (\u003ca href=\"https://github.com/pauloappbr\"\u003e\u003ccode\u003e@​pauloappbr\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e414de60574449457f3192a7a1d5528940db2836d: refactor(context): using maps.Clone (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4333\"\u003e#4333\u003c/a\u003e) (\u003ca href=\"https://github.com/cuiweixie\"\u003e\u003ccode\u003e@​cuiweixie\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e59e9d4a794f12c4f9a6c7bed441b9644e5f6d99b: refactor(ginS): use sync.OnceValue to simplify engine function (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4314\"\u003e#4314\u003c/a\u003e) (\u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e3ab698dc5110af1977d57226e4995c57dd34c233: refactor(recovery): smart error comparison (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4142\"\u003e#4142\u003c/a\u003e) (\u003ca href=\"https://github.com/zeek0x\"\u003e\u003ccode\u003e@​zeek0x\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ed1a15347b1e45a8ee816193d3578a93bfd73b70f: refactor(utils): move util functions to utils.go (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4467\"\u003e#4467\u003c/a\u003e) (\u003ca href=\"https://github.com/zeek0x\"\u003e\u003ccode\u003e@​zeek0x\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ee3118cc378d263454098924ebbde7e8d1dd2e904: refactor: for loop can be modernized using range over int (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4392\"\u003e#4392\u003c/a\u003e) (\u003ca href=\"https://github.com/wanghaolong613\"\u003e\u003ccode\u003e@​wanghaolong613\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e488f8c3ffa579a8d19beb2bae95ff8ef36b3d53f: refactor: replace magic numbers with named constants in bodyAllowedForStatus (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4529\"\u003e#4529\u003c/a\u003e) (\u003ca href=\"https://github.com/veeceey\"\u003e\u003ccode\u003e@​veeceey\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e9968c4bf9d5a99edc3eee2c068a4c9160ece8915: refactor: use b.Loop() to simplify the code and improve performance (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4389\"\u003e#4389\u003c/a\u003e) (\u003ca href=\"https://github.com/reddaisyy\"\u003e\u003ccode\u003e@​reddaisyy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ea85ef5ce4d0cda8834c59c855068ed48b51192d1: refactor: use b.Loop() to simplify the code and improve performance (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4432\"\u003e#4432\u003c/a\u003e) (\u003ca href=\"https://github.com/efcking\"\u003e\u003ccode\u003e@​efcking\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBuild process updates\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e61b67de522a189b568aced4c5c16917c558e3387: ci(bot): increase frequency and group updates for dependencies (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4367\"\u003e#4367\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efb27ef26c2fdfe25344b4c039d8a53551f9e912c: ci(lint): refactor test assertions and linter configuration (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4436\"\u003e#4436\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e93ff771e6dbf10e432864b30f3719ac5c84a4d4a: ci(sec): improve type safety and server organization in HTTP middleware (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4437\"\u003e#4437\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ee88fc8927a52b74f55bec0351604a56ac0aa1c51: ci(sec): schedule Trivy security scans to run daily at midnight UTC (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4439\"\u003e#4439\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e5e5ff3ace496a31b138b0820136a146bfb5de0ef: ci: replace vulnerability scanning workflow with Trivy integration (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4421\"\u003e#4421\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e00900fb3e1ea9dde33985a0e4f6afec793d5e786: ci: update CI workflows and standardize Trivy config quotes (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4531\"\u003e#4531\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eae3f524974fc4f55d18c9e7fae4614503c015226: ci: update Go version support to 1.25+ across CI and docs (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4550\"\u003e#4550\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/gin-gonic/gin/blob/master/CHANGELOG.md\"\u003egithub.com/gin-gonic/gin's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eGin v1.12.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat(render): add bson protocol (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4145\"\u003e#4145\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(context): add GetError and GetErrorSlice methods for error retrieval (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4502\"\u003e#4502\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(binding): add support for encoding.UnmarshalText in uri/query binding (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4203\"\u003e#4203\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(gin): add option to use escaped path (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4420\"\u003e#4420\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(context): add Protocol Buffers support to content negotiation (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4423\"\u003e#4423\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(context): implemented Delete method (\u003ca href=\"https://github.com/gin-gonic/gin/commit/38e7651\"\u003e#38e7651\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(logger): color latency (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4146\"\u003e#4146\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eperf(tree): reduce allocations in findCaseInsensitivePath (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4417\"\u003e#4417\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eperf(recovery): optimize line reading in stack function (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4466\"\u003e#4466\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eperf(path): replace regex with custom functions in redirectTrailingSlash (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4414\"\u003e#4414\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eperf(tree): optimize path parsing using strings.Count (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4246\"\u003e#4246\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(logger): allow skipping query string output (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4547\"\u003e#4547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(context): always trust xff headers from unix socket (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/3359\"\u003e#3359\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(response): prevent Flush() panic when the underlying ResponseWriter does not implement \u003ccode\u003ehttp.Flusher\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4479\"\u003e#4479\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(recovery): smart error comparison (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4142\"\u003e#4142\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(context): replace hardcoded localhost IPs with constants (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4481\"\u003e#4481\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(utils): move util functions to utils.go (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4467\"\u003e#4467\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(binding): use maps.Copy for cleaner map handling (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4352\"\u003e#4352\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(context): using maps.Clone (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4333\"\u003e#4333\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(ginS): use sync.OnceValue to simplify engine function (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4314\"\u003e#4314\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor: replace magic numbers with named constants in bodyAllowedForStatus (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4529\"\u003e#4529\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor: for loop can be modernized using range over int (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4392\"\u003e#4392\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(tree): panic in findCaseInsensitivePathRec with RedirectFixedPath (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4535\"\u003e#4535\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(render): write content length in Data.Render (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4206\"\u003e#4206\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(context): ClientIP handling for multiple X-Forwarded-For header values (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4472\"\u003e#4472\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(binding): empty value error (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/2169\"\u003e#2169\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(recover): suppress http.ErrAbortHandler in recover (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4336\"\u003e#4336\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(gin): literal colon routes not working with engine.Handler() (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4415\"\u003e#4415\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(gin): close os.File in RunFd to prevent resource leak (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4422\"\u003e#4422\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(response): refine hijack behavior for response lifecycle (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4373\"\u003e#4373\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(binding): improve empty slice/array handling in form binding (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4380\"\u003e#4380\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(debug): version mismatch (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4403\"\u003e#4403\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: correct typos, improve documentation clarity, and remove dead code (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4511\"\u003e#4511\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBuild process updates / CI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eci: update Go version support to 1.25+ across CI and docs (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4550\"\u003e#4550\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(binding): upgrade bson dependency to mongo-driver v2 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4549\"\u003e#4549\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/73726dc606796a025971fe451f0aa6f1b9b847f6\"\u003e\u003ccode\u003e73726dc\u003c/code\u003e\u003c/a\u003e docs: update documentation to reflect Go version changes (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4552\"\u003e#4552\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/e292e5caa777bce70b66fe08c94cbe9cef3e2ec9\"\u003e\u003ccode\u003ee292e5c\u003c/code\u003e\u003c/a\u003e docs: document and finalize Gin v1.12.0 release (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4551\"\u003e#4551\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/ae3f524974fc4f55d18c9e7fae4614503c015226\"\u003e\u003ccode\u003eae3f524\u003c/code\u003e\u003c/a\u003e ci: update Go version support to 1.25+ across CI and docs (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4550\"\u003e#4550\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/38534e2bf98a06e1f62d6b24384e90b5f78699bf\"\u003e\u003ccode\u003e38534e2\u003c/code\u003e\u003c/a\u003e chore(deps): bump golang.org/x/net from 0.50.0 to 0.51.0 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4548\"\u003e#4548\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/472d086af2acd924cb4b9d7be0525f7d790f69bc\"\u003e\u003ccode\u003e472d086\u003c/code\u003e\u003c/a\u003e fix(tree): panic in findCaseInsensitivePathRec with RedirectFixedPath (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4535\"\u003e#4535\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/fb2583442c4d9bccb75e6d26f1aa6e7c01950db6\"\u003e\u003ccode\u003efb25834\u003c/code\u003e\u003c/a\u003e test(context): use http.StatusContinue constant instead of magic number 100 (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/6f1d5fe3cdb171a08928c3c9dd3fbcfc9ee1b521\"\u003e\u003ccode\u003e6f1d5fe\u003c/code\u003e\u003c/a\u003e test(render): add comprehensive error handling tests (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4541\"\u003e#4541\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/5c00df8afadd06cc5be530dde00fe6d9fa4a2e4a\"\u003e\u003ccode\u003e5c00df8\u003c/code\u003e\u003c/a\u003e fix(render): write content length in Data.Render (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4206\"\u003e#4206\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/db309081bc5c137b2aa15701ef53f7f19788da25\"\u003e\u003ccode\u003edb30908\u003c/code\u003e\u003c/a\u003e chore(logger): allow skipping query string output (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4547\"\u003e#4547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/ba093d19477b896ac89a7fc3246af23d290b8e26\"\u003e\u003ccode\u003eba093d1\u003c/code\u003e\u003c/a\u003e chore(binding): upgrade bson dependency to mongo-driver v2 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4549\"\u003e#4549\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/gin-gonic/gin/compare/v1.11.0...v1.12.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/go-sql-driver/mysql` from 1.9.2 to 1.10.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/go-sql-driver/mysql/releases\"\u003egithub.com/go-sql-driver/mysql's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.10.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eadd Go 1.24 to the test matrix by \u003ca href=\"https://github.com/shogo82148\"\u003e\u003ccode\u003e@​shogo82148\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/pull/1681\"\u003ego-sql-driver/mysql#1681\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003emodernize for Go 1.22 by \u003ca href=\"https://github.com/methane\"\u003e\u003ccode\u003e@​methane\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/pull/1695\"\u003ego-sql-driver/mysql#1695\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etest stability improvement. by \u003ca href=\"https://github.com/methane\"\u003e\u003ccode\u003e@​methane\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/pull/1698\"\u003ego-sql-driver/mysql#1698\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003esimplify collation tests by \u003ca href=\"https://github.com/methane\"\u003e\u003ccode\u003e@​methane\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/pull/1700\"\u003ego-sql-driver/mysql#1700\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix bigint unsigned null column scan to err type int64 by \u003ca href=\"https://github.com/elonnzhang\"\u003e\u003ccode\u003e@​elonnzhang\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/pull/1612\"\u003ego-sql-driver/mysql#1612\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTransaction Commit/Rollback returns conn's cached error, if present by \u003ca href=\"https://github.com/brad-defined\"\u003e\u003ccode\u003e@​brad-defined\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/pull/1691\"\u003ego-sql-driver/mysql#1691\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eadd BenchmarkReceive10kRowsCompress by \u003ca href=\"https://github.com/methane\"\u003e\u003ccode\u003e@​methane\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/pull/1704\"\u003ego-sql-driver/mysql#1704\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eoptimize readPacket by \u003ca href=\"https://github.com/methane\"\u003e\u003ccode\u003e@​methane\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/pull/1705\"\u003ego-sql-driver/mysql#1705\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMariaDB Metadata skipping and DEPRECATE_EOF by \u003ca href=\"https://github.com/rusher\"\u003e\u003ccode\u003e@​rusher\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/pull/1708\"\u003ego-sql-driver/mysql#1708\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOptimization: statements reuse previous column name by \u003ca href=\"https://github.com/methane\"\u003e\u003ccode\u003e@​methane\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/pull/1711\"\u003ego-sql-driver/mysql#1711\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eupdate outdated MySQL internals documentation links by \u003ca href=\"https://github.com/demouth\"\u003e\u003ccode\u003e@​demouth\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/pull/1714\"\u003ego-sql-driver/mysql#1714\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix PING on compressed connections by \u003ca href=\"https://github.com/methane\"\u003e\u003ccode\u003e@​methane\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/pull/1721\"\u003ego-sql-driver/mysql#1721\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eadd DeepWiki badge by \u003ca href=\"https://github.com/methane\"\u003e\u003ccode\u003e@​methane\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/pull/1722\"\u003ego-sql-driver/mysql#1722\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate edwards25519 dependency to v1.1.1 by \u003ca href=\"https://github.com/williamhaw\"\u003e\u003ccode\u003e@​williamhaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/pull/1749\"\u003ego-sql-driver/mysql#1749\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eConfigure Dependabot for Go modules by \u003ca href=\"https://github.com/methane\"\u003e\u003ccode\u003e@​methane\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/pull/1755\"\u003ego-sql-driver/mysql#1755\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump dominikh/staticcheck-action from 1.3.1 to 1.4.1 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/pull/1759\"\u003ego-sql-driver/mysql#1759\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump github/codeql-action from 3 to 4 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/pull/1760\"\u003ego-sql-driver/mysql#1760\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/setup-go from 5 to 6 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/pull/1757\"\u003ego-sql-driver/mysql#1757\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix staticcheck error by \u003ca href=\"https://github.com/methane\"\u003e\u003ccode\u003e@​methane\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/pull/1761\"\u003ego-sql-driver/mysql#1761\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/checkout from 4 to 6 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/pull/1758\"\u003ego-sql-driver/mysql#1758\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix getSystemVar buffer reuse by \u003ca href=\"https://github.com/morgo\"\u003e\u003ccode\u003e@​morgo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/pull/1754\"\u003ego-sql-driver/mysql#1754\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eConsolidate Dependabot update noise by grouping weekly dependency PRs by \u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/pull/1762\"\u003ego-sql-driver/mysql#1762\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump filippo.io/edwards25519 from 1.1.1 to 1.2.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/pull/1756\"\u003ego-sql-driver/mysql#1756\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCI: Update GitHub Actions Go matrix to 1.24–1.26 by \u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/pull/1763\"\u003ego-sql-driver/mysql#1763\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnhance interpolateParams to correctly handle placeholders by \u003ca href=\"https://github.com/rusher\"\u003e\u003ccode\u003e@​rusher\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/pull/1732\"\u003ego-sql-driver/mysql#1732\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003emodernize by \u003ca href=\"https://github.com/methane\"\u003e\u003ccode\u003e@​methane\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/pull/1764\"\u003ego-sql-driver/mysql#1764\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erelease v1.10.0 by \u003ca href=\"https://github.com/methane\"\u003e\u003ccode\u003e@​methane\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/pull/1765\"\u003ego-sql-driver/mysql#1765\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elonnzhang\"\u003e\u003ccode\u003e@​elonnzhang\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/pull/1612\"\u003ego-sql-driver/mysql#1612\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brad-defined\"\u003e\u003ccode\u003e@​brad-defined\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/pull/1691\"\u003ego-sql-driver/mysql#1691\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rusher\"\u003e\u003ccode\u003e@​rusher\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/pull/1708\"\u003ego-sql-driver/mysql#1708\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/demouth\"\u003e\u003ccode\u003e@​demouth\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/pull/1714\"\u003ego-sql-driver/mysql#1714\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/williamhaw\"\u003e\u003ccode\u003e@​williamhaw\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/pull/1749\"\u003ego-sql-driver/mysql#1749\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] made their first contribution in \u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/pull/1759\"\u003ego-sql-driver/mysql#1759\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/morgo\"\u003e\u003ccode\u003e@​morgo\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/pull/1754\"\u003ego-sql-driver/mysql#1754\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/pull/1762\"\u003ego-sql-driver/mysql#1762\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/go-sql-driver/mysql/compare/v1.9.2...v1.10.0\"\u003ehttps://github.com/go-sql-driver/mysql/compare/v1.9.2...v1.10.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.9.3\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e[1.9] test stability improvement. by \u003ca href=\"https://github.com/methane\"\u003e\u003ccode\u003e@​methane\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/pull/1699\"\u003ego-sql-driver/mysql#1699\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[1.9] Transaction Commit/Rollback returns conn's cached error by \u003ca href=\"https://github.com/methane\"\u003e\u003ccode\u003e@​methane\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/pull/1702\"\u003ego-sql-driver/mysql#1702\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebackport benchmark_test by \u003ca href=\"https://github.com/methane\"\u003e\u003ccode\u003e@​methane\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/pull/1706\"\u003ego-sql-driver/mysql#1706\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[1.9] optimize readPacket (\u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/issues/1705\"\u003e#1705\u003c/a\u003e) by \u003ca href=\"https://github.com/methane\"\u003e\u003ccode\u003e@​methane\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/pull/1707\"\u003ego-sql-driver/mysql#1707\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[1.9] fix PING on compressed connections by \u003ca href=\"https://github.com/methane\"\u003e\u003ccode\u003e@​methane\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/pull/1723\"\u003ego-sql-driver/mysql#1723\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erelease v1.9.3 by \u003ca href=\"https://github.com/methane\"\u003e\u003ccode\u003e@​methane\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/pull/1725\"\u003ego-sql-driver/mysql#1725\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/go-sql-driver/mysql/blob/master/CHANGELOG.md\"\u003egithub.com/go-sql-driver/mysql's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.10.0 (2026-04-28)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003egetSystemVar(\u0026quot;max_allowed_packet\u0026quot;)\u003c/code\u003e potentially returned wrong value. (\u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/issues/1754\"\u003e#1754\u003c/a\u003e)\nThis affects only when \u003ccode\u003emaxAllowedPacket=0\u003c/code\u003e is set.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eBump filippo.io/edwards25519 from 1.1.1 to 1.2.0. (\u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/issues/1756\"\u003e#1756\u003c/a\u003e)\nWhile older versions have reported CVEs, they do not affect go-mysql.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdate Go versions to 1.24-1.26. (\u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/issues/1763\"\u003e#1763\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eEnhance interpolateParams to correctly handle placeholders. (\u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/issues/1732\"\u003e#1732\u003c/a\u003e)\nThe question mark (?) within strings and comments will no longer be treated as a placeholder.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.9.3 (2025-06-13)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003etx.Commit()\u003c/code\u003e and \u003ccode\u003etx.Rollback()\u003c/code\u003e returned \u003ccode\u003eErrInvalidConn\u003c/code\u003e always.\nNow they return cached real error if present. (\u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/issues/1690\"\u003e#1690\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eOptimize reading small result sets to fix a performance regression\nintroduced by compression protocol support. (\u003ccode\u003e[#1707](https://github.com/go-sql-driver/mysql/issues/1707)\u003c/code\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003edb.Ping()\u003c/code\u003e on compressed connection. (\u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/issues/1723\"\u003e#1723\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/go-sql-driver/mysql/commit/a065b60ab6d0c8e15468e7709c7f76acf4431647\"\u003e\u003ccode\u003ea065b60\u003c/code\u003e\u003c/a\u003e release v1.10.0 (\u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/issues/1765\"\u003e#1765\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/go-sql-driver/mysql/commit/09e4187be9c52bb13449a662d2a36e1e1789ac95\"\u003e\u003ccode\u003e09e4187\u003c/code\u003e\u003c/a\u003e modernize (\u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/issues/1764\"\u003e#1764\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/go-sql-driver/mysql/commit/6c44a9a0a1769e145dc91c08abe1aded2936ab63\"\u003e\u003ccode\u003e6c44a9a\u003c/code\u003e\u003c/a\u003e Enhance interpolateParams to correctly handle placeholders (\u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/issues/1732\"\u003e#1732\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/go-sql-driver/mysql/commit/688ce563a28598a9b733e6fc2b325050a4dcf261\"\u003e\u003ccode\u003e688ce56\u003c/code\u003e\u003c/a\u003e Update supported Go version to 1.24–1.26 (\u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/issues/1763\"\u003e#1763\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/go-sql-driver/mysql/commit/118d07fdb51f9e523ebcdb00628812e49d7c1881\"\u003e\u003ccode\u003e118d07f\u003c/code\u003e\u003c/a\u003e Bump filippo.io/edwards25519 from 1.1.1 to 1.2.0 (\u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/issues/1756\"\u003e#1756\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/go-sql-driver/mysql/commit/d6b2d3ee2cc8569b6778a7ae7ac2816e185f616b\"\u003e\u003ccode\u003ed6b2d3e\u003c/code\u003e\u003c/a\u003e Consolidate Dependabot update noise by grouping weekly dependency PRs (\u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/issues/1762\"\u003e#1762\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/go-sql-driver/mysql/commit/037dfd872a7b6c88e63c53f32700dffed560120c\"\u003e\u003ccode\u003e037dfd8\u003c/code\u003e\u003c/a\u003e Fix getSystemVar buffer reuse (\u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/issues/1754\"\u003e#1754\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/go-sql-driver/mysql/commit/900f33035615559b6188e4fa98d57ae20af2b73b\"\u003e\u003ccode\u003e900f330\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 4 to 6 (\u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/issues/1758\"\u003e#1758\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/go-sql-driver/mysql/commit/ab9e3804c604d6a60b0d3136f4654f81f184757d\"\u003e\u003ccode\u003eab9e380\u003c/code\u003e\u003c/a\u003e fix staticcheck error (\u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/issues/1761\"\u003e#1761\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/go-sql-driver/mysql/commit/f298c66742396b6921732744b9bb075c7faaca81\"\u003e\u003ccode\u003ef298c66\u003c/code\u003e\u003c/a\u003e Bump actions/setup-go from 5 to 6 (\u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/issues/1757\"\u003e#1757\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/go-sql-driver/mysql/compare/v1.9.2...v1.10.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/prometheus/client_golang` from 1.22.0 to 1.23.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/prometheus/client_golang/releases\"\u003egithub.com/prometheus/client_golang's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.23.2 - 2025-09-05\u003c/h2\u003e\n\u003cp\u003eThis release is made to upgrade to prometheus/common v0.66.1, which drops the dependencies github.com/grafana/regexp and go.uber.org/atomic and replaces gopkg.in/yaml.v2 with go.yaml.in/yaml/v2 (a drop-in replacement). There are no functional changes.\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cul\u003e\n\u003cli\u003e[release-1.23] Upgrade to prometheus/common@v0.66.1 by \u003ca href=\"https://github.com/aknuds1\"\u003e\u003ccode\u003e@​aknuds1\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/prometheus/client_golang/pull/1869\"\u003eprometheus/client_golang#1869\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[release-1.23] Cut v1.23.2 by \u003ca href=\"https://github.com/aknuds1\"\u003e\u003ccode\u003e@​aknuds1\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/prometheus/client_golang/pull/1870\"\u003eprometheus/client_golang#1870\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/prometheus/client_golang/compare/v1.23.1...v1.23.2\"\u003ehttps://github.com/prometheus/client_golang/compare/v1.23.1...v1.23.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.23.1 - 2025-09-04\u003c/h2\u003e\n\u003cp\u003eThis release is made to be compatible with a backwards incompatible API change in prometheus/common v0.66.0. There are no functional changes.\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cul\u003e\n\u003cli\u003e[release-1.23] Upgrade to prometheus/common v0.66 by \u003ca href=\"https://github.com/aknuds1\"\u003e\u003ccode\u003e@​aknuds1\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/prometheus/client_golang/pull/1866\"\u003eprometheus/client_golang#1866\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[release-1.23] Cut v1.23.1 by \u003ca href=\"https://github.com/aknuds1\"\u003e\u003ccode\u003e@​aknuds1\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/prometheus/client_golang/pull/1867\"\u003eprometheus/client_golang#1867\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/prometheus/client_golang/compare/v1.23.0...v1.23.1\"\u003ehttps://github.com/prometheus/client_golang/compare/v1.23.0...v1.23.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.23.0 - 2025-07-30\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e[CHANGE] Minimum required Go version is now 1.23, only the two latest Go versions are supported from now on. \u003ca href=\"https://redirect.github.com/prometheus/client_golang/issues/1812\"\u003e#1812\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[FEATURE] Add WrapCollectorWith and WrapCollectorWithPrefix \u003ca href=\"https://redirect.github.com/prometheus/client_golang/issues/1766\"\u003e#1766\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[FEATURE] Add exemplars for native histograms \u003ca href=\"https://redirect.github.com/prometheus/client_golang/issues/1686\"\u003e#1686\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENHANCEMENT] exp/api: Bubble up status code from writeResponse \u003ca href=\"https://redirect.github.com/prometheus/client_golang/issues/1823\"\u003e#1823\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENHANCEMENT] collector/go: Update runtime metrics for Go v1.23 and v1.24 \u003ca href=\"https://redirect.github.com/prometheus/client_golang/issues/1833\"\u003e#1833\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[BUGFIX] exp/api: client prompt return on context cancellation \u003ca href=\"https://redirect.github.com/prometheus/client_golang/issues/1729\"\u003e#1729\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/prometheus/client_golang/blob/main/CHANGELOG.md\"\u003egithub.com/prometheus/client_golang's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.23.2 / 2025-09-05\u003c/h2\u003e\n\u003cp\u003eThis release is made to upgrade to prometheus/common v0.66.1, which drops the dependencies github.com/grafana/regexp and go.uber.org/atomic and replaces gopkg.in/yaml.v2 with go.yaml.in/yaml/v2 (a drop-in replacement).\nThere are no functional changes.\u003c/p\u003e\n\u003ch2\u003e1.23.1 / 2025-09-04\u003c/h2\u003e\n\u003cp\u003eThis release is made to be compatible with a backwards incompatible API change\nin prometheus/common v0.66.0. There are no functional changes.\u003c/p\u003e\n\u003ch2\u003e1.23.0 / 2025-07-30\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e[CHANGE] Minimum required Go version is now 1.23, only the two latest Go versions are supported from now on. \u003ca href=\"https://redirect.github.com/prometheus/client_golang/issues/1812\"\u003e#1812\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[FEATURE] Add WrapCollectorWith and WrapCollectorWithPrefix \u003ca href=\"https://redirect.github.com/prometheus/client_golang/issues/1766\"\u003e#1766\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[FEATURE] Add exemplars for native histograms \u003ca href=\"https://redirect.github.com/prometheus/client_golang/issues/1686\"\u003e#1686\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENHANCEMENT] exp/api: Bubble up status code from writeResponse \u003ca href=\"https://redirect.github.com/prometheus/client_golang/issues/1823\"\u003e#1823\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENHANCEMENT] collector/go: Update runtime metrics for Go v1.23 and v1.24 \u003ca href=\"https://redirect.github.com/prometheus/client_golang/issues/1833\"\u003e#1833\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[BUGFIX] exp/api: client prompt return on context cancellation \u003ca href=\"https://redirect.github.com/prometheus/client_golang/issues/1729\"\u003e#1729\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prometheus/client_golang/commit/8179a560819f2c64ef6ade70e6ae4c73aecaca3c\"\u003e\u003ccode\u003e8179a56\u003c/code\u003e\u003c/a\u003e Cut v1.23.2 (\u003ca href=\"https://redirect.github.com/prometheus/client_golang/issues/1870\"\u003e#1870\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prometheus/client_golang/commit/4142b5908bb6c8f5e412b72de5ea4b927d8c219d\"\u003e\u003ccode\u003e4142b59\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/prometheus/client_golang/issues/1869\"\u003e#1869\u003c/a\u003e from prometheus/arve/upgrade-common\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prometheus/client_golang/commit/4ff40f0d918efc0f59701d13622913805c2425b4\"\u003e\u003ccode\u003e4ff40f0\u003c/code\u003e\u003c/a\u003e Cut v1.23.1 (\u003ca href=\"https://redirect.github.com/prometheus/client_golang/issues/1867\"\u003e#1867\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prometheus/client_golang/commit/989b0298944e64f88a54ac9c70cd8c8121f10bc9\"\u003e\u003ccode\u003e989b029\u003c/code\u003e\u003c/a\u003e Upgrade to prometheus/common v0.66 (\u003ca href=\"https://redirect.github.com/prometheus/client_golang/issues/1866\"\u003e#1866\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prometheus/client_golang/commit/e4b2208dd8cb6d1425f00250db842ec3c1e8749e\"\u003e\u003ccode\u003ee4b2208\u003c/code\u003e\u003c/a\u003e Cut v1.23.0 (\u003ca href=\"https://redirect.github.com/prometheus/client_golang/issues/1848\"\u003e#1848\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prometheus/client_golang/commit/d9492afd3a6f2e9782a7fc10363281bfd5b743bb\"\u003e\u003ccode\u003ed9492af\u003c/code\u003e\u003c/a\u003e cut v1.23.0-rc.1 (\u003ca href=\"https://redirect.github.com/prometheus/client_golang/issues/1842\"\u003e#1842\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prometheus/client_golang/commit/aeae8a0b4f54a8fa720d19b88638a2d048596f82\"\u003e\u003ccode\u003eaeae8a0\u003c/code\u003e\u003c/a\u003e Cut v1.23.0-rc.0 (\u003ca href=\"https://redirect.github.com/prometheus/client_golang/issues/1837\"\u003e#1837\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prometheus/client_golang/commit/b157309b723f0b8588ea604bb78dbbba196803f2\"\u003e\u003ccode\u003eb157309\u003c/code\u003e\u003c/a\u003e Update common Prometheus files (\u003ca href=\"https://redirect.github.com/prometheus/client_golang/issues/1832\"\u003e#1832\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prometheus/client_golang/commit/a704e287f467b79744c30af996b7d710d4c6900d\"\u003e\u003ccode\u003ea704e28\u003c/code\u003e\u003c/a\u003e build(deps): bump the github-actions group with 3 updates (\u003ca href=\"https://redirect.github.com/prometheus/client_golang/issues/1826\"\u003e#1826\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prometheus/client_golang/commit/c7743110ad2c599de3d8c23682d978a12f9f36d1\"\u003e\u003ccode\u003ec774311\u003c/code\u003e\u003c/a\u003e Fix errNotImplemented reference (\u003ca href=\"https://redirect.github.com/prometheus/client_golang/issues/1835\"\u003e#1835\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/prometheus/client_golang/compare/v1.22.0...v1.23.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/redis/go-redis/v9` from 9.19.0 to 9.20.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/redis/go-redis/releases\"\u003egithub.com/redis/go-redis/v9's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e9.20.0\u003c/h2\u003e\n\u003ch2\u003e🚀 Highlights\u003c/h2\u003e\n\u003ch3\u003eRedis 8.8 Support\u003c/h3\u003e\n\u003cp\u003eThis release adds support for \u003cstrong\u003eRedis 8.8\u003c/strong\u003e. The README's supported-versions list now includes Redis 8.8 alongside 8.0/8.2/8.4, and CI exercises the \u003ccode\u003e8.8\u003c/code\u003e client-libs-test image across the full suite (Makefile, build workflow, doctests, run-tests action, and docker-compose).\u003c/p\u003e\n\u003cp\u003eCoverage for the new commands that ship in the 8.x line, rounded out in this release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eAR*\u003c/code\u003e array data type\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3813\"\u003e#3813\u003c/a\u003e) — new array data structure, exposed via the \u003ccode\u003eArrayCmdable\u003c/code\u003e interface (see the experimental-features highlight below).\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eINCREX\u003c/code\u003e\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3816\"\u003e#3816\u003c/a\u003e) — atomic increment with expiration in a single round-trip.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eXNACK\u003c/code\u003e\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3790\"\u003e#3790\u003c/a\u003e) — explicit negative-acknowledge of pending stream entries.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eXAUTOCLAIM\u003c/code\u003e PEL deletes\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3798\"\u003e#3798\u003c/a\u003e) — \u003ccode\u003eXAUTOCLAIM\u003c/code\u003e/\u003ccode\u003eXAUTOCLAIMJUSTID\u003c/code\u003e now return the list of deleted message IDs from the pending entries list.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eTS.RANGE\u003c/code\u003e multiple aggregators\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3791\"\u003e#3791\u003c/a\u003e) — \u003ccode\u003eTS.RANGE\u003c/code\u003e/\u003ccode\u003eTS.REVRANGE\u003c/code\u003e/\u003ccode\u003eTS.MRANGE\u003c/code\u003e/\u003ccode\u003eTS.MREVRANGE\u003c/code\u003e accept multiple aggregators in a single call.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eZ(UNION|INTER|DIFF)\u003c/code\u003e \u003ccode\u003eCOUNT\u003c/code\u003e aggregator\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3802\"\u003e#3802\u003c/a\u003e) — \u003ccode\u003eCOUNT\u003c/code\u003e reducer for sorted-set set operations.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eJSON.SET FPHA\u003c/code\u003e\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3797\"\u003e#3797\u003c/a\u003e) — new \u003ccode\u003eFPHA\u003c/code\u003e argument that specifies the floating-point type for homogeneous FP arrays.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eCI image bump (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3814\"\u003e#3814\u003c/a\u003e) by \u003ca href=\"https://github.com/ofekshenawa\"\u003e\u003ccode\u003e@​ofekshenawa\u003c/code\u003e\u003c/a\u003e. Command coverage contributions by \u003ca href=\"https://github.com/cxljs\"\u003e\u003ccode\u003e@​cxljs\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/elena-kolevska\"\u003e\u003ccode\u003e@​elena-kolevska\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Khukharr\"\u003e\u003ccode\u003e@​Khukharr\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/ndyakov\"\u003e\u003ccode\u003e@​ndyakov\u003c/code\u003e\u003c/a\u003e, and \u003ca href=\"https://github.com/ofekshenawa\"\u003e\u003ccode\u003e@​ofekshenawa\u003c/code\u003e\u003c/a\u003e.\u003c/p\u003e\n\u003ch3\u003eStable RESP3 for RediSearch (\u003ccode\u003eUnstableResp3\u003c/code\u003e deprecated)\u003c/h3\u003e\n\u003cp\u003e\u003ccode\u003eFT.SEARCH\u003c/code\u003e, \u003ccode\u003eFT.AGGREGATE\u003c/code\u003e, \u003ccode\u003eFT.INFO\u003c/code\u003e, \u003ccode\u003eFT.SPELLCHECK\u003c/code\u003e, and \u003ccode\u003eFT.SYNDUMP\u003c/code\u003e now parse RESP3 (map) responses into the same typed result objects as RESP2 — \u003ccode\u003eVal()\u003c/code\u003e and \u003ccode\u003eResult()\u003c/code\u003e work uniformly on both protocols, no flag required. Previously, RESP3 search responses required \u003ccode\u003eUnstableResp3: true\u003c/code\u003e and were returned as opaque maps accessible only via \u003ccode\u003eRawResult()\u003c/code\u003e / \u003ccode\u003eRawVal()\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eAs a result, the \u003ccode\u003eUnstableResp3\u003c/code\u003e option is now a \u003cstrong\u003eno-op\u003c/strong\u003e across every options struct (\u003ccode\u003eOptions\u003c/code\u003e, \u003ccode\u003eClusterOptions\u003c/code\u003e, \u003ccode\u003eUniversalOptions\u003c/code\u003e, \u003ccode\u003eFailoverOptions\u003c/code\u003e, \u003ccode\u003eRingOptions\u003c/code\u003e) and has been marked \u003ccode\u003e// Deprecated:\u003c/code\u003e. The field is retained for backwards compatibility — existing code that sets \u003ccode\u003eUnstableResp3: true\u003c/code\u003e will continue to compile and behave identically — but it will be removed in a future release and new code should not set it. \u003ccode\u003eRawResult()\u003c/code\u003e / \u003ccode\u003eRawVal()\u003c/code\u003e continue to work for callers that prefer the raw RESP payload.\u003c/p\u003e\n\u003cp\u003e(\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3741\"\u003e#3741\u003c/a\u003e) by \u003ca href=\"https://github.com/ndyakov\"\u003e\u003ccode\u003e@​ndyakov\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eExperimental Array Data Structure Commands\u003c/h3\u003e\n\u003cp\u003eAdds an experimental \u003ccode\u003eArrayCmdable\u003c/code\u003e interface with the \u003ccode\u003eAR*\u003c/code\u003e command family (\u003ccode\u003eARSet\u003c/code\u003e, \u003ccode\u003eARGet\u003c/code\u003e, \u003ccode\u003eARGetRange\u003c/code\u003e, \u003ccode\u003eARMSet\u003c/code\u003e, \u003ccode\u003eARMGet\u003c/code\u003e, \u003ccode\u003eARDel\u003c/code\u003e, \u003ccode\u003eARDelRange\u003c/code\u003e, \u003ccode\u003eARScan\u003c/code\u003e, \u003ccode\u003eARSeek\u003c/code\u003e, \u003ccode\u003eARNext\u003c/code\u003e, \u003ccode\u003eARLastItems\u003c/code\u003e, \u003ccode\u003eARGrep\u003c/code\u003e, \u003ccode\u003eARGrepWithValues\u003c/code\u003e, \u003ccode\u003eARInfo\u003c/code\u003e/\u003ccode\u003eARInfoFull\u003c/code\u003e, and typed reducers \u003ccode\u003eAROpSum\u003c/code\u003e/\u003ccode\u003eAROpMin\u003c/code\u003e/\u003ccode\u003eAROpMax\u003c/code\u003e/\u003ccode\u003eAROpAnd\u003c/code\u003e/\u003ccode\u003eAROpOr\u003c/code\u003e/\u003ccode\u003eAROpXor\u003c/code\u003e/\u003ccode\u003eAROpMatch\u003c/code\u003e/\u003ccode\u003eAROpUsed\u003c/code\u003e) for working with Redis 8.8's new array data type. \u003cstrong\u003eAPI is experimental and may change in a future release.\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003e(\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3813\"\u003e#3813\u003c/a\u003e) by \u003ca href=\"https://github.com/cxljs\"\u003e\u003ccode\u003e@​cxljs\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e✨ New Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eRESP3 search parser\u003c/strong\u003e: First-class RESP3 parsing for \u003ccode\u003eFT.SEARCH\u003c/code\u003e/\u003ccode\u003eFT.AGGREGATE\u003c/code\u003e/\u003ccode\u003eFT.INFO\u003c/code\u003e/\u003ccode\u003eFT.SPELLCHECK\u003c/code\u003e/\u003ccode\u003eFT.SYNDUMP\u003c/code\u003e responses with backwards compatibility for RESP2 (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3741\"\u003e#3741\u003c/a\u003e) by \u003ca href=\"https://github.com/ndyakov\"\u003e\u003ccode\u003e@​ndyakov\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eINCREX\u003c/strong\u003e: New \u003ccode\u003eINCREX\u003c/code\u003e command support — atomic increment with expiration (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3816\"\u003e#3816\u003c/a\u003e) by \u003ca href=\"https://github.com/ndyakov\"\u003e\u003ccode\u003e@​ndyakov\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eXNACK\u003c/strong\u003e: Client support for the \u003ccode\u003eXNACK\u003c/code\u003e stream command for explicitly negative-acknowledging pending entries (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3790\"\u003e#3790\u003c/a\u003e) by \u003ca href=\"https://github.com/elena-kolevska\"\u003e\u003ccode\u003e@​elena-kolevska\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eTS range multiple aggregators\u003c/strong\u003e: \u003ccode\u003eTS.RANGE\u003c/code\u003e/\u003ccode\u003eTS.REVRANGE\u003c/code\u003e/\u003ccode\u003eTS.MRANGE\u003c/code\u003e/\u003ccode\u003eTS.MREVRANGE\u003c/code\u003e now accept multiple aggregators in a single call (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3791\"\u003e#3791\u003c/a\u003e) by \u003ca href=\"https://github.com/elena-kolevska\"\u003e\u003ccode\u003e@​elena-kolevska\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eXAutoClaim\u003c/code\u003e deleted IDs\u003c/strong\u003e: \u003ccode\u003eXAUTOCLAIM\u003c/code\u003e/\u003ccode\u003eXAUTOCLAIMJUSTID\u003c/code\u003e now return the list of deleted message IDs from the PEL (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3798\"\u003e#3798\u003c/a\u003e) by \u003ca href=\"https://github.com/Khukharr\"\u003e\u003ccode\u003e@​Khukharr\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eJSON.SET FPHA\u003c/code\u003e\u003c/strong\u003e: \u003ccode\u003eJSON.SET\u003c/code\u003e accepts a new \u003ccode\u003eFPHA\u003c/code\u003e argument that specifies the floating-point type for homogeneous floating-point arrays (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3797\"\u003e#3797\u003c/a\u003e) by \u003ca href=\"https://github.com/ndyakov\"\u003e\u003ccode\u003e@​ndyakov\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eSorted-set union/intersection COUNT\u003c/strong\u003e: \u003ccode\u003eZUNION\u003c/code\u003e/\u003ccode\u003eZINTER\u003c/code\u003e/\u003ccode\u003eZDIFF\u003c/code\u003e aggregator now supports \u003ccode\u003eCOUNT\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3802\"\u003e#3802\u003c/a\u003e) by \u003ca href=\"https://github.com/ofekshenawa\"\u003e\u003ccode\u003e@​ofekshenawa\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eFT.HYBRID\u003c/code\u003e vector validation\u003c/strong\u003e: Validates hybrid-search vector input types and adds proper typed vector parameters (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3756\"\u003e#3756\u003c/a\u003e) by \u003ca href=\"https://github.com/DengY11\"\u003e\u003ccode\u003e@​DengY11\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eCluster pool wait stats\u003c/strong\u003e: \u003ccode\u003eClusterClient.PoolStats()\u003c/code\u003e now accumulates \u003ccode\u003eWaitCount\u003c/code\u003e and \u003ccode\u003eWaitDurationNs\u003c/code\u003e across all node pools (previously always zero) (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3809\"\u003e#3809\u003c/a\u003e) by \u003ca href=\"https://github.com/LINKIWI\"\u003e\u003ccode\u003e@​LINKIWI\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eTLS-only Cluster PubSub\u003c/strong\u003e: \u003ccode\u003eCLUSTER SLOTS\u003c/code\u003e port-0 entries now fall back to the origin endpoint's port, fixing \u003ccode\u003edial tcp \u0026lt;ip\u0026gt;:0: connection refused\u003c/code\u003e on TLS-only clusters started with \u003ccode\u003e--port 0 --tls-port \u0026lt;port\u0026gt;\u003c/code\u003e (fixes \u003ca href=\"https://redirect.github.com/redis/go-redis/issues/3726\"\u003e#3726\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3828\"\u003e#3828\u003c/a\u003e) by \u003ca href=\"https://github.com/ndyakov\"\u003e\u003ccode\u003e@​ndyakov\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eSharded PubSub reconnect routing\u003c/strong\u003e: \u003ccode\u003ePubSub.conn()\u003c/code\u003e now passes both regular (\u003ccode\u003ec.channels\u003c/code\u003e) and sharded (\u003ccode\u003ec.schannels\u003c/code\u003e) channels into the per-PubSub \u003ccode\u003enewConn\u003c/code\u003e closure. Previously, \u003ccode\u003eClusterClient.SSubscribe\u003c/code\u003e-only PubSubs reconnected to a random node (because the routing closure saw an empty channel list), the \u003ccode\u003eSSUBSCRIBE\u003c/code\u003e was sent to the wrong shard, and the resulting \u003ccode\u003eMOVED\u003c/code\u003e reply was silently dropped (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3829\"\u003e#3829\u003c/a\u003e) by \u003ca href=\"https://github.com/ndyakov\"\u003e\u003ccode\u003e@​ndyakov\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eClusterClient \u003ccode\u003eWatch\u003c/code\u003e retry\u003c/strong\u003e: User errors returned from a \u003ccode\u003eWatch\u003c/code\u003e callback are no longer subjected to cluster-retry classification; transient cluster errors still retry, but a callback returning e.g. \u003ccode\u003enet.ErrClosed\u003c/code\u003e short-circuits immediately (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3821\"\u003e#3821\u003c/a\u003e) by \u003ca href=\"https://github.com/obiyang\"\u003e\u003ccode\u003e@​obiyang\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/redis/go-redis/blob/master/RELEASE-NOTES.md\"\u003egithub.com/redis/go-redis/v9's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e9.20.0 (2026-05-28)\u003c/h1\u003e\n\u003ch2\u003e🚀 Highlights\u003c/h2\u003e\n\u003ch3\u003eRedis 8.8 Support\u003c/h3\u003e\n\u003cp\u003eThis release adds support for \u003cstrong\u003eRedis 8.8\u003c/strong\u003e. The README's supported-versions list now includes Redis 8.8 alongside 8.0/8.2/8.4, and CI exercises the \u003ccode\u003e8.8-rc1\u003c/code\u003e client-libs-test image across the full suite (Makefile, build workflow, doctests, run-tests action, and docker-compose).\u003c/p\u003e\n\u003cp\u003eCoverage for the new commands that ship in the 8.x line, rounded out in this release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eAR*\u003c/code\u003e array data type\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3813\"\u003e#3813\u003c/a\u003e) — new array data structure, exposed via the \u003ccode\u003eArrayCmdable\u003c/code\u003e interface (see the experimental-features highlight below).\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eINCREX\u003c/code\u003e\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3816\"\u003e#3816\u003c/a\u003e) — atomic increment with expiration in a single round-trip.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eXNACK\u003c/code\u003e\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3790\"\u003e#3790\u003c/a\u003e) — explicit negative-acknowledge of pending stream entries.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eXAUTOCLAIM\u003c/code\u003e PEL deletes\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3798\"\u003e#3798\u003c/a\u003e) — \u003ccode\u003eXAUTOCLAIM\u003c/code\u003e/\u003ccode\u003eXAUTOCLAIMJUSTID\u003c/code\u003e now return the list of deleted message IDs from the pending entries list.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eTS.RANGE\u003c/code\u003e multiple aggregators\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3791\"\u003e#3791\u003c/a\u003e) — \u003ccode\u003eTS.RANGE\u003c/code\u003e/\u003ccode\u003eTS.REVRANGE\u003c/code\u003e/\u003ccode\u003eTS.MRANGE\u003c/code\u003e/\u003ccode\u003eTS.MREVRANGE\u003c/code\u003e accept multiple aggregators in a single call.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eZ(UNION|INTER|DIFF)\u003c/code\u003e \u003ccode\u003eCOUNT\u003c/code\u003e aggregator\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3802\"\u003e#3802\u003c/a\u003e) — \u003ccode\u003eCOUNT\u003c/code\u003e reducer for sorted-set set operations.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eJSON.SET FPHA\u003c/code\u003e\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3797\"\u003e#3797\u003c/a\u003e) — new \u003ccode\u003eFPHA\u003c/code\u003e argument that specifies the floating-point type for homogeneous FP arrays.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eCI image bump (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3814\"\u003e#3814\u003c/a\u003e) by \u003ca href=\"https://github.com/ofekshenawa\"\u003e\u003ccode\u003e@​ofekshenawa\u003c/code\u003e\u003c/a\u003e. Command coverage contributions by \u003ca href=\"https://github.com/cxljs\"\u003e\u003ccode\u003e@​cxljs\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/elena-kolevska\"\u003e\u003ccode\u003e@​elena-kolevska\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Khukharr\"\u003e\u003ccode\u003e@​Khukharr\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/ndyakov\"\u003e\u003ccode\u003e@​ndyakov\u003c/code\u003e\u003c/a\u003e, and \u003ca href=\"https://github.com/ofekshenawa\"\u003e\u003ccode\u003e@​ofekshenawa\u003c/code\u003e\u003c/a\u003e.\u003c/p\u003e\n\u003ch3\u003eStable RESP3 for RediSearch (\u003ccode\u003eUnstableResp3\u003c/code\u003e deprecated)\u003c/h3\u003e\n\u003cp\u003e\u003ccode\u003eFT.SEARCH\u003c/code\u003e, \u003ccode\u003eFT.AGGREGATE\u003c/code\u003e, \u003ccode\u003eFT.INFO\u003c/code\u003e, \u003ccode\u003eFT.SPELLCHECK\u003c/code\u003e, and \u003ccode\u003eFT.SYNDUMP\u003c/code\u003e now parse RESP3 (map) responses into the same typed result objects as RESP2 — \u003ccode\u003eVal()\u003c/code\u003e and \u003ccode\u003eResult()\u003c/code\u003e work uniformly on both protocols, no flag required. Previously, RESP3 search responses required \u003ccode\u003eUnstableResp3: true\u003c/code\u003e and were returned as opaque maps accessible only via \u003ccode\u003eRawResult()\u003c/code\u003e / \u003ccode\u003eRawVal()\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eAs a result, the \u003ccode\u003eUnstableResp3\u003c/code\u003e option is now a \u003cstrong\u003eno-op\u003c/strong\u003e across every options struct (\u003ccode\u003eOptions\u003c/code\u003e, \u003ccode\u003eClusterOptions\u003c/code\u003e, \u003ccode\u003eUniversalOptions\u003c/code\u003e, \u003ccode\u003eFailoverOptions\u003c/code\u003e, \u003ccode\u003eRingOptions\u003c/code\u003e) and has been marked \u003ccode\u003e// Deprecated:\u003c/code\u003e. The field is retained for backwards compatibility — existing code that sets \u003ccode\u003eUnstableResp3: true\u003c/code\u003e will continue to compile and behave identically — but it will be removed in a future release and new code should not set it. \u003ccode\u003eRawResult()\u003c/code\u003e / \u003ccode\u003eRawVal()\u003c/code\u003e continue to work for callers that prefer the raw RESP payload.\u003c/p\u003e\n\u003cp\u003e(\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3741\"\u003e#3741\u003c/a\u003e) by \u003ca href=\"https://github.com/ndyakov\"\u003e\u003ccode\u003e@​ndyakov\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eExperimental Array Data Structure Commands\u003c/h3\u003e\n\u003cp\u003eAdds an experimental \u003ccode\u003eArrayCmdable\u003c/code\u003e interface with the \u003ccode\u003eAR*\u003c/code\u003e command family (\u003ccode\u003eARSet\u003c/code\u003e, \u003ccode\u003eARGet\u003c/code\u003e, \u003ccode\u003eARGetRange\u003c/code\u003e, \u003ccode\u003eARMSet\u003c/code\u003e, \u003ccode\u003eARMGet\u003c/code\u003e, \u003ccode\u003eARDel\u003c/code\u003e, \u003ccode\u003eARDelRange\u003c/code\u003e, \u003ccode\u003eARScan\u003c/code\u003e, \u003ccode\u003eARSeek\u003c/code\u003e, \u003ccode\u003eARNext\u003c/code\u003e, \u003ccode\u003eARLastItems\u003c/code\u003e, \u003ccode\u003eARGrep\u003c/code\u003e, \u003ccode\u003eARGrepWithValues\u003c/code\u003e, \u003ccode\u003eARInfo\u003c/code\u003e/\u003ccode\u003eARInfoFull\u003c/code\u003e, and typed reducers \u003ccode\u003eAROpSum\u003c/code\u003e/\u003ccode\u003eAROpMin\u003c/code\u003e/\u003ccode\u003eAROpMax\u003c/code\u003e/\u003ccode\u003eAROpAnd\u003c/code\u003e/\u003ccode\u003eAROpOr\u003c/code\u003e/\u003ccode\u003eAROpXor\u003c/code\u003e/\u003ccode\u003eAROpMatch\u003c/code\u003e/\u003ccode\u003eAROpUsed\u003c/code\u003e) for working with Redis 8.8's new array data type. \u003cstrong\u003eAPI is experimental and may change in a future release.\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003e(\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3813\"\u003e#3813\u003c/a\u003e) by \u003ca href=\"https://github.com/cxljs\"\u003e\u003ccode\u003e@​cxljs\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e✨ New Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eRESP3 search parser\u003c/strong\u003e: First-class RESP3 parsing for \u003ccode\u003eFT.SEARCH\u003c/code\u003e/\u003ccode\u003eFT.AGGREGATE\u003c/code\u003e/\u003ccode\u003eFT.INFO\u003c/code\u003e/\u003ccode\u003eFT.SPELLCHECK\u003c/code\u003e/\u003ccode\u003eFT.SYNDUMP\u003c/code\u003e responses with backwards compatibility for RESP2 (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3741\"\u003e#3741\u003c/a\u003e) by \u003ca href=\"https://github.com/ndyakov\"\u003e\u003ccode\u003e@​ndyakov\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eINCREX\u003c/strong\u003e: New \u003ccode\u003eINCREX\u003c/code\u003e command support — atomic increment with expiration (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3816\"\u003e#3816\u003c/a\u003e) by \u003ca href=\"https://github.com/ndyakov\"\u003e\u003ccode\u003e@​ndyakov\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eXNACK\u003c/strong\u003e: Client support for the \u003ccode\u003eXNACK\u003c/code\u003e stream command for explicitly negative-acknowledging pending entries (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3790\"\u003e#3790\u003c/a\u003e) by \u003ca href=\"https://github.com/elena-kolevska\"\u003e\u003ccode\u003e@​elena-kolevska\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eTS range multiple aggregators\u003c/strong\u003e: \u003ccode\u003eTS.RANGE\u003c/code\u003e/\u003ccode\u003eTS.REVRANGE\u003c/code\u003e/\u003ccode\u003eTS.MRANGE\u003c/code\u003e/\u003ccode\u003eTS.MREVRANGE\u003c/code\u003e now accept multiple aggregators in a single call (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3791\"\u003e#3791\u003c/a\u003e) by \u003ca href=\"https://github.com/elena-kolevska\"\u003e\u003ccode\u003e@​elena-kolevska\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eXAutoClaim\u003c/code\u003e deleted IDs\u003c/strong\u003e: \u003ccode\u003eXAUTOCLAIM\u003c/code\u003e/\u003ccode\u003eXAUTOCLAIMJUSTID\u003c/code\u003e now return the list of deleted message IDs from the PEL (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3798\"\u003e#3798\u003c/a\u003e) by \u003ca href=\"https://github.com/Khukharr\"\u003e\u003ccode\u003e@​Khukharr\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eJSON.SET FPHA\u003c/code\u003e\u003c/strong\u003e: \u003ccode\u003eJSON.SET\u003c/code\u003e accepts a new \u003ccode\u003eFPHA\u003c/code\u003e argument that specifies the floating-point type for homogeneous floating-point arrays (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3797\"\u003e#3797\u003c/a\u003e) by \u003ca href=\"https://github.com/ndyakov\"\u003e\u003ccode\u003e@​ndyakov\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eSorted-set union/intersection COUNT\u003c/strong\u003e: \u003ccode\u003eZUNION\u003c/code\u003e/\u003ccode\u003eZINTER\u003c/code\u003e/\u003ccode\u003eZDIFF\u003c/code\u003e aggregator now supports \u003ccode\u003eCOUNT\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3802\"\u003e#3802\u003c/a\u003e) by \u003ca href=\"https://github.com/ofekshenawa\"\u003e\u003ccode\u003e@​ofekshenawa\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eFT.HYBRID\u003c/code\u003e vector validation\u003c/strong\u003e: Validates hybrid-search vector input types and adds proper typed vector parameters (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3756\"\u003e#3756\u003c/a\u003e) by \u003ca href=\"https://github.com/DengY11\"\u003e\u003ccode\u003e@​DengY11\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eCluster pool wait stats\u003c/strong\u003e: \u003ccode\u003eClusterClient.PoolStats()\u003c/code\u003e now accumulates \u003ccode\u003eWaitCount\u003c/code\u003e and \u003ccode\u003eWaitDurationNs\u003c/code\u003e across all node pools (previously always zero) (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3809\"\u003e#3809\u003c/a\u003e) by \u003ca href=\"https://github.com/LINKIWI\"\u003e\u003ccode\u003e@​LINKIWI\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eTLS-only Cluster PubSub\u003c/strong\u003e: \u003ccode\u003eCLUSTER SLOTS\u003c/code\u003e port-0 entries now fall back to the origin endpoint's port, fixing \u003ccode\u003edial tcp \u0026lt;ip\u0026gt;:0: connection refused\u003c/code\u003e on TLS-only clusters started with \u003ccode\u003e--port 0 --tls-port \u0026lt;port\u0026gt;\u003c/code\u003e (fixes \u003ca href=\"https://redirect.github.com/redis/go-redis/issues/3726\"\u003e#3726\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3828\"\u003e#3828\u003c/a\u003e) by \u003ca href=\"https://github.com/ndyakov\"\u003e\u003ccode\u003e@​ndyakov\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eSharded PubSub reconnect routing\u003c/strong\u003e: \u003ccode\u003ePubSub.conn()\u003c/code\u003e now passes both regular (\u003ccode\u003ec.channels\u003c/code\u003e) and sharded (\u003ccode\u003ec.schannels\u003c/code\u003e) channels into the per-PubSub \u003ccode\u003enewConn\u003c/code\u003e closure. Previously, \u003ccode\u003eClusterClient.SSubscribe\u003c/code\u003e-only PubSubs reconnected to a random node (because the routing closure saw an empty channel list), the \u003ccode\u003eSSUBSCRIBE\u003c/code\u003e was sent to the wrong shard, and the resulting \u003ccode\u003eMOVED\u003c/code\u003e reply was silently dropped (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3829\"\u003e#3829\u003c/a\u003e) by \u003ca href=\"https://github.com/ndyakov\"\u003e\u003ccode\u003e@​ndyakov\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary...\n\n_Description has been truncated_\n\n\u003c!-- This is an auto-generated comment: release notes by coderabbit.ai --\u003e\n\n## Summary by CodeRabbit\n\n* **Chores**\n  * Updated Go version to 1.26.0\n  * Refreshed core project dependencies including web framework, database drivers, monitoring and observability packages, caching, and distributed systems tools\n  * Updated transitive dependencies across the dependency tree, including migration to newer authentication library version\n  * Bumped utility packages for performance and compatibility improvements\n\n\u003c!-- end of auto-generated comment: release notes by coderabbit.ai --\u003e","html_url":"https://github.com/kubeservice-stack/common/pull/155","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/kubeservice-stack%2Fcommon/issues/155","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/155/packages"}},{"old_version":"1.10.0","new_version":"1.12.0","update_type":"minor","path":null,"pr_created_at":"2026-06-01T03:15:27.000Z","version_change":"1.10.0 → 1.12.0","issue":{"uuid":"4560042025","node_id":"PR_kwDOR7a7Y87hNLcu","number":799,"state":"closed","title":"chore(deps): bump the go-minor-patch group across 1 directory with 16 updates","user":"dependabot[bot]","labels":["dependencies"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-06-08T01:44:43.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-01T03:15:27.000Z","updated_at":"2026-06-08T01:44:45.000Z","time_to_close":599356,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"go-minor-patch","update_count":16,"packages":[{"name":"github.com/alicebob/miniredis/v2","old_version":"2.37.0","new_version":"2.38.0","repository_url":"https://github.com/alicebob/miniredis"},{"name":"github.com/gin-gonic/gin","old_version":"1.10.0","new_version":"1.12.0","repository_url":"https://github.com/gin-gonic/gin"},{"name":"github.com/go-gormigrate/gormigrate/v2","old_version":"2.1.5","new_version":"2.1.6","repository_url":"https://github.com/go-gormigrate/gormigrate"},{"name":"github.com/golang-migrate/migrate/v4","old_version":"4.18.2","new_version":"4.19.1","repository_url":"https://github.com/golang-migrate/migrate"},{"name":"github.com/mark3labs/mcp-go","old_version":"0.47.0","new_version":"0.54.1","repository_url":"https://github.com/mark3labs/mcp-go"},{"name":"github.com/pquerna/otp","old_version":"1.4.0","new_version":"1.5.0","repository_url":"https://github.com/pquerna/otp"},{"name":"github.com/redis/go-redis/v9","old_version":"9.18.0","new_version":"9.20.0","repository_url":"https://github.com/redis/go-redis"},{"name":"github.com/spf13/cobra","old_version":"1.8.1","new_version":"1.10.2","repository_url":"https://github.com/spf13/cobra"},{"name":"github.com/swaggo/gin-swagger","old_version":"1.6.0","new_version":"1.6.1","repository_url":"https://github.com/swaggo/gin-swagger"},{"name":"k8s.io/api","old_version":"0.32.3","new_version":"0.36.1","repository_url":"https://github.com/kubernetes/api"},{"name":"k8s.io/client-go","old_version":"0.32.3","new_version":"0.36.1","repository_url":"https://github.com/kubernetes/client-go"}],"path":null,"ecosystem":"go"},"body":"Bumps the go-minor-patch group with 11 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [github.com/alicebob/miniredis/v2](https://github.com/alicebob/miniredis) | `2.37.0` | `2.38.0` |\n| [github.com/gin-gonic/gin](https://github.com/gin-gonic/gin) | `1.10.0` | `1.12.0` |\n| [github.com/go-gormigrate/gormigrate/v2](https://github.com/go-gormigrate/gormigrate) | `2.1.5` | `2.1.6` |\n| [github.com/golang-migrate/migrate/v4](https://github.com/golang-migrate/migrate) | `4.18.2` | `4.19.1` |\n| [github.com/mark3labs/mcp-go](https://github.com/mark3labs/mcp-go) | `0.47.0` | `0.54.1` |\n| [github.com/pquerna/otp](https://github.com/pquerna/otp) | `1.4.0` | `1.5.0` |\n| [github.com/redis/go-redis/v9](https://github.com/redis/go-redis) | `9.18.0` | `9.20.0` |\n| [github.com/spf13/cobra](https://github.com/spf13/cobra) | `1.8.1` | `1.10.2` |\n| [github.com/swaggo/gin-swagger](https://github.com/swaggo/gin-swagger) | `1.6.0` | `1.6.1` |\n| [k8s.io/api](https://github.com/kubernetes/api) | `0.32.3` | `0.36.1` |\n| [k8s.io/client-go](https://github.com/kubernetes/client-go) | `0.32.3` | `0.36.1` |\n\n\nUpdates `github.com/alicebob/miniredis/v2` from 2.37.0 to 2.38.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/alicebob/miniredis/releases\"\u003egithub.com/alicebob/miniredis/v2's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eDELEX and fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eXADD TRIM (thanks \u003ca href=\"https://github.com/evan-choi\"\u003e\u003ccode\u003e@​evan-choi\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate XINFO STREAM (thanks \u003ca href=\"https://github.com/TomBailey167\"\u003e\u003ccode\u003e@​TomBailey167\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003elua fix (thanks \u003ca href=\"https://github.com/infastin\"\u003e\u003ccode\u003e@​infastin\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003epartial support for DELEX\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/alicebob/miniredis/blob/master/CHANGELOG.md\"\u003egithub.com/alicebob/miniredis/v2's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.38.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eXADD TRIM (thanks \u003ca href=\"https://github.com/evan-choi\"\u003e\u003ccode\u003e@​evan-choi\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate XINFO STREAM (thanks \u003ca href=\"https://github.com/TomBailey167\"\u003e\u003ccode\u003e@​TomBailey167\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003elua fix (thanks \u003ca href=\"https://github.com/infastin\"\u003e\u003ccode\u003e@​infastin\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003epartial support for DELEX\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/alicebob/miniredis/commit/d67bfae4c370e8451561165eca6ddc50f056f083\"\u003e\u003ccode\u003ed67bfae\u003c/code\u003e\u003c/a\u003e update changelog for v2.38.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/alicebob/miniredis/commit/2b1abd81e1c58fb6d440b4637287d3ee09f7f66a\"\u003e\u003ccode\u003e2b1abd8\u003c/code\u003e\u003c/a\u003e DELEX (partly) (\u003ca href=\"https://redirect.github.com/alicebob/miniredis/issues/442\"\u003e#442\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/alicebob/miniredis/commit/452dd373d138f7ad858dd6e25e2a92753f83498e\"\u003e\u003ccode\u003e452dd37\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/alicebob/miniredis/issues/440\"\u003e#440\u003c/a\u003e from infastin/server-alias\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/alicebob/miniredis/commit/b5b8ec2cfde407552ea028514409599dbd5e1600\"\u003e\u003ccode\u003eb5b8ec2\u003c/code\u003e\u003c/a\u003e feat: add 'server' alias to 'redis' in lua scripts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/alicebob/miniredis/commit/ecc4af14f2444ea1a57d040185781fe197bdfc9d\"\u003e\u003ccode\u003eecc4af1\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/alicebob/miniredis/issues/439\"\u003e#439\u003c/a\u003e from TomBailey167/xinfo-stream-last-generated-id\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/alicebob/miniredis/commit/4a2a33e841b359a2569fe9a35d6d46414bf40aec\"\u003e\u003ccode\u003e4a2a33e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/alicebob/miniredis/issues/435\"\u003e#435\u003c/a\u003e from evan-choi/fix/xadd-equals-trim-modifier\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/alicebob/miniredis/commit/d6261eff59117ccea7387f3a608caa1006b1adef\"\u003e\u003ccode\u003ed6261ef\u003c/code\u003e\u003c/a\u003e feat: add last-generated-id to XINFO STREAM response\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/alicebob/miniredis/commit/f4d8aa342425de1b740a6f22a7dd230f83e3712a\"\u003e\u003ccode\u003ef4d8aa3\u003c/code\u003e\u003c/a\u003e fix: accept = trim modifier in xadd\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/alicebob/miniredis/compare/v2.37.0...v2.38.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/gin-gonic/gin` from 1.10.0 to 1.12.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/gin-gonic/gin/releases\"\u003egithub.com/gin-gonic/gin's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.12.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e192ac89eefc1c30f7c97ae48a9ffb1c6f1c8c8bc: feat(binding): add support for encoding.UnmarshalText in uri/query binding (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4203\"\u003e#4203\u003c/a\u003e) (\u003ca href=\"https://github.com/takanuva15\"\u003e\u003ccode\u003e@​takanuva15\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e53410d2e07054369e0960fbe2eed97e1b9966f12: feat(context): add GetError and GetErrorSlice methods for error retrieval (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4502\"\u003e#4502\u003c/a\u003e) (\u003ca href=\"https://github.com/raju-mechatronics\"\u003e\u003ccode\u003e@​raju-mechatronics\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eacc55e049e33b401e810dbd8c0d6dcb6b3ba2b05: feat(context): add Protocol Buffers support to content negotiation (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4423\"\u003e#4423\u003c/a\u003e) (\u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e38e765119241d990705169bedb5002a29ae0cbd1: feat(context): implemented Delete method (\u003ca href=\"https://github.com/Spyder01\"\u003e\u003ccode\u003e@​Spyder01\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e771dcc6476d7bc6abb9ec0235ecefa4d38fe6fb0: feat(gin): add option to use escaped path (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4420\"\u003e#4420\u003c/a\u003e) (\u003ca href=\"https://github.com/ldesauw\"\u003e\u003ccode\u003e@​ldesauw\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e4dec17afdff48e8018c83618fbbe69fceeb2b41d: feat(logger): color latency (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4146\"\u003e#4146\u003c/a\u003e) (\u003ca href=\"https://github.com/wsyqn6\"\u003e\u003ccode\u003e@​wsyqn6\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ed7776de7d444935ea4385999711bd6331a98fecb: feat(render): add bson protocol (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4145\"\u003e#4145\u003c/a\u003e) (\u003ca href=\"https://github.com/laurentcau\"\u003e\u003ccode\u003e@​laurentcau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eb917b14ff9d189f16a7492be79d123a47806ee19: fix(binding): empty value error (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/2169\"\u003e#2169\u003c/a\u003e) (\u003ca href=\"https://github.com/guonaihong\"\u003e\u003ccode\u003e@​guonaihong\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ec3d1092b3b48addf6f9cd00fe274ec3bd14650eb: fix(binding): improve empty slice/array handling in form binding (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4380\"\u003e#4380\u003c/a\u003e) (\u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e9914178584e42458ff7d23891463a880f58c9d86: fix(context): ClientIP handling for multiple X-Forwarded-For header values (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4472\"\u003e#4472\u003c/a\u003e) (\u003ca href=\"https://github.com/Nurysso\"\u003e\u003ccode\u003e@​Nurysso\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e2a794cd0b0faa7d829291375b27a3467ea972b0d: fix(debug): version mismatch (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4403\"\u003e#4403\u003c/a\u003e) (\u003ca href=\"https://github.com/zeek0x\"\u003e\u003ccode\u003e@​zeek0x\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ec3d5a28ed6d3849da820195b6774d212bcc038a9: fix(gin): close os.File in RunFd to prevent resource leak (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4422\"\u003e#4422\u003c/a\u003e) (\u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e5fad976b372e381312f8de69f0969f1284d229d3: fix(gin): literal colon routes not working with engine.Handler() (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4415\"\u003e#4415\u003c/a\u003e) (\u003ca href=\"https://github.com/pawannn\"\u003e\u003ccode\u003e@​pawannn\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e63dd3e60cab89c27fb66bce1423bd268d52abad1: fix(recover): suppress http.ErrAbortHandler in recover (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4336\"\u003e#4336\u003c/a\u003e) (\u003ca href=\"https://github.com/MondayCha\"\u003e\u003ccode\u003e@​MondayCha\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e5c00df8afadd06cc5be530dde00fe6d9fa4a2e4a: fix(render): write content length in Data.Render (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4206\"\u003e#4206\u003c/a\u003e) (\u003ca href=\"https://github.com/dengaleev\"\u003e\u003ccode\u003e@​dengaleev\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e234a6d4c00cb77af9852aca0b8289745d5529b4b: fix(response): refine hijack behavior for response lifecycle (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4373\"\u003e#4373\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e472d086af2acd924cb4b9d7be0525f7d790f69bc: fix(tree): panic in findCaseInsensitivePathRec with RedirectFixedPath (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4535\"\u003e#4535\u003c/a\u003e) (\u003ca href=\"https://github.com/veeceey\"\u003e\u003ccode\u003e@​veeceey\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e8e07d37c63e5536eb25f4af4c91eabeee4011fba: fix: Correct typos, improve documentation clarity, and remove dead code (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4511\"\u003e#4511\u003c/a\u003e) (\u003ca href=\"https://github.com/mahanadh\"\u003e\u003ccode\u003e@​mahanadh\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eba093d19477b896ac89a7fc3246af23d290b8e26: chore(binding): upgrade bson dependency to mongo-driver v2 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4549\"\u003e#4549\u003c/a\u003e) (\u003ca href=\"https://github.com/BobDu\"\u003e\u003ccode\u003e@​BobDu\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eb2b489dbf4826c2c630717a77fd5e42774625410: chore(context): always trust xff headers from unix socket (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/3359\"\u003e#3359\u003c/a\u003e) (\u003ca href=\"https://github.com/WeidiDeng\"\u003e\u003ccode\u003e@​WeidiDeng\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eecb3f7b5e2f3915bf1db240ed5eee572f8dbea36: chore(deps): upgrade golang.org/x/crypto to v0.45.0 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4449\"\u003e#4449\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eaf6e8b70b8261bb0c99ad094fe552ab92991620a: chore(deps): upgrade quic-go to v0.57.1 (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edb309081bc5c137b2aa15701ef53f7f19788da25: chore(logger): allow skipping query string output (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4547\"\u003e#4547\u003c/a\u003e) (\u003ca href=\"https://github.com/USA-RedDragon\"\u003e\u003ccode\u003e@​USA-RedDragon\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e26c3a628655cad2388380cb8102d6ce7d4875f3b: chore(response): prevent Flush() panic when \u003ccode\u003ehttp.Flusher\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4479\"\u003e#4479\u003c/a\u003e) (\u003ca href=\"https://github.com/Twacqwq\"\u003e\u003ccode\u003e@​Twacqwq\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e5dd833f1f26de0eb30eae47b17e05ced2482dc41: chore: bump minimum Go version to 1.24 and update workflows (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4388\"\u003e#4388\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRefactor\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e39858a0859c914bd26948fa950477e11bd8d3823: refactor(binding): use maps.Copy for cleaner map handling (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4352\"\u003e#4352\u003c/a\u003e) (\u003ca href=\"https://github.com/russcoss\"\u003e\u003ccode\u003e@​russcoss\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ec0048f645ee945c4db30593afdea10123e2c30a6: refactor(context): omit the return value names (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4395\"\u003e#4395\u003c/a\u003e) (\u003ca href=\"https://github.com/wanghaolong613\"\u003e\u003ccode\u003e@​wanghaolong613\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e915e4c90d28ec4cffc6eb146e208ab5a65eac772: refactor(context): replace hardcoded localhost IPs with constants (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4481\"\u003e#4481\u003c/a\u003e) (\u003ca href=\"https://github.com/pauloappbr\"\u003e\u003ccode\u003e@​pauloappbr\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e414de60574449457f3192a7a1d5528940db2836d: refactor(context): using maps.Clone (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4333\"\u003e#4333\u003c/a\u003e) (\u003ca href=\"https://github.com/cuiweixie\"\u003e\u003ccode\u003e@​cuiweixie\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e59e9d4a794f12c4f9a6c7bed441b9644e5f6d99b: refactor(ginS): use sync.OnceValue to simplify engine function (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4314\"\u003e#4314\u003c/a\u003e) (\u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e3ab698dc5110af1977d57226e4995c57dd34c233: refactor(recovery): smart error comparison (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4142\"\u003e#4142\u003c/a\u003e) (\u003ca href=\"https://github.com/zeek0x\"\u003e\u003ccode\u003e@​zeek0x\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ed1a15347b1e45a8ee816193d3578a93bfd73b70f: refactor(utils): move util functions to utils.go (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4467\"\u003e#4467\u003c/a\u003e) (\u003ca href=\"https://github.com/zeek0x\"\u003e\u003ccode\u003e@​zeek0x\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ee3118cc378d263454098924ebbde7e8d1dd2e904: refactor: for loop can be modernized using range over int (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4392\"\u003e#4392\u003c/a\u003e) (\u003ca href=\"https://github.com/wanghaolong613\"\u003e\u003ccode\u003e@​wanghaolong613\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e488f8c3ffa579a8d19beb2bae95ff8ef36b3d53f: refactor: replace magic numbers with named constants in bodyAllowedForStatus (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4529\"\u003e#4529\u003c/a\u003e) (\u003ca href=\"https://github.com/veeceey\"\u003e\u003ccode\u003e@​veeceey\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e9968c4bf9d5a99edc3eee2c068a4c9160ece8915: refactor: use b.Loop() to simplify the code and improve performance (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4389\"\u003e#4389\u003c/a\u003e) (\u003ca href=\"https://github.com/reddaisyy\"\u003e\u003ccode\u003e@​reddaisyy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ea85ef5ce4d0cda8834c59c855068ed48b51192d1: refactor: use b.Loop() to simplify the code and improve performance (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4432\"\u003e#4432\u003c/a\u003e) (\u003ca href=\"https://github.com/efcking\"\u003e\u003ccode\u003e@​efcking\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBuild process updates\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e61b67de522a189b568aced4c5c16917c558e3387: ci(bot): increase frequency and group updates for dependencies (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4367\"\u003e#4367\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efb27ef26c2fdfe25344b4c039d8a53551f9e912c: ci(lint): refactor test assertions and linter configuration (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4436\"\u003e#4436\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e93ff771e6dbf10e432864b30f3719ac5c84a4d4a: ci(sec): improve type safety and server organization in HTTP middleware (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4437\"\u003e#4437\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ee88fc8927a52b74f55bec0351604a56ac0aa1c51: ci(sec): schedule Trivy security scans to run daily at midnight UTC (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4439\"\u003e#4439\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e5e5ff3ace496a31b138b0820136a146bfb5de0ef: ci: replace vulnerability scanning workflow with Trivy integration (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4421\"\u003e#4421\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e00900fb3e1ea9dde33985a0e4f6afec793d5e786: ci: update CI workflows and standardize Trivy config quotes (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4531\"\u003e#4531\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eae3f524974fc4f55d18c9e7fae4614503c015226: ci: update Go version support to 1.25+ across CI and docs (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4550\"\u003e#4550\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/gin-gonic/gin/blob/master/CHANGELOG.md\"\u003egithub.com/gin-gonic/gin's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eGin v1.12.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat(render): add bson protocol (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4145\"\u003e#4145\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(context): add GetError and GetErrorSlice methods for error retrieval (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4502\"\u003e#4502\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(binding): add support for encoding.UnmarshalText in uri/query binding (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4203\"\u003e#4203\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(gin): add option to use escaped path (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4420\"\u003e#4420\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(context): add Protocol Buffers support to content negotiation (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4423\"\u003e#4423\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(context): implemented Delete method (\u003ca href=\"https://github.com/gin-gonic/gin/commit/38e7651\"\u003e#38e7651\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(logger): color latency (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4146\"\u003e#4146\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eperf(tree): reduce allocations in findCaseInsensitivePath (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4417\"\u003e#4417\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eperf(recovery): optimize line reading in stack function (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4466\"\u003e#4466\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eperf(path): replace regex with custom functions in redirectTrailingSlash (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4414\"\u003e#4414\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eperf(tree): optimize path parsing using strings.Count (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4246\"\u003e#4246\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(logger): allow skipping query string output (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4547\"\u003e#4547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(context): always trust xff headers from unix socket (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/3359\"\u003e#3359\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(response): prevent Flush() panic when the underlying ResponseWriter does not implement \u003ccode\u003ehttp.Flusher\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4479\"\u003e#4479\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(recovery): smart error comparison (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4142\"\u003e#4142\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(context): replace hardcoded localhost IPs with constants (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4481\"\u003e#4481\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(utils): move util functions to utils.go (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4467\"\u003e#4467\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(binding): use maps.Copy for cleaner map handling (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4352\"\u003e#4352\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(context): using maps.Clone (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4333\"\u003e#4333\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(ginS): use sync.OnceValue to simplify engine function (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4314\"\u003e#4314\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor: replace magic numbers with named constants in bodyAllowedForStatus (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4529\"\u003e#4529\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor: for loop can be modernized using range over int (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4392\"\u003e#4392\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(tree): panic in findCaseInsensitivePathRec with RedirectFixedPath (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4535\"\u003e#4535\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(render): write content length in Data.Render (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4206\"\u003e#4206\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(context): ClientIP handling for multiple X-Forwarded-For header values (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4472\"\u003e#4472\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(binding): empty value error (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/2169\"\u003e#2169\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(recover): suppress http.ErrAbortHandler in recover (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4336\"\u003e#4336\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(gin): literal colon routes not working with engine.Handler() (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4415\"\u003e#4415\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(gin): close os.File in RunFd to prevent resource leak (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4422\"\u003e#4422\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(response): refine hijack behavior for response lifecycle (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4373\"\u003e#4373\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(binding): improve empty slice/array handling in form binding (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4380\"\u003e#4380\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(debug): version mismatch (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4403\"\u003e#4403\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: correct typos, improve documentation clarity, and remove dead code (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4511\"\u003e#4511\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBuild process updates / CI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eci: update Go version support to 1.25+ across CI and docs (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4550\"\u003e#4550\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(binding): upgrade bson dependency to mongo-driver v2 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4549\"\u003e#4549\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eGin v1.11.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/73726dc606796a025971fe451f0aa6f1b9b847f6\"\u003e\u003ccode\u003e73726dc\u003c/code\u003e\u003c/a\u003e docs: update documentation to reflect Go version changes (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4552\"\u003e#4552\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/e292e5caa777bce70b66fe08c94cbe9cef3e2ec9\"\u003e\u003ccode\u003ee292e5c\u003c/code\u003e\u003c/a\u003e docs: document and finalize Gin v1.12.0 release (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4551\"\u003e#4551\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/ae3f524974fc4f55d18c9e7fae4614503c015226\"\u003e\u003ccode\u003eae3f524\u003c/code\u003e\u003c/a\u003e ci: update Go version support to 1.25+ across CI and docs (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4550\"\u003e#4550\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/38534e2bf98a06e1f62d6b24384e90b5f78699bf\"\u003e\u003ccode\u003e38534e2\u003c/code\u003e\u003c/a\u003e chore(deps): bump golang.org/x/net from 0.50.0 to 0.51.0 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4548\"\u003e#4548\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/472d086af2acd924cb4b9d7be0525f7d790f69bc\"\u003e\u003ccode\u003e472d086\u003c/code\u003e\u003c/a\u003e fix(tree): panic in findCaseInsensitivePathRec with RedirectFixedPath (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4535\"\u003e#4535\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/fb2583442c4d9bccb75e6d26f1aa6e7c01950db6\"\u003e\u003ccode\u003efb25834\u003c/code\u003e\u003c/a\u003e test(context): use http.StatusContinue constant instead of magic number 100 (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/6f1d5fe3cdb171a08928c3c9dd3fbcfc9ee1b521\"\u003e\u003ccode\u003e6f1d5fe\u003c/code\u003e\u003c/a\u003e test(render): add comprehensive error handling tests (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4541\"\u003e#4541\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/5c00df8afadd06cc5be530dde00fe6d9fa4a2e4a\"\u003e\u003ccode\u003e5c00df8\u003c/code\u003e\u003c/a\u003e fix(render): write content length in Data.Render (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4206\"\u003e#4206\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/db309081bc5c137b2aa15701ef53f7f19788da25\"\u003e\u003ccode\u003edb30908\u003c/code\u003e\u003c/a\u003e chore(logger): allow skipping query string output (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4547\"\u003e#4547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/ba093d19477b896ac89a7fc3246af23d290b8e26\"\u003e\u003ccode\u003eba093d1\u003c/code\u003e\u003c/a\u003e chore(binding): upgrade bson dependency to mongo-driver v2 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4549\"\u003e#4549\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/gin-gonic/gin/compare/v1.10.0...v1.12.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/go-gormigrate/gormigrate/v2` from 2.1.5 to 2.1.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/go-gormigrate/gormigrate/releases\"\u003egithub.com/go-gormigrate/gormigrate/v2's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.1.6\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003echore: bump go 1.25 =\u0026gt; 1.26, update go deps\u003c/li\u003e\n\u003cli\u003echore(ci): bump github actions\u003c/li\u003e\n\u003cli\u003echore: bump db images for integration testing\n\u003cul\u003e\n\u003cli\u003epostgres: 18 =\u0026gt; 19\u003c/li\u003e\n\u003cli\u003emariadb: 11 =\u0026gt; 12\u003c/li\u003e\n\u003cli\u003emssql/server: 2022 =\u0026gt; 2025\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/go-gormigrate/gormigrate/commit/0c959b054017835494c5f3df3f919ad35432bdc9\"\u003e\u003ccode\u003e0c959b0\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/go-gormigrate/gormigrate/issues/234\"\u003e#234\u003c/a\u003e from go-gormigrate/update-deps\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/go-gormigrate/gormigrate/commit/3beaebe11e7adae81201504d78c81517ee1cb94c\"\u003e\u003ccode\u003e3beaebe\u003c/code\u003e\u003c/a\u003e chore: bump db images for integration testing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/go-gormigrate/gormigrate/commit/98e2c3fc144b0b1b2ecd1325d6faffc4f8f46b79\"\u003e\u003ccode\u003e98e2c3f\u003c/code\u003e\u003c/a\u003e chore(ci): bump github actions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/go-gormigrate/gormigrate/commit/d6b97c71994510af7d1b814f5cb9fe2f8368f35e\"\u003e\u003ccode\u003ed6b97c7\u003c/code\u003e\u003c/a\u003e chore: bump go 1.25 =\u0026gt; 1.26, update go deps\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/go-gormigrate/gormigrate/compare/v2.1.5...v2.1.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/golang-migrate/migrate/v4` from 4.18.2 to 4.19.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/golang-migrate/migrate/releases\"\u003egithub.com/golang-migrate/migrate/v4's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.19.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump github.com/dvsekhvalnov/jose2go from 1.6.0 to 1.7.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/golang-migrate/migrate/pull/1334\"\u003egolang-migrate/migrate#1334\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate docker image to use go 1.25, addressing vulnerabilities  by \u003ca href=\"https://github.com/matsoob\"\u003e\u003ccode\u003e@​matsoob\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/golang-migrate/migrate/pull/1333\"\u003egolang-migrate/migrate#1333\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump golang.org/x/crypto from 0.36.0 to 0.45.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/golang-migrate/migrate/pull/1335\"\u003egolang-migrate/migrate#1335\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix linter issues by \u003ca href=\"https://github.com/HaraldNordgren\"\u003e\u003ccode\u003e@​HaraldNordgren\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/golang-migrate/migrate/pull/1325\"\u003egolang-migrate/migrate#1325\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRename databaseName to databaseDriverName by \u003ca href=\"https://github.com/iamonah\"\u003e\u003ccode\u003e@​iamonah\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/golang-migrate/migrate/pull/1304\"\u003egolang-migrate/migrate#1304\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: Update cloud.google.com/go/spanner version by \u003ca href=\"https://github.com/jferrl\"\u003e\u003ccode\u003e@​jferrl\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/golang-migrate/migrate/pull/1330\"\u003egolang-migrate/migrate#1330\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump golang.org/x/crypto from 0.43.0 to 0.45.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/golang-migrate/migrate/pull/1336\"\u003egolang-migrate/migrate#1336\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: remove dependency on \u0026quot;hashicorp/go-multierror\u0026quot; by \u003ca href=\"https://github.com/leonklingele\"\u003e\u003ccode\u003e@​leonklingele\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/golang-migrate/migrate/pull/1322\"\u003egolang-migrate/migrate#1322\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matsoob\"\u003e\u003ccode\u003e@​matsoob\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/golang-migrate/migrate/pull/1333\"\u003egolang-migrate/migrate#1333\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/iamonah\"\u003e\u003ccode\u003e@​iamonah\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/golang-migrate/migrate/pull/1304\"\u003egolang-migrate/migrate#1304\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jferrl\"\u003e\u003ccode\u003e@​jferrl\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/golang-migrate/migrate/pull/1330\"\u003egolang-migrate/migrate#1330\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/leonklingele\"\u003e\u003ccode\u003e@​leonklingele\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/golang-migrate/migrate/pull/1322\"\u003egolang-migrate/migrate#1322\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/golang-migrate/migrate/compare/v4.19.0...v4.19.1\"\u003ehttps://github.com/golang-migrate/migrate/compare/v4.19.0...v4.19.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.19.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed sqlserver not actually getting a lock if lock is already set by \u003ca href=\"https://github.com/urbim\"\u003e\u003ccode\u003e@​urbim\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/golang-migrate/migrate/pull/1186\"\u003egolang-migrate/migrate#1186\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump golang.org/x/oauth2 from 0.18.0 to 0.27.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/golang-migrate/migrate/pull/1299\"\u003egolang-migrate/migrate#1299\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate apt-key to gpg by \u003ca href=\"https://github.com/sandhilt\"\u003e\u003ccode\u003e@​sandhilt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/golang-migrate/migrate/pull/1277\"\u003egolang-migrate/migrate#1277\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate dktest to v0.4.6 for docker vuln fix by \u003ca href=\"https://github.com/dhui\"\u003e\u003ccode\u003e@​dhui\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/golang-migrate/migrate/pull/1309\"\u003egolang-migrate/migrate#1309\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor: Remove go.uber.org/atomic in favor of std sync/atomic by \u003ca href=\"https://github.com/romshark\"\u003e\u003ccode\u003e@​romshark\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/golang-migrate/migrate/pull/1303\"\u003egolang-migrate/migrate#1303\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnsure bufferWriter is always closed in Migration.Buffer and propagate close errors by \u003ca href=\"https://github.com/ckantcs\"\u003e\u003ccode\u003e@​ckantcs\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/golang-migrate/migrate/pull/1308\"\u003egolang-migrate/migrate#1308\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for Go 1.25 and drop support for 1.23 by \u003ca href=\"https://github.com/dhui\"\u003e\u003ccode\u003e@​dhui\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/golang-migrate/migrate/pull/1310\"\u003egolang-migrate/migrate#1310\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/urbim\"\u003e\u003ccode\u003e@​urbim\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/golang-migrate/migrate/pull/1186\"\u003egolang-migrate/migrate#1186\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sandhilt\"\u003e\u003ccode\u003e@​sandhilt\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/golang-migrate/migrate/pull/1277\"\u003egolang-migrate/migrate#1277\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/romshark\"\u003e\u003ccode\u003e@​romshark\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/golang-migrate/migrate/pull/1303\"\u003egolang-migrate/migrate#1303\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ckantcs\"\u003e\u003ccode\u003e@​ckantcs\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/golang-migrate/migrate/pull/1308\"\u003egolang-migrate/migrate#1308\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/golang-migrate/migrate/compare/v4.18.3...v4.19.0\"\u003ehttps://github.com/golang-migrate/migrate/compare/v4.18.3...v4.19.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.18.3\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ea4d0a1b Bump github.com/golang-jwt/jwt/v4 from 4.5.1 to 4.5.2\u003c/li\u003e\n\u003cli\u003ef37ef79 Bump golang.org/x/crypto from 0.31.0 to 0.35.0\u003c/li\u003e\n\u003cli\u003e5b97c92 Bump golang.org/x/net from 0.33.0 to 0.38.0\u003c/li\u003e\n\u003cli\u003ee6d84f6 Drop support for Go 1.22 and add support for Go 1.24\u003c/li\u003e\n\u003cli\u003efccd197 Mention CLI install instructions in main README\u003c/li\u003e\n\u003cli\u003e34c2b4a Remove redundant build tags\u003c/li\u003e\n\u003cli\u003ea868033 Update FAQ.md - typo\u003c/li\u003e\n\u003cli\u003e7269490 Update golangci-lint version used in GitHub Actions\u003c/li\u003e\n\u003cli\u003ec5137c4 Update migrate -help output for the readme file\u003c/li\u003e\n\u003cli\u003e033835a Update to dktest v0.4.5\u003c/li\u003e\n\u003cli\u003e8b09191 fix: typo limited not limitted\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/golang-migrate/migrate/commit/89e308c340a2c069c3260f268307d38a7db88227\"\u003e\u003ccode\u003e89e308c\u003c/code\u003e\u003c/a\u003e chore: remove dependency on \u0026quot;hashicorp/go-multierror\u0026quot; (\u003ca href=\"https://redirect.github.com/golang-migrate/migrate/issues/1322\"\u003e#1322\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/golang-migrate/migrate/commit/472ef2e75cf6acfb1d5c4092c9e8e05715631f24\"\u003e\u003ccode\u003e472ef2e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/golang-migrate/migrate/issues/1336\"\u003e#1336\u003c/a\u003e from golang-migrate/dependabot/go_modules/golang.org...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/golang-migrate/migrate/commit/8d7625987a5bcc4f74000a4357c4535b60de2ef6\"\u003e\u003ccode\u003e8d76259\u003c/code\u003e\u003c/a\u003e Bump golang.org/x/crypto from 0.43.0 to 0.45.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/golang-migrate/migrate/commit/9f9df7c897f5fcc4432d36e2c9049339d4010626\"\u003e\u003ccode\u003e9f9df7c\u003c/code\u003e\u003c/a\u003e chore: Update cloud.google.com/go/spanner version (\u003ca href=\"https://redirect.github.com/golang-migrate/migrate/issues/1330\"\u003e#1330\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/golang-migrate/migrate/commit/a371c8ea2b677e6b5fb0bb88a2f0a501748132a3\"\u003e\u003ccode\u003ea371c8e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/golang-migrate/migrate/issues/1304\"\u003e#1304\u003c/a\u003e from iamonah/fix/clarify-databaseName-meaning\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/golang-migrate/migrate/commit/43cc3b3ea50ac4385eab5f6a95b85034d9dbf7a9\"\u003e\u003ccode\u003e43cc3b3\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/golang-migrate/migrate/issues/1325\"\u003e#1325\u003c/a\u003e from HaraldNordgren/linter_issues\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/golang-migrate/migrate/commit/f939a8992502b33eeb4d7cb1e37972e916ec3bf7\"\u003e\u003ccode\u003ef939a89\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/golang-migrate/migrate/issues/1335\"\u003e#1335\u003c/a\u003e from golang-migrate/dependabot/go_modules/golang.org...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/golang-migrate/migrate/commit/6dd86e0ded6f854fb88a54907030077288fda5af\"\u003e\u003ccode\u003e6dd86e0\u003c/code\u003e\u003c/a\u003e Bump golang.org/x/crypto from 0.36.0 to 0.45.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/golang-migrate/migrate/commit/70e6d6d57408f73e126285a976eaa9b70834f5c2\"\u003e\u003ccode\u003e70e6d6d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/golang-migrate/migrate/issues/1333\"\u003e#1333\u003c/a\u003e from matsoob/updateGoInBaseImage\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/golang-migrate/migrate/commit/a51d0da644e28288679c31aadf7ec00e90c9483f\"\u003e\u003ccode\u003ea51d0da\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/golang-migrate/migrate/issues/1334\"\u003e#1334\u003c/a\u003e from golang-migrate/dependabot/go_modules/github.com...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/golang-migrate/migrate/compare/v4.18.2...v4.19.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/mark3labs/mcp-go` from 0.47.0 to 0.54.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mark3labs/mcp-go/releases\"\u003egithub.com/mark3labs/mcp-go's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease v0.54.1\u003c/h2\u003e\n\u003cp\u003eNo release notes provided.\u003c/p\u003e\n\u003ch2\u003eRelease v0.54.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix(server): handle resources/subscribe and resources/unsubscribe (\u003ca href=\"https://redirect.github.com/mark3labs/mcp-go/issues/865\"\u003e#865\u003c/a\u003e) by \u003ca href=\"https://github.com/ezynda3\"\u003e\u003ccode\u003e@​ezynda3\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mark3labs/mcp-go/pull/873\"\u003emark3labs/mcp-go#873\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(oauth): use LATEST_PROTOCOL_VERSION in metadata discovery (\u003ca href=\"https://redirect.github.com/mark3labs/mcp-go/issues/868\"\u003e#868\u003c/a\u003e) by \u003ca href=\"https://github.com/ezynda3\"\u003e\u003ccode\u003e@​ezynda3\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mark3labs/mcp-go/pull/874\"\u003emark3labs/mcp-go#874\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(oauth): don't hold metadataMu across HTTP discovery (\u003ca href=\"https://redirect.github.com/mark3labs/mcp-go/issues/871\"\u003e#871\u003c/a\u003e) by \u003ca href=\"https://github.com/ezynda3\"\u003e\u003ccode\u003e@​ezynda3\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mark3labs/mcp-go/pull/875\"\u003emark3labs/mcp-go#875\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(mcp): add 2025-11-25 sampling-with-tools and capability sub-fields (\u003ca href=\"https://redirect.github.com/mark3labs/mcp-go/issues/867\"\u003e#867\u003c/a\u003e) by \u003ca href=\"https://github.com/ezynda3\"\u003e\u003ccode\u003e@​ezynda3\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mark3labs/mcp-go/pull/876\"\u003emark3labs/mcp-go#876\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor: use MCP method constants by \u003ca href=\"https://github.com/nanookclaw\"\u003e\u003ccode\u003e@​nanookclaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mark3labs/mcp-go/pull/878\"\u003emark3labs/mcp-go#878\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: add missing godoc comments by \u003ca href=\"https://github.com/aqilaziz\"\u003e\u003ccode\u003e@​aqilaziz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mark3labs/mcp-go/pull/877\"\u003emark3labs/mcp-go#877\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: add panic recovery to SSE message handler and stdio tool call worker by \u003ca href=\"https://github.com/blackwell-systems\"\u003e\u003ccode\u003e@​blackwell-systems\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mark3labs/mcp-go/pull/882\"\u003emark3labs/mcp-go#882\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: add panic recovery to task goroutines, fix cleanup goroutine leak by \u003ca href=\"https://github.com/blackwell-systems\"\u003e\u003ccode\u003e@​blackwell-systems\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mark3labs/mcp-go/pull/880\"\u003emark3labs/mcp-go#880\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: add OpenTelemetry tracing hooks to server and client by \u003ca href=\"https://github.com/QuentinBisson\"\u003e\u003ccode\u003e@​QuentinBisson\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mark3labs/mcp-go/pull/856\"\u003emark3labs/mcp-go#856\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: add panic recovery to session hook goroutines by \u003ca href=\"https://github.com/blackwell-systems\"\u003e\u003ccode\u003e@​blackwell-systems\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mark3labs/mcp-go/pull/883\"\u003emark3labs/mcp-go#883\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(mcp): add BaseMetadata.title, Icon.theme, Resource.size (\u003ca href=\"https://redirect.github.com/mark3labs/mcp-go/issues/870\"\u003e#870\u003c/a\u003e) by \u003ca href=\"https://github.com/ezynda3\"\u003e\u003ccode\u003e@​ezynda3\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mark3labs/mcp-go/pull/885\"\u003emark3labs/mcp-go#885\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nanookclaw\"\u003e\u003ccode\u003e@​nanookclaw\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/mark3labs/mcp-go/pull/878\"\u003emark3labs/mcp-go#878\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aqilaziz\"\u003e\u003ccode\u003e@​aqilaziz\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/mark3labs/mcp-go/pull/877\"\u003emark3labs/mcp-go#877\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/mark3labs/mcp-go/compare/v0.53.0...v0.54.0\"\u003ehttps://github.com/mark3labs/mcp-go/compare/v0.53.0...v0.54.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eRelease v0.53.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efeat(server): add WithStrictInputSchemaDefault by \u003ca href=\"https://github.com/QuentinBisson\"\u003e\u003ccode\u003e@​QuentinBisson\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mark3labs/mcp-go/pull/853\"\u003emark3labs/mcp-go#853\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(server): add CloseSessions and prevent double-close panic on SSE sessions by \u003ca href=\"https://github.com/blackwell-systems\"\u003e\u003ccode\u003e@​blackwell-systems\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mark3labs/mcp-go/pull/852\"\u003emark3labs/mcp-go#852\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(transport): suppress closed-pipe shutdown noise by \u003ca href=\"https://github.com/Gujiassh\"\u003e\u003ccode\u003e@​Gujiassh\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mark3labs/mcp-go/pull/863\"\u003emark3labs/mcp-go#863\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: add panic recovery to transport goroutines by \u003ca href=\"https://github.com/blackwell-systems\"\u003e\u003ccode\u003e@​blackwell-systems\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mark3labs/mcp-go/pull/861\"\u003emark3labs/mcp-go#861\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: ToolInputSchema inherits MarshalJSON (fixes \u003ca href=\"https://redirect.github.com/mark3labs/mcp-go/issues/694\"\u003e#694\u003c/a\u003e) by \u003ca href=\"https://github.com/tamish-max\"\u003e\u003ccode\u003e@​tamish-max\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mark3labs/mcp-go/pull/858\"\u003emark3labs/mcp-go#858\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ewe should use pointers on returns for ListPrompts and ListResources by \u003ca href=\"https://github.com/Patryk-Stefanski\"\u003e\u003ccode\u003e@​Patryk-Stefanski\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mark3labs/mcp-go/pull/855\"\u003emark3labs/mcp-go#855\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(mcp): allow _meta on paginated requests by \u003ca href=\"https://github.com/curbol\"\u003e\u003ccode\u003e@​curbol\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mark3labs/mcp-go/pull/854\"\u003emark3labs/mcp-go#854\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor(server): use explicit struct literal in ListTools by \u003ca href=\"https://github.com/ezynda3\"\u003e\u003ccode\u003e@​ezynda3\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mark3labs/mcp-go/pull/864\"\u003emark3labs/mcp-go#864\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/QuentinBisson\"\u003e\u003ccode\u003e@​QuentinBisson\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/mark3labs/mcp-go/pull/853\"\u003emark3labs/mcp-go#853\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tamish-max\"\u003e\u003ccode\u003e@​tamish-max\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/mark3labs/mcp-go/pull/858\"\u003emark3labs/mcp-go#858\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/curbol\"\u003e\u003ccode\u003e@​curbol\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/mark3labs/mcp-go/pull/854\"\u003emark3labs/mcp-go#854\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/mark3labs/mcp-go/compare/v0.52.0...v0.53.0\"\u003ehttps://github.com/mark3labs/mcp-go/compare/v0.52.0...v0.53.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eRelease v0.52.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix(transport): close response body on 404 in sendHTTP by \u003ca href=\"https://github.com/blackwell-systems\"\u003e\u003ccode\u003e@​blackwell-systems\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mark3labs/mcp-go/pull/849\"\u003emark3labs/mcp-go#849\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(server): add transport-agnostic Handle entry point by \u003ca href=\"https://github.com/ezynda3\"\u003e\u003ccode\u003e@​ezynda3\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mark3labs/mcp-go/pull/851\"\u003emark3labs/mcp-go#851\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/mark3labs/mcp-go/compare/v0.51.0...v0.52.0\"\u003ehttps://github.com/mark3labs/mcp-go/compare/v0.51.0...v0.52.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eRelease v0.51.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mark3labs/mcp-go/commit/481f05674f583f20ce114d9e7efdcc6348d792e7\"\u003e\u003ccode\u003e481f056\u003c/code\u003e\u003c/a\u003e fix(tools): print errors to stderr for invalid jsonschema tags (\u003ca href=\"https://redirect.github.com/mark3labs/mcp-go/issues/894\"\u003e#894\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mark3labs/mcp-go/commit/6e7859cbd25deb0454b4abcd2b3e6b423bc44f05\"\u003e\u003ccode\u003e6e7859c\u003c/code\u003e\u003c/a\u003e perf(mcp): reduce content unmarshal allocations (\u003ca href=\"https://redirect.github.com/mark3labs/mcp-go/issues/890\"\u003e#890\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mark3labs/mcp-go/commit/018f1908eddf5e2a3ab171225045e33307f60be7\"\u003e\u003ccode\u003e018f190\u003c/code\u003e\u003c/a\u003e Add Title and Size to ResourceLink (match Resource / spec) (\u003ca href=\"https://redirect.github.com/mark3labs/mcp-go/issues/887\"\u003e#887\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mark3labs/mcp-go/commit/ca267385245e333cc62920d0b6683f393cfdb8ed\"\u003e\u003ccode\u003eca26738\u003c/code\u003e\u003c/a\u003e cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mark3labs/mcp-go/commit/76ea91b7d1c3bc8c3bb0a3fce5e18043eed99233\"\u003e\u003ccode\u003e76ea91b\u003c/code\u003e\u003c/a\u003e refactor(server): collapse client-info and writeJSONRPCError duplication (\u003ca href=\"https://redirect.github.com/mark3labs/mcp-go/issues/886\"\u003e#886\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mark3labs/mcp-go/commit/fac90b64b0dfe25b84acd6797a89d2215cf6b480\"\u003e\u003ccode\u003efac90b6\u003c/code\u003e\u003c/a\u003e fmt\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mark3labs/mcp-go/commit/b817eff0c8d5555741b7af126e0bd9c1c8937150\"\u003e\u003ccode\u003eb817eff\u003c/code\u003e\u003c/a\u003e feat(mcp): add BaseMetadata.title, Icon.theme, Resource.size (\u003ca href=\"https://redirect.github.com/mark3labs/mcp-go/issues/870\"\u003e#870\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/mark3labs/mcp-go/issues/885\"\u003e#885\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mark3labs/mcp-go/commit/602478c1db3d8a90bfc23e9b92af04e920d7a772\"\u003e\u003ccode\u003e602478c\u003c/code\u003e\u003c/a\u003e fix: add panic recovery to session hook goroutines (\u003ca href=\"https://redirect.github.com/mark3labs/mcp-go/issues/883\"\u003e#883\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mark3labs/mcp-go/commit/14ddeb3018e97ee21dee8b8297aa7838ab711c9b\"\u003e\u003ccode\u003e14ddeb3\u003c/code\u003e\u003c/a\u003e feat: add OpenTelemetry tracing hooks to server and client (\u003ca href=\"https://redirect.github.com/mark3labs/mcp-go/issues/856\"\u003e#856\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mark3labs/mcp-go/commit/3f8fc8e8b059c8af76cf2cd2be68c2fc63be5863\"\u003e\u003ccode\u003e3f8fc8e\u003c/code\u003e\u003c/a\u003e fix: add panic recovery to task goroutines, fix cleanup goroutine leak (\u003ca href=\"https://redirect.github.com/mark3labs/mcp-go/issues/880\"\u003e#880\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/mark3labs/mcp-go/compare/v0.47.0...v0.54.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/pquerna/otp` from 1.4.0 to 1.5.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pquerna/otp/releases\"\u003egithub.com/pquerna/otp's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.5.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eReplace deprecated ioutil by \u003ca href=\"https://github.com/erfan-khadem\"\u003e\u003ccode\u003e@​erfan-khadem\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pquerna/otp/pull/91\"\u003epquerna/otp#91\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFeat: Steam TOTP encoding by \u003ca href=\"https://github.com/nikicat\"\u003e\u003ccode\u003e@​nikicat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pquerna/otp/pull/96\"\u003epquerna/otp#96\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(security): Ensure the entire secret is random by \u003ca href=\"https://github.com/alfrunes\"\u003e\u003ccode\u003e@​alfrunes\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pquerna/otp/pull/100\"\u003epquerna/otp#100\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/erfan-khadem\"\u003e\u003ccode\u003e@​erfan-khadem\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pquerna/otp/pull/91\"\u003epquerna/otp#91\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nikicat\"\u003e\u003ccode\u003e@​nikicat\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pquerna/otp/pull/96\"\u003epquerna/otp#96\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/alfrunes\"\u003e\u003ccode\u003e@​alfrunes\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pquerna/otp/pull/100\"\u003epquerna/otp#100\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pquerna/otp/compare/v1.4.0...v1.5.0\"\u003ehttps://github.com/pquerna/otp/compare/v1.4.0...v1.5.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pquerna/otp/commit/5971b1ef1d6652fec2caed37f11e5cacd9249f78\"\u003e\u003ccode\u003e5971b1e\u003c/code\u003e\u003c/a\u003e fix(security): Ensure the entire secret is random (\u003ca href=\"https://redirect.github.com/pquerna/otp/issues/100\"\u003e#100\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pquerna/otp/commit/c95b6974670cfbfe88ed5c0643a66ede01a90547\"\u003e\u003ccode\u003ec95b697\u003c/code\u003e\u003c/a\u003e feat: steam totp encoding (\u003ca href=\"https://redirect.github.com/pquerna/otp/issues/96\"\u003e#96\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pquerna/otp/commit/3357de7c04813a328d6a1e4a514854213e0f8ce8\"\u003e\u003ccode\u003e3357de7\u003c/code\u003e\u003c/a\u003e Replace deprecated ioutil (\u003ca href=\"https://redirect.github.com/pquerna/otp/issues/91\"\u003e#91\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/pquerna/otp/compare/v1.4.0...v1.5.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/redis/go-redis/v9` from 9.18.0 to 9.20.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/redis/go-redis/releases\"\u003egithub.com/redis/go-redis/v9's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e9.20.0\u003c/h2\u003e\n\u003ch2\u003e🚀 Highlights\u003c/h2\u003e\n\u003ch3\u003eRedis 8.8 Support\u003c/h3\u003e\n\u003cp\u003eThis release adds support for \u003cstrong\u003eRedis 8.8\u003c/strong\u003e. The README's supported-versions list now includes Redis 8.8 alongside 8.0/8.2/8.4, and CI exercises the \u003ccode\u003e8.8\u003c/code\u003e client-libs-test image across the full suite (Makefile, build workflow, doctests, run-tests action, and docker-compose).\u003c/p\u003e\n\u003cp\u003eCoverage for the new commands that ship in the 8.x line, rounded out in this release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eAR*\u003c/code\u003e array data type\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3813\"\u003e#3813\u003c/a\u003e) — new array data structure, exposed via the \u003ccode\u003eArrayCmdable\u003c/code\u003e interface (see the experimental-features highlight below).\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eINCREX\u003c/code\u003e\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3816\"\u003e#3816\u003c/a\u003e) — atomic increment with expiration in a single round-trip.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eXNACK\u003c/code\u003e\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3790\"\u003e#3790\u003c/a\u003e) — explicit negative-acknowledge of pending stream entries.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eXAUTOCLAIM\u003c/code\u003e PEL deletes\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3798\"\u003e#3798\u003c/a\u003e) — \u003ccode\u003eXAUTOCLAIM\u003c/code\u003e/\u003ccode\u003eXAUTOCLAIMJUSTID\u003c/code\u003e now return the list of deleted message IDs from the pending entries list.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eTS.RANGE\u003c/code\u003e multiple aggregators\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3791\"\u003e#3791\u003c/a\u003e) — \u003ccode\u003eTS.RANGE\u003c/code\u003e/\u003ccode\u003eTS.REVRANGE\u003c/code\u003e/\u003ccode\u003eTS.MRANGE\u003c/code\u003e/\u003ccode\u003eTS.MREVRANGE\u003c/code\u003e accept multiple aggregators in a single call.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eZ(UNION|INTER|DIFF)\u003c/code\u003e \u003ccode\u003eCOUNT\u003c/code\u003e aggregator\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3802\"\u003e#3802\u003c/a\u003e) — \u003ccode\u003eCOUNT\u003c/code\u003e reducer for sorted-set set operations.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eJSON.SET FPHA\u003c/code\u003e\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3797\"\u003e#3797\u003c/a\u003e) — new \u003ccode\u003eFPHA\u003c/code\u003e argument that specifies the floating-point type for homogeneous FP arrays.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eCI image bump (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3814\"\u003e#3814\u003c/a\u003e) by \u003ca href=\"https://github.com/ofekshenawa\"\u003e\u003ccode\u003e@​ofekshenawa\u003c/code\u003e\u003c/a\u003e. Command coverage contributions by \u003ca href=\"https://github.com/cxljs\"\u003e\u003ccode\u003e@​cxljs\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/elena-kolevska\"\u003e\u003ccode\u003e@​elena-kolevska\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Khukharr\"\u003e\u003ccode\u003e@​Khukharr\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/ndyakov\"\u003e\u003ccode\u003e@​ndyakov\u003c/code\u003e\u003c/a\u003e, and \u003ca href=\"https://github.com/ofekshenawa\"\u003e\u003ccode\u003e@​ofekshenawa\u003c/code\u003e\u003c/a\u003e.\u003c/p\u003e\n\u003ch3\u003eStable RESP3 for RediSearch (\u003ccode\u003eUnstableResp3\u003c/code\u003e deprecated)\u003c/h3\u003e\n\u003cp\u003e\u003ccode\u003eFT.SEARCH\u003c/code\u003e, \u003ccode\u003eFT.AGGREGATE\u003c/code\u003e, \u003ccode\u003eFT.INFO\u003c/code\u003e, \u003ccode\u003eFT.SPELLCHECK\u003c/code\u003e, and \u003ccode\u003eFT.SYNDUMP\u003c/code\u003e now parse RESP3 (map) responses into the same typed result objects as RESP2 — \u003ccode\u003eVal()\u003c/code\u003e and \u003ccode\u003eResult()\u003c/code\u003e work uniformly on both protocols, no flag required. Previously, RESP3 search responses required \u003ccode\u003eUnstableResp3: true\u003c/code\u003e and were returned as opaque maps accessible only via \u003ccode\u003eRawResult()\u003c/code\u003e / \u003ccode\u003eRawVal()\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eAs a result, the \u003ccode\u003eUnstableResp3\u003c/code\u003e option is now a \u003cstrong\u003eno-op\u003c/strong\u003e across every options struct (\u003ccode\u003eOptions\u003c/code\u003e, \u003ccode\u003eClusterOptions\u003c/code\u003e, \u003ccode\u003eUniversalOptions\u003c/code\u003e, \u003ccode\u003eFailoverOptions\u003c/code\u003e, \u003ccode\u003eRingOptions\u003c/code\u003e) and has been marked \u003ccode\u003e// Deprecated:\u003c/code\u003e. The field is retained for backwards compatibility — existing code that sets \u003ccode\u003eUnstableResp3: true\u003c/code\u003e will continue to compile and behave identically — but it will be removed in a future release and new code should not set it. \u003ccode\u003eRawResult()\u003c/code\u003e / \u003ccode\u003eRawVal()\u003c/code\u003e continue to work for callers that prefer the raw RESP payload.\u003c/p\u003e\n\u003cp\u003e(\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3741\"\u003e#3741\u003c/a\u003e) by \u003ca href=\"https://github.com/ndyakov\"\u003e\u003ccode\u003e@​ndyakov\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eExperimental Array Data Structure Commands\u003c/h3\u003e\n\u003cp\u003eAdds an experimental \u003ccode\u003eArrayCmdable\u003c/code\u003e interface with the \u003ccode\u003eAR*\u003c/code\u003e command family (\u003ccode\u003eARSet\u003c/code\u003e, \u003ccode\u003eARGet\u003c/code\u003e, \u003ccode\u003eARGetRange\u003c/code\u003e, \u003ccode\u003eARMSet\u003c/code\u003e, \u003ccode\u003eARMGet\u003c/code\u003e, \u003ccode\u003eARDel\u003c/code\u003e, \u003ccode\u003eARDelRange\u003c/code\u003e, \u003ccode\u003eARScan\u003c/code\u003e, \u003ccode\u003eARSeek\u003c/code\u003e, \u003ccode\u003eARNext\u003c/code\u003e, \u003ccode\u003eARLastItems\u003c/code\u003e, \u003ccode\u003eARGrep\u003c/code\u003e, \u003ccode\u003eARGrepWithValues\u003c/code\u003e, \u003ccode\u003eARInfo\u003c/code\u003e/\u003ccode\u003eARInfoFull\u003c/code\u003e, and typed reducers \u003ccode\u003eAROpSum\u003c/code\u003e/\u003ccode\u003eAROpMin\u003c/code\u003e/\u003ccode\u003eAROpMax\u003c/code\u003e/\u003ccode\u003eAROpAnd\u003c/code\u003e/\u003ccode\u003eAROpOr\u003c/code\u003e/\u003ccode\u003eAROpXor\u003c/code\u003e/\u003ccode\u003eAROpMatch\u003c/code\u003e/\u003ccode\u003eAROpUsed\u003c/code\u003e) for working with Redis 8.8's new array data type. \u003cstrong\u003eAPI is experimental and may change in a future release.\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003e(\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3813\"\u003e#3813\u003c/a\u003e) by \u003ca href=\"https://github.com/cxljs\"\u003e\u003ccode\u003e@​cxljs\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e✨ New Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eRESP3 search parser\u003c/strong\u003e: First-class RESP3 parsing for \u003ccode\u003eFT.SEARCH\u003c/code\u003e/\u003ccode\u003eFT.AGGREGATE\u003c/code\u003e/\u003ccode\u003eFT.INFO\u003c/code\u003e/\u003ccode\u003eFT.SPELLCHECK\u003c/code\u003e/\u003ccode\u003eFT.SYNDUMP\u003c/code\u003e responses with backwards compatibility for RESP2 (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3741\"\u003e#3741\u003c/a\u003e) by \u003ca href=\"https://github.com/ndyakov\"\u003e\u003ccode\u003e@​ndyakov\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eINCREX\u003c/strong\u003e: New \u003ccode\u003eINCREX\u003c/code\u003e command support — atomic increment with expiration (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3816\"\u003e#3816\u003c/a\u003e) by \u003ca href=\"https://github.com/ndyakov\"\u003e\u003ccode\u003e@​ndyakov\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eXNACK\u003c/strong\u003e: Client support for the \u003ccode\u003eXNACK\u003c/code\u003e stream command for explicitly negative-acknowledging pending entries (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3790\"\u003e#3790\u003c/a\u003e) by \u003ca href=\"https://github.com/elena-kolevska\"\u003e\u003ccode\u003e@​elena-kolevska\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eTS range multiple aggregators\u003c/strong\u003e: \u003ccode\u003eTS.RANGE\u003c/code\u003e/\u003ccode\u003eTS.REVRANGE\u003c/code\u003e/\u003ccode\u003eTS.MRANGE\u003c/code\u003e/\u003ccode\u003eTS.MREVRANGE\u003c/code\u003e now accept multiple aggregators in a single call (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3791\"\u003e#3791\u003c/a\u003e) by \u003ca href=\"https://github.com/elena-kolevska\"\u003e\u003ccode\u003e@​elena-kolevska\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eXAutoClaim\u003c/code\u003e deleted IDs\u003c/strong\u003e: \u003ccode\u003eXAUTOCLAIM\u003c/code\u003e/\u003ccode\u003eXAUTOCLAIMJUSTID\u003c/code\u003e now return the list of deleted message IDs from the PEL (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3798\"\u003e#3798\u003c/a\u003e) by \u003ca href=\"https://github.com/Khukharr\"\u003e\u003ccode\u003e@​Khukharr\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eJSON.SET FPHA\u003c/code\u003e\u003c/strong\u003e: \u003ccode\u003eJSON.SET\u003c/code\u003e accepts a new \u003ccode\u003eFPHA\u003c/code\u003e argument that specifies the floating-point type for homogeneous floating-point arrays (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3797\"\u003e#3797\u003c/a\u003e) by \u003ca href=\"https://github.com/ndyakov\"\u003e\u003ccode\u003e@​ndyakov\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eSorted-set union/intersection COUNT\u003c/strong\u003e: \u003ccode\u003eZUNION\u003c/code\u003e/\u003ccode\u003eZINTER\u003c/code\u003e/\u003ccode\u003eZDIFF\u003c/code\u003e aggregator now supports \u003ccode\u003eCOUNT\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3802\"\u003e#3802\u003c/a\u003e) by \u003ca href=\"https://github.com/ofekshenawa\"\u003e\u003ccode\u003e@​ofekshenawa\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eFT.HYBRID\u003c/code\u003e vector validation\u003c/strong\u003e: Validates hybrid-search vector input types and adds proper typed vector parameters (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3756\"\u003e#3756\u003c/a\u003e) by \u003ca href=\"https://github.com/DengY11\"\u003e\u003ccode\u003e@​DengY11\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eCluster pool wait stats\u003c/strong\u003e: \u003ccode\u003eClusterClient.PoolStats()\u003c/code\u003e now accumulates \u003ccode\u003eWaitCount\u003c/code\u003e and \u003ccode\u003eWaitDurationNs\u003c/code\u003e across all node pools (previously always zero) (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3809\"\u003e#3809\u003c/a\u003e) by \u003ca href=\"https://github.com/LINKIWI\"\u003e\u003ccode\u003e@​LINKIWI\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eTLS-only Cluster PubSub\u003c/strong\u003e: \u003ccode\u003eCLUSTER SLOTS\u003c/code\u003e port-0 entries now fall back to the origin endpoint's port, fixing \u003ccode\u003edial tcp \u0026lt;ip\u0026gt;:0: connection refused\u003c/code\u003e on TLS-only clusters started with \u003ccode\u003e--port 0 --tls-port \u0026lt;port\u0026gt;\u003c/code\u003e (fixes \u003ca href=\"https://redirect.github.com/redis/go-redis/issues/3726\"\u003e#3726\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3828\"\u003e#3828\u003c/a\u003e) by \u003ca href=\"https://github.com/ndyakov\"\u003e\u003ccode\u003e@​ndyakov\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eSharded PubSub reconnect routing\u003c/strong\u003e: \u003ccode\u003ePubSub.conn()\u003c/code\u003e now passes both regular (\u003ccode\u003ec.channels\u003c/code\u003e) and sharded (\u003ccode\u003ec.schannels\u003c/code\u003e) channels into the per-PubSub \u003ccode\u003enewConn\u003c/code\u003e closure. Previously, \u003ccode\u003eClusterClient.SSubscribe\u003c/code\u003e-only PubSubs reconnected to a random node (because the routing closure saw an empty channel list), the \u003ccode\u003eSSUBSCRIBE\u003c/code\u003e was sent to the wrong shard, and the resulting \u003ccode\u003eMOVED\u003c/code\u003e reply was silently dropped (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3829\"\u003e#3829\u003c/a\u003e) by \u003ca href=\"https://github.com/ndyakov\"\u003e\u003ccode\u003e@​ndyakov\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eClusterClient \u003ccode\u003eWatch\u003c/code\u003e retry\u003c/strong\u003e: User errors returned from a \u003ccode\u003eWatch\u003c/code\u003e callback are no longer subjected to cluster-retry classification; transient cluster errors still retry, but a callback returning e.g. \u003ccode\u003enet.ErrClosed\u003c/code\u003e short-circuits immediately (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3821\"\u003e#3821\u003c/a\u003e) by \u003ca href=\"https://github.com/obiyang\"\u003e\u003ccode\u003e@​obiyang\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/redis/go-redis/blob/master/RELEASE-NOTES.md\"\u003egithub.com/redis/go-redis/v9's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e9.20.0 (2026-05-28)\u003c/h1\u003e\n\u003ch2\u003e🚀 Highlights\u003c/h2\u003e\n\u003ch3\u003eRedis 8.8 Support\u003c/h3\u003e\n\u003cp\u003eThis release adds support for \u003cstrong\u003eRedis 8.8\u003c/strong\u003e. The README's supported-versions list now includes Redis 8.8 alongside 8.0/8.2/8.4, and CI exercises the \u003ccode\u003e8.8-rc1\u003c/code\u003e client-libs-test image across the full suite (Makefile, build workflow, doctests, run-tests action, and docker-compose).\u003c/p\u003e\n\u003cp\u003eCoverage for the new commands that ship in the 8.x line, rounded out in this release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eAR*\u003c/code\u003e array data type\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3813\"\u003e#3813\u003c/a\u003e) — new array data structure, exposed via the \u003ccode\u003eArrayCmdable\u003c/code\u003e interface (see the experimental-features highlight below).\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eINCREX\u003c/code\u003e\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3816\"\u003e#3816\u003c/a\u003e) — atomic increment with expiration in a single round-trip.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eXNACK\u003c/code\u003e\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3790\"\u003e#3790\u003c/a\u003e) — explicit negative-acknowledge of pending stream entries.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eXAUTOCLAIM\u003c/code\u003e PEL deletes\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3798\"\u003e#3798\u003c/a\u003e) — \u003ccode\u003eXAUTOCLAIM\u003c/code\u003e/\u003ccode\u003eXAUTOCLAIMJUSTID\u003c/code\u003e now return the list of deleted message IDs from the pending entries list.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eTS.RANGE\u003c/code\u003e multiple aggregators\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3791\"\u003e#3791\u003c/a\u003e) — \u003ccode\u003eTS.RANGE\u003c/code\u003e/\u003ccode\u003eTS.REVRANGE\u003c/code\u003e/\u003ccode\u003eTS.MRANGE\u003c/code\u003e/\u003ccode\u003eTS.MREVRANGE\u003c/code\u003e accept multiple aggregators in a single call.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eZ(UNION|INTER|DIFF)\u003c/code\u003e \u003ccode\u003eCOUNT\u003c/code\u003e aggregator\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3802\"\u003e#3802\u003c/a\u003e) — \u003ccode\u003eCOUNT\u003c/code\u003e reducer for sorted-set set operations.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eJSON.SET FPHA\u003c/code\u003e\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3797\"\u003e#3797\u003c/a\u003e) — new \u003ccode\u003eFPHA\u003c/code\u003e argument that specifies the floating-point type for homogeneous FP arrays.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eCI image bump (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3814\"\u003e#3814\u003c/a\u003e) by \u003ca href=\"https://github.com/ofekshenawa\"\u003e\u003ccode\u003e@​ofekshenawa\u003c/code\u003e\u003c/a\u003e. Command coverage contributions by \u003ca href=\"https://github.com/cxljs\"\u003e\u003ccode\u003e@​cxljs\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/elena-kolevska\"\u003e\u003ccode\u003e@​elena-kolevska\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Khukharr\"\u003e\u003ccode\u003e@​Khukharr\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/ndyakov\"\u003e\u003ccode\u003e@​ndyakov\u003c/code\u003e\u003c/a\u003e, and \u003ca href=\"https://github.com/ofekshenawa\"\u003e\u003ccode\u003e@​ofekshenawa\u003c/code\u003e\u003c/a\u003e.\u003c/p\u003e\n\u003ch3\u003eStable RESP3 for RediSearch (\u003ccode\u003eUnstableResp3\u003c/code\u003e deprecated)\u003c/h3\u003e\n\u003cp\u003e\u003ccode\u003eFT.SEARCH\u003c/code\u003e, \u003ccode\u003eFT.AGGREGATE\u003c/code\u003e, \u003ccode\u003eFT.INFO\u003c/code\u003e, \u003ccode\u003eFT.SPELLCHECK\u003c/code\u003e, and \u003ccode\u003eFT.SYNDUMP\u003c/code\u003e now parse RESP3 (map) responses into the same typed result objects as RESP2 — \u003ccode\u003eVal()\u003c/code\u003e and \u003ccode\u003eResult()\u003c/code\u003e work uniformly on both protocols, no flag required. Previously, RESP3 search responses required \u003ccode\u003eUnstableResp3: true\u003c/code\u003e and were returned as opaque maps accessible only via \u003ccode\u003eRawResult()\u003c/code\u003e / \u003ccode\u003eRawVal()\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eAs a result, the \u003ccode\u003eUnstableResp3\u003c/code\u003e option is now a \u003cstrong\u003eno-op\u003c/strong\u003e across every options struct (\u003ccode\u003eOptions\u003c/code\u003e, \u003ccode\u003eClusterOptions\u003c/code\u003e, \u003ccode\u003eUniversalOptions\u003c/code\u003e, \u003ccode\u003eFailoverOptions\u003c/code\u003e, \u003ccode\u003eRingOptions\u003c/code\u003e) and has been marked \u003ccode\u003e// Deprecated:\u003c/code\u003e. The field is retained for backwards compatibility — existing code that sets \u003ccode\u003eUnstableResp3: true\u003c/code\u003e will continue to compile and behave identically — but it will be removed in a future release and new code should not set it. \u003ccode\u003eRawResult()\u003c/code\u003e / \u003ccode\u003eRawVal()\u003c/code\u003e continue to work for callers that prefer the raw RESP payload.\u003c/p\u003e\n\u003cp\u003e(\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3741\"\u003e#3741\u003c/a\u003e) by \u003ca href=\"https://github.com/ndyakov\"\u003e\u003ccode\u003e@​ndyakov\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eExperimental Array Data Structure Commands\u003c/h3\u003e\n\u003cp\u003eAdds an experimental \u003ccode\u003eArrayCmdable\u003c/code\u003e interface with the \u003ccode\u003eAR*\u003c/code\u003e command family (\u003ccode\u003eARSet\u003c/code\u003e, \u003ccode\u003eARGet\u003c/code\u003e, \u003ccode\u003eARGetRange\u003c/code\u003e, \u003ccode\u003eARMSet\u003c/code\u003e, \u003ccode\u003eARMGet\u003c/code\u003e, \u003ccode\u003eARDel\u003c/code\u003e, \u003ccode\u003eARDelRange\u003c/code\u003e, \u003ccode\u003eARScan\u003c/code\u003e, \u003ccode\u003eARSeek\u003c/code\u003e, \u003ccode\u003eARNext\u003c/code\u003e, \u003ccode\u003eARLastItems\u003c/code\u003e, \u003ccode\u003eARGrep\u003c/code\u003e, \u003ccode\u003eARGrepWithValues\u003c/code\u003e, \u003ccode\u003eARInfo\u003c/code\u003e/\u003ccode\u003eARInfoFull\u003c/code\u003e, and typed reducers \u003ccode\u003eAROpSum\u003c/code\u003e/\u003ccode\u003eAROpMin\u003c/code\u003e/\u003ccode\u003eAROpMax\u003c/code\u003e/\u003ccode\u003eAROpAnd\u003c/code\u003e/\u003ccode\u003eAROpOr\u003c/code\u003e/\u003ccode\u003eAROpXor\u003c/code\u003e/\u003ccode\u003eAROpMatch\u003c/code\u003e/\u003ccode\u003eAROpUsed\u003c/code\u003e) for working with Redis 8.8's new array data type. \u003cstrong\u003eAPI is experimental and may change in a future release.\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003e(\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3813\"\u003e#3813\u003c/a\u003e) by \u003ca href=\"https://github.com/cxljs\"\u003e\u003ccode\u003e@​cxljs\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e✨ New Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eRESP3 search parser\u003c/strong\u003e: First-class RESP3 parsing for \u003ccode\u003eFT.SEARCH\u003c/code\u003e/\u003ccode\u003eFT.AGGREGATE\u003c/code\u003e/\u003ccode\u003eFT.INFO\u003c/code\u003e/\u003ccode\u003eFT.SPELLCHECK\u003c/code\u003e/\u003ccode\u003eFT.SYNDUMP\u003c/code\u003e responses with backwards compatibility for RESP2 (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3741\"\u003e#3741\u003c/a\u003e) by \u003ca href=\"https://github.com/ndyakov\"\u003e\u003ccode\u003e@​ndyakov\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eINCREX\u003c/strong\u003e: New \u003ccode\u003eINCREX\u003c/code\u003e command support — atomic increment with expiration (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3816\"\u003e#3816\u003c/a\u003e) by \u003ca href=\"https://github.com/ndyakov\"\u003e\u003ccode\u003e@​ndyakov\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eXNACK\u003c/strong\u003e: Client support for the \u003ccode\u003eXNACK\u003c/code\u003e stream command for explicitly negative-acknowledging pending entries (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3790\"\u003e#3790\u003c/a\u003e) by \u003ca href=\"https://github.com/elena-kolevska\"\u003e\u003ccode\u003e@​elena-kolevska\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eTS range multiple aggregators\u003c/strong\u003e: \u003ccode\u003eTS.RANGE\u003c/code\u003e/\u003ccode\u003eTS.REVRANGE\u003c/code\u003e/\u003ccode\u003eTS.MRANGE\u003c/code\u003e/\u003ccode\u003eTS.MREVRANGE\u003c/code\u003e now accept multiple aggregators in a single call (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3791\"\u003e#3791\u003c/a\u003e) by \u003ca href=\"https://github.com/elena-kolevska\"\u003e\u003ccode\u003e@​elena-kolevska\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eXAutoClaim\u003c/code\u003e deleted IDs\u003c/strong\u003e: \u003ccode\u003eXAUTOCLAIM\u003c/code\u003e/\u003ccode\u003eXAUTOCLAIMJUSTID\u003c/code\u003e now return the list of deleted message IDs from the PEL (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3798\"\u003e#3798\u003c/a\u003e) by \u003ca href=\"https://github.com/Khukharr\"\u003e\u003ccode\u003e@​Khukharr\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eJSON.SET FPHA\u003c/code\u003e\u003c/strong\u003e: \u003ccode\u003eJSON.SET\u003c/code\u003e accepts a new \u003ccode\u003eFPHA\u003c/code\u003e argument that specifies the floating-point type for homogeneous floating-point arrays (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3797\"\u003e#3797\u003c/a\u003e) by \u003ca href=\"https://github.com/ndyakov\"\u003e\u003ccode\u003e@​ndyakov\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eSorted-set union/intersection COUNT\u003c/strong\u003e: \u003ccode\u003eZUNION\u003c/code\u003e/\u003ccode\u003eZINTER\u003c/code\u003e/\u003ccode\u003eZDIFF\u003c/code\u003e aggregator now supports \u003ccode\u003eCOUNT\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3802\"\u003e#3802\u003c/a\u003e) by \u003ca href=\"https://github.com/ofekshenawa\"\u003e\u003ccode\u003e@​ofekshenawa\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eFT.HYBRID\u003c/code\u003e vector validation\u003c/strong\u003e: Validates hybrid-search vector input types and adds proper typed vector parameters (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3756\"\u003e#3756\u003c/a\u003e) by \u003ca href=\"https://github.com/DengY11\"\u003e\u003ccode\u003e@​DengY11\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eCluster pool wait stats\u003c/strong\u003e: \u003ccode\u003eClusterClient.PoolStats()\u003c/code\u003e now accumulates \u003ccode\u003eWaitCount\u003c/code\u003e and \u003ccode\u003eWaitDurationNs\u003c/code\u003e across all node pools (previously always zero) (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3809\"\u003e#3809\u003c/a\u003e) by \u003ca href=\"https://github.c...\n\n_Description has been truncated_","html_url":"https://github.com/Yogdunana/deploypilot/pull/799","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Yogdunana%2Fdeploypilot/issues/799","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/799/packages"}},{"old_version":"1.11.0","new_version":"1.12.0","update_type":"minor","path":null,"pr_created_at":"2026-05-31T05:31:31.000Z","version_change":"1.11.0 → 1.12.0","issue":{"uuid":"4556671768","node_id":"PR_kwDOHqP31c7hDDs-","number":6389,"state":"open","title":"chore(deps): bump the go-minor group with 30 updates","user":"dependabot[bot]","labels":["needs/kind","needs/priority","needs/area","dependencies","go"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-31T05:31:31.000Z","updated_at":"2026-05-31T05:31:41.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"go-minor","update_count":30,"packages":[{"name":"code.gitea.io/sdk/gitea","old_version":"0.22.1","new_version":"0.25.1"},{"name":"github.com/Azure/azure-sdk-for-go/sdk/azcore","old_version":"1.20.0","new_version":"1.21.1","repository_url":"https://github.com/Azure/azure-sdk-for-go"},{"name":"github.com/Masterminds/semver/v3","old_version":"3.4.0","new_version":"3.5.0","repository_url":"https://github.com/Masterminds/semver"},{"name":"github.com/aws/aws-sdk-go-v2/service/ecr","old_version":"1.55.4","new_version":"1.57.4","repository_url":"https://github.com/aws/aws-sdk-go-v2"},{"name":"github.com/bmatcuk/doublestar/v4","old_version":"4.9.2","new_version":"4.10.0","repository_url":"https://github.com/bmatcuk/doublestar"},{"name":"github.com/coreos/go-oidc/v3","old_version":"3.17.0","new_version":"3.18.0","repository_url":"https://github.com/coreos/go-oidc"},{"name":"github.com/fluxcd/pkg/kustomize","old_version":"1.24.0","new_version":"1.32.0","repository_url":"https://github.com/fluxcd/pkg"},{"name":"github.com/gin-gonic/gin","old_version":"1.11.0","new_version":"1.12.0","repository_url":"https://github.com/gin-gonic/gin"},{"name":"github.com/go-openapi/runtime","old_version":"0.31.0","new_version":"0.32.2","repository_url":"https://github.com/go-openapi/runtime"},{"name":"github.com/goccy/go-yaml","old_version":"1.18.0","new_version":"1.19.2","repository_url":"https://github.com/goccy/go-yaml"},{"name":"github.com/google/go-containerregistry","old_version":"0.20.7","new_version":"0.21.6","repository_url":"https://github.com/google/go-containerregistry"},{"name":"github.com/jferrl/go-githubauth","old_version":"1.5.1","new_version":"1.6.0","repository_url":"https://github.com/jferrl/go-githubauth"},{"name":"github.com/pelletier/go-toml/v2","old_version":"2.2.4","new_version":"2.3.1","repository_url":"https://github.com/pelletier/go-toml"},{"name":"gitlab.com/gitlab-org/api/client-go","old_version":"1.13.0","new_version":"1.46.0"},{"name":"go.uber.org/zap","old_version":"1.27.1","new_version":"1.28.0","repository_url":"https://github.com/uber-go/zap"},{"name":"golang.org/x/crypto","old_version":"0.51.0","new_version":"0.52.0","repository_url":"https://github.com/golang/crypto"},{"name":"golang.org/x/oauth2","old_version":"0.34.0","new_version":"0.36.0","repository_url":"https://github.com/golang/oauth2"},{"name":"google.golang.org/api","old_version":"0.259.0","new_version":"0.282.0","repository_url":"https://github.com/googleapis/google-api-go-client"},{"name":"google.golang.org/grpc","old_version":"1.79.3","new_version":"1.81.1","repository_url":"https://github.com/grpc/grpc-go"},{"name":"google.golang.org/protobuf","old_version":"1.36.11","new_version":"1.36.12-0.20260120151049-f2248ac996af"},{"name":"helm.sh/helm/v3","old_version":"3.19.5","new_version":"3.21.0","repository_url":"https://github.com/helm/helm"},{"name":"k8s.io/api","old_version":"0.34.3","new_version":"0.36.0","repository_url":"https://github.com/kubernetes/api"},{"name":"k8s.io/apiextensions-apiserver","old_version":"0.34.3","new_version":"0.36.0","repository_url":"https://github.com/kubernetes/apiextensions-apiserver"},{"name":"k8s.io/apimachinery","old_version":"0.34.3","new_version":"0.36.0","repository_url":"https://github.com/kubernetes/apimachinery"},{"name":"k8s.io/apiserver","old_version":"0.34.3","new_version":"0.36.0","repository_url":"https://github.com/kubernetes/apiserver"},{"name":"k8s.io/cli-runtime","old_version":"0.34.3","new_version":"0.35.1","repository_url":"https://github.com/kubernetes/cli-runtime"},{"name":"k8s.io/client-go","old_version":"0.34.3","new_version":"0.36.0","repository_url":"https://github.com/kubernetes/client-go"},{"name":"k8s.io/klog/v2","old_version":"2.130.1","new_version":"2.140.0","repository_url":"https://github.com/kubernetes/klog"},{"name":"k8s.io/utils","old_version":"0.0.0-20250604170112-4c0f3b243397","new_version":"0.0.0-20260210185600-b8788abfbbc2","repository_url":"https://github.com/kubernetes/utils"},{"name":"sigs.k8s.io/controller-runtime","old_version":"0.22.4","new_version":"0.24.0","repository_url":"https://github.com/kubernetes-sigs/controller-runtime"}],"path":null,"ecosystem":"go"},"body":"Bumps the go-minor group with 30 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| code.gitea.io/sdk/gitea | `0.22.1` | `0.25.1` |\n| [github.com/Azure/azure-sdk-for-go/sdk/azcore](https://github.com/Azure/azure-sdk-for-go) | `1.20.0` | `1.21.1` |\n| [github.com/Masterminds/semver/v3](https://github.com/Masterminds/semver) | `3.4.0` | `3.5.0` |\n| [github.com/aws/aws-sdk-go-v2/service/ecr](https://github.com/aws/aws-sdk-go-v2) | `1.55.4` | `1.57.4` |\n| [github.com/bmatcuk/doublestar/v4](https://github.com/bmatcuk/doublestar) | `4.9.2` | `4.10.0` |\n| [github.com/coreos/go-oidc/v3](https://github.com/coreos/go-oidc) | `3.17.0` | `3.18.0` |\n| [github.com/fluxcd/pkg/kustomize](https://github.com/fluxcd/pkg) | `1.24.0` | `1.32.0` |\n| [github.com/gin-gonic/gin](https://github.com/gin-gonic/gin) | `1.11.0` | `1.12.0` |\n| [github.com/go-openapi/runtime](https://github.com/go-openapi/runtime) | `0.31.0` | `0.32.2` |\n| [github.com/goccy/go-yaml](https://github.com/goccy/go-yaml) | `1.18.0` | `1.19.2` |\n| [github.com/google/go-containerregistry](https://github.com/google/go-containerregistry) | `0.20.7` | `0.21.6` |\n| [github.com/jferrl/go-githubauth](https://github.com/jferrl/go-githubauth) | `1.5.1` | `1.6.0` |\n| [github.com/pelletier/go-toml/v2](https://github.com/pelletier/go-toml) | `2.2.4` | `2.3.1` |\n| [gitlab.com/gitlab-org/api/client-go](https://gitlab.com/gitlab-org/api/client-go) | `1.13.0` | `1.46.0` |\n| [go.uber.org/zap](https://github.com/uber-go/zap) | `1.27.1` | `1.28.0` |\n| [golang.org/x/crypto](https://github.com/golang/crypto) | `0.51.0` | `0.52.0` |\n| [golang.org/x/oauth2](https://github.com/golang/oauth2) | `0.34.0` | `0.36.0` |\n| [google.golang.org/api](https://github.com/googleapis/google-api-go-client) | `0.259.0` | `0.282.0` |\n| [google.golang.org/grpc](https://github.com/grpc/grpc-go) | `1.79.3` | `1.81.1` |\n| google.golang.org/protobuf | `1.36.11` | `1.36.12-0.20260120151049-f2248ac996af` |\n| [helm.sh/helm/v3](https://github.com/helm/helm) | `3.19.5` | `3.21.0` |\n| [k8s.io/api](https://github.com/kubernetes/api) | `0.34.3` | `0.36.0` |\n| [k8s.io/apiextensions-apiserver](https://github.com/kubernetes/apiextensions-apiserver) | `0.34.3` | `0.36.0` |\n| [k8s.io/apimachinery](https://github.com/kubernetes/apimachinery) | `0.34.3` | `0.36.0` |\n| [k8s.io/apiserver](https://github.com/kubernetes/apiserver) | `0.34.3` | `0.36.0` |\n| [k8s.io/cli-runtime](https://github.com/kubernetes/cli-runtime) | `0.34.3` | `0.35.1` |\n| [k8s.io/client-go](https://github.com/kubernetes/client-go) | `0.34.3` | `0.36.0` |\n| [k8s.io/klog/v2](https://github.com/kubernetes/klog) | `2.130.1` | `2.140.0` |\n| [k8s.io/utils](https://github.com/kubernetes/utils) | `0.0.0-20250604170112-4c0f3b243397` | `0.0.0-20260210185600-b8788abfbbc2` |\n| [sigs.k8s.io/controller-runtime](https://github.com/kubernetes-sigs/controller-runtime) | `0.22.4` | `0.24.0` |\n\nUpdates `code.gitea.io/sdk/gitea` from 0.22.1 to 0.25.1\n\nUpdates `github.com/Azure/azure-sdk-for-go/sdk/azcore` from 1.20.0 to 1.21.1\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-go/commit/63e4ba18204b0df554e330df8f85662e653e67ab\"\u003e\u003ccode\u003e63e4ba1\u003c/code\u003e\u003c/a\u003e Bump release date for azcore (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-go/issues/26613\"\u003e#26613\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-go/commit/fa0312174d17ff4cb7cb0118fa80de07409841c2\"\u003e\u003ccode\u003efa03121\u003c/code\u003e\u003c/a\u003e remove bypass local dns (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-go/issues/26609\"\u003e#26609\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-go/commit/c47f9a60dd1e9be6943ff0d6a5666a0ac09f6cfa\"\u003e\u003ccode\u003ec47f9a6\u003c/code\u003e\u003c/a\u003e Sync eng/common directory with azure-sdk-tools for PR 15153 (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-go/issues/26607\"\u003e#26607\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-go/commit/88b8b5b38ecebb929a2e302df054fed1d68618b8\"\u003e\u003ccode\u003e88b8b5b\u003c/code\u003e\u003c/a\u003e Changelog for v2.2.0 (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-go/issues/26567\"\u003e#26567\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-go/commit/72ca19ae2b8b4514c4f48a5ff33495b03c08afd0\"\u003e\u003ccode\u003e72ca19a\u003c/code\u003e\u003c/a\u003e Storage STG 101 (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-go/issues/26568\"\u003e#26568\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-go/commit/b64baf56c6b168d258b2a0678290ac5f9ab97938\"\u003e\u003ccode\u003eb64baf5\u003c/code\u003e\u003c/a\u003e Sync .github directory with azure-sdk-tools repository (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-go/issues/26600\"\u003e#26600\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-go/commit/ecd64dd6500a04da22107925c3ba9fbe8e636f2c\"\u003e\u003ccode\u003eecd64dd\u003c/code\u003e\u003c/a\u003e Prep azcore@v1.21.1 for release (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-go/issues/26596\"\u003e#26596\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-go/commit/1d02f204d0146ffd7d13d5585bf3766e53c32cc5\"\u003e\u003ccode\u003e1d02f20\u003c/code\u003e\u003c/a\u003e Update copilot code review instructions and migration breaking change mitigat...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-go/commit/f6e9ce3212cc9d654d349778f19065eb5d849197\"\u003e\u003ccode\u003ef6e9ce3\u003c/code\u003e\u003c/a\u003e Sync eng/common directory with azure-sdk-tools for PR 14973 (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-go/issues/26531\"\u003e#26531\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-go/commit/d5a3baf11e0b743a4009efb8e84cbaee335fc0eb\"\u003e\u003ccode\u003ed5a3baf\u003c/code\u003e\u003c/a\u003e Update CODEOWNERS to remove one owner from Custom Providers (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-go/issues/26588\"\u003e#26588\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Azure/azure-sdk-for-go/compare/sdk/azcore/v1.20.0...sdk/azcore/v1.21.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/Masterminds/semver/v3` from 3.4.0 to 3.5.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Masterminds/semver/releases\"\u003egithub.com/Masterminds/semver/v3's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.5.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdding more prerelease tests by \u003ca href=\"https://github.com/mattfarina\"\u003e\u003ccode\u003e@​mattfarina\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Masterminds/semver/pull/273\"\u003eMasterminds/semver#273\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate constraint error messages by \u003ca href=\"https://github.com/mattfarina\"\u003e\u003ccode\u003e@​mattfarina\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Masterminds/semver/pull/278\"\u003eMasterminds/semver#278\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix edge cases by \u003ca href=\"https://github.com/mattfarina\"\u003e\u003ccode\u003e@​mattfarina\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Masterminds/semver/pull/279\"\u003eMasterminds/semver#279\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdding some checks in by \u003ca href=\"https://github.com/mattfarina\"\u003e\u003ccode\u003e@​mattfarina\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Masterminds/semver/pull/280\"\u003eMasterminds/semver#280\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdating deps by \u003ca href=\"https://github.com/mattfarina\"\u003e\u003ccode\u003e@​mattfarina\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Masterminds/semver/pull/281\"\u003eMasterminds/semver#281\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump github/codeql-action from 4.35.1 to 4.35.2 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/Masterminds/semver/pull/282\"\u003eMasterminds/semver#282\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/cache from 4.2.3 to 5.0.5 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/Masterminds/semver/pull/283\"\u003eMasterminds/semver#283\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump golangci/golangci-lint-action from 7.0.1 to 9.2.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/Masterminds/semver/pull/284\"\u003eMasterminds/semver#284\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdating gitignore for devcontainers by \u003ca href=\"https://github.com/mattfarina\"\u003e\u003ccode\u003e@​mattfarina\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Masterminds/semver/pull/286\"\u003eMasterminds/semver#286\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixing some quality issues by \u003ca href=\"https://github.com/mattfarina\"\u003e\u003ccode\u003e@​mattfarina\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Masterminds/semver/pull/287\"\u003eMasterminds/semver#287\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] made their first contribution in \u003ca href=\"https://redirect.github.com/Masterminds/semver/pull/282\"\u003eMasterminds/semver#282\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Masterminds/semver/compare/v3.4.0...v3.5.0\"\u003ehttps://github.com/Masterminds/semver/compare/v3.4.0...v3.5.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Masterminds/semver/blob/master/CHANGELOG.md\"\u003egithub.com/Masterminds/semver/v3's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eChangelog\u003c/h1\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Masterminds/semver/commit/8b89c86cb53c57cfd5d07c13de12bc4d78954e99\"\u003e\u003ccode\u003e8b89c86\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Masterminds/semver/issues/287\"\u003e#287\u003c/a\u003e from mattfarina/fix-da-issues\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Masterminds/semver/commit/29d51d0ea4bffe39173673685d0dd312447d74a7\"\u003e\u003ccode\u003e29d51d0\u003c/code\u003e\u003c/a\u003e Fixing some quality issues\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Masterminds/semver/commit/87f651dbe2f616342d6408b997ad7116ba72ddf3\"\u003e\u003ccode\u003e87f651d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Masterminds/semver/issues/286\"\u003e#286\u003c/a\u003e from mattfarina/update-devcontainer\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Masterminds/semver/commit/158a6852a7e66d99594653227d3e8c3dc6d160ca\"\u003e\u003ccode\u003e158a685\u003c/code\u003e\u003c/a\u003e Updating gitignore for devcontainers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Masterminds/semver/commit/7e83c080cfb4455752c654805b189274a10890ab\"\u003e\u003ccode\u003e7e83c08\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Masterminds/semver/issues/284\"\u003e#284\u003c/a\u003e from Masterminds/dependabot/github_actions/golangci/g...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Masterminds/semver/commit/697e27f32e7419eb896e7d3ec680c65fc673166b\"\u003e\u003ccode\u003e697e27f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Masterminds/semver/issues/283\"\u003e#283\u003c/a\u003e from Masterminds/dependabot/github_actions/actions/ca...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Masterminds/semver/commit/1591f8e3806198f60fa4dcaf2751bfc805c7740d\"\u003e\u003ccode\u003e1591f8e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Masterminds/semver/issues/282\"\u003e#282\u003c/a\u003e from Masterminds/dependabot/github_actions/github/cod...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Masterminds/semver/commit/3f5ff1737a28437e536d3ec54e41919577748ae6\"\u003e\u003ccode\u003e3f5ff17\u003c/code\u003e\u003c/a\u003e Bump golangci/golangci-lint-action from 7.0.1 to 9.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Masterminds/semver/commit/04baa3376047b6d5e79ffcc60f69332dd3e26c85\"\u003e\u003ccode\u003e04baa33\u003c/code\u003e\u003c/a\u003e Bump actions/cache from 4.2.3 to 5.0.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Masterminds/semver/commit/45939fec77cd7d07d586b823284d11423028e9c2\"\u003e\u003ccode\u003e45939fe\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 4.35.1 to 4.35.2\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Masterminds/semver/compare/v3.4.0...v3.5.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/aws/aws-sdk-go-v2/service/ecr` from 1.55.4 to 1.57.4\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-go-v2/commit/5841d3ae2cfd6e6113ca61b71d69131b84932f4c\"\u003e\u003ccode\u003e5841d3a\u003c/code\u003e\u003c/a\u003e Release 2026-05-29\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-go-v2/commit/16ac80d79c282366cae312281b3df925af4e9bf1\"\u003e\u003ccode\u003e16ac80d\u003c/code\u003e\u003c/a\u003e Regenerated Clients\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-go-v2/commit/167926f8aca7228f2dd1bed73707505875aafef4\"\u003e\u003ccode\u003e167926f\u003c/code\u003e\u003c/a\u003e Update endpoints model\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-go-v2/commit/a0fce13e18c6bff397ad77fac4cde4ab3f3b93e0\"\u003e\u003ccode\u003ea0fce13\u003c/code\u003e\u003c/a\u003e Update API model\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-go-v2/commit/223c0057211950899e0117dc027cc299a1dac664\"\u003e\u003ccode\u003e223c005\u003c/code\u003e\u003c/a\u003e update to smithy-go v1.26.0 (\u003ca href=\"https://redirect.github.com/aws/aws-sdk-go-v2/issues/3426\"\u003e#3426\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-go-v2/commit/74c501189a40c9b937432a1b2a4cacffc851ea76\"\u003e\u003ccode\u003e74c5011\u003c/code\u003e\u003c/a\u003e Release 2026-05-28\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-go-v2/commit/7d82651329a86064a9026f6219cff72921fa74da\"\u003e\u003ccode\u003e7d82651\u003c/code\u003e\u003c/a\u003e Regenerated Clients\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-go-v2/commit/79c63d9289784de4914143b7bff67157aa6a2a90\"\u003e\u003ccode\u003e79c63d9\u003c/code\u003e\u003c/a\u003e Update endpoints model\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-go-v2/commit/b15b3b873ad5c294d0c010fb1cc56ecb583d1618\"\u003e\u003ccode\u003eb15b3b8\u003c/code\u003e\u003c/a\u003e Update API model\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-go-v2/commit/090e46936630944917cfd6a0990ea3fd6391475b\"\u003e\u003ccode\u003e090e469\u003c/code\u003e\u003c/a\u003e Feat tmv2 parity (\u003ca href=\"https://redirect.github.com/aws/aws-sdk-go-v2/issues/3424\"\u003e#3424\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/aws/aws-sdk-go-v2/compare/service/ecr/v1.55.4...service/ecr/v1.57.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/bmatcuk/doublestar/v4` from 4.9.2 to 4.10.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/bmatcuk/doublestar/releases\"\u003egithub.com/bmatcuk/doublestar/v4's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eAdded WithNoHidden option\u003c/h2\u003e\n\u003cp\u003eAdded support for a \u003ccode\u003eWithNoHidden\u003c/code\u003e option to ignore hidden files in patterns that might unintentionally match them. For example, a \u003ccode\u003e.config\u003c/code\u003e directory would not be matched by \u003ccode\u003e*\u003c/code\u003e or recursed into by \u003ccode\u003e**\u003c/code\u003e, but \u003cem\u003ewould\u003c/em\u003e be matched by \u003ccode\u003e.*\u003c/code\u003e or recursed by \u003ccode\u003e.config/**\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eThanks to \u003ca href=\"https://github.com/lukasngl\"\u003e\u003ccode\u003e@​lukasngl\u003c/code\u003e\u003c/a\u003e for the initial PR and idea!\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efeat: add WithNoHidden option to skip hidden files by \u003ca href=\"https://github.com/lukasngl\"\u003e\u003ccode\u003e@​lukasngl\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/bmatcuk/doublestar/pull/109\"\u003ebmatcuk/doublestar#109\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lukasngl\"\u003e\u003ccode\u003e@​lukasngl\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/bmatcuk/doublestar/pull/109\"\u003ebmatcuk/doublestar#109\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/bmatcuk/doublestar/compare/v4.9.2...v4.10.0\"\u003ehttps://github.com/bmatcuk/doublestar/compare/v4.9.2...v4.10.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bmatcuk/doublestar/commit/a9ad9e0ef4d6b7e4443090e9a7201d847a881711\"\u003e\u003ccode\u003ea9ad9e0\u003c/code\u003e\u003c/a\u003e allow starting test manually\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bmatcuk/doublestar/commit/9987c0c624376f84f44515adca73ddcdfdcdf453\"\u003e\u003ccode\u003e9987c0c\u003c/code\u003e\u003c/a\u003e update docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bmatcuk/doublestar/commit/d3b2184d103391fcd0fcca6590c16367310eee65\"\u003e\u003ccode\u003ed3b2184\u003c/code\u003e\u003c/a\u003e windows support for WithNoHidden; better tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bmatcuk/doublestar/commit/5d6a6cd76ba3e45482d13140f332be36451f5a48\"\u003e\u003ccode\u003e5d6a6cd\u003c/code\u003e\u003c/a\u003e Merge branch 'lukasngl-feat/no-hidden'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bmatcuk/doublestar/commit/e8319d206e9dab8d51d41e662811cdfb9af72b24\"\u003e\u003ccode\u003ee8319d2\u003c/code\u003e\u003c/a\u003e run tests when a branch/tag is created\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bmatcuk/doublestar/commit/614b331133390c7682c227740c51ff65dea2de65\"\u003e\u003ccode\u003e614b331\u003c/code\u003e\u003c/a\u003e run tests when a branch/tag is created\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bmatcuk/doublestar/commit/df2e03fb0b91b726e0366c0d9ba1c5e580e2d0c9\"\u003e\u003ccode\u003edf2e03f\u003c/code\u003e\u003c/a\u003e feat: add WithNoHidden option to skip hidden files\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/bmatcuk/doublestar/compare/v4.9.2...v4.10.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/coreos/go-oidc/v3` from 3.17.0 to 3.18.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/coreos/go-oidc/releases\"\u003egithub.com/coreos/go-oidc/v3's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.18.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e.github: configure dependabot by \u003ca href=\"https://github.com/ericchiang\"\u003e\u003ccode\u003e@​ericchiang\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/coreos/go-oidc/pull/477\"\u003ecoreos/go-oidc#477\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e.github: update go versions in CI by \u003ca href=\"https://github.com/ericchiang\"\u003e\u003ccode\u003e@​ericchiang\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/coreos/go-oidc/pull/480\"\u003ecoreos/go-oidc#480\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump golang.org/x/oauth2 from 0.28.0 to 0.36.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/coreos/go-oidc/pull/478\"\u003ecoreos/go-oidc#478\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump github.com/go-jose/go-jose/v4 from 4.1.3 to 4.1.4 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/coreos/go-oidc/pull/479\"\u003ecoreos/go-oidc#479\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/coreos/go-oidc/compare/v3.17.0...v3.18.0\"\u003ehttps://github.com/coreos/go-oidc/compare/v3.17.0...v3.18.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coreos/go-oidc/commit/da6b3bfca8af72414ee0e6e8746585ff5d206003\"\u003e\u003ccode\u003eda6b3bf\u003c/code\u003e\u003c/a\u003e build(deps): bump github.com/go-jose/go-jose/v4 from 4.1.3 to 4.1.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coreos/go-oidc/commit/7f80694215d5eb5b28f851f35845439b1e1e9e5d\"\u003e\u003ccode\u003e7f80694\u003c/code\u003e\u003c/a\u003e build(deps): bump golang.org/x/oauth2 from 0.28.0 to 0.36.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coreos/go-oidc/commit/7271de57587bb756318f9819796ba846b1ba875a\"\u003e\u003ccode\u003e7271de5\u003c/code\u003e\u003c/a\u003e .github: update go versions in CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coreos/go-oidc/commit/3ccf20fdc4afab7c64881a108d6f4c17a4ecc24d\"\u003e\u003ccode\u003e3ccf20f\u003c/code\u003e\u003c/a\u003e .github: configure dependabot\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/coreos/go-oidc/compare/v3.17.0...v3.18.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/fluxcd/pkg/kustomize` from 1.24.0 to 1.32.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fluxcd/pkg/commit/f3ad4b56adec90eb5661af565cdebec997ad4bfb\"\u003e\u003ccode\u003ef3ad4b5\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/fluxcd/pkg/issues/1195\"\u003e#1195\u003c/a\u003e from fluxcd/release-main\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fluxcd/pkg/commit/f35b4fd025cdee1664ca3d7aede2eb2fd594583d\"\u003e\u003ccode\u003ef35b4fd\u003c/code\u003e\u003c/a\u003e Prepare for release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fluxcd/pkg/commit/18e165c2592fb2a9633b9a80371e730d88bcab29\"\u003e\u003ccode\u003e18e165c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/fluxcd/pkg/issues/1194\"\u003e#1194\u003c/a\u003e from fluxcd/k8s-1.36\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fluxcd/pkg/commit/fe4377874a6d57593120ee524e1913ca81a5d2e5\"\u003e\u003ccode\u003efe43778\u003c/code\u003e\u003c/a\u003e Update controller-gen to v0.21.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fluxcd/pkg/commit/2498ab414d7e2abaee4131142293e520ee76b390\"\u003e\u003ccode\u003e2498ab4\u003c/code\u003e\u003c/a\u003e Update cloud auth SDKs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fluxcd/pkg/commit/b3bb0e0ff6bc2f42f23ff110baa0e7ae0f2ee685\"\u003e\u003ccode\u003eb3bb0e0\u003c/code\u003e\u003c/a\u003e Update go-git to v5.19.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fluxcd/pkg/commit/545dc4f55ab3850dca6401177c94e37ed40b5c87\"\u003e\u003ccode\u003e545dc4f\u003c/code\u003e\u003c/a\u003e Update distribution to v3.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fluxcd/pkg/commit/b23cbf9f0581b9dc5594e8659739f1bc9c870d35\"\u003e\u003ccode\u003eb23cbf9\u003c/code\u003e\u003c/a\u003e Update Kubernetes packages to 1.36\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fluxcd/pkg/commit/c6042810b61f1937c72a0e04d81d0091ca6e7dae\"\u003e\u003ccode\u003ec604281\u003c/code\u003e\u003c/a\u003e Update Go to 1.26\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fluxcd/pkg/commit/939c616718374460667e648c796487bfedfa6d98\"\u003e\u003ccode\u003e939c616\u003c/code\u003e\u003c/a\u003e ssa: Fix race condition in CRD tests\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/fluxcd/pkg/compare/apis/meta/v1.24.0...kustomize/v1.32.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/gin-gonic/gin` from 1.11.0 to 1.12.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/gin-gonic/gin/releases\"\u003egithub.com/gin-gonic/gin's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.12.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e192ac89eefc1c30f7c97ae48a9ffb1c6f1c8c8bc: feat(binding): add support for encoding.UnmarshalText in uri/query binding (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4203\"\u003e#4203\u003c/a\u003e) (\u003ca href=\"https://github.com/takanuva15\"\u003e\u003ccode\u003e@​takanuva15\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e53410d2e07054369e0960fbe2eed97e1b9966f12: feat(context): add GetError and GetErrorSlice methods for error retrieval (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4502\"\u003e#4502\u003c/a\u003e) (\u003ca href=\"https://github.com/raju-mechatronics\"\u003e\u003ccode\u003e@​raju-mechatronics\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eacc55e049e33b401e810dbd8c0d6dcb6b3ba2b05: feat(context): add Protocol Buffers support to content negotiation (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4423\"\u003e#4423\u003c/a\u003e) (\u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e38e765119241d990705169bedb5002a29ae0cbd1: feat(context): implemented Delete method (\u003ca href=\"https://github.com/Spyder01\"\u003e\u003ccode\u003e@​Spyder01\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e771dcc6476d7bc6abb9ec0235ecefa4d38fe6fb0: feat(gin): add option to use escaped path (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4420\"\u003e#4420\u003c/a\u003e) (\u003ca href=\"https://github.com/ldesauw\"\u003e\u003ccode\u003e@​ldesauw\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e4dec17afdff48e8018c83618fbbe69fceeb2b41d: feat(logger): color latency (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4146\"\u003e#4146\u003c/a\u003e) (\u003ca href=\"https://github.com/wsyqn6\"\u003e\u003ccode\u003e@​wsyqn6\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ed7776de7d444935ea4385999711bd6331a98fecb: feat(render): add bson protocol (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4145\"\u003e#4145\u003c/a\u003e) (\u003ca href=\"https://github.com/laurentcau\"\u003e\u003ccode\u003e@​laurentcau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eb917b14ff9d189f16a7492be79d123a47806ee19: fix(binding): empty value error (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/2169\"\u003e#2169\u003c/a\u003e) (\u003ca href=\"https://github.com/guonaihong\"\u003e\u003ccode\u003e@​guonaihong\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ec3d1092b3b48addf6f9cd00fe274ec3bd14650eb: fix(binding): improve empty slice/array handling in form binding (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4380\"\u003e#4380\u003c/a\u003e) (\u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e9914178584e42458ff7d23891463a880f58c9d86: fix(context): ClientIP handling for multiple X-Forwarded-For header values (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4472\"\u003e#4472\u003c/a\u003e) (\u003ca href=\"https://github.com/Nurysso\"\u003e\u003ccode\u003e@​Nurysso\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e2a794cd0b0faa7d829291375b27a3467ea972b0d: fix(debug): version mismatch (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4403\"\u003e#4403\u003c/a\u003e) (\u003ca href=\"https://github.com/zeek0x\"\u003e\u003ccode\u003e@​zeek0x\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ec3d5a28ed6d3849da820195b6774d212bcc038a9: fix(gin): close os.File in RunFd to prevent resource leak (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4422\"\u003e#4422\u003c/a\u003e) (\u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e5fad976b372e381312f8de69f0969f1284d229d3: fix(gin): literal colon routes not working with engine.Handler() (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4415\"\u003e#4415\u003c/a\u003e) (\u003ca href=\"https://github.com/pawannn\"\u003e\u003ccode\u003e@​pawannn\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e63dd3e60cab89c27fb66bce1423bd268d52abad1: fix(recover): suppress http.ErrAbortHandler in recover (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4336\"\u003e#4336\u003c/a\u003e) (\u003ca href=\"https://github.com/MondayCha\"\u003e\u003ccode\u003e@​MondayCha\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e5c00df8afadd06cc5be530dde00fe6d9fa4a2e4a: fix(render): write content length in Data.Render (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4206\"\u003e#4206\u003c/a\u003e) (\u003ca href=\"https://github.com/dengaleev\"\u003e\u003ccode\u003e@​dengaleev\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e234a6d4c00cb77af9852aca0b8289745d5529b4b: fix(response): refine hijack behavior for response lifecycle (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4373\"\u003e#4373\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e472d086af2acd924cb4b9d7be0525f7d790f69bc: fix(tree): panic in findCaseInsensitivePathRec with RedirectFixedPath (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4535\"\u003e#4535\u003c/a\u003e) (\u003ca href=\"https://github.com/veeceey\"\u003e\u003ccode\u003e@​veeceey\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e8e07d37c63e5536eb25f4af4c91eabeee4011fba: fix: Correct typos, improve documentation clarity, and remove dead code (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4511\"\u003e#4511\u003c/a\u003e) (\u003ca href=\"https://github.com/mahanadh\"\u003e\u003ccode\u003e@​mahanadh\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eba093d19477b896ac89a7fc3246af23d290b8e26: chore(binding): upgrade bson dependency to mongo-driver v2 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4549\"\u003e#4549\u003c/a\u003e) (\u003ca href=\"https://github.com/BobDu\"\u003e\u003ccode\u003e@​BobDu\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eb2b489dbf4826c2c630717a77fd5e42774625410: chore(context): always trust xff headers from unix socket (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/3359\"\u003e#3359\u003c/a\u003e) (\u003ca href=\"https://github.com/WeidiDeng\"\u003e\u003ccode\u003e@​WeidiDeng\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eecb3f7b5e2f3915bf1db240ed5eee572f8dbea36: chore(deps): upgrade golang.org/x/crypto to v0.45.0 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4449\"\u003e#4449\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eaf6e8b70b8261bb0c99ad094fe552ab92991620a: chore(deps): upgrade quic-go to v0.57.1 (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edb309081bc5c137b2aa15701ef53f7f19788da25: chore(logger): allow skipping query string output (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4547\"\u003e#4547\u003c/a\u003e) (\u003ca href=\"https://github.com/USA-RedDragon\"\u003e\u003ccode\u003e@​USA-RedDragon\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e26c3a628655cad2388380cb8102d6ce7d4875f3b: chore(response): prevent Flush() panic when \u003ccode\u003ehttp.Flusher\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4479\"\u003e#4479\u003c/a\u003e) (\u003ca href=\"https://github.com/Twacqwq\"\u003e\u003ccode\u003e@​Twacqwq\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e5dd833f1f26de0eb30eae47b17e05ced2482dc41: chore: bump minimum Go version to 1.24 and update workflows (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4388\"\u003e#4388\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRefactor\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e39858a0859c914bd26948fa950477e11bd8d3823: refactor(binding): use maps.Copy for cleaner map handling (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4352\"\u003e#4352\u003c/a\u003e) (\u003ca href=\"https://github.com/russcoss\"\u003e\u003ccode\u003e@​russcoss\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ec0048f645ee945c4db30593afdea10123e2c30a6: refactor(context): omit the return value names (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4395\"\u003e#4395\u003c/a\u003e) (\u003ca href=\"https://github.com/wanghaolong613\"\u003e\u003ccode\u003e@​wanghaolong613\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e915e4c90d28ec4cffc6eb146e208ab5a65eac772: refactor(context): replace hardcoded localhost IPs with constants (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4481\"\u003e#4481\u003c/a\u003e) (\u003ca href=\"https://github.com/pauloappbr\"\u003e\u003ccode\u003e@​pauloappbr\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e414de60574449457f3192a7a1d5528940db2836d: refactor(context): using maps.Clone (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4333\"\u003e#4333\u003c/a\u003e) (\u003ca href=\"https://github.com/cuiweixie\"\u003e\u003ccode\u003e@​cuiweixie\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e59e9d4a794f12c4f9a6c7bed441b9644e5f6d99b: refactor(ginS): use sync.OnceValue to simplify engine function (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4314\"\u003e#4314\u003c/a\u003e) (\u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e3ab698dc5110af1977d57226e4995c57dd34c233: refactor(recovery): smart error comparison (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4142\"\u003e#4142\u003c/a\u003e) (\u003ca href=\"https://github.com/zeek0x\"\u003e\u003ccode\u003e@​zeek0x\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ed1a15347b1e45a8ee816193d3578a93bfd73b70f: refactor(utils): move util functions to utils.go (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4467\"\u003e#4467\u003c/a\u003e) (\u003ca href=\"https://github.com/zeek0x\"\u003e\u003ccode\u003e@​zeek0x\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ee3118cc378d263454098924ebbde7e8d1dd2e904: refactor: for loop can be modernized using range over int (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4392\"\u003e#4392\u003c/a\u003e) (\u003ca href=\"https://github.com/wanghaolong613\"\u003e\u003ccode\u003e@​wanghaolong613\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e488f8c3ffa579a8d19beb2bae95ff8ef36b3d53f: refactor: replace magic numbers with named constants in bodyAllowedForStatus (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4529\"\u003e#4529\u003c/a\u003e) (\u003ca href=\"https://github.com/veeceey\"\u003e\u003ccode\u003e@​veeceey\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e9968c4bf9d5a99edc3eee2c068a4c9160ece8915: refactor: use b.Loop() to simplify the code and improve performance (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4389\"\u003e#4389\u003c/a\u003e) (\u003ca href=\"https://github.com/reddaisyy\"\u003e\u003ccode\u003e@​reddaisyy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ea85ef5ce4d0cda8834c59c855068ed48b51192d1: refactor: use b.Loop() to simplify the code and improve performance (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4432\"\u003e#4432\u003c/a\u003e) (\u003ca href=\"https://github.com/efcking\"\u003e\u003ccode\u003e@​efcking\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBuild process updates\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e61b67de522a189b568aced4c5c16917c558e3387: ci(bot): increase frequency and group updates for dependencies (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4367\"\u003e#4367\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efb27ef26c2fdfe25344b4c039d8a53551f9e912c: ci(lint): refactor test assertions and linter configuration (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4436\"\u003e#4436\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e93ff771e6dbf10e432864b30f3719ac5c84a4d4a: ci(sec): improve type safety and server organization in HTTP middleware (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4437\"\u003e#4437\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ee88fc8927a52b74f55bec0351604a56ac0aa1c51: ci(sec): schedule Trivy security scans to run daily at midnight UTC (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4439\"\u003e#4439\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e5e5ff3ace496a31b138b0820136a146bfb5de0ef: ci: replace vulnerability scanning workflow with Trivy integration (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4421\"\u003e#4421\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e00900fb3e1ea9dde33985a0e4f6afec793d5e786: ci: update CI workflows and standardize Trivy config quotes (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4531\"\u003e#4531\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eae3f524974fc4f55d18c9e7fae4614503c015226: ci: update Go version support to 1.25+ across CI and docs (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4550\"\u003e#4550\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/gin-gonic/gin/blob/master/CHANGELOG.md\"\u003egithub.com/gin-gonic/gin's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eGin v1.12.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat(render): add bson protocol (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4145\"\u003e#4145\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(context): add GetError and GetErrorSlice methods for error retrieval (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4502\"\u003e#4502\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(binding): add support for encoding.UnmarshalText in uri/query binding (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4203\"\u003e#4203\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(gin): add option to use escaped path (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4420\"\u003e#4420\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(context): add Protocol Buffers support to content negotiation (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4423\"\u003e#4423\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(context): implemented Delete method (\u003ca href=\"https://github.com/gin-gonic/gin/commit/38e7651\"\u003e#38e7651\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(logger): color latency (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4146\"\u003e#4146\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eperf(tree): reduce allocations in findCaseInsensitivePath (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4417\"\u003e#4417\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eperf(recovery): optimize line reading in stack function (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4466\"\u003e#4466\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eperf(path): replace regex with custom functions in redirectTrailingSlash (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4414\"\u003e#4414\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eperf(tree): optimize path parsing using strings.Count (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4246\"\u003e#4246\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(logger): allow skipping query string output (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4547\"\u003e#4547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(context): always trust xff headers from unix socket (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/3359\"\u003e#3359\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(response): prevent Flush() panic when the underlying ResponseWriter does not implement \u003ccode\u003ehttp.Flusher\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4479\"\u003e#4479\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(recovery): smart error comparison (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4142\"\u003e#4142\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(context): replace hardcoded localhost IPs with constants (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4481\"\u003e#4481\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(utils): move util functions to utils.go (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4467\"\u003e#4467\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(binding): use maps.Copy for cleaner map handling (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4352\"\u003e#4352\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(context): using maps.Clone (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4333\"\u003e#4333\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(ginS): use sync.OnceValue to simplify engine function (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4314\"\u003e#4314\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor: replace magic numbers with named constants in bodyAllowedForStatus (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4529\"\u003e#4529\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor: for loop can be modernized using range over int (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4392\"\u003e#4392\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(tree): panic in findCaseInsensitivePathRec with RedirectFixedPath (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4535\"\u003e#4535\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(render): write content length in Data.Render (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4206\"\u003e#4206\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(context): ClientIP handling for multiple X-Forwarded-For header values (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4472\"\u003e#4472\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(binding): empty value error (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/2169\"\u003e#2169\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(recover): suppress http.ErrAbortHandler in recover (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4336\"\u003e#4336\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(gin): literal colon routes not working with engine.Handler() (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4415\"\u003e#4415\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(gin): close os.File in RunFd to prevent resource leak (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4422\"\u003e#4422\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(response): refine hijack behavior for response lifecycle (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4373\"\u003e#4373\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(binding): improve empty slice/array handling in form binding (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4380\"\u003e#4380\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(debug): version mismatch (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4403\"\u003e#4403\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: correct typos, improve documentation clarity, and remove dead code (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4511\"\u003e#4511\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBuild process updates / CI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eci: update Go version support to 1.25+ across CI and docs (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4550\"\u003e#4550\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(binding): upgrade bson dependency to mongo-driver v2 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4549\"\u003e#4549\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/73726dc606796a025971fe451f0aa6f1b9b847f6\"\u003e\u003ccode\u003e73726dc\u003c/code\u003e\u003c/a\u003e docs: update documentation to reflect Go version changes (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4552\"\u003e#4552\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/e292e5caa777bce70b66fe08c94cbe9cef3e2ec9\"\u003e\u003ccode\u003ee292e5c\u003c/code\u003e\u003c/a\u003e docs: document and finalize Gin v1.12.0 release (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4551\"\u003e#4551\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/ae3f524974fc4f55d18c9e7fae4614503c015226\"\u003e\u003ccode\u003eae3f524\u003c/code\u003e\u003c/a\u003e ci: update Go version support to 1.25+ across CI and docs (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4550\"\u003e#4550\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/38534e2bf98a06e1f62d6b24384e90b5f78699bf\"\u003e\u003ccode\u003e38534e2\u003c/code\u003e\u003c/a\u003e chore(deps): bump golang.org/x/net from 0.50.0 to 0.51.0 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4548\"\u003e#4548\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/472d086af2acd924cb4b9d7be0525f7d790f69bc\"\u003e\u003ccode\u003e472d086\u003c/code\u003e\u003c/a\u003e fix(tree): panic in findCaseInsensitivePathRec with RedirectFixedPath (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4535\"\u003e#4535\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/fb2583442c4d9bccb75e6d26f1aa6e7c01950db6\"\u003e\u003ccode\u003efb25834\u003c/code\u003e\u003c/a\u003e test(context): use http.StatusContinue constant instead of magic number 100 (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/6f1d5fe3cdb171a08928c3c9dd3fbcfc9ee1b521\"\u003e\u003ccode\u003e6f1d5fe\u003c/code\u003e\u003c/a\u003e test(render): add comprehensive error handling tests (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4541\"\u003e#4541\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/5c00df8afadd06cc5be530dde00fe6d9fa4a2e4a\"\u003e\u003ccode\u003e5c00df8\u003c/code\u003e\u003c/a\u003e fix(render): write content length in Data.Render (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4206\"\u003e#4206\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/db309081bc5c137b2aa15701ef53f7f19788da25\"\u003e\u003ccode\u003edb30908\u003c/code\u003e\u003c/a\u003e chore(logger): allow skipping query string output (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4547\"\u003e#4547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/ba093d19477b896ac89a7fc3246af23d290b8e26\"\u003e\u003ccode\u003eba093d1\u003c/code\u003e\u003c/a\u003e chore(binding): upgrade bson dependency to mongo-driver v2 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4549\"\u003e#4549\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/gin-gonic/gin/compare/v1.11.0...v1.12.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/go-openapi/runtime` from 0.31.0 to 0.32.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/go-openapi/runtime/releases\"\u003egithub.com/go-openapi/runtime's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.32.2\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/go-openapi/runtime/tree/v0.32.2\"\u003e0.32.2\u003c/a\u003e - 2026-05-27\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/go-openapi/runtime/compare/v0.32.1...v0.32.2\"\u003ehttps://github.com/go-openapi/runtime/compare/v0.32.1...v0.32.2\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e2 commits in this release.\u003c/p\u003e\n\u003chr /\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003eFixed bugs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(client): added a guard to avoid the client to panic by \u003ca href=\"https://github.com/fredbi\"\u003e\u003ccode\u003e@​fredbi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/go-openapi/runtime/pull/474\"\u003e#474\u003c/a\u003e \u003ca href=\"https://github.com/go-openapi/runtime/commit/10b4d12b0cd87e2f815d599da4fe4dd193860402\"\u003e...\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003eMiscellaneous tasks\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: prepare release v0.32.2 by \u003ca href=\"https://github.com/bot-go-openapi%5Bbot%5D\"\u003e\u003ccode\u003e@​bot-go-openapi[bot]\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/go-openapi/runtime/pull/475\"\u003e#475\u003c/a\u003e \u003ca href=\"https://github.com/go-openapi/runtime/commit/a357ecf20e27c31a91eab863273f0d8b4a226f27\"\u003e...\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003ch3\u003ePeople who contributed to this release\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fredbi\"\u003e\u003ccode\u003e@​fredbi\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e\u003cstrong\u003e\u003ca href=\"https://github.com/go-openapi/runtime\"\u003eruntime\u003c/a\u003e license terms\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/go-openapi/runtime/?tab=Apache-2.0-1-ov-file#readme\"\u003e\u003cimg src=\"http://img.shields.io/badge/license-Apache%20v2-orange.svg\" alt=\"License\" /\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch1\u003ePer-module changes\u003c/h1\u003e\n\u003chr /\u003e\n\u003ch2\u003eclient-middleware/opentracing (0.32.2)\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003eMiscellaneous tasks\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: prepare release v0.32.2 by \u003ca href=\"https://github.com/bot-go-openapi%5Bbot%5D\"\u003e\u003ccode\u003e@​bot-go-openapi[bot]\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/go-openapi/runtime/pull/475\"\u003e#475\u003c/a\u003e \u003ca href=\"https://github.com/go-openapi/runtime/commit/a357ecf20e27c31a91eab863273f0d8b4a226f27\"\u003e...\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev0.32.1\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/go-openapi/runtime/commit/a357ecf20e27c31a91eab863273f0d8b4a226f27\"\u003e\u003ccode\u003ea357ecf\u003c/code\u003e\u003c/a\u003e chore: prepare release v0.32.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/go-openapi/runtime/commit/10b4d12b0cd87e2f815d599da4fe4dd193860402\"\u003e\u003ccode\u003e10b4d12\u003c/code\u003e\u003c/a\u003e fix(client): added a guard to avoid the client to panic (\u003ca href=\"https://redirect.github.com/go-openapi/runtime/issues/474\"\u003e#474\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/go-openapi/runtime/commit/ea80e5aacea5c4beb4e0149c16bfedafeb712ade\"\u003e\u003ccode\u003eea80e5a\u003c/code\u003e\u003c/a\u003e chore: prepare release v0.32.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/go-openapi/runtime/commit/01f5c5554ca086b21e2edeb501df8d1ea3442e89\"\u003e\u003ccode\u003e01f5c55\u003c/code\u003e\u003c/a\u003e doc: documented SkipAuth feature with build tag (\u003ca href=\"https://redirect.github.com/go-openapi/runtime/issues/472\"\u003e#472\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/go-openapi/runtime/commit/af192a9fb1651707e247f9a61b98f4bd033e86b1\"\u003e\u003ccode\u003eaf192a9\u003c/code\u003e\u003c/a\u003e refactor(client): promote ContextualTransport to runtime package (\u003ca href=\"https://redirect.github.com/go-openapi/runtime/issues/471\"\u003e#471\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/go-openapi/runtime/commit/100221960271f64b93bda18c4710deaffec71fba\"\u003e\u003ccode\u003e1002219\u003c/code\u003e\u003c/a\u003e chore: prepare release v0.32.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/go-openapi/runtime/commit/c1e2e2cb180aa5f374faa5ac74868eab49f53eb3\"\u003e\u003ccode\u003ec1e2e2c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/go-openapi/runtime/issues/469\"\u003e#469\u003c/a\u003e from fredbi/fix/3113-file-urlencoded\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/go-openapi/runtime/commit/584ff89d96ca40fb1fc2dafb11d1a778b10eac75\"\u003e\u003ccode\u003e584ff89\u003c/code\u003e\u003c/a\u003e ci: add unsafe-skipauth tagged-build workflow with coverage\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/go-openapi/runtime/commit/4042690b6876ac18d04c0803d55aefcd86948472\"\u003e\u003ccode\u003e4042690\u003c/code\u003e\u003c/a\u003e feat(middleware): build-tag-gated SetSkipAuth for dev-mode auth bypass\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/go-openapi/runtime/commit/cd748fa92d58a2758a07a632ea5905e5f76126ba\"\u003e\u003ccode\u003ecd748fa\u003c/code\u003e\u003c/a\u003e refactor(client/otel): pivot OpenTelemetry transport to SubmitContext\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/go-openapi/runtime/compare/v0.31.0...v0.32.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/goccy/go-yaml` from 1.18.0 to 1.19.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/goccy/go-yaml/releases\"\u003egithub.com/goccy/go-yaml's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.19.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix anchor reference regression in nested structures by \u003ca href=\"https://github.com/linyows\"\u003e\u003ccode\u003e@​linyows\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/goccy/go-yaml/pull/839\"\u003egoccy/go-yaml#839\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/linyows\"\u003e\u003ccode\u003e@​linyows\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/goccy/go-yaml/pull/839\"\u003egoccy/go-yaml#839\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/goccy/go-yaml/compare/v1.19.1...v1.19.2\"\u003ehttps://github.com/goccy/go-yaml/compare/v1.19.1...v1.19.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e1.19.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix decoding of integer keys of map type by \u003ca href=\"https://github.com/goccy\"\u003e\u003ccode\u003e@​goccy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/goccy/go-yaml/pull/829\"\u003egoccy/go-yaml#829\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport line comment for flow sequence or flow map by \u003ca href=\"https://github.com/goccy\"\u003e\u003ccode\u003e@​goccy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/goccy/go-yaml/pull/834\"\u003egoccy/go-yaml#834\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/goccy/go-yaml/compare/v1.19.0...v1.19.1\"\u003ehttps://github.com/goccy/go-yaml/compare/v1.19.0...v1.19.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e1.19.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRevert \u0026quot;feat: Dont make copies of structs for validation\u0026quot; by \u003ca href=\"https://github.com/shuheiktgw\"\u003e\u003ccode\u003e@​shuheiktgw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/goccy/go-yaml/pull/763\"\u003egoccy/go-yaml#763\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd decode option that allows specific field prefixes by \u003ca href=\"https://github.com/cpuguy83\"\u003e\u003ccode\u003e@​cpuguy83\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/goccy/go-yaml/pull/795\"\u003egoccy/go-yaml#795\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eNormalize CR and CRLF in multi-line strings by \u003ca href=\"https://github.com/shuheiktgw\"\u003e\u003ccode\u003e@​shuheiktgw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/goccy/go-yaml/pull/754\"\u003egoccy/go-yaml#754\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport non string map keys by \u003ca href=\"https://github.com/shuheiktgw\"\u003e\u003ccode\u003e@​shuheiktgw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/goccy/go-yaml/pull/756\"\u003egoccy/go-yaml#756\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSkip directive in path operations by \u003ca href=\"https://github.com/shuheiktgw\"\u003e\u003ccode\u003e@​shuheiktgw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/goccy/go-yaml/pull/758\"\u003egoccy/go-yaml#758\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd indentation to flow values on new lines by \u003ca href=\"https://github.com/shuheiktgw\"\u003e\u003ccode\u003e@​shuheiktgw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/goccy/go-yaml/pull/759\"\u003egoccy/go-yaml#759\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for RawMessage, similar to json.RawMessage by \u003ca href=\"https://github.com/thanethomson\"\u003e\u003ccode\u003e@​thanethomson\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/goccy/go-yaml/pull/790\"\u003egoccy/go-yaml#790\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cpuguy83\"\u003e\u003ccode\u003e@​cpuguy83\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/goccy/go-yaml/pull/795\"\u003egoccy/go-yaml#795\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/thanethomson\"\u003e\u003ccode\u003e@​thanethomson\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/goccy/go-yaml/pull/790\"\u003egoccy/go-yaml#790\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/goccy/go-yaml/compare/v1.18.0...v1.19.0\"\u003ehttps://github.com/goccy/go-yaml/compare/v1.18.0...v1.19.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/goccy/go-yaml/commit/92bc79cb5f685e999ad131473168fc45215d12d9\"\u003e\u003ccode\u003e92bc79c\u003c/code\u003e\u003c/a\u003e Fix anchor reference regression in nested structures (\u003ca href=\"https://redirect.github.com/goccy/go-yaml/issues/839\"\u003e#839\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/goccy/go-yaml/commit/b0ab06985557a2d84913ecba6dda0dbedbd5e154\"\u003e\u003ccode\u003eb0ab069\u003c/code\u003e\u003c/a\u003e Support line comment for flow sequence or flow map (\u003ca href=\"https://redirect.github.com/goccy/go-yaml/issues/834\"\u003e#834\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/goccy/go-yaml/commit/9e98b0c753ff2b8f0b323929c9c60fe7951d0f45\"\u003e\u003ccode\u003e9e98b0c\u003c/code\u003e\u003c/a\u003e Fix decoding of integer keys of map type (\u003ca href=\"https://redirect.github.com/goccy/go-yaml/issues/829\"\u003e#829\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/goccy/go-yaml/commit/a7b4bfbcf4a41152862ffba5cce666631bc04bb1\"\u003e\u003ccode\u003ea7b4bfb\u003c/code\u003e\u003c/a\u003e Add support for RawMessage, similar to json.RawMessage (\u003ca href=\"https://redirect.github.com/goccy/go-yaml/issues/790\"\u003e#790\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/goccy/go-yaml/commit/07c09c028744e7aac32d1b11279a401055d107f5\"\u003e\u003ccode\u003e07c09c0\u003c/code\u003e\u003c/a\u003e Add indentation to flow values on new lines (\u003ca href=\"https://redirect.github.com/goccy/go-yaml/issues/759\"\u003e#759\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/goccy/go-yaml/commit/0040ab4161153c5b812ae51984d3967ad3dbd068\"\u003e\u003ccode\u003e0040ab4\u003c/code\u003e\u003c/a\u003e Skip directive in path operations (\u003ca href=\"https://redirect.github.com/goccy/go-yaml/issues/758\"\u003e#758\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/goccy/go-yaml/commit/7901e98f54d280a553a0d606c91a82fa89493928\"\u003e\u003ccode\u003e7901e98\u003c/code\u003e\u003c/a\u003e Support non string map keys (\u003ca href=\"https://redirect.github.com/goccy/go-yaml/issues/756\"\u003e#756\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/goccy/go-yaml/commit/f4d13479ba3d44541a65d0dffeab5e3fa805413a\"\u003e\u003ccode\u003ef4d1347\u003c/code\u003e\u003c/a\u003e Normalize CR and CRLF in multi-line strings (\u003ca href=\"https://redirect.github.com/goccy/go-yaml/issues/754\"\u003e#754\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/goccy/go-yaml/commit/90e852559132e85734ab0c9a48b3a912ebd3f060\"\u003e\u003ccode\u003e90e8525\u003c/code\u003e\u003c/a\u003e Add decode option that allows specific field prefixes (\u003ca href=\"https://redirect.github.com/goccy/go-yaml/issues/795\"\u003e#795\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/goccy/go-yaml/commit/25e5d9094248e480434ca87d9119e3d9ce7ac1d7\"\u003e\u003ccode\u003e25e5d90\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;feat: Dont make copies of structs for validation (\u003ca href=\"https://redirect.github.com/goccy/go-yaml/issues/737\"\u003e#737\u003c/a\u003e)\u0026quot; (\u003ca href=\"https://redirect.github.com/goccy/go-yaml/issues/763\"\u003e#763\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/goccy/go-yaml/compare/v1.18.0...v1.19.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/google/go-containerregistry` from 0.20.7 to 0.21.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/google/go-containerregistry/releases\"\u003egithub.com/google/go-containerregistry's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.21.6\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: update dependencies to use new azure sdk components by \u003ca href=\"https://github.com/gaganhr94\"\u003e\u003ccode\u003e@​gaganhr94\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2262\"\u003egoogle/go-containerregistry#2262\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etransport: restore resp.Body in retryError so CheckError can parse it by \u003ca href=\"https://github.com/alliasgher\"\u003e\u003ccode\u003e@​alliasgher\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2264\"\u003egoogle/go-containerregistry#2264\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003epkg/registry: return 202 Accepted for PATCH chunk uploads by \u003ca href=\"https://github.com/alliasgher\"\u003e\u003ccode\u003e@​alliasgher\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2265\"\u003egoogle/go-containerregistry#2265\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFollow OCI distribution spec for artifactType and annotations by \u003ca href=\"https://github.com/malt3\"\u003e\u003ccode\u003e@​malt3\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2269\"\u003egoogle/go-containerregistry#2269\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eactions: attach Codecov token to coverage tests on main by \u003ca href=\"https://github.com/Subserial\"\u003e\u003ccode\u003e@​Subserial\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2270\"\u003egoogle/go-containerregistry#2270\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eremote: use DeleteScope (with \u0026quot;delete\u0026quot; action) for manifest deletion by \u003ca href=\"https://github.com/alliasgher\"\u003e\u003ccode\u003e@​alliasgher\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2266\"\u003egoogle/go-containerregistry#2266\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eremote: limit concurrent layer pulls by \u003ca href=\"https://github.com/gnix0\"\u003e\u003ccode\u003e@​gnix0\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2271\"\u003egoogle/go-containerregistry#2271\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003epkg/registry: reject corrupt disk blobs by \u003ca href=\"https://github.com/gnix0\"\u003e\u003ccode\u003e@​gnix0\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2272\"\u003egoogle/go-containerregistry#2272\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003emutate: close layer readers during export by \u003ca href=\"https://github.com/gnix0\"\u003e\u003ccode\u003e@​gnix0\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2277\"\u003egoogle/go-containerregistry#2277\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ecrane/flatten: preserve image media type when flattening by \u003ca href=\"https://github.com/alliasgher\"\u003e\u003ccode\u003e@​alliasgher\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2267\"\u003egoogle/go-containerregistry#2267\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump goreleaser/goreleaser-action from 7.0.0 to 7.2.1 in the actions group across 1 directory by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2273\"\u003egoogle/go-containerregistry#2273\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump go.opentelemetry.io/otel from 1.36.0 to 1.41.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2278\"\u003egoogle/go-containerregistry#2278\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump the go-deps group across 3 directories with 6 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2280\"\u003egoogle/go-containerregistry#2280\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReplace go-homedir with os.UserHomeDir by \u003ca href=\"https://github.com/jammie-jelly\"\u003e\u003ccode\u003e@​jammie-jelly\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2282\"\u003egoogle/go-containerregistry#2282\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003epkg/name: only treat .localhost as non-HTTPS, not .local by \u003ca href=\"https://github.com/blackwell-systems\"\u003e\u003ccode\u003e@​blackwell-systems\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2281\"\u003egoogle/go-containerregistry#2281\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etransport: block unspecified IPs (0.0.0.0, ::) in validateRealmURL by \u003ca href=\"https://github.com/marwan9696\"\u003e\u003ccode\u003e@​marwan9696\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2285\"\u003egoogle/go-containerregistry#2285\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etest(mutate): add Extract round-trip test for filesystem object preservation by \u003ca href=\"https://github.com/blackwell-systems\"\u003e\u003ccode\u003e@​blackwell-systems\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2283\"\u003egoogle/go-containerregistry#2283\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eexperiments: remove deprecated support for estargz by \u003ca href=\"https://github.com/thaJeztah\"\u003e\u003ccode\u003e@​thaJeztah\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2288\"\u003egoogle/go-containerregistry#2288\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump aws-actions/configure-aws-credentials from 6.1.0 to 6.1.1 in the actions group by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2289\"\u003egoogle/go-containerregistry#2289\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: limit HTTP response body reads to prevent OOM by \u003ca href=\"https://github.com/evilgensec\"\u003e\u003ccode\u003e@​evilgensec\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2296\"\u003egoogle/go-containerregistry#2296\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump the go-deps group across 3 directories with 6 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2297\"\u003egoogle/go-containerregistry#2297\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etransport: block redirects from token server to private/link-local addresses (SSRF fix) by \u003ca href=\"https://github.com/evilgensec\"\u003e\u003ccode\u003e@​evilgensec\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2292\"\u003egoogle/go-containerregistry#2292\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003epkg/v1/mutate: preserve relative symlinks that stay within rootfs in Extract by \u003ca href=\"https://github.com/anishesg\"\u003e\u003ccode\u003e@​anishesg\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2279\"\u003egoogle/go-containerregistry#2279\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003evalidate: skip non-layer layers by \u003ca href=\"https://github.com/imjasonh\"\u003e\u003ccode\u003e@​imjasonh\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2298\"\u003egoogle/go-containerregistry#2298\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eremote: validate foreign layer URLs to prevent SSRF (fixes \u003ca href=\"https://redirect.github.com/google/go-containerregistry/issues/2259\"\u003e#2259\u003c/a\u003e) by \u003ca href=\"https://github.com/evilgensec\"\u003e\u003ccode\u003e@​evilgensec\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2293\"\u003egoogle/go-containerregistry#2293\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eremote: block SSRF via private-IP Location headers in blob uploads by \u003ca href=\"https://github.com/adilburaksen\"\u003e\u003ccode\u003e@​adilburaksen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2295\"\u003egoogle/go-containerregistry#2295\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(mutate): preserve config blob and layers for non-Docker OCI artifacts by \u003ca href=\"https://github.com/blackwell-systems\"\u003e\u003ccode\u003e@​blackwell-systems\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2286\"\u003egoogle/go-containerregistry#2286\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: preserve per-occurrence layer identity in mutate.Image.Layers() by \u003ca href=\"https://github.com/iahsanGill\"\u003e\u003ccode\u003e@​iahsanGill\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2299\"\u003egoogle/go-containerregistry#2299\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etransport: retry HTTP 429 (Too Many Requests) by \u003ca href=\"https://github.com/iahsanGill\"\u003e\u003ccode\u003e@​iahsanGill\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2301\"\u003egoogle/go-containerregistry#2301\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etransport: allow bearer realm at same host:port as registry by \u003ca href=\"https://github.com/iahsanGill\"\u003e\u003ccode\u003e@​iahsanGill\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2302\"\u003egoogle/go-containerregistry#2302\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate go version to 1.26.3 by \u003ca href=\"https://github.com/Subserial\"\u003e\u003ccode\u003e@​Subserial\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2300\"\u003egoogle/go-containerregistry#2300\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gaganhr94\"\u003e\u003ccode\u003e@​gaganhr94\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2262\"\u003egoogle/go-containerregistry#2262\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/alliasgher\"\u003e\u003ccode\u003e@​alliasgher\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2264\"\u003egoogle/go-containerregistry#2264\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/malt3\"\u003e\u003ccode\u003e@​malt3\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2269\"\u003egoogle/go-containerregistry#2269\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gnix0\"\u003e\u003ccode\u003e@​gnix0\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2271\"\u003egoogle/go-containerregistry#2271\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/blackwell-systems\"\u003e\u003ccode\u003e@​blackwell-systems\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2281\"\u003egoogle/go-containerregistry#2281\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marwan9696\"\u003e\u003ccode\u003e@​marwan9696\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2285\"\u003egoogle/go-containerregistry#2285\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anishesg\"\u003e\u003ccode\u003e@​anishesg\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2279\"\u003egoogle/go-containerregistry#2279\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/adilburaksen\"\u003e\u003ccode\u003e@​adilburaksen\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2295\"\u003egoogle/go-containerregistry#2295\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/iahsanGill\"\u003e\u003ccode\u003e@​iahsanGill\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2299\"\u003egoogle/go-containerregistry#2299\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/google/go-containerregistry/compare/v0.21.5...v0.21.6\"\u003ehttps://github.com/google/go-containerregistry/compare/v0.21.5...v0.21.6\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.21.5\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump docker/cli v29.4.0, moby/api v1.54.1, moby/client v0.4.0 by \u003ca href=\"https://github.com/thaJeztah\"\u003e\u003ccode\u003e@​thaJeztah\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2254\"\u003egoogle/go-containerregistry#2254\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/go-containerregistry/commit/53f7e39e15bfd6aeea6a5f733ee1a8fcf54c15cf\"\u003e\u003ccode\u003e53f7e39\u003c/code\u003e\u003c/a\u003e Update go version to 1.26.3 (\u003ca href=\"https://redirect.github.com/google/go-containerregistry/issues/2300\"\u003e#2300\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/go-containerregistry/commit/bf87c3bfe4cc3218ac0baa364545d72729d2906d\"\u003e\u003ccode\u003ebf87c3b\u003c/code\u003e\u003c/a\u003e transport: allow bearer realm at same host:port as registry (\u003ca href=\"https://redirect.github.com/google/go-containerregistry/issues/2302\"\u003e#2302\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/go-containerregistry/commit/c55facddfbd7fc3d648c6fdda9860b350b013a76\"\u003e\u003ccode\u003ec55facd\u003c/code\u003e\u003c/a\u003e transport: retry HTTP 429 (Too Many Requests) (\u003ca href=\"https://redirect.github.com/google/go-containerregistry/issues/2301\"\u003e#2301\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/go-containerregistry/commit/68a569e4a0eb927d36ccb0fcdf4578425c03b5a2\"\u003e\u003ccode\u003e68a569e\u003c/code\u003e\u003c/a\u003e fix: preserve per-occurrence layer identity in Layers() (\u003ca href=\"https://redirect.github.com/google/go-containerregistry/issues/2299\"\u003e#2299\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/go-containerregistry/commit/35b354b436879457221028f05a580fe1c0deccbc\"\u003e\u003ccode\u003e35b354b\u003c/code\u003e\u003c/a\u003e fix(mutate): preserve config blob and layers for non-Docker OCI artifacts (\u003ca href=\"https://redirect.github.com/google/go-containerregistry/issues/2\"\u003e#2\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/go-containerregistry/commit/e5983f2a67ec46b76984ce6de85de08a44eee955\"\u003e\u003ccode\u003ee5983f2\u003c/code\u003e\u003c/a\u003e remote: block SSRF via private-IP Location headers in blob uploads (\u003ca href=\"https://redirect.github.com/google/go-containerregistry/issues/2295\"\u003e#2295\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/go-containerregistry/commit/6dad820da7de0d619f1127c46914f2eaf58e3b46\"\u003e\u003ccode\u003e6dad820\u003c/code\u003e\u003c/a\u003e remote: validate foreign layer URLs to prevent SSRF (fixes \u003ca href=\"https://redirect.github.com/google/go-containerregistry/issues/2259\"\u003e#2259\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/google/go-containerregistry/issues/2293\"\u003e#2293\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/go-containerregistry/commit/78bdf1b7e2105cdfcd8f23509992c78357ce16ed\"\u003e\u003ccode\u003e78bdf1b\u003c/code\u003e\u003c/a\u003e validate: skip non-layer layers (\u003ca href=\"https://redirect.github.com/google/go-containerregistry/issues/2298\"\u003e#2298\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/go-containerregistry/commit/c29d91cdc394cb288270f4dd04a31f81054946f4\"\u003e\u003ccode\u003ec29d91c\u003c/code\u003e\u003c/a\u003e pkg/v1/mutate: preserve relative symlinks that stay within rootfs in Extract ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/go-containerregistry/commit/a70d75a6915ed3137792206dac4bca21d1924959\"\u003e\u003ccode\u003ea70d75a\u003c/code\u003e\u003c/a\u003e transport: block redirects from token server to private/link-local addresses ...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/google/go-containerregistry/compare/v0.20.7...v0.21.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/jferrl/go-githubauth` from 1.5.1 to 1.6.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jferrl/go-githubauth/releases\"\u003egithub.com/jferrl/go-githubauth's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.6.0\u003c/h2\u003e\n\u003ch2\u003e✨ Features\u003c/h2\u003e\n\u003ch3\u003eExternal key store support for GitHub App JWTs\u003c/h3\u003e\n\u003cp\u003eAdded \u003ccode\u003eNewApplicationTokenSourceFromSigner\u003c/code\u003e which accepts any \u003ccode\u003ecrypto.Signer\u003c/code\u003e with an RSA public key. Enables signing via AWS KMS, GCP KMS, Azure Key Vault, HashiCorp Vault Transit, PKCS#11 HSMs, or ssh-agent — the private key never touches process memory. Validates at construction that the signer's public key is \u003ccode\u003e*rsa.PublicKey\u003c/code\u003e (GitHub requires RS256).\u003c/p\u003e\n\u003cpre lang=\"go\"\u003e\u003ccode\u003esi...\n\n_Description has been truncated_","html_url":"https://github.com/akuity/kargo/pull/6389","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/akuity%2Fkargo/issues/6389","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/6389/packages"}},{"old_version":"1.10.0","new_version":"1.12.0","update_type":"minor","path":"/inventory-service","pr_created_at":"2026-05-30T22:29:41.000Z","version_change":"1.10.0 → 1.12.0","issue":{"uuid":"4555888108","node_id":"PR_kwDOSskcJM7hAwbN","number":25,"state":"open","title":"Bump github.com/gin-gonic/gin from 1.10.0 to 1.12.0 in /inventory-service","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-30T22:29:41.000Z","updated_at":"2026-05-30T22:29:42.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"github.com/gin-gonic/gin","old_version":"1.10.0","new_version":"1.12.0","repository_url":"https://github.com/gin-gonic/gin"}],"path":"/inventory-service","ecosystem":"go"},"body":"Bumps [github.com/gin-gonic/gin](https://github.com/gin-gonic/gin) from 1.10.0 to 1.12.0.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/gin-gonic/gin/releases\"\u003egithub.com/gin-gonic/gin's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.12.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e192ac89eefc1c30f7c97ae48a9ffb1c6f1c8c8bc: feat(binding): add support for encoding.UnmarshalText in uri/query binding (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4203\"\u003e#4203\u003c/a\u003e) (\u003ca href=\"https://github.com/takanuva15\"\u003e\u003ccode\u003e@​takanuva15\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e53410d2e07054369e0960fbe2eed97e1b9966f12: feat(context): add GetError and GetErrorSlice methods for error retrieval (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4502\"\u003e#4502\u003c/a\u003e) (\u003ca href=\"https://github.com/raju-mechatronics\"\u003e\u003ccode\u003e@​raju-mechatronics\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eacc55e049e33b401e810dbd8c0d6dcb6b3ba2b05: feat(context): add Protocol Buffers support to content negotiation (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4423\"\u003e#4423\u003c/a\u003e) (\u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e38e765119241d990705169bedb5002a29ae0cbd1: feat(context): implemented Delete method (\u003ca href=\"https://github.com/Spyder01\"\u003e\u003ccode\u003e@​Spyder01\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e771dcc6476d7bc6abb9ec0235ecefa4d38fe6fb0: feat(gin): add option to use escaped path (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4420\"\u003e#4420\u003c/a\u003e) (\u003ca href=\"https://github.com/ldesauw\"\u003e\u003ccode\u003e@​ldesauw\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e4dec17afdff48e8018c83618fbbe69fceeb2b41d: feat(logger): color latency (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4146\"\u003e#4146\u003c/a\u003e) (\u003ca href=\"https://github.com/wsyqn6\"\u003e\u003ccode\u003e@​wsyqn6\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ed7776de7d444935ea4385999711bd6331a98fecb: feat(render): add bson protocol (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4145\"\u003e#4145\u003c/a\u003e) (\u003ca href=\"https://github.com/laurentcau\"\u003e\u003ccode\u003e@​laurentcau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eb917b14ff9d189f16a7492be79d123a47806ee19: fix(binding): empty value error (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/2169\"\u003e#2169\u003c/a\u003e) (\u003ca href=\"https://github.com/guonaihong\"\u003e\u003ccode\u003e@​guonaihong\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ec3d1092b3b48addf6f9cd00fe274ec3bd14650eb: fix(binding): improve empty slice/array handling in form binding (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4380\"\u003e#4380\u003c/a\u003e) (\u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e9914178584e42458ff7d23891463a880f58c9d86: fix(context): ClientIP handling for multiple X-Forwarded-For header values (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4472\"\u003e#4472\u003c/a\u003e) (\u003ca href=\"https://github.com/Nurysso\"\u003e\u003ccode\u003e@​Nurysso\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e2a794cd0b0faa7d829291375b27a3467ea972b0d: fix(debug): version mismatch (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4403\"\u003e#4403\u003c/a\u003e) (\u003ca href=\"https://github.com/zeek0x\"\u003e\u003ccode\u003e@​zeek0x\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ec3d5a28ed6d3849da820195b6774d212bcc038a9: fix(gin): close os.File in RunFd to prevent resource leak (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4422\"\u003e#4422\u003c/a\u003e) (\u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e5fad976b372e381312f8de69f0969f1284d229d3: fix(gin): literal colon routes not working with engine.Handler() (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4415\"\u003e#4415\u003c/a\u003e) (\u003ca href=\"https://github.com/pawannn\"\u003e\u003ccode\u003e@​pawannn\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e63dd3e60cab89c27fb66bce1423bd268d52abad1: fix(recover): suppress http.ErrAbortHandler in recover (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4336\"\u003e#4336\u003c/a\u003e) (\u003ca href=\"https://github.com/MondayCha\"\u003e\u003ccode\u003e@​MondayCha\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e5c00df8afadd06cc5be530dde00fe6d9fa4a2e4a: fix(render): write content length in Data.Render (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4206\"\u003e#4206\u003c/a\u003e) (\u003ca href=\"https://github.com/dengaleev\"\u003e\u003ccode\u003e@​dengaleev\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e234a6d4c00cb77af9852aca0b8289745d5529b4b: fix(response): refine hijack behavior for response lifecycle (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4373\"\u003e#4373\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e472d086af2acd924cb4b9d7be0525f7d790f69bc: fix(tree): panic in findCaseInsensitivePathRec with RedirectFixedPath (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4535\"\u003e#4535\u003c/a\u003e) (\u003ca href=\"https://github.com/veeceey\"\u003e\u003ccode\u003e@​veeceey\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e8e07d37c63e5536eb25f4af4c91eabeee4011fba: fix: Correct typos, improve documentation clarity, and remove dead code (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4511\"\u003e#4511\u003c/a\u003e) (\u003ca href=\"https://github.com/mahanadh\"\u003e\u003ccode\u003e@​mahanadh\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eba093d19477b896ac89a7fc3246af23d290b8e26: chore(binding): upgrade bson dependency to mongo-driver v2 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4549\"\u003e#4549\u003c/a\u003e) (\u003ca href=\"https://github.com/BobDu\"\u003e\u003ccode\u003e@​BobDu\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eb2b489dbf4826c2c630717a77fd5e42774625410: chore(context): always trust xff headers from unix socket (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/3359\"\u003e#3359\u003c/a\u003e) (\u003ca href=\"https://github.com/WeidiDeng\"\u003e\u003ccode\u003e@​WeidiDeng\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eecb3f7b5e2f3915bf1db240ed5eee572f8dbea36: chore(deps): upgrade golang.org/x/crypto to v0.45.0 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4449\"\u003e#4449\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eaf6e8b70b8261bb0c99ad094fe552ab92991620a: chore(deps): upgrade quic-go to v0.57.1 (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edb309081bc5c137b2aa15701ef53f7f19788da25: chore(logger): allow skipping query string output (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4547\"\u003e#4547\u003c/a\u003e) (\u003ca href=\"https://github.com/USA-RedDragon\"\u003e\u003ccode\u003e@​USA-RedDragon\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e26c3a628655cad2388380cb8102d6ce7d4875f3b: chore(response): prevent Flush() panic when \u003ccode\u003ehttp.Flusher\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4479\"\u003e#4479\u003c/a\u003e) (\u003ca href=\"https://github.com/Twacqwq\"\u003e\u003ccode\u003e@​Twacqwq\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e5dd833f1f26de0eb30eae47b17e05ced2482dc41: chore: bump minimum Go version to 1.24 and update workflows (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4388\"\u003e#4388\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRefactor\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e39858a0859c914bd26948fa950477e11bd8d3823: refactor(binding): use maps.Copy for cleaner map handling (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4352\"\u003e#4352\u003c/a\u003e) (\u003ca href=\"https://github.com/russcoss\"\u003e\u003ccode\u003e@​russcoss\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ec0048f645ee945c4db30593afdea10123e2c30a6: refactor(context): omit the return value names (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4395\"\u003e#4395\u003c/a\u003e) (\u003ca href=\"https://github.com/wanghaolong613\"\u003e\u003ccode\u003e@​wanghaolong613\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e915e4c90d28ec4cffc6eb146e208ab5a65eac772: refactor(context): replace hardcoded localhost IPs with constants (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4481\"\u003e#4481\u003c/a\u003e) (\u003ca href=\"https://github.com/pauloappbr\"\u003e\u003ccode\u003e@​pauloappbr\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e414de60574449457f3192a7a1d5528940db2836d: refactor(context): using maps.Clone (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4333\"\u003e#4333\u003c/a\u003e) (\u003ca href=\"https://github.com/cuiweixie\"\u003e\u003ccode\u003e@​cuiweixie\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e59e9d4a794f12c4f9a6c7bed441b9644e5f6d99b: refactor(ginS): use sync.OnceValue to simplify engine function (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4314\"\u003e#4314\u003c/a\u003e) (\u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e3ab698dc5110af1977d57226e4995c57dd34c233: refactor(recovery): smart error comparison (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4142\"\u003e#4142\u003c/a\u003e) (\u003ca href=\"https://github.com/zeek0x\"\u003e\u003ccode\u003e@​zeek0x\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ed1a15347b1e45a8ee816193d3578a93bfd73b70f: refactor(utils): move util functions to utils.go (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4467\"\u003e#4467\u003c/a\u003e) (\u003ca href=\"https://github.com/zeek0x\"\u003e\u003ccode\u003e@​zeek0x\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ee3118cc378d263454098924ebbde7e8d1dd2e904: refactor: for loop can be modernized using range over int (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4392\"\u003e#4392\u003c/a\u003e) (\u003ca href=\"https://github.com/wanghaolong613\"\u003e\u003ccode\u003e@​wanghaolong613\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e488f8c3ffa579a8d19beb2bae95ff8ef36b3d53f: refactor: replace magic numbers with named constants in bodyAllowedForStatus (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4529\"\u003e#4529\u003c/a\u003e) (\u003ca href=\"https://github.com/veeceey\"\u003e\u003ccode\u003e@​veeceey\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e9968c4bf9d5a99edc3eee2c068a4c9160ece8915: refactor: use b.Loop() to simplify the code and improve performance (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4389\"\u003e#4389\u003c/a\u003e) (\u003ca href=\"https://github.com/reddaisyy\"\u003e\u003ccode\u003e@​reddaisyy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ea85ef5ce4d0cda8834c59c855068ed48b51192d1: refactor: use b.Loop() to simplify the code and improve performance (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4432\"\u003e#4432\u003c/a\u003e) (\u003ca href=\"https://github.com/efcking\"\u003e\u003ccode\u003e@​efcking\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBuild process updates\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e61b67de522a189b568aced4c5c16917c558e3387: ci(bot): increase frequency and group updates for dependencies (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4367\"\u003e#4367\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efb27ef26c2fdfe25344b4c039d8a53551f9e912c: ci(lint): refactor test assertions and linter configuration (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4436\"\u003e#4436\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e93ff771e6dbf10e432864b30f3719ac5c84a4d4a: ci(sec): improve type safety and server organization in HTTP middleware (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4437\"\u003e#4437\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ee88fc8927a52b74f55bec0351604a56ac0aa1c51: ci(sec): schedule Trivy security scans to run daily at midnight UTC (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4439\"\u003e#4439\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e5e5ff3ace496a31b138b0820136a146bfb5de0ef: ci: replace vulnerability scanning workflow with Trivy integration (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4421\"\u003e#4421\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e00900fb3e1ea9dde33985a0e4f6afec793d5e786: ci: update CI workflows and standardize Trivy config quotes (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4531\"\u003e#4531\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eae3f524974fc4f55d18c9e7fae4614503c015226: ci: update Go version support to 1.25+ across CI and docs (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4550\"\u003e#4550\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/gin-gonic/gin/blob/master/CHANGELOG.md\"\u003egithub.com/gin-gonic/gin's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eGin v1.12.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat(render): add bson protocol (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4145\"\u003e#4145\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(context): add GetError and GetErrorSlice methods for error retrieval (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4502\"\u003e#4502\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(binding): add support for encoding.UnmarshalText in uri/query binding (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4203\"\u003e#4203\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(gin): add option to use escaped path (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4420\"\u003e#4420\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(context): add Protocol Buffers support to content negotiation (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4423\"\u003e#4423\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(context): implemented Delete method (\u003ca href=\"https://github.com/gin-gonic/gin/commit/38e7651\"\u003e#38e7651\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(logger): color latency (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4146\"\u003e#4146\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eperf(tree): reduce allocations in findCaseInsensitivePath (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4417\"\u003e#4417\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eperf(recovery): optimize line reading in stack function (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4466\"\u003e#4466\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eperf(path): replace regex with custom functions in redirectTrailingSlash (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4414\"\u003e#4414\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eperf(tree): optimize path parsing using strings.Count (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4246\"\u003e#4246\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(logger): allow skipping query string output (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4547\"\u003e#4547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(context): always trust xff headers from unix socket (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/3359\"\u003e#3359\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(response): prevent Flush() panic when the underlying ResponseWriter does not implement \u003ccode\u003ehttp.Flusher\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4479\"\u003e#4479\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(recovery): smart error comparison (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4142\"\u003e#4142\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(context): replace hardcoded localhost IPs with constants (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4481\"\u003e#4481\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(utils): move util functions to utils.go (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4467\"\u003e#4467\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(binding): use maps.Copy for cleaner map handling (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4352\"\u003e#4352\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(context): using maps.Clone (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4333\"\u003e#4333\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(ginS): use sync.OnceValue to simplify engine function (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4314\"\u003e#4314\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor: replace magic numbers with named constants in bodyAllowedForStatus (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4529\"\u003e#4529\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor: for loop can be modernized using range over int (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4392\"\u003e#4392\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(tree): panic in findCaseInsensitivePathRec with RedirectFixedPath (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4535\"\u003e#4535\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(render): write content length in Data.Render (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4206\"\u003e#4206\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(context): ClientIP handling for multiple X-Forwarded-For header values (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4472\"\u003e#4472\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(binding): empty value error (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/2169\"\u003e#2169\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(recover): suppress http.ErrAbortHandler in recover (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4336\"\u003e#4336\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(gin): literal colon routes not working with engine.Handler() (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4415\"\u003e#4415\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(gin): close os.File in RunFd to prevent resource leak (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4422\"\u003e#4422\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(response): refine hijack behavior for response lifecycle (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4373\"\u003e#4373\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(binding): improve empty slice/array handling in form binding (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4380\"\u003e#4380\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(debug): version mismatch (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4403\"\u003e#4403\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: correct typos, improve documentation clarity, and remove dead code (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4511\"\u003e#4511\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBuild process updates / CI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eci: update Go version support to 1.25+ across CI and docs (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4550\"\u003e#4550\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(binding): upgrade bson dependency to mongo-driver v2 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4549\"\u003e#4549\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eGin v1.11.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/73726dc606796a025971fe451f0aa6f1b9b847f6\"\u003e\u003ccode\u003e73726dc\u003c/code\u003e\u003c/a\u003e docs: update documentation to reflect Go version changes (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4552\"\u003e#4552\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/e292e5caa777bce70b66fe08c94cbe9cef3e2ec9\"\u003e\u003ccode\u003ee292e5c\u003c/code\u003e\u003c/a\u003e docs: document and finalize Gin v1.12.0 release (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4551\"\u003e#4551\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/ae3f524974fc4f55d18c9e7fae4614503c015226\"\u003e\u003ccode\u003eae3f524\u003c/code\u003e\u003c/a\u003e ci: update Go version support to 1.25+ across CI and docs (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4550\"\u003e#4550\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/38534e2bf98a06e1f62d6b24384e90b5f78699bf\"\u003e\u003ccode\u003e38534e2\u003c/code\u003e\u003c/a\u003e chore(deps): bump golang.org/x/net from 0.50.0 to 0.51.0 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4548\"\u003e#4548\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/472d086af2acd924cb4b9d7be0525f7d790f69bc\"\u003e\u003ccode\u003e472d086\u003c/code\u003e\u003c/a\u003e fix(tree): panic in findCaseInsensitivePathRec with RedirectFixedPath (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4535\"\u003e#4535\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/fb2583442c4d9bccb75e6d26f1aa6e7c01950db6\"\u003e\u003ccode\u003efb25834\u003c/code\u003e\u003c/a\u003e test(context): use http.StatusContinue constant instead of magic number 100 (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/6f1d5fe3cdb171a08928c3c9dd3fbcfc9ee1b521\"\u003e\u003ccode\u003e6f1d5fe\u003c/code\u003e\u003c/a\u003e test(render): add comprehensive error handling tests (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4541\"\u003e#4541\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/5c00df8afadd06cc5be530dde00fe6d9fa4a2e4a\"\u003e\u003ccode\u003e5c00df8\u003c/code\u003e\u003c/a\u003e fix(render): write content length in Data.Render (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4206\"\u003e#4206\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/db309081bc5c137b2aa15701ef53f7f19788da25\"\u003e\u003ccode\u003edb30908\u003c/code\u003e\u003c/a\u003e chore(logger): allow skipping query string output (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4547\"\u003e#4547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/ba093d19477b896ac89a7fc3246af23d290b8e26\"\u003e\u003ccode\u003eba093d1\u003c/code\u003e\u003c/a\u003e chore(binding): upgrade bson dependency to mongo-driver v2 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4549\"\u003e#4549\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/gin-gonic/gin/compare/v1.10.0...v1.12.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/gin-gonic/gin\u0026package-manager=go_modules\u0026previous-version=1.10.0\u0026new-version=1.12.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/iyzitrace/iyzitrace-observability-platform/pull/25","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/iyzitrace%2Fiyzitrace-observability-platform/issues/25","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/25/packages"}},{"old_version":"1.10.0","new_version":"1.12.0","update_type":"minor","path":null,"pr_created_at":"2026-05-24T17:50:29.000Z","version_change":"1.10.0 → 1.12.0","issue":{"uuid":"4512446883","node_id":"PR_kwDORlTy7c7e0VPC","number":35,"state":"open","title":"build(deps): bump the go-minor-and-patch group across 1 directory with 2 updates","user":"dependabot[bot]","labels":["dependencies","go"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-24T17:50:29.000Z","updated_at":"2026-05-31T14:35:59.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"go-minor-and-patch","update_count":2,"packages":[{"name":"github.com/gin-gonic/gin","old_version":"1.10.0","new_version":"1.12.0","repository_url":"https://github.com/gin-gonic/gin"},{"name":"github.com/jackc/pgx/v5","old_version":"5.8.0","new_version":"5.9.2","repository_url":"https://github.com/jackc/pgx"}],"path":null,"ecosystem":"go"},"body":"Bumps the go-minor-and-patch group with 2 updates in the / directory: [github.com/gin-gonic/gin](https://github.com/gin-gonic/gin) and [github.com/jackc/pgx/v5](https://github.com/jackc/pgx).\n\nUpdates `github.com/gin-gonic/gin` from 1.10.0 to 1.12.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/gin-gonic/gin/releases\"\u003egithub.com/gin-gonic/gin's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.12.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e192ac89eefc1c30f7c97ae48a9ffb1c6f1c8c8bc: feat(binding): add support for encoding.UnmarshalText in uri/query binding (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4203\"\u003e#4203\u003c/a\u003e) (\u003ca href=\"https://github.com/takanuva15\"\u003e\u003ccode\u003e@​takanuva15\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e53410d2e07054369e0960fbe2eed97e1b9966f12: feat(context): add GetError and GetErrorSlice methods for error retrieval (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4502\"\u003e#4502\u003c/a\u003e) (\u003ca href=\"https://github.com/raju-mechatronics\"\u003e\u003ccode\u003e@​raju-mechatronics\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eacc55e049e33b401e810dbd8c0d6dcb6b3ba2b05: feat(context): add Protocol Buffers support to content negotiation (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4423\"\u003e#4423\u003c/a\u003e) (\u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e38e765119241d990705169bedb5002a29ae0cbd1: feat(context): implemented Delete method (\u003ca href=\"https://github.com/Spyder01\"\u003e\u003ccode\u003e@​Spyder01\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e771dcc6476d7bc6abb9ec0235ecefa4d38fe6fb0: feat(gin): add option to use escaped path (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4420\"\u003e#4420\u003c/a\u003e) (\u003ca href=\"https://github.com/ldesauw\"\u003e\u003ccode\u003e@​ldesauw\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e4dec17afdff48e8018c83618fbbe69fceeb2b41d: feat(logger): color latency (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4146\"\u003e#4146\u003c/a\u003e) (\u003ca href=\"https://github.com/wsyqn6\"\u003e\u003ccode\u003e@​wsyqn6\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ed7776de7d444935ea4385999711bd6331a98fecb: feat(render): add bson protocol (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4145\"\u003e#4145\u003c/a\u003e) (\u003ca href=\"https://github.com/laurentcau\"\u003e\u003ccode\u003e@​laurentcau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eb917b14ff9d189f16a7492be79d123a47806ee19: fix(binding): empty value error (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/2169\"\u003e#2169\u003c/a\u003e) (\u003ca href=\"https://github.com/guonaihong\"\u003e\u003ccode\u003e@​guonaihong\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ec3d1092b3b48addf6f9cd00fe274ec3bd14650eb: fix(binding): improve empty slice/array handling in form binding (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4380\"\u003e#4380\u003c/a\u003e) (\u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e9914178584e42458ff7d23891463a880f58c9d86: fix(context): ClientIP handling for multiple X-Forwarded-For header values (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4472\"\u003e#4472\u003c/a\u003e) (\u003ca href=\"https://github.com/Nurysso\"\u003e\u003ccode\u003e@​Nurysso\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e2a794cd0b0faa7d829291375b27a3467ea972b0d: fix(debug): version mismatch (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4403\"\u003e#4403\u003c/a\u003e) (\u003ca href=\"https://github.com/zeek0x\"\u003e\u003ccode\u003e@​zeek0x\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ec3d5a28ed6d3849da820195b6774d212bcc038a9: fix(gin): close os.File in RunFd to prevent resource leak (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4422\"\u003e#4422\u003c/a\u003e) (\u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e5fad976b372e381312f8de69f0969f1284d229d3: fix(gin): literal colon routes not working with engine.Handler() (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4415\"\u003e#4415\u003c/a\u003e) (\u003ca href=\"https://github.com/pawannn\"\u003e\u003ccode\u003e@​pawannn\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e63dd3e60cab89c27fb66bce1423bd268d52abad1: fix(recover): suppress http.ErrAbortHandler in recover (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4336\"\u003e#4336\u003c/a\u003e) (\u003ca href=\"https://github.com/MondayCha\"\u003e\u003ccode\u003e@​MondayCha\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e5c00df8afadd06cc5be530dde00fe6d9fa4a2e4a: fix(render): write content length in Data.Render (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4206\"\u003e#4206\u003c/a\u003e) (\u003ca href=\"https://github.com/dengaleev\"\u003e\u003ccode\u003e@​dengaleev\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e234a6d4c00cb77af9852aca0b8289745d5529b4b: fix(response): refine hijack behavior for response lifecycle (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4373\"\u003e#4373\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e472d086af2acd924cb4b9d7be0525f7d790f69bc: fix(tree): panic in findCaseInsensitivePathRec with RedirectFixedPath (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4535\"\u003e#4535\u003c/a\u003e) (\u003ca href=\"https://github.com/veeceey\"\u003e\u003ccode\u003e@​veeceey\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e8e07d37c63e5536eb25f4af4c91eabeee4011fba: fix: Correct typos, improve documentation clarity, and remove dead code (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4511\"\u003e#4511\u003c/a\u003e) (\u003ca href=\"https://github.com/mahanadh\"\u003e\u003ccode\u003e@​mahanadh\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eba093d19477b896ac89a7fc3246af23d290b8e26: chore(binding): upgrade bson dependency to mongo-driver v2 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4549\"\u003e#4549\u003c/a\u003e) (\u003ca href=\"https://github.com/BobDu\"\u003e\u003ccode\u003e@​BobDu\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eb2b489dbf4826c2c630717a77fd5e42774625410: chore(context): always trust xff headers from unix socket (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/3359\"\u003e#3359\u003c/a\u003e) (\u003ca href=\"https://github.com/WeidiDeng\"\u003e\u003ccode\u003e@​WeidiDeng\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eecb3f7b5e2f3915bf1db240ed5eee572f8dbea36: chore(deps): upgrade golang.org/x/crypto to v0.45.0 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4449\"\u003e#4449\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eaf6e8b70b8261bb0c99ad094fe552ab92991620a: chore(deps): upgrade quic-go to v0.57.1 (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edb309081bc5c137b2aa15701ef53f7f19788da25: chore(logger): allow skipping query string output (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4547\"\u003e#4547\u003c/a\u003e) (\u003ca href=\"https://github.com/USA-RedDragon\"\u003e\u003ccode\u003e@​USA-RedDragon\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e26c3a628655cad2388380cb8102d6ce7d4875f3b: chore(response): prevent Flush() panic when \u003ccode\u003ehttp.Flusher\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4479\"\u003e#4479\u003c/a\u003e) (\u003ca href=\"https://github.com/Twacqwq\"\u003e\u003ccode\u003e@​Twacqwq\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e5dd833f1f26de0eb30eae47b17e05ced2482dc41: chore: bump minimum Go version to 1.24 and update workflows (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4388\"\u003e#4388\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRefactor\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e39858a0859c914bd26948fa950477e11bd8d3823: refactor(binding): use maps.Copy for cleaner map handling (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4352\"\u003e#4352\u003c/a\u003e) (\u003ca href=\"https://github.com/russcoss\"\u003e\u003ccode\u003e@​russcoss\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ec0048f645ee945c4db30593afdea10123e2c30a6: refactor(context): omit the return value names (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4395\"\u003e#4395\u003c/a\u003e) (\u003ca href=\"https://github.com/wanghaolong613\"\u003e\u003ccode\u003e@​wanghaolong613\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e915e4c90d28ec4cffc6eb146e208ab5a65eac772: refactor(context): replace hardcoded localhost IPs with constants (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4481\"\u003e#4481\u003c/a\u003e) (\u003ca href=\"https://github.com/pauloappbr\"\u003e\u003ccode\u003e@​pauloappbr\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e414de60574449457f3192a7a1d5528940db2836d: refactor(context): using maps.Clone (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4333\"\u003e#4333\u003c/a\u003e) (\u003ca href=\"https://github.com/cuiweixie\"\u003e\u003ccode\u003e@​cuiweixie\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e59e9d4a794f12c4f9a6c7bed441b9644e5f6d99b: refactor(ginS): use sync.OnceValue to simplify engine function (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4314\"\u003e#4314\u003c/a\u003e) (\u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e3ab698dc5110af1977d57226e4995c57dd34c233: refactor(recovery): smart error comparison (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4142\"\u003e#4142\u003c/a\u003e) (\u003ca href=\"https://github.com/zeek0x\"\u003e\u003ccode\u003e@​zeek0x\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ed1a15347b1e45a8ee816193d3578a93bfd73b70f: refactor(utils): move util functions to utils.go (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4467\"\u003e#4467\u003c/a\u003e) (\u003ca href=\"https://github.com/zeek0x\"\u003e\u003ccode\u003e@​zeek0x\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ee3118cc378d263454098924ebbde7e8d1dd2e904: refactor: for loop can be modernized using range over int (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4392\"\u003e#4392\u003c/a\u003e) (\u003ca href=\"https://github.com/wanghaolong613\"\u003e\u003ccode\u003e@​wanghaolong613\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e488f8c3ffa579a8d19beb2bae95ff8ef36b3d53f: refactor: replace magic numbers with named constants in bodyAllowedForStatus (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4529\"\u003e#4529\u003c/a\u003e) (\u003ca href=\"https://github.com/veeceey\"\u003e\u003ccode\u003e@​veeceey\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e9968c4bf9d5a99edc3eee2c068a4c9160ece8915: refactor: use b.Loop() to simplify the code and improve performance (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4389\"\u003e#4389\u003c/a\u003e) (\u003ca href=\"https://github.com/reddaisyy\"\u003e\u003ccode\u003e@​reddaisyy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ea85ef5ce4d0cda8834c59c855068ed48b51192d1: refactor: use b.Loop() to simplify the code and improve performance (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4432\"\u003e#4432\u003c/a\u003e) (\u003ca href=\"https://github.com/efcking\"\u003e\u003ccode\u003e@​efcking\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBuild process updates\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e61b67de522a189b568aced4c5c16917c558e3387: ci(bot): increase frequency and group updates for dependencies (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4367\"\u003e#4367\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efb27ef26c2fdfe25344b4c039d8a53551f9e912c: ci(lint): refactor test assertions and linter configuration (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4436\"\u003e#4436\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e93ff771e6dbf10e432864b30f3719ac5c84a4d4a: ci(sec): improve type safety and server organization in HTTP middleware (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4437\"\u003e#4437\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ee88fc8927a52b74f55bec0351604a56ac0aa1c51: ci(sec): schedule Trivy security scans to run daily at midnight UTC (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4439\"\u003e#4439\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e5e5ff3ace496a31b138b0820136a146bfb5de0ef: ci: replace vulnerability scanning workflow with Trivy integration (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4421\"\u003e#4421\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e00900fb3e1ea9dde33985a0e4f6afec793d5e786: ci: update CI workflows and standardize Trivy config quotes (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4531\"\u003e#4531\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eae3f524974fc4f55d18c9e7fae4614503c015226: ci: update Go version support to 1.25+ across CI and docs (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4550\"\u003e#4550\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/gin-gonic/gin/blob/master/CHANGELOG.md\"\u003egithub.com/gin-gonic/gin's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eGin v1.12.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat(render): add bson protocol (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4145\"\u003e#4145\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(context): add GetError and GetErrorSlice methods for error retrieval (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4502\"\u003e#4502\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(binding): add support for encoding.UnmarshalText in uri/query binding (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4203\"\u003e#4203\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(gin): add option to use escaped path (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4420\"\u003e#4420\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(context): add Protocol Buffers support to content negotiation (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4423\"\u003e#4423\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(context): implemented Delete method (\u003ca href=\"https://github.com/gin-gonic/gin/commit/38e7651\"\u003e#38e7651\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(logger): color latency (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4146\"\u003e#4146\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eperf(tree): reduce allocations in findCaseInsensitivePath (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4417\"\u003e#4417\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eperf(recovery): optimize line reading in stack function (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4466\"\u003e#4466\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eperf(path): replace regex with custom functions in redirectTrailingSlash (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4414\"\u003e#4414\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eperf(tree): optimize path parsing using strings.Count (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4246\"\u003e#4246\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(logger): allow skipping query string output (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4547\"\u003e#4547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(context): always trust xff headers from unix socket (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/3359\"\u003e#3359\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(response): prevent Flush() panic when the underlying ResponseWriter does not implement \u003ccode\u003ehttp.Flusher\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4479\"\u003e#4479\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(recovery): smart error comparison (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4142\"\u003e#4142\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(context): replace hardcoded localhost IPs with constants (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4481\"\u003e#4481\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(utils): move util functions to utils.go (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4467\"\u003e#4467\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(binding): use maps.Copy for cleaner map handling (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4352\"\u003e#4352\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(context): using maps.Clone (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4333\"\u003e#4333\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(ginS): use sync.OnceValue to simplify engine function (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4314\"\u003e#4314\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor: replace magic numbers with named constants in bodyAllowedForStatus (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4529\"\u003e#4529\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor: for loop can be modernized using range over int (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4392\"\u003e#4392\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(tree): panic in findCaseInsensitivePathRec with RedirectFixedPath (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4535\"\u003e#4535\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(render): write content length in Data.Render (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4206\"\u003e#4206\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(context): ClientIP handling for multiple X-Forwarded-For header values (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4472\"\u003e#4472\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(binding): empty value error (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/2169\"\u003e#2169\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(recover): suppress http.ErrAbortHandler in recover (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4336\"\u003e#4336\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(gin): literal colon routes not working with engine.Handler() (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4415\"\u003e#4415\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(gin): close os.File in RunFd to prevent resource leak (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4422\"\u003e#4422\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(response): refine hijack behavior for response lifecycle (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4373\"\u003e#4373\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(binding): improve empty slice/array handling in form binding (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4380\"\u003e#4380\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(debug): version mismatch (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4403\"\u003e#4403\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: correct typos, improve documentation clarity, and remove dead code (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4511\"\u003e#4511\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBuild process updates / CI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eci: update Go version support to 1.25+ across CI and docs (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4550\"\u003e#4550\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(binding): upgrade bson dependency to mongo-driver v2 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4549\"\u003e#4549\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eGin v1.11.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/73726dc606796a025971fe451f0aa6f1b9b847f6\"\u003e\u003ccode\u003e73726dc\u003c/code\u003e\u003c/a\u003e docs: update documentation to reflect Go version changes (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4552\"\u003e#4552\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/e292e5caa777bce70b66fe08c94cbe9cef3e2ec9\"\u003e\u003ccode\u003ee292e5c\u003c/code\u003e\u003c/a\u003e docs: document and finalize Gin v1.12.0 release (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4551\"\u003e#4551\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/ae3f524974fc4f55d18c9e7fae4614503c015226\"\u003e\u003ccode\u003eae3f524\u003c/code\u003e\u003c/a\u003e ci: update Go version support to 1.25+ across CI and docs (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4550\"\u003e#4550\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/38534e2bf98a06e1f62d6b24384e90b5f78699bf\"\u003e\u003ccode\u003e38534e2\u003c/code\u003e\u003c/a\u003e chore(deps): bump golang.org/x/net from 0.50.0 to 0.51.0 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4548\"\u003e#4548\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/472d086af2acd924cb4b9d7be0525f7d790f69bc\"\u003e\u003ccode\u003e472d086\u003c/code\u003e\u003c/a\u003e fix(tree): panic in findCaseInsensitivePathRec with RedirectFixedPath (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4535\"\u003e#4535\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/fb2583442c4d9bccb75e6d26f1aa6e7c01950db6\"\u003e\u003ccode\u003efb25834\u003c/code\u003e\u003c/a\u003e test(context): use http.StatusContinue constant instead of magic number 100 (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/6f1d5fe3cdb171a08928c3c9dd3fbcfc9ee1b521\"\u003e\u003ccode\u003e6f1d5fe\u003c/code\u003e\u003c/a\u003e test(render): add comprehensive error handling tests (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4541\"\u003e#4541\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/5c00df8afadd06cc5be530dde00fe6d9fa4a2e4a\"\u003e\u003ccode\u003e5c00df8\u003c/code\u003e\u003c/a\u003e fix(render): write content length in Data.Render (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4206\"\u003e#4206\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/db309081bc5c137b2aa15701ef53f7f19788da25\"\u003e\u003ccode\u003edb30908\u003c/code\u003e\u003c/a\u003e chore(logger): allow skipping query string output (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4547\"\u003e#4547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/ba093d19477b896ac89a7fc3246af23d290b8e26\"\u003e\u003ccode\u003eba093d1\u003c/code\u003e\u003c/a\u003e chore(binding): upgrade bson dependency to mongo-driver v2 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4549\"\u003e#4549\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/gin-gonic/gin/compare/v1.10.0...v1.12.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/jackc/pgx/v5` from 5.8.0 to 5.9.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jackc/pgx/blob/master/CHANGELOG.md\"\u003egithub.com/jackc/pgx/v5's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e5.9.2 (April 18, 2026)\u003c/h1\u003e\n\u003cp\u003eFix SQL Injection via placeholder confusion with dollar quoted string literals (GHSA-j88v-2chj-qfwx)\u003c/p\u003e\n\u003cp\u003eSQL injection can occur when:\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003eThe non-default simple protocol is used.\u003c/li\u003e\n\u003cli\u003eA dollar quoted string literal is used in the SQL query.\u003c/li\u003e\n\u003cli\u003eThat query contains text that would be would be interpreted outside as a placeholder outside of a string literal.\u003c/li\u003e\n\u003cli\u003eThe value of that placeholder is controllable by the attacker.\u003c/li\u003e\n\u003c/ol\u003e\n\u003cp\u003ee.g.\u003c/p\u003e\n\u003cpre lang=\"go\"\u003e\u003ccode\u003eattackValue := `$tag$; drop table canary; --`\n_, err = tx.Exec(ctx, `select $tag$ $1 $tag$, $1`, pgx.QueryExecModeSimpleProtocol, attackValue)\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eThis is unlikely to occur outside of a contrived scenario.\u003c/p\u003e\n\u003ch1\u003e5.9.1 (March 22, 2026)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eFix: batch result format corruption when using cached prepared statements (reported by Dirkjan Bussink)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e5.9.0 (March 21, 2026)\u003c/h1\u003e\n\u003cp\u003eThis release includes a number of new features such as SCRAM-SHA-256-PLUS support, OAuth authentication support, and\nPostgreSQL protocol 3.2 support.\u003c/p\u003e\n\u003cp\u003eIt significantly reduces the amount of network traffic when using prepared statements (which are used automatically by\ndefault) by avoiding unnecessary Describe Portal messages. This also reduces local memory usage.\u003c/p\u003e\n\u003cp\u003eIt also includes multiple fixes for potential DoS due to panic or OOM if connected to a malicious server that sends\ndeliberately malformed messages.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRequire Go 1.25+\u003c/li\u003e\n\u003cli\u003eAdd SCRAM-SHA-256-PLUS support (Adam Brightwell)\u003c/li\u003e\n\u003cli\u003eAdd OAuth authentication support for PostgreSQL 18 (David Schneider)\u003c/li\u003e\n\u003cli\u003eAdd PostgreSQL protocol 3.2 support (Dirkjan Bussink)\u003c/li\u003e\n\u003cli\u003eAdd tsvector type support (Adam Brightwell)\u003c/li\u003e\n\u003cli\u003eSkip Describe Portal for cached prepared statements reducing network round trips\u003c/li\u003e\n\u003cli\u003eMake LoadTypes query easier to support on \u0026quot;postgres-like\u0026quot; servers (Jelte Fennema-Nio)\u003c/li\u003e\n\u003cli\u003eDefault empty user to current OS user matching libpq behavior (ShivangSrivastava)\u003c/li\u003e\n\u003cli\u003eOptimize LRU statement cache with custom linked list and node pooling (Mathias Bogaert)\u003c/li\u003e\n\u003cli\u003eOptimize date scanning by replacing regex with manual parsing (Mathias Bogaert)\u003c/li\u003e\n\u003cli\u003eOptimize pgio append/set functions with direct byte shifts (Mathias Bogaert)\u003c/li\u003e\n\u003cli\u003eMake RowsAffected faster (Abhishek Chanda)\u003c/li\u003e\n\u003cli\u003eFix: Pipeline.Close panic when server sends multiple FATAL errors (Varun Chawla)\u003c/li\u003e\n\u003cli\u003eFix: ContextWatcher goroutine leak (Hank Donnay)\u003c/li\u003e\n\u003cli\u003eFix: stdlib discard connections with open transactions in ResetSession (Jeremy Schneider)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jackc/pgx/commit/0aeabbcf11d859229c1f0b20e710d3596c76bf27\"\u003e\u003ccode\u003e0aeabbc\u003c/code\u003e\u003c/a\u003e Release v5.9.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jackc/pgx/commit/60644f84918a8af66d14a4b0d865d4edafd955da\"\u003e\u003ccode\u003e60644f8\u003c/code\u003e\u003c/a\u003e Fix SQL sanitizer bugs with dollar-quoted strings and placeholder overflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jackc/pgx/commit/a5680bc945aa7c6ebac2778d859ee7b4ba86db60\"\u003e\u003ccode\u003ea5680bc\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/jackc/pgx/issues/2531\"\u003e#2531\u003c/a\u003e from dolmen-go/godoc-add-links\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jackc/pgx/commit/e34e4524007062710c6a4fb9c8655b75a486b5cd\"\u003e\u003ccode\u003ee34e452\u003c/code\u003e\u003c/a\u003e doc: Add godoc links\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jackc/pgx/commit/08c9bb1f0d8fa6cc10ed8c713e68b1baa64dfe2c\"\u003e\u003ccode\u003e08c9bb1\u003c/code\u003e\u003c/a\u003e Fix Stringer types encoded as text instead of numeric value in composite fields\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jackc/pgx/commit/96b4dbdfd0458cb425bf8454d292a23978872cc8\"\u003e\u003ccode\u003e96b4dbd\u003c/code\u003e\u003c/a\u003e Remove unstable test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jackc/pgx/commit/acf88e0065682e8948696d26fa6438669c4cabee\"\u003e\u003ccode\u003eacf88e0\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/jackc/pgx/issues/2526\"\u003e#2526\u003c/a\u003e from abrightwell/abrightwell-min-proto\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jackc/pgx/commit/2f81f1fc03bef99593e92c64ad9cac954c00e8e6\"\u003e\u003ccode\u003e2f81f1f\u003c/code\u003e\u003c/a\u003e Update \u003ccode\u003emax_protocol_version\u003c/code\u003e and \u003ccode\u003emin_protocol_version\u003c/code\u003e defaults\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jackc/pgx/commit/4e4eaedb47b7b3cfba0a1b0a9e6a3f015764f046\"\u003e\u003ccode\u003e4e4eaed\u003c/code\u003e\u003c/a\u003e Release v5.9.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jackc/pgx/commit/62731882651a90348febb43b2119b5f8bd9272de\"\u003e\u003ccode\u003e6273188\u003c/code\u003e\u003c/a\u003e Fix batch result format corruption when using cached prepared statements\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jackc/pgx/compare/v5.8.0...v5.9.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e","html_url":"https://github.com/isw2-unileon/hypermotionleague/pull/35","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/isw2-unileon%2Fhypermotionleague/issues/35","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/35/packages"}},{"old_version":"1.11.0","new_version":"1.12.0","update_type":"minor","path":null,"pr_created_at":"2026-05-24T05:29:07.000Z","version_change":"1.11.0 → 1.12.0","issue":{"uuid":"4510605317","node_id":"PR_kwDOHqP31c7eu6FE","number":6345,"state":"open","title":"chore(deps): bump the go-minor group with 34 updates","user":"dependabot[bot]","labels":["needs/kind","needs/priority","needs/area","dependencies","go"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-24T05:29:07.000Z","updated_at":"2026-05-24T05:29:53.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"go-minor","update_count":34,"packages":[{"name":"code.gitea.io/sdk/gitea","old_version":"0.22.1","new_version":"0.25.1"},{"name":"connectrpc.com/connect","old_version":"1.19.2","new_version":"1.20.0","repository_url":"https://github.com/connectrpc/connect-go"},{"name":"github.com/Azure/azure-sdk-for-go/sdk/azcore","old_version":"1.20.0","new_version":"1.21.1","repository_url":"https://github.com/Azure/azure-sdk-for-go"},{"name":"github.com/Masterminds/semver/v3","old_version":"3.4.0","new_version":"3.5.0","repository_url":"https://github.com/Masterminds/semver"},{"name":"github.com/aws/aws-sdk-go-v2/service/ecr","old_version":"1.55.4","new_version":"1.57.2","repository_url":"https://github.com/aws/aws-sdk-go-v2"},{"name":"github.com/bmatcuk/doublestar/v4","old_version":"4.9.2","new_version":"4.10.0","repository_url":"https://github.com/bmatcuk/doublestar"},{"name":"github.com/coreos/go-oidc/v3","old_version":"3.17.0","new_version":"3.18.0","repository_url":"https://github.com/coreos/go-oidc"},{"name":"github.com/fluxcd/pkg/kustomize","old_version":"1.24.0","new_version":"1.32.0","repository_url":"https://github.com/fluxcd/pkg"},{"name":"github.com/gin-gonic/gin","old_version":"1.11.0","new_version":"1.12.0","repository_url":"https://github.com/gin-gonic/gin"},{"name":"github.com/go-openapi/runtime","old_version":"0.29.5","new_version":"0.31.0","repository_url":"https://github.com/go-openapi/runtime"},{"name":"github.com/goccy/go-yaml","old_version":"1.18.0","new_version":"1.19.2","repository_url":"https://github.com/goccy/go-yaml"},{"name":"github.com/google/go-containerregistry","old_version":"0.20.7","new_version":"0.21.6","repository_url":"https://github.com/google/go-containerregistry"},{"name":"github.com/jferrl/go-githubauth","old_version":"1.5.1","new_version":"1.6.0","repository_url":"https://github.com/jferrl/go-githubauth"},{"name":"github.com/ktrysmt/go-bitbucket","old_version":"0.9.87","new_version":"0.10.0","repository_url":"https://github.com/ktrysmt/go-bitbucket"},{"name":"github.com/pelletier/go-toml/v2","old_version":"2.2.4","new_version":"2.3.1","repository_url":"https://github.com/pelletier/go-toml"},{"name":"gitlab.com/gitlab-org/api/client-go","old_version":"1.13.0","new_version":"1.46.0"},{"name":"go.uber.org/zap","old_version":"1.27.1","new_version":"1.28.0","repository_url":"https://github.com/uber-go/zap"},{"name":"golang.org/x/crypto","old_version":"0.50.0","new_version":"0.51.0","repository_url":"https://github.com/golang/crypto"},{"name":"golang.org/x/net","old_version":"0.53.0","new_version":"0.55.0","repository_url":"https://github.com/golang/net"},{"name":"golang.org/x/oauth2","old_version":"0.34.0","new_version":"0.36.0","repository_url":"https://github.com/golang/oauth2"},{"name":"golang.org/x/text","old_version":"0.36.0","new_version":"0.37.0","repository_url":"https://github.com/golang/text"},{"name":"google.golang.org/api","old_version":"0.259.0","new_version":"0.280.0","repository_url":"https://github.com/googleapis/google-api-go-client"},{"name":"google.golang.org/grpc","old_version":"1.79.3","new_version":"1.81.1","repository_url":"https://github.com/grpc/grpc-go"},{"name":"google.golang.org/protobuf","old_version":"1.36.11","new_version":"1.36.12-0.20260120151049-f2248ac996af"},{"name":"helm.sh/helm/v3","old_version":"3.19.5","new_version":"3.21.0","repository_url":"https://github.com/helm/helm"},{"name":"k8s.io/api","old_version":"0.34.3","new_version":"0.36.0","repository_url":"https://github.com/kubernetes/api"},{"name":"k8s.io/apiextensions-apiserver","old_version":"0.34.3","new_version":"0.36.0","repository_url":"https://github.com/kubernetes/apiextensions-apiserver"},{"name":"k8s.io/apimachinery","old_version":"0.34.3","new_version":"0.36.0","repository_url":"https://github.com/kubernetes/apimachinery"},{"name":"k8s.io/apiserver","old_version":"0.34.3","new_version":"0.36.0","repository_url":"https://github.com/kubernetes/apiserver"},{"name":"k8s.io/cli-runtime","old_version":"0.34.3","new_version":"0.35.1","repository_url":"https://github.com/kubernetes/cli-runtime"},{"name":"k8s.io/client-go","old_version":"0.34.3","new_version":"0.36.0","repository_url":"https://github.com/kubernetes/client-go"},{"name":"k8s.io/klog/v2","old_version":"2.130.1","new_version":"2.140.0","repository_url":"https://github.com/kubernetes/klog"},{"name":"k8s.io/utils","old_version":"0.0.0-20250604170112-4c0f3b243397","new_version":"0.0.0-20260210185600-b8788abfbbc2","repository_url":"https://github.com/kubernetes/utils"},{"name":"sigs.k8s.io/controller-runtime","old_version":"0.22.4","new_version":"0.24.0","repository_url":"https://github.com/kubernetes-sigs/controller-runtime"}],"path":null,"ecosystem":"go"},"body":"Bumps the go-minor group with 34 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| code.gitea.io/sdk/gitea | `0.22.1` | `0.25.1` |\n| [connectrpc.com/connect](https://github.com/connectrpc/connect-go) | `1.19.2` | `1.20.0` |\n| [github.com/Azure/azure-sdk-for-go/sdk/azcore](https://github.com/Azure/azure-sdk-for-go) | `1.20.0` | `1.21.1` |\n| [github.com/Masterminds/semver/v3](https://github.com/Masterminds/semver) | `3.4.0` | `3.5.0` |\n| [github.com/aws/aws-sdk-go-v2/service/ecr](https://github.com/aws/aws-sdk-go-v2) | `1.55.4` | `1.57.2` |\n| [github.com/bmatcuk/doublestar/v4](https://github.com/bmatcuk/doublestar) | `4.9.2` | `4.10.0` |\n| [github.com/coreos/go-oidc/v3](https://github.com/coreos/go-oidc) | `3.17.0` | `3.18.0` |\n| [github.com/fluxcd/pkg/kustomize](https://github.com/fluxcd/pkg) | `1.24.0` | `1.32.0` |\n| [github.com/gin-gonic/gin](https://github.com/gin-gonic/gin) | `1.11.0` | `1.12.0` |\n| [github.com/go-openapi/runtime](https://github.com/go-openapi/runtime) | `0.29.5` | `0.31.0` |\n| [github.com/goccy/go-yaml](https://github.com/goccy/go-yaml) | `1.18.0` | `1.19.2` |\n| [github.com/google/go-containerregistry](https://github.com/google/go-containerregistry) | `0.20.7` | `0.21.6` |\n| [github.com/jferrl/go-githubauth](https://github.com/jferrl/go-githubauth) | `1.5.1` | `1.6.0` |\n| [github.com/ktrysmt/go-bitbucket](https://github.com/ktrysmt/go-bitbucket) | `0.9.87` | `0.10.0` |\n| [github.com/pelletier/go-toml/v2](https://github.com/pelletier/go-toml) | `2.2.4` | `2.3.1` |\n| [gitlab.com/gitlab-org/api/client-go](https://gitlab.com/gitlab-org/api/client-go) | `1.13.0` | `1.46.0` |\n| [go.uber.org/zap](https://github.com/uber-go/zap) | `1.27.1` | `1.28.0` |\n| [golang.org/x/crypto](https://github.com/golang/crypto) | `0.50.0` | `0.51.0` |\n| [golang.org/x/net](https://github.com/golang/net) | `0.53.0` | `0.55.0` |\n| [golang.org/x/oauth2](https://github.com/golang/oauth2) | `0.34.0` | `0.36.0` |\n| [golang.org/x/text](https://github.com/golang/text) | `0.36.0` | `0.37.0` |\n| [google.golang.org/api](https://github.com/googleapis/google-api-go-client) | `0.259.0` | `0.280.0` |\n| [google.golang.org/grpc](https://github.com/grpc/grpc-go) | `1.79.3` | `1.81.1` |\n| google.golang.org/protobuf | `1.36.11` | `1.36.12-0.20260120151049-f2248ac996af` |\n| [helm.sh/helm/v3](https://github.com/helm/helm) | `3.19.5` | `3.21.0` |\n| [k8s.io/api](https://github.com/kubernetes/api) | `0.34.3` | `0.36.0` |\n| [k8s.io/apiextensions-apiserver](https://github.com/kubernetes/apiextensions-apiserver) | `0.34.3` | `0.36.0` |\n| [k8s.io/apimachinery](https://github.com/kubernetes/apimachinery) | `0.34.3` | `0.36.0` |\n| [k8s.io/apiserver](https://github.com/kubernetes/apiserver) | `0.34.3` | `0.36.0` |\n| [k8s.io/cli-runtime](https://github.com/kubernetes/cli-runtime) | `0.34.3` | `0.35.1` |\n| [k8s.io/client-go](https://github.com/kubernetes/client-go) | `0.34.3` | `0.36.0` |\n| [k8s.io/klog/v2](https://github.com/kubernetes/klog) | `2.130.1` | `2.140.0` |\n| [k8s.io/utils](https://github.com/kubernetes/utils) | `0.0.0-20250604170112-4c0f3b243397` | `0.0.0-20260210185600-b8788abfbbc2` |\n| [sigs.k8s.io/controller-runtime](https://github.com/kubernetes-sigs/controller-runtime) | `0.22.4` | `0.24.0` |\n\nUpdates `code.gitea.io/sdk/gitea` from 0.22.1 to 0.25.1\n\nUpdates `connectrpc.com/connect` from 1.19.2 to 1.20.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/connectrpc/connect-go/releases\"\u003econnectrpc.com/connect's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.20.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eOther changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBump minimum supported Go version to 1.25 by \u003ca href=\"https://github.com/jonbodner-buf\"\u003e\u003ccode\u003e@​jonbodner-buf\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/connectrpc/connect-go/issues/922\"\u003e#922\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate Unary-Get query parameter order to match spec recommendation by \u003ca href=\"https://github.com/oliversun9\"\u003e\u003ccode\u003e@​oliversun9\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/connectrpc/connect-go/issues/926\"\u003e#926\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jonbodner-buf\"\u003e\u003ccode\u003e@​jonbodner-buf\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/connectrpc/connect-go/issues/922\"\u003e#922\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/connectrpc/connect-go/compare/v1.19.2...v1.20.0\"\u003ehttps://github.com/connectrpc/connect-go/compare/v1.19.2...v1.20.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/connectrpc/connect-go/commit/1291a7dcac19b00490f935dce18f44f301fc58f6\"\u003e\u003ccode\u003e1291a7d\u003c/code\u003e\u003c/a\u003e Prepare for v1.20.0 (\u003ca href=\"https://redirect.github.com/connectrpc/connect-go/issues/927\"\u003e#927\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/connectrpc/connect-go/commit/6df682f19e5b957b96b5fa44ffb28705a2d7bc8c\"\u003e\u003ccode\u003e6df682f\u003c/code\u003e\u003c/a\u003e Update Unary-Get query parameter order to match spec recommendation (\u003ca href=\"https://redirect.github.com/connectrpc/connect-go/issues/926\"\u003e#926\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/connectrpc/connect-go/commit/c4aac92b87026cd709cfbccdaabe8c45abef705c\"\u003e\u003ccode\u003ec4aac92\u003c/code\u003e\u003c/a\u003e Chore update buf v1.69.0 and license year (\u003ca href=\"https://redirect.github.com/connectrpc/connect-go/issues/925\"\u003e#925\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/connectrpc/connect-go/commit/a5a6c30f3776b06ae05a66ab3bdd2d60c46db6db\"\u003e\u003ccode\u003ea5a6c30\u003c/code\u003e\u003c/a\u003e Bump Go from v1.24 to v1.25 (\u003ca href=\"https://redirect.github.com/connectrpc/connect-go/issues/922\"\u003e#922\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/connectrpc/connect-go/commit/138e2700eb60b8004363eb344031b317bf599a1f\"\u003e\u003ccode\u003e138e270\u003c/code\u003e\u003c/a\u003e Back to development (\u003ca href=\"https://redirect.github.com/connectrpc/connect-go/issues/921\"\u003e#921\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/connectrpc/connect-go/compare/v1.19.2...v1.20.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/Azure/azure-sdk-for-go/sdk/azcore` from 1.20.0 to 1.21.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Azure/azure-sdk-for-go/releases\"\u003egithub.com/Azure/azure-sdk-for-go/sdk/azcore's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003esdk/azcore/v1.21.1\u003c/h2\u003e\n\u003ch2\u003e1.21.1 (2026-04-16)\u003c/h2\u003e\n\u003ch3\u003eBugs Fixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an issue in \u003ccode\u003eResponseError.Error()\u003c/code\u003e where the request URL path was being logged unescaped.\u003c/li\u003e\n\u003cli\u003eRedact query parameters when logging errors.\u003c/li\u003e\n\u003cli\u003eFor \u003ccode\u003eruntime.JoinPaths\u003c/code\u003e, don't add a slash between root and paths when \u003ccode\u003epaths\u003c/code\u003e starts with \u003ccode\u003e?\u003c/code\u003e (query string).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgraded to Go 1.25.0.\u003c/li\u003e\n\u003cli\u003eUpgraded dependencies.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-go/commit/63e4ba18204b0df554e330df8f85662e653e67ab\"\u003e\u003ccode\u003e63e4ba1\u003c/code\u003e\u003c/a\u003e Bump release date for azcore (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-go/issues/26613\"\u003e#26613\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-go/commit/fa0312174d17ff4cb7cb0118fa80de07409841c2\"\u003e\u003ccode\u003efa03121\u003c/code\u003e\u003c/a\u003e remove bypass local dns (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-go/issues/26609\"\u003e#26609\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-go/commit/c47f9a60dd1e9be6943ff0d6a5666a0ac09f6cfa\"\u003e\u003ccode\u003ec47f9a6\u003c/code\u003e\u003c/a\u003e Sync eng/common directory with azure-sdk-tools for PR 15153 (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-go/issues/26607\"\u003e#26607\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-go/commit/88b8b5b38ecebb929a2e302df054fed1d68618b8\"\u003e\u003ccode\u003e88b8b5b\u003c/code\u003e\u003c/a\u003e Changelog for v2.2.0 (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-go/issues/26567\"\u003e#26567\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-go/commit/72ca19ae2b8b4514c4f48a5ff33495b03c08afd0\"\u003e\u003ccode\u003e72ca19a\u003c/code\u003e\u003c/a\u003e Storage STG 101 (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-go/issues/26568\"\u003e#26568\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-go/commit/b64baf56c6b168d258b2a0678290ac5f9ab97938\"\u003e\u003ccode\u003eb64baf5\u003c/code\u003e\u003c/a\u003e Sync .github directory with azure-sdk-tools repository (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-go/issues/26600\"\u003e#26600\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-go/commit/ecd64dd6500a04da22107925c3ba9fbe8e636f2c\"\u003e\u003ccode\u003eecd64dd\u003c/code\u003e\u003c/a\u003e Prep azcore@v1.21.1 for release (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-go/issues/26596\"\u003e#26596\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-go/commit/1d02f204d0146ffd7d13d5585bf3766e53c32cc5\"\u003e\u003ccode\u003e1d02f20\u003c/code\u003e\u003c/a\u003e Update copilot code review instructions and migration breaking change mitigat...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-go/commit/f6e9ce3212cc9d654d349778f19065eb5d849197\"\u003e\u003ccode\u003ef6e9ce3\u003c/code\u003e\u003c/a\u003e Sync eng/common directory with azure-sdk-tools for PR 14973 (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-go/issues/26531\"\u003e#26531\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-go/commit/d5a3baf11e0b743a4009efb8e84cbaee335fc0eb\"\u003e\u003ccode\u003ed5a3baf\u003c/code\u003e\u003c/a\u003e Update CODEOWNERS to remove one owner from Custom Providers (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-go/issues/26588\"\u003e#26588\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Azure/azure-sdk-for-go/compare/sdk/azcore/v1.20.0...sdk/azcore/v1.21.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/Masterminds/semver/v3` from 3.4.0 to 3.5.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Masterminds/semver/releases\"\u003egithub.com/Masterminds/semver/v3's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.5.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdding more prerelease tests by \u003ca href=\"https://github.com/mattfarina\"\u003e\u003ccode\u003e@​mattfarina\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Masterminds/semver/pull/273\"\u003eMasterminds/semver#273\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate constraint error messages by \u003ca href=\"https://github.com/mattfarina\"\u003e\u003ccode\u003e@​mattfarina\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Masterminds/semver/pull/278\"\u003eMasterminds/semver#278\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix edge cases by \u003ca href=\"https://github.com/mattfarina\"\u003e\u003ccode\u003e@​mattfarina\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Masterminds/semver/pull/279\"\u003eMasterminds/semver#279\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdding some checks in by \u003ca href=\"https://github.com/mattfarina\"\u003e\u003ccode\u003e@​mattfarina\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Masterminds/semver/pull/280\"\u003eMasterminds/semver#280\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdating deps by \u003ca href=\"https://github.com/mattfarina\"\u003e\u003ccode\u003e@​mattfarina\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Masterminds/semver/pull/281\"\u003eMasterminds/semver#281\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump github/codeql-action from 4.35.1 to 4.35.2 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/Masterminds/semver/pull/282\"\u003eMasterminds/semver#282\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/cache from 4.2.3 to 5.0.5 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/Masterminds/semver/pull/283\"\u003eMasterminds/semver#283\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump golangci/golangci-lint-action from 7.0.1 to 9.2.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/Masterminds/semver/pull/284\"\u003eMasterminds/semver#284\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdating gitignore for devcontainers by \u003ca href=\"https://github.com/mattfarina\"\u003e\u003ccode\u003e@​mattfarina\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Masterminds/semver/pull/286\"\u003eMasterminds/semver#286\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixing some quality issues by \u003ca href=\"https://github.com/mattfarina\"\u003e\u003ccode\u003e@​mattfarina\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Masterminds/semver/pull/287\"\u003eMasterminds/semver#287\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] made their first contribution in \u003ca href=\"https://redirect.github.com/Masterminds/semver/pull/282\"\u003eMasterminds/semver#282\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Masterminds/semver/compare/v3.4.0...v3.5.0\"\u003ehttps://github.com/Masterminds/semver/compare/v3.4.0...v3.5.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Masterminds/semver/blob/master/CHANGELOG.md\"\u003egithub.com/Masterminds/semver/v3's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eChangelog\u003c/h1\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Masterminds/semver/commit/8b89c86cb53c57cfd5d07c13de12bc4d78954e99\"\u003e\u003ccode\u003e8b89c86\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Masterminds/semver/issues/287\"\u003e#287\u003c/a\u003e from mattfarina/fix-da-issues\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Masterminds/semver/commit/29d51d0ea4bffe39173673685d0dd312447d74a7\"\u003e\u003ccode\u003e29d51d0\u003c/code\u003e\u003c/a\u003e Fixing some quality issues\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Masterminds/semver/commit/87f651dbe2f616342d6408b997ad7116ba72ddf3\"\u003e\u003ccode\u003e87f651d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Masterminds/semver/issues/286\"\u003e#286\u003c/a\u003e from mattfarina/update-devcontainer\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Masterminds/semver/commit/158a6852a7e66d99594653227d3e8c3dc6d160ca\"\u003e\u003ccode\u003e158a685\u003c/code\u003e\u003c/a\u003e Updating gitignore for devcontainers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Masterminds/semver/commit/7e83c080cfb4455752c654805b189274a10890ab\"\u003e\u003ccode\u003e7e83c08\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Masterminds/semver/issues/284\"\u003e#284\u003c/a\u003e from Masterminds/dependabot/github_actions/golangci/g...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Masterminds/semver/commit/697e27f32e7419eb896e7d3ec680c65fc673166b\"\u003e\u003ccode\u003e697e27f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Masterminds/semver/issues/283\"\u003e#283\u003c/a\u003e from Masterminds/dependabot/github_actions/actions/ca...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Masterminds/semver/commit/1591f8e3806198f60fa4dcaf2751bfc805c7740d\"\u003e\u003ccode\u003e1591f8e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Masterminds/semver/issues/282\"\u003e#282\u003c/a\u003e from Masterminds/dependabot/github_actions/github/cod...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Masterminds/semver/commit/3f5ff1737a28437e536d3ec54e41919577748ae6\"\u003e\u003ccode\u003e3f5ff17\u003c/code\u003e\u003c/a\u003e Bump golangci/golangci-lint-action from 7.0.1 to 9.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Masterminds/semver/commit/04baa3376047b6d5e79ffcc60f69332dd3e26c85\"\u003e\u003ccode\u003e04baa33\u003c/code\u003e\u003c/a\u003e Bump actions/cache from 4.2.3 to 5.0.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Masterminds/semver/commit/45939fec77cd7d07d586b823284d11423028e9c2\"\u003e\u003ccode\u003e45939fe\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 4.35.1 to 4.35.2\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Masterminds/semver/compare/v3.4.0...v3.5.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/aws/aws-sdk-go-v2/service/ecr` from 1.55.4 to 1.57.2\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-go-v2/commit/9bd153c05150d0c3f9d45f5b9353c34df9bab5b5\"\u003e\u003ccode\u003e9bd153c\u003c/code\u003e\u003c/a\u003e Release 2025-03-04.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-go-v2/commit/b967446708e597c3c22c658d8399d11accc9e1f1\"\u003e\u003ccode\u003eb967446\u003c/code\u003e\u003c/a\u003e Regenerated Clients\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-go-v2/commit/188c52a1f53d95e7f99ce0edc73059ce5d0b803c\"\u003e\u003ccode\u003e188c52a\u003c/code\u003e\u003c/a\u003e Update endpoints model\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-go-v2/commit/defaf5c13afed6bb77e2ee4fafea2bfcd09cea88\"\u003e\u003ccode\u003edefaf5c\u003c/code\u003e\u003c/a\u003e Update API model\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-go-v2/commit/8f2dd23c2630bd2ee667a403cf8ea8611c5ce406\"\u003e\u003ccode\u003e8f2dd23\u003c/code\u003e\u003c/a\u003e add test that verifies SRA order of operations (\u003ca href=\"https://redirect.github.com/aws/aws-sdk-go-v2/issues/3025\"\u003e#3025\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-go-v2/commit/3d547b010751de5a834a749ffdaddff4bcb0d39c\"\u003e\u003ccode\u003e3d547b0\u003c/code\u003e\u003c/a\u003e Release 2025-03-04\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-go-v2/commit/554a1497dc16d385e62514b10bc8adacfbd6a8d0\"\u003e\u003ccode\u003e554a149\u003c/code\u003e\u003c/a\u003e Regenerated Clients\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-go-v2/commit/3abb221732b42d61c95f5306f528cc2182d37c7a\"\u003e\u003ccode\u003e3abb221\u003c/code\u003e\u003c/a\u003e Update endpoints model\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-go-v2/commit/95ae39d57f8d986f691754737311102335039848\"\u003e\u003ccode\u003e95ae39d\u003c/code\u003e\u003c/a\u003e Update API model\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-go-v2/commit/c62ec38df6cc8e66ecf014365d8bd15c2599bc6d\"\u003e\u003ccode\u003ec62ec38\u003c/code\u003e\u003c/a\u003e create kitchen sink test service (\u003ca href=\"https://redirect.github.com/aws/aws-sdk-go-v2/issues/3023\"\u003e#3023\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/aws/aws-sdk-go-v2/compare/service/ecr/v1.55.4...service/ssm/v1.57.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/bmatcuk/doublestar/v4` from 4.9.2 to 4.10.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/bmatcuk/doublestar/releases\"\u003egithub.com/bmatcuk/doublestar/v4's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eAdded WithNoHidden option\u003c/h2\u003e\n\u003cp\u003eAdded support for a \u003ccode\u003eWithNoHidden\u003c/code\u003e option to ignore hidden files in patterns that might unintentionally match them. For example, a \u003ccode\u003e.config\u003c/code\u003e directory would not be matched by \u003ccode\u003e*\u003c/code\u003e or recursed into by \u003ccode\u003e**\u003c/code\u003e, but \u003cem\u003ewould\u003c/em\u003e be matched by \u003ccode\u003e.*\u003c/code\u003e or recursed by \u003ccode\u003e.config/**\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eThanks to \u003ca href=\"https://github.com/lukasngl\"\u003e\u003ccode\u003e@​lukasngl\u003c/code\u003e\u003c/a\u003e for the initial PR and idea!\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efeat: add WithNoHidden option to skip hidden files by \u003ca href=\"https://github.com/lukasngl\"\u003e\u003ccode\u003e@​lukasngl\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/bmatcuk/doublestar/pull/109\"\u003ebmatcuk/doublestar#109\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lukasngl\"\u003e\u003ccode\u003e@​lukasngl\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/bmatcuk/doublestar/pull/109\"\u003ebmatcuk/doublestar#109\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/bmatcuk/doublestar/compare/v4.9.2...v4.10.0\"\u003ehttps://github.com/bmatcuk/doublestar/compare/v4.9.2...v4.10.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bmatcuk/doublestar/commit/a9ad9e0ef4d6b7e4443090e9a7201d847a881711\"\u003e\u003ccode\u003ea9ad9e0\u003c/code\u003e\u003c/a\u003e allow starting test manually\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bmatcuk/doublestar/commit/9987c0c624376f84f44515adca73ddcdfdcdf453\"\u003e\u003ccode\u003e9987c0c\u003c/code\u003e\u003c/a\u003e update docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bmatcuk/doublestar/commit/d3b2184d103391fcd0fcca6590c16367310eee65\"\u003e\u003ccode\u003ed3b2184\u003c/code\u003e\u003c/a\u003e windows support for WithNoHidden; better tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bmatcuk/doublestar/commit/5d6a6cd76ba3e45482d13140f332be36451f5a48\"\u003e\u003ccode\u003e5d6a6cd\u003c/code\u003e\u003c/a\u003e Merge branch 'lukasngl-feat/no-hidden'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bmatcuk/doublestar/commit/e8319d206e9dab8d51d41e662811cdfb9af72b24\"\u003e\u003ccode\u003ee8319d2\u003c/code\u003e\u003c/a\u003e run tests when a branch/tag is created\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bmatcuk/doublestar/commit/614b331133390c7682c227740c51ff65dea2de65\"\u003e\u003ccode\u003e614b331\u003c/code\u003e\u003c/a\u003e run tests when a branch/tag is created\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bmatcuk/doublestar/commit/df2e03fb0b91b726e0366c0d9ba1c5e580e2d0c9\"\u003e\u003ccode\u003edf2e03f\u003c/code\u003e\u003c/a\u003e feat: add WithNoHidden option to skip hidden files\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/bmatcuk/doublestar/compare/v4.9.2...v4.10.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/coreos/go-oidc/v3` from 3.17.0 to 3.18.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/coreos/go-oidc/releases\"\u003egithub.com/coreos/go-oidc/v3's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.18.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e.github: configure dependabot by \u003ca href=\"https://github.com/ericchiang\"\u003e\u003ccode\u003e@​ericchiang\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/coreos/go-oidc/pull/477\"\u003ecoreos/go-oidc#477\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e.github: update go versions in CI by \u003ca href=\"https://github.com/ericchiang\"\u003e\u003ccode\u003e@​ericchiang\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/coreos/go-oidc/pull/480\"\u003ecoreos/go-oidc#480\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump golang.org/x/oauth2 from 0.28.0 to 0.36.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/coreos/go-oidc/pull/478\"\u003ecoreos/go-oidc#478\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump github.com/go-jose/go-jose/v4 from 4.1.3 to 4.1.4 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/coreos/go-oidc/pull/479\"\u003ecoreos/go-oidc#479\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/coreos/go-oidc/compare/v3.17.0...v3.18.0\"\u003ehttps://github.com/coreos/go-oidc/compare/v3.17.0...v3.18.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coreos/go-oidc/commit/da6b3bfca8af72414ee0e6e8746585ff5d206003\"\u003e\u003ccode\u003eda6b3bf\u003c/code\u003e\u003c/a\u003e build(deps): bump github.com/go-jose/go-jose/v4 from 4.1.3 to 4.1.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coreos/go-oidc/commit/7f80694215d5eb5b28f851f35845439b1e1e9e5d\"\u003e\u003ccode\u003e7f80694\u003c/code\u003e\u003c/a\u003e build(deps): bump golang.org/x/oauth2 from 0.28.0 to 0.36.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coreos/go-oidc/commit/7271de57587bb756318f9819796ba846b1ba875a\"\u003e\u003ccode\u003e7271de5\u003c/code\u003e\u003c/a\u003e .github: update go versions in CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coreos/go-oidc/commit/3ccf20fdc4afab7c64881a108d6f4c17a4ecc24d\"\u003e\u003ccode\u003e3ccf20f\u003c/code\u003e\u003c/a\u003e .github: configure dependabot\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/coreos/go-oidc/compare/v3.17.0...v3.18.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/fluxcd/pkg/kustomize` from 1.24.0 to 1.32.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fluxcd/pkg/commit/f3ad4b56adec90eb5661af565cdebec997ad4bfb\"\u003e\u003ccode\u003ef3ad4b5\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/fluxcd/pkg/issues/1195\"\u003e#1195\u003c/a\u003e from fluxcd/release-main\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fluxcd/pkg/commit/f35b4fd025cdee1664ca3d7aede2eb2fd594583d\"\u003e\u003ccode\u003ef35b4fd\u003c/code\u003e\u003c/a\u003e Prepare for release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fluxcd/pkg/commit/18e165c2592fb2a9633b9a80371e730d88bcab29\"\u003e\u003ccode\u003e18e165c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/fluxcd/pkg/issues/1194\"\u003e#1194\u003c/a\u003e from fluxcd/k8s-1.36\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fluxcd/pkg/commit/fe4377874a6d57593120ee524e1913ca81a5d2e5\"\u003e\u003ccode\u003efe43778\u003c/code\u003e\u003c/a\u003e Update controller-gen to v0.21.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fluxcd/pkg/commit/2498ab414d7e2abaee4131142293e520ee76b390\"\u003e\u003ccode\u003e2498ab4\u003c/code\u003e\u003c/a\u003e Update cloud auth SDKs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fluxcd/pkg/commit/b3bb0e0ff6bc2f42f23ff110baa0e7ae0f2ee685\"\u003e\u003ccode\u003eb3bb0e0\u003c/code\u003e\u003c/a\u003e Update go-git to v5.19.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fluxcd/pkg/commit/545dc4f55ab3850dca6401177c94e37ed40b5c87\"\u003e\u003ccode\u003e545dc4f\u003c/code\u003e\u003c/a\u003e Update distribution to v3.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fluxcd/pkg/commit/b23cbf9f0581b9dc5594e8659739f1bc9c870d35\"\u003e\u003ccode\u003eb23cbf9\u003c/code\u003e\u003c/a\u003e Update Kubernetes packages to 1.36\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fluxcd/pkg/commit/c6042810b61f1937c72a0e04d81d0091ca6e7dae\"\u003e\u003ccode\u003ec604281\u003c/code\u003e\u003c/a\u003e Update Go to 1.26\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fluxcd/pkg/commit/939c616718374460667e648c796487bfedfa6d98\"\u003e\u003ccode\u003e939c616\u003c/code\u003e\u003c/a\u003e ssa: Fix race condition in CRD tests\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/fluxcd/pkg/compare/apis/meta/v1.24.0...kustomize/v1.32.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/gin-gonic/gin` from 1.11.0 to 1.12.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/gin-gonic/gin/releases\"\u003egithub.com/gin-gonic/gin's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.12.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e192ac89eefc1c30f7c97ae48a9ffb1c6f1c8c8bc: feat(binding): add support for encoding.UnmarshalText in uri/query binding (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4203\"\u003e#4203\u003c/a\u003e) (\u003ca href=\"https://github.com/takanuva15\"\u003e\u003ccode\u003e@​takanuva15\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e53410d2e07054369e0960fbe2eed97e1b9966f12: feat(context): add GetError and GetErrorSlice methods for error retrieval (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4502\"\u003e#4502\u003c/a\u003e) (\u003ca href=\"https://github.com/raju-mechatronics\"\u003e\u003ccode\u003e@​raju-mechatronics\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eacc55e049e33b401e810dbd8c0d6dcb6b3ba2b05: feat(context): add Protocol Buffers support to content negotiation (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4423\"\u003e#4423\u003c/a\u003e) (\u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e38e765119241d990705169bedb5002a29ae0cbd1: feat(context): implemented Delete method (\u003ca href=\"https://github.com/Spyder01\"\u003e\u003ccode\u003e@​Spyder01\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e771dcc6476d7bc6abb9ec0235ecefa4d38fe6fb0: feat(gin): add option to use escaped path (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4420\"\u003e#4420\u003c/a\u003e) (\u003ca href=\"https://github.com/ldesauw\"\u003e\u003ccode\u003e@​ldesauw\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e4dec17afdff48e8018c83618fbbe69fceeb2b41d: feat(logger): color latency (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4146\"\u003e#4146\u003c/a\u003e) (\u003ca href=\"https://github.com/wsyqn6\"\u003e\u003ccode\u003e@​wsyqn6\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ed7776de7d444935ea4385999711bd6331a98fecb: feat(render): add bson protocol (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4145\"\u003e#4145\u003c/a\u003e) (\u003ca href=\"https://github.com/laurentcau\"\u003e\u003ccode\u003e@​laurentcau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eb917b14ff9d189f16a7492be79d123a47806ee19: fix(binding): empty value error (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/2169\"\u003e#2169\u003c/a\u003e) (\u003ca href=\"https://github.com/guonaihong\"\u003e\u003ccode\u003e@​guonaihong\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ec3d1092b3b48addf6f9cd00fe274ec3bd14650eb: fix(binding): improve empty slice/array handling in form binding (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4380\"\u003e#4380\u003c/a\u003e) (\u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e9914178584e42458ff7d23891463a880f58c9d86: fix(context): ClientIP handling for multiple X-Forwarded-For header values (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4472\"\u003e#4472\u003c/a\u003e) (\u003ca href=\"https://github.com/Nurysso\"\u003e\u003ccode\u003e@​Nurysso\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e2a794cd0b0faa7d829291375b27a3467ea972b0d: fix(debug): version mismatch (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4403\"\u003e#4403\u003c/a\u003e) (\u003ca href=\"https://github.com/zeek0x\"\u003e\u003ccode\u003e@​zeek0x\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ec3d5a28ed6d3849da820195b6774d212bcc038a9: fix(gin): close os.File in RunFd to prevent resource leak (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4422\"\u003e#4422\u003c/a\u003e) (\u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e5fad976b372e381312f8de69f0969f1284d229d3: fix(gin): literal colon routes not working with engine.Handler() (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4415\"\u003e#4415\u003c/a\u003e) (\u003ca href=\"https://github.com/pawannn\"\u003e\u003ccode\u003e@​pawannn\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e63dd3e60cab89c27fb66bce1423bd268d52abad1: fix(recover): suppress http.ErrAbortHandler in recover (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4336\"\u003e#4336\u003c/a\u003e) (\u003ca href=\"https://github.com/MondayCha\"\u003e\u003ccode\u003e@​MondayCha\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e5c00df8afadd06cc5be530dde00fe6d9fa4a2e4a: fix(render): write content length in Data.Render (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4206\"\u003e#4206\u003c/a\u003e) (\u003ca href=\"https://github.com/dengaleev\"\u003e\u003ccode\u003e@​dengaleev\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e234a6d4c00cb77af9852aca0b8289745d5529b4b: fix(response): refine hijack behavior for response lifecycle (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4373\"\u003e#4373\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e472d086af2acd924cb4b9d7be0525f7d790f69bc: fix(tree): panic in findCaseInsensitivePathRec with RedirectFixedPath (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4535\"\u003e#4535\u003c/a\u003e) (\u003ca href=\"https://github.com/veeceey\"\u003e\u003ccode\u003e@​veeceey\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e8e07d37c63e5536eb25f4af4c91eabeee4011fba: fix: Correct typos, improve documentation clarity, and remove dead code (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4511\"\u003e#4511\u003c/a\u003e) (\u003ca href=\"https://github.com/mahanadh\"\u003e\u003ccode\u003e@​mahanadh\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eba093d19477b896ac89a7fc3246af23d290b8e26: chore(binding): upgrade bson dependency to mongo-driver v2 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4549\"\u003e#4549\u003c/a\u003e) (\u003ca href=\"https://github.com/BobDu\"\u003e\u003ccode\u003e@​BobDu\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eb2b489dbf4826c2c630717a77fd5e42774625410: chore(context): always trust xff headers from unix socket (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/3359\"\u003e#3359\u003c/a\u003e) (\u003ca href=\"https://github.com/WeidiDeng\"\u003e\u003ccode\u003e@​WeidiDeng\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eecb3f7b5e2f3915bf1db240ed5eee572f8dbea36: chore(deps): upgrade golang.org/x/crypto to v0.45.0 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4449\"\u003e#4449\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eaf6e8b70b8261bb0c99ad094fe552ab92991620a: chore(deps): upgrade quic-go to v0.57.1 (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edb309081bc5c137b2aa15701ef53f7f19788da25: chore(logger): allow skipping query string output (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4547\"\u003e#4547\u003c/a\u003e) (\u003ca href=\"https://github.com/USA-RedDragon\"\u003e\u003ccode\u003e@​USA-RedDragon\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e26c3a628655cad2388380cb8102d6ce7d4875f3b: chore(response): prevent Flush() panic when \u003ccode\u003ehttp.Flusher\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4479\"\u003e#4479\u003c/a\u003e) (\u003ca href=\"https://github.com/Twacqwq\"\u003e\u003ccode\u003e@​Twacqwq\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e5dd833f1f26de0eb30eae47b17e05ced2482dc41: chore: bump minimum Go version to 1.24 and update workflows (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4388\"\u003e#4388\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRefactor\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e39858a0859c914bd26948fa950477e11bd8d3823: refactor(binding): use maps.Copy for cleaner map handling (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4352\"\u003e#4352\u003c/a\u003e) (\u003ca href=\"https://github.com/russcoss\"\u003e\u003ccode\u003e@​russcoss\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ec0048f645ee945c4db30593afdea10123e2c30a6: refactor(context): omit the return value names (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4395\"\u003e#4395\u003c/a\u003e) (\u003ca href=\"https://github.com/wanghaolong613\"\u003e\u003ccode\u003e@​wanghaolong613\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e915e4c90d28ec4cffc6eb146e208ab5a65eac772: refactor(context): replace hardcoded localhost IPs with constants (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4481\"\u003e#4481\u003c/a\u003e) (\u003ca href=\"https://github.com/pauloappbr\"\u003e\u003ccode\u003e@​pauloappbr\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e414de60574449457f3192a7a1d5528940db2836d: refactor(context): using maps.Clone (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4333\"\u003e#4333\u003c/a\u003e) (\u003ca href=\"https://github.com/cuiweixie\"\u003e\u003ccode\u003e@​cuiweixie\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e59e9d4a794f12c4f9a6c7bed441b9644e5f6d99b: refactor(ginS): use sync.OnceValue to simplify engine function (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4314\"\u003e#4314\u003c/a\u003e) (\u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e3ab698dc5110af1977d57226e4995c57dd34c233: refactor(recovery): smart error comparison (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4142\"\u003e#4142\u003c/a\u003e) (\u003ca href=\"https://github.com/zeek0x\"\u003e\u003ccode\u003e@​zeek0x\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ed1a15347b1e45a8ee816193d3578a93bfd73b70f: refactor(utils): move util functions to utils.go (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4467\"\u003e#4467\u003c/a\u003e) (\u003ca href=\"https://github.com/zeek0x\"\u003e\u003ccode\u003e@​zeek0x\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ee3118cc378d263454098924ebbde7e8d1dd2e904: refactor: for loop can be modernized using range over int (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4392\"\u003e#4392\u003c/a\u003e) (\u003ca href=\"https://github.com/wanghaolong613\"\u003e\u003ccode\u003e@​wanghaolong613\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e488f8c3ffa579a8d19beb2bae95ff8ef36b3d53f: refactor: replace magic numbers with named constants in bodyAllowedForStatus (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4529\"\u003e#4529\u003c/a\u003e) (\u003ca href=\"https://github.com/veeceey\"\u003e\u003ccode\u003e@​veeceey\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e9968c4bf9d5a99edc3eee2c068a4c9160ece8915: refactor: use b.Loop() to simplify the code and improve performance (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4389\"\u003e#4389\u003c/a\u003e) (\u003ca href=\"https://github.com/reddaisyy\"\u003e\u003ccode\u003e@​reddaisyy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ea85ef5ce4d0cda8834c59c855068ed48b51192d1: refactor: use b.Loop() to simplify the code and improve performance (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4432\"\u003e#4432\u003c/a\u003e) (\u003ca href=\"https://github.com/efcking\"\u003e\u003ccode\u003e@​efcking\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBuild process updates\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e61b67de522a189b568aced4c5c16917c558e3387: ci(bot): increase frequency and group updates for dependencies (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4367\"\u003e#4367\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efb27ef26c2fdfe25344b4c039d8a53551f9e912c: ci(lint): refactor test assertions and linter configuration (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4436\"\u003e#4436\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e93ff771e6dbf10e432864b30f3719ac5c84a4d4a: ci(sec): improve type safety and server organization in HTTP middleware (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4437\"\u003e#4437\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ee88fc8927a52b74f55bec0351604a56ac0aa1c51: ci(sec): schedule Trivy security scans to run daily at midnight UTC (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4439\"\u003e#4439\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e5e5ff3ace496a31b138b0820136a146bfb5de0ef: ci: replace vulnerability scanning workflow with Trivy integration (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4421\"\u003e#4421\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e00900fb3e1ea9dde33985a0e4f6afec793d5e786: ci: update CI workflows and standardize Trivy config quotes (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4531\"\u003e#4531\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eae3f524974fc4f55d18c9e7fae4614503c015226: ci: update Go version support to 1.25+ across CI and docs (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4550\"\u003e#4550\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/gin-gonic/gin/blob/master/CHANGELOG.md\"\u003egithub.com/gin-gonic/gin's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eGin v1.12.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat(render): add bson protocol (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4145\"\u003e#4145\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(context): add GetError and GetErrorSlice methods for error retrieval (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4502\"\u003e#4502\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(binding): add support for encoding.UnmarshalText in uri/query binding (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4203\"\u003e#4203\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(gin): add option to use escaped path (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4420\"\u003e#4420\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(context): add Protocol Buffers support to content negotiation (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4423\"\u003e#4423\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(context): implemented Delete method (\u003ca href=\"https://github.com/gin-gonic/gin/commit/38e7651\"\u003e#38e7651\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(logger): color latency (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4146\"\u003e#4146\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eperf(tree): reduce allocations in findCaseInsensitivePath (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4417\"\u003e#4417\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eperf(recovery): optimize line reading in stack function (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4466\"\u003e#4466\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eperf(path): replace regex with custom functions in redirectTrailingSlash (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4414\"\u003e#4414\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eperf(tree): optimize path parsing using strings.Count (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4246\"\u003e#4246\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(logger): allow skipping query string output (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4547\"\u003e#4547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(context): always trust xff headers from unix socket (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/3359\"\u003e#3359\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(response): prevent Flush() panic when the underlying ResponseWriter does not implement \u003ccode\u003ehttp.Flusher\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4479\"\u003e#4479\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(recovery): smart error comparison (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4142\"\u003e#4142\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(context): replace hardcoded localhost IPs with constants (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4481\"\u003e#4481\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(utils): move util functions to utils.go (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4467\"\u003e#4467\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(binding): use maps.Copy for cleaner map handling (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4352\"\u003e#4352\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(context): using maps.Clone (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4333\"\u003e#4333\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(ginS): use sync.OnceValue to simplify engine function (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4314\"\u003e#4314\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor: replace magic numbers with named constants in bodyAllowedForStatus (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4529\"\u003e#4529\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor: for loop can be modernized using range over int (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4392\"\u003e#4392\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(tree): panic in findCaseInsensitivePathRec with RedirectFixedPath (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4535\"\u003e#4535\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(render): write content length in Data.Render (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4206\"\u003e#4206\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(context): ClientIP handling for multiple X-Forwarded-For header values (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4472\"\u003e#4472\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(binding): empty value error (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/2169\"\u003e#2169\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(recover): suppress http.ErrAbortHandler in recover (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4336\"\u003e#4336\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(gin): literal colon routes not working with engine.Handler() (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4415\"\u003e#4415\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(gin): close os.File in RunFd to prevent resource leak (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4422\"\u003e#4422\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(response): refine hijack behavior for response lifecycle (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4373\"\u003e#4373\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(binding): improve empty slice/array handling in form binding (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4380\"\u003e#4380\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(debug): version mismatch (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4403\"\u003e#4403\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: correct typos, improve documentation clarity, and remove dead code (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4511\"\u003e#4511\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBuild process updates / CI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eci: update Go version support to 1.25+ across CI and docs (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4550\"\u003e#4550\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(binding): upgrade bson dependency to mongo-driver v2 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4549\"\u003e#4549\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/73726dc606796a025971fe451f0aa6f1b9b847f6\"\u003e\u003ccode\u003e73726dc\u003c/code\u003e\u003c/a\u003e docs: update documentation to reflect Go version changes (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4552\"\u003e#4552\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/e292e5caa777bce70b66fe08c94cbe9cef3e2ec9\"\u003e\u003ccode\u003ee292e5c\u003c/code\u003e\u003c/a\u003e docs: document and finalize Gin v1.12.0 release (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4551\"\u003e#4551\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/ae3f524974fc4f55d18c9e7fae4614503c015226\"\u003e\u003ccode\u003eae3f524\u003c/code\u003e\u003c/a\u003e ci: update Go version support to 1.25+ across CI and docs (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4550\"\u003e#4550\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/38534e2bf98a06e1f62d6b24384e90b5f78699bf\"\u003e\u003ccode\u003e38534e2\u003c/code\u003e\u003c/a\u003e chore(deps): bump golang.org/x/net from 0.50.0 to 0.51.0 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4548\"\u003e#4548\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/472d086af2acd924cb4b9d7be0525f7d790f69bc\"\u003e\u003ccode\u003e472d086\u003c/code\u003e\u003c/a\u003e fix(tree): panic in findCaseInsensitivePathRec with RedirectFixedPath (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4535\"\u003e#4535\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/fb2583442c4d9bccb75e6d26f1aa6e7c01950db6\"\u003e\u003ccode\u003efb25834\u003c/code\u003e\u003c/a\u003e test(context): use http.StatusContinue constant instead of magic number 100 (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/6f1d5fe3cdb171a08928c3c9dd3fbcfc9ee1b521\"\u003e\u003ccode\u003e6f1d5fe\u003c/code\u003e\u003c/a\u003e test(render): add comprehensive error handling tests (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4541\"\u003e#4541\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/5c00df8afadd06cc5be530dde00fe6d9fa4a2e4a\"\u003e\u003ccode\u003e5c00df8\u003c/code\u003e\u003c/a\u003e fix(render): write content length in Data.Render (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4206\"\u003e#4206\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/db309081bc5c137b2aa15701ef53f7f19788da25\"\u003e\u003ccode\u003edb30908\u003c/code\u003e\u003c/a\u003e chore(logger): allow skipping query string output (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4547\"\u003e#4547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/ba093d19477b896ac89a7fc3246af23d290b8e26\"\u003e\u003ccode\u003eba093d1\u003c/code\u003e\u003c/a\u003e chore(binding): upgrade bson dependency to mongo-driver v2 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4549\"\u003e#4549\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/gin-gonic/gin/compare/v1.11.0...v1.12.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/go-openapi/runtime` from 0.29.5 to 0.31.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/go-openapi/runtime/releases\"\u003egithub.com/go-openapi/runtime's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.31.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/go-openapi/runtime/tree/v0.31.0\"\u003e0.31.0\u003c/a\u003e - 2026-05-17\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/go-openapi/runtime/compare/v0.30.0...v0.31.0\"\u003ehttps://github.com/go-openapi/runtime/compare/v0.30.0...v0.31.0\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e33 commits in this release.\u003c/p\u003e\n\u003chr /\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003eImplemented enhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat(client): TLS diagnostic mode for Runtime.Trace by \u003ca href=\"https://github.com/fredbi\"\u003e\u003ccode\u003e@​fredbi\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/go-openapi/runtime/commit/159e452fbb643b71d258f2cca8b88137450279ee\"\u003e...\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(client): add Runtime.Trace for connection-level diagnostics by \u003ca href=\"https://github.com/fredbi\"\u003e\u003ccode\u003e@​fredbi\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/go-openapi/runtime/commit/d966b8fa816b64de80ccf018361cc7263c63341e\"\u003e...\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003eFixed bugs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(client): strip CR/LF from multipart filename and field name by \u003ca href=\"https://github.com/fredbi\"\u003e\u003ccode\u003e@​fredbi\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/go-openapi/runtime/commit/5cabd7013f842d80d85a547ea761cf136699deb4\"\u003e...\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(middleware): cap filename length on untyped formData uploads by \u003ca href=\"https://github.com/fredbi\"\u003e\u003ccode\u003e@​fredbi\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/go-openapi/runtime/commit/0d36609aa32886db0a827883431a5600b274fc10\"\u003e...\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: CA cert pool should be cloned not returned as pointer by \u003ca href=\"https://github.com/fredbi\"\u003e\u003ccode\u003e@​fredbi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/go-openapi/runtime/pull/455\"\u003e#455\u003c/a\u003e \u003ca href=\"https://github.com/go-openapi/runtime/commit/c925891ba9edd2240e9a10abcbb2f8453a190970\"\u003e...\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: correct spelling of \u0026quot;Organ trail\u0026quot; to \u0026quot;Oregon Trail\u0026quot; in request tests by \u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/go-openapi/runtime/pull/449\"\u003e#449\u003c/a\u003e \u003ca href=\"https://github.com/go-openapi/runtime/commit/3b614c320c5f157dc502a2a4b541eb1dfb34989d\"\u003e...\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(client/tls): correct PEM label and add Ed25519 key support by \u003ca href=\"https://github.com/fredbi\"\u003e\u003ccode\u003e@​fredbi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/go-openapi/runtime/pull/452\"\u003e#452\u003c/a\u003e \u003ca href=\"https://github.com/go-openapi/runtime/commit/eaa96edc1f2811efe29a1e6d07ca1db84155f026\"\u003e...\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edoc: fixup module layout by \u003ca href=\"https://github.com/fredbi\"\u003e\u003ccode\u003e@​fredbi\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/go-openapi/runtime/commit/1fd10af05ff76b283c381f8a3e5b41359d17c4cb\"\u003e...\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edoc: trimmed deprecated functions from examples by \u003ca href=\"https://github.com/fredbi\"\u003e\u003ccode\u003e@​fredbi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/go-openapi/runtime/pull/463\"\u003e#463\u003c/a\u003e \u003ca href=\"https://github.com/go-openapi/runtime/commit/fe97e40276649c6cad129afa87e6549299ab89d8\"\u003e...\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edoc: updated contributors file by \u003ca href=\"https://github.com/bot-go-openapi%5Bbot%5D\"\u003e\u003ccode\u003e@​bot-go-openapi[bot]\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/go-openapi/runtime/pull/460\"\u003e#460\u003c/a\u003e \u003ca href=\"https://github.com/go-openapi/runtime/commit/0c4edbac0f9c4bc72334f8c105ac173c9676399f\"\u003e...\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edoc: advertised doc site in README.md by \u003ca href=\"https://github.com/fredbi\"\u003e\u003ccode\u003e@​fredbi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/go-openapi/runtime/pull/454\"\u003e#454\u003c/a\u003e \u003ca href=\"https://github.com/go-openapi/runtime/commit/9d29f68e2bd36b26aea7286d369dc88374ce1fab\"\u003e...\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: correct two comment typos in client/internal/request/request.go by \u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/go-openapi/runtime/pull/450\"\u003e#450\u003c/a\u003e \u003ca href=\"https://github.com/go-openapi/runtime/commit/09c03d02ae2717bf36643c8559cecaf197363b31\"\u003e...\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs(compression): deprecate ContentEncoding, add CAFxX recipe by \u003ca href=\"https://github.com/fredbi\"\u003e\u003ccode\u003e@​fredbi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/go-openapi/runtime/pull/447\"\u003e#447\u003c/a\u003e \u003ca href=\"https://github.com/go-openapi/runtime/commit/6244633af43ff7691c33eb68b32324114f015c1d\"\u003e...\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs(keep-alive): add a thorough keep-alive primer by \u003ca href=\"https://github.com/fredbi\"\u003e\u003ccode\u003e@​fredbi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/go-openapi/runtime/pull/445\"\u003e#445\u003c/a\u003e \u003ca href=\"https://github.com/go-openapi/runtime/commit/7c678af534a79da024575aa6558299901551dde4\"\u003e...\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003eCode quality\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edoc: godoc linting by \u003ca href=\"https://github.com/fredbi\"\u003e\u003ccode\u003e@​fredbi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/go-openapi/runtime/pull/465\"\u003e#465\u003c/a\u003e \u003ca href=\"https://github.com/go-openapi/runtime/commit/74bcf736bac52ca40d65a839946e16b51c72c762\"\u003e...\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: cleanup linter config, reformat, optimized strings replacer by \u003ca href=\"https://github.com/fredbi\"\u003e\u003ccode\u003e@​fredbi\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/go-openapi/runtime/commit/8bf148cb896bf0e7f0c22bbd6a3501d82b900b4b\"\u003e...\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix/example request by \u003ca href=\"https://github.com/fredbi\"\u003e\u003ccode\u003e@​fredbi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/go-openapi/runtime/pull/462\"\u003e#462\u003c/a\u003e \u003ca href=\"https://github.com/go-openapi/runtime/commit/9fef4d8ebb77697229a4ff5945d5665aa64f9d9c\"\u003e...\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(relint): relint code base by \u003ca href=\"https://github.com/fredbi\"\u003e\u003ccode\u003e@​fredbi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/go-openapi/runtime/pull/461\"\u003e#461\u003c/a\u003e \u003ca href=\"https://github.com/go-openapi/runtime/commit/4b215322ce2ba88d0e8466668786d68792dca349\"\u003e...\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edoc: doc site on github pages by \u003ca href=\"https://github.com/fredbi\"\u003e\u003ccode\u003e@​fredbi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/go-openapi/runtime/pull/448\"\u003e#448\u003c/a\u003e \u003ca href=\"https://github.com/go-openapi/runtime/commit/1c5e3735efd166bf7aa00544b8172523c4314687\"\u003e...\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003eTesting\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003etest: fix flaky assertion on httptrace by \u003ca href=\"https://github.com/fredbi\"\u003e\u003ccode\u003e@​fredbi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/go-openapi/runtime/pull/456\"\u003e#456\u003c/a\u003e \u003ca href=\"https://github.com/go-openapi/runtime/commit/1e4d68eb5e29974f2149b68c4d9c4dd6d2dc4221\"\u003e...\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003eMiscellaneous tasks\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: prepare release v0.31.0 by \u003ca href=\"https://github.com/bot-go-openapi%5Bbot%5D\"\u003e\u003ccode\u003e@​bot-go-openapi[bot]\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/go-openapi/runtime/pull/466\"\u003e#466\u003c/a\u003e \u003ca href=\"https://github.com/go-openapi/runtime/commit/423c407791a74d4353830e07d98375a0c5cf311b\"\u003e...\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: remove binary by \u003ca href=\"https://github.com/fredbi\"\u003e\u003ccode\u003e@​fredbi\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/go-openapi/runtime/commit/982c9d3bfa154c4c1f8c06c764ad44e90a666134\"\u003e...\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/go-openapi/runtime/commit/423c407791a74d4353830e07d98375a0c5cf311b\"\u003e\u003ccode\u003e423c407\u003c/code\u003e\u003c/a\u003e chore: prepare release v0.31.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/go-openapi/runtime/commit/1fd10af05ff76b283c381f8a3e5b41359d17c4cb\"\u003e\u003ccode\u003e1fd10af\u003c/code\u003e\u003c/a\u003e doc: fixup module layout\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/go-openapi/runtime/commit/74bcf736bac52ca40d65a839946e16b51c72c762\"\u003e\u003ccode\u003e74bcf73\u003c/code\u003e\u003c/a\u003e doc: godoc linting (\u003ca href=\"https://redirect.github.com/go-openapi/runtime/issues/465\"\u003e#465\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/go-openapi/runtime/commit/506f3bcb4a7ea135a9742fb8f6bcc5bf666b02b8\"\u003e\u003ccode\u003e506f3bc\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/go-openapi/runtime/issues/464\"\u003e#464\u003c/a\u003e from fredbi/sec/lens3-multipart\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/go-openapi/runtime/commit/8bf148cb896bf0e7f0c22bbd6a3501d82b900b4b\"\u003e\u003ccode\u003e8bf148c\u003c/code\u003e\u003c/a\u003e chore: cleanup linter config, reformat, optimized strings replacer\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/go-openapi/runtime/commit/fa336825535097d6b36eef67830c87ebe2970273\"\u003e\u003ccode\u003efa33682\u003c/code\u003e\u003c/a\u003e test(security): fuzz targets for BindForm parse + filename cap\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/go-openapi/runtime/commit/5cabd7013f842d80d85a547ea761cf136699deb4\"\u003e\u003ccode\u003e5cabd70\u003c/code\u003e\u003c/a\u003e fix(client): strip CR/LF from multipart filename and field name\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/go-openapi/runtime/commit/0d36609aa32886db0a827883431a5600b274fc10\"\u003e\u003ccode\u003e0d36609\u003c/code\u003e\u003c/a\u003e fix(middleware): cap filename length on untyped formData uploads\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/go-openapi/runtime/commit/fe97e40276649c6cad129afa87e6549299ab89d8\"\u003e\u003ccode\u003efe97e40\u003c/code\u003e\u003c/a\u003e doc: trimmed deprecated functions from examples (\u003ca href=\"https://redirect.github.com/go-openapi/runtime/issues/463\"\u003e#463\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/go-openapi/runtime/commit/982c9d3bfa154c4c1f8c06c764ad44e90a666134\"\u003e\u003ccode\u003e982c9d3\u003c/code\u003e\u003c/a\u003e chore: remove binary\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/go-openapi/runtime/compare/v0.29.5...v0.31.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/goccy/go-yaml` from 1.18.0 to 1.19.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/goccy/go-yaml/releases\"\u003egithub.com/goccy/go-yaml's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.19.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix anchor reference regression in nested structures by \u003ca href=\"https://github.com/linyows\"\u003e\u003ccode\u003e@​linyows\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/goccy/go-yaml/pull/839\"\u003egoccy/go-yaml#839\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/linyows\"\u003e\u003ccode\u003e@​linyows\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/goccy/go-yaml/pull/839\"\u003egoccy/go-yaml#839\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/goccy/go-yaml/compare/v1.19.1...v1.19.2\"\u003ehttps://github.com/goccy/go-yaml/compare/v1.19.1...v1.19.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e1.19.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix decoding of integer keys of map type by \u003ca href=\"https://github.com/goccy\"\u003e\u003ccode\u003e@​goccy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/goccy/go-yaml/pull/829\"\u003egoccy/go-yaml#829\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport line comment for flow sequence or flow map by \u003ca href=\"https://github.com/goccy\"\u003e\u003ccode\u003e@​goccy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/goccy/go-yaml/pull/834\"\u003egoccy/go-yaml#834\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/goccy/go-yaml/compare/v1.19.0...v1.19.1\"\u003ehttps://github.com/goccy/go-yaml/compare/v1.19.0...v1.19.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e1.19.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRevert \u0026quot;feat: Dont make copies of structs for validation\u0026quot; by \u003ca href=\"https://github.com/shuheiktgw\"\u003e\u003ccode\u003e@​shuheiktgw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/goccy/go-yaml/pull/763\"\u003egoccy/go-yaml#763\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd decode option that allows specific field prefixes by \u003ca href=\"https://github.com/cpuguy83\"\u003e\u003ccode\u003e@​cpuguy83\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/goccy/go-yaml/pull/795\"\u003egoccy/go-yaml#795\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eNormalize CR and CRLF in multi-line strings by \u003ca href=\"https://github.com/shuheiktgw\"\u003e\u003ccode\u003e@​shuheiktgw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/goccy/go-yaml/pull/754\"\u003egoccy/go-yaml#754\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport non string map keys by \u003ca href=\"https://github.com/shuheiktgw\"\u003e\u003ccode\u003e@​shuheiktgw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/goccy/go-yaml/pull/756\"\u003egoccy/go-yaml#756\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSkip directive in path operations by \u003ca href=\"https://github.com/shuheiktgw\"\u003e\u003ccode\u003e@​shuheiktgw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/goccy/go-yaml/pull/758\"\u003egoccy/go-yaml#758\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd indentation to flow values on new lines by \u003ca href=\"https://github.com/shuheiktgw\"\u003e\u003ccode\u003e@​shuheiktgw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/goccy/go-yaml/pull/759\"\u003egoccy/go-yaml#759\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for RawMessage, similar to json.RawMessage by \u003ca href=\"https://github.com/thanethomson\"\u003e\u003ccode\u003e@​thanethomson\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/goccy/go-yaml/pull/790\"\u003egoccy/go-yaml#790\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cpuguy83\"\u003e\u003ccode\u003e@​cpuguy83\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/goccy/go-yaml/pull/795\"\u003egoccy/go-yaml#795\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/thanethomson\"\u003e\u003ccode\u003e@​thanethomson\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/goccy/go-yaml/pull/790\"\u003egoccy/go-yaml#790\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/goccy/go-yaml/compare/v1.18.0...v1.19.0\"\u003ehttps://github.com/goccy/go-yaml/compare/v1.18.0...v1.19.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/goccy/go-yaml/commit/92bc79cb5f685e999ad131473168fc45215d12d9\"\u003e\u003ccode\u003e92bc79c\u003c/code\u003e\u003c/a\u003e Fix anchor reference regression in nested structures (\u003ca href=\"https://redirect.github.com/goccy/go-yaml/issues/839\"\u003e#839\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/goccy/go-yaml/commit/b0ab06985557a2d84913ecba6dda0dbedbd5e154\"\u003e\u003ccode\u003eb0ab069\u003c/code\u003e\u003c/a\u003e Support line comment for flow sequence or flow map (\u003ca href=\"https://redirect.github.com/goccy/go-yaml/issues/834\"\u003e#834\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/goccy/go-yaml/commit/9e98b0c753ff2b8f0b323929c9c60fe7951d0f45\"\u003e\u003ccode\u003e9e98b0c\u003c/code\u003e\u003c/a\u003e Fix decoding of integer keys of map type (\u003ca href=\"https://redirect.github.com/goccy/go-yaml/issues/829\"\u003e#829\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/goccy/go-yaml/commit/a7b4bfbcf4a41152862ffba5cce666631bc04bb1\"\u003e\u003ccode\u003ea7b4bfb\u003c/code\u003e\u003c/a\u003e Add support for RawMessage, similar to json.RawMessage (\u003ca href=\"https://redirect.github.com/goccy/go-yaml/issues/790\"\u003e#790\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/goccy/go-yaml/commit/07c09c028744e7aac32d1b11279a401055d107f5\"\u003e\u003ccode\u003e07c09c0\u003c/code\u003e\u003c/a\u003e Add indentation to flow values on new lines (\u003ca href=\"https://redirect.github.com/goccy/go-yaml/issues/759\"\u003e#759\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/goccy/go-yaml/commit/0040ab4161153c5b812ae51984d3967ad3dbd068\"\u003e\u003ccode\u003e0040ab4\u003c/code\u003e\u003c/a\u003e Skip directive in path operations (\u003ca href=\"https://redirect.github.com/goccy/go-yaml/issues/758\"\u003e#758\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/goccy/go-yaml/commit/7901e98f54d280a553a0d606c91a82fa89493928\"\u003e\u003ccode\u003e7901e98\u003c/code\u003e\u003c/a\u003e Support non string map keys (\u003ca href=\"https://redirect.github.com/goccy/go-yaml/issues/756\"\u003e#756\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/goccy/go-yaml/commit/f4d13479ba3d44541a65d0dffeab5e3fa805413a\"\u003e\u003ccode\u003ef4d1347\u003c/code\u003e\u003c/a\u003e Normalize CR and CRLF in multi-line strings (\u003ca href=\"https://redirect.github.com/goccy/go-yaml/issues/754\"\u003e#754\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/goccy/go-yaml/commit/90e852559132e85734ab0c9a48b3a912ebd3f060\"\u003e\u003ccode\u003e90e8525\u003c/code\u003e\u003c/a\u003e Add decode option that allows specific field prefixes (\u003ca href=\"https://redirect.github.com/goccy/go-yaml/issues/795\"\u003e#795\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/goccy/go-yaml/commit/25e5d9094248e480434ca87d9119e3d9ce7ac1d7\"\u003e\u003ccode\u003e25e5d90\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;feat: Dont make copies of structs for validation (\u003ca href=\"https://redirect.github.com/goccy/go-yaml/issues/737\"\u003e#737\u003c/a\u003e)\u0026quot; (\u003ca href=\"https://redirect.github.com/goccy/go-yaml/issues/763\"\u003e#763\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/goccy/go-yaml/compare/v1.18.0...v1.19.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/google/go-containerregistry` from 0.20.7 to 0.21.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/google/go-containerregistry/releases\"\u003egithub.com/google/go-containerregistry's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.21.6\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: update dependencies to use new azure sdk components by \u003ca href=\"https://github.com/gaganhr94\"\u003e\u003ccode\u003e@​gaganhr94\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2262\"\u003egoogle/go-containerregistry#2262\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etransport: restore resp.Body in retryError so CheckError can parse it by \u003ca href=\"https://github.com/alliasgher\"\u003e\u003ccode\u003e@​alliasgher\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2264\"\u003egoogle/go-containerregistry#2264\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003epkg/registry: return 202 Accepted for PATCH chunk uploads by \u003ca href=\"https://github.com/alliasgher\"\u003e\u003ccode\u003e@​alliasgher\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2265\"\u003egoogle/go-containerregistry#2265\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFollow OCI distribution spec for artifactType and annotations by \u003ca href=\"https://github.com/malt3\"\u003e\u003ccode\u003e@​malt3\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2269\"\u003egoogle/go-containerregistry#2269\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eactions: attach Codecov token to coverage tests on main by \u003ca href=\"https://github.com/Subserial\"\u003e\u003ccode\u003e@​Subserial\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2270\"\u003egoogle/go-containerregistry#2270\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eremote: use DeleteScope (with \u0026quot;delete\u0026quot; action) for manifest deletion by \u003ca href=\"https://github.com/alliasgher\"\u003e\u003ccode\u003e@​alliasgher\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2266\"\u003egoogle/go-containerregistry#2266\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eremote: limit concurrent layer pulls by \u003ca href=\"https://github.com/gnix0\"\u003e\u003ccode\u003e@​gnix0\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2271\"\u003egoogle/go-containerregistry#2271\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003epkg/registry: reject corrupt disk blobs by \u003ca href=\"https://github.com/gnix0\"\u003e\u003ccode\u003e@​gnix0\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2272\"\u003egoogle/go-containerregistry#2272\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003emutate: close layer readers during export by \u003ca href=\"https://github.com/gnix0\"\u003e\u003ccode\u003e@​gnix0\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2277\"\u003egoogle/go-containerregistry#2277\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ecrane/flatten: preserve image media type when flattening by \u003ca href=\"https://github.com/alliasgher\"\u003e\u003ccode\u003e@​alliasgher\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2267\"\u003egoogle/go-containerregistry#2267\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump goreleaser/goreleaser-action from 7.0.0 to 7.2.1 in the actions group across 1 directory by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2273\"\u003egoogle/go-containerregistry#2273\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump go.opentelemetry.io/otel from 1.36.0 to 1.41.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2278\"\u003egoogle/go-containerregistry#2278\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump the go-deps group across 3 directories with 6 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2280\"\u003egoogle/go-containerregistry#2280\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReplace go-homedir with os.UserHomeDir by \u003ca href=\"https://github.com/jammie-jelly\"\u003e\u003ccode\u003e@​jammie-jelly\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2282\"\u003egoogle/go-containerregistry#2282\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003epkg/name: only treat .localhost as non-HTTPS, not .local by \u003ca href=\"https://github.com/blackwell-systems\"\u003e\u003ccode\u003e@​blackwell-systems\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2281\"\u003egoogle/go-containerregistry#2281\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etransport: block unspecified IPs (0.0.0.0, ::) in validateRealmURL by \u003ca href=\"https://github.com/marwan9696\"\u003e\u003ccode\u003e@​marwan9696\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2285\"\u003egoogle/go-containerregistry#2285\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etest(mutate): add Extract round-trip test for filesystem object preservation by \u003ca href=\"https://github.com/blackwell-systems\"\u003e\u003ccode\u003e@​blackwell-systems\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2283\"\u003egoogle/go-containerregistry#2283\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eexperiments: remove deprecated support for estargz by \u003ca href=\"https://github.com/thaJeztah\"\u003e\u003ccode\u003e@​thaJeztah\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2288\"\u003egoogle/go-containerregistry#2288\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump aws-actions/configure-aws-credentials from 6.1.0 to 6.1.1 in the actions group by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2289\"\u003egoogle/go-containerregistry#2289\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: limit HTTP response body reads to prevent OOM by \u003ca href=\"https://github.com/evilgensec\"\u003e\u003ccode\u003e@​evilgensec\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2296\"\u003egoogle/go-containerregistry#2296\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump the go-deps group across 3 directories with 6 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2297\"\u003egoogle/go-containerregistry#2297\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etransport: block redirects from token server to private/link-local addresses (SSRF fix) by \u003ca href=\"https://github.com/evilgensec\"\u003e\u003ccode\u003e@​evilgensec\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2292\"\u003egoogle/go-containerregistry#2292\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003epkg/v1/mutate: preserve relative symlinks that stay within rootfs in Extract by \u003ca href=\"https://github.com/anishesg\"\u003e\u003ccode\u003e@​anishesg\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2279\"\u003egoogle/go-containerreg...\n\n_Description has been truncated_","html_url":"https://github.com/akuity/kargo/pull/6345","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/akuity%2Fkargo/issues/6345","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/6345/packages"}},{"old_version":"1.10.0","new_version":"1.12.0","update_type":"minor","path":null,"pr_created_at":"2026-05-19T02:22:28.000Z","version_change":"1.10.0 → 1.12.0","issue":{"uuid":"4473920402","node_id":"PR_kwDOLMiOMM7c5GPp","number":79,"state":"closed","title":"chore(deps): bump the common group across 1 directory with 12 updates","user":"dependabot[bot]","labels":["dependencies","go"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-05-25T22:43:27.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-19T02:22:28.000Z","updated_at":"2026-05-25T22:43:29.000Z","time_to_close":591659,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"common","update_count":12,"packages":[{"name":"github.com/docker/docker","old_version":"27.5.1+incompatible","new_version":"28.5.2+incompatible","repository_url":"https://github.com/docker/docker"},{"name":"github.com/gin-gonic/gin","old_version":"1.10.0","new_version":"1.12.0","repository_url":"https://github.com/gin-gonic/gin"},{"name":"github.com/klauspost/compress","old_version":"1.18.0","new_version":"1.18.6","repository_url":"https://github.com/klauspost/compress"},{"name":"github.com/samber/lo","old_version":"1.49.1","new_version":"1.53.0","repository_url":"https://github.com/samber/lo"},{"name":"github.com/spf13/afero","old_version":"1.14.0","new_version":"1.15.0","repository_url":"https://github.com/spf13/afero"},{"name":"github.com/spf13/cast","old_version":"1.7.1","new_version":"1.10.0","repository_url":"https://github.com/spf13/cast"},{"name":"github.com/ulikunitz/xz","old_version":"0.5.12","new_version":"0.5.15","repository_url":"https://github.com/ulikunitz/xz"},{"name":"github.com/urfave/cli/v3","old_version":"3.0.0-beta1","new_version":"3.9.0","repository_url":"https://github.com/urfave/cli"}],"path":null,"ecosystem":"go"},"body":"Bumps the common group with 8 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [github.com/docker/docker](https://github.com/docker/docker) | `27.5.1+incompatible` | `28.5.2+incompatible` |\n| [github.com/gin-gonic/gin](https://github.com/gin-gonic/gin) | `1.10.0` | `1.12.0` |\n| [github.com/klauspost/compress](https://github.com/klauspost/compress) | `1.18.0` | `1.18.6` |\n| [github.com/samber/lo](https://github.com/samber/lo) | `1.49.1` | `1.53.0` |\n| [github.com/spf13/afero](https://github.com/spf13/afero) | `1.14.0` | `1.15.0` |\n| [github.com/spf13/cast](https://github.com/spf13/cast) | `1.7.1` | `1.10.0` |\n| [github.com/ulikunitz/xz](https://github.com/ulikunitz/xz) | `0.5.12` | `0.5.15` |\n| [github.com/urfave/cli/v3](https://github.com/urfave/cli) | `3.0.0-beta1` | `3.9.0` |\n\n\nUpdates `github.com/docker/docker` from 27.5.1+incompatible to 28.5.2+incompatible\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/docker/docker/releases\"\u003egithub.com/docker/docker's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev28.5.2\u003c/h2\u003e\n\u003ch2\u003e28.5.2\u003c/h2\u003e\n\u003cp\u003eFor a full list of pull requests and changes in this release, refer to the relevant GitHub milestones:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/docker/cli/issues?q=is%3Aclosed+milestone%3A28.5.2\"\u003edocker/cli, 28.5.2 milestone\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/moby/moby/issues?q=is%3Aclosed+milestone%3A28.5.2\"\u003emoby/moby, 28.5.2 milestone\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!CAUTION]\nThis release contains fixes for three high-severity security vulnerabilities in runc:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/opencontainers/runc/security/advisories/GHSA-9493-h29p-rfm2\"\u003eCVE-2025-31133\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/opencontainers/runc/security/advisories/GHSA-qw9x-cqr3-wc7r\"\u003eCVE-2025-52565\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/opencontainers/runc/security/advisories/GHSA-cgrx-mc8f-2prm\"\u003eCVE-2025-52881\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eAll three vulnerabilities ultimately allow (through different methods) for full container breakouts by bypassing runc's restrictions for writing to arbitrary \u003ccode\u003e/proc\u003c/code\u003e files.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003ePackaging updates\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate runc to \u003ca href=\"https://github.com/opencontainers/runc/releases/tag/v1.3.3\"\u003ev1.3.3\u003c/a\u003e. \u003ca href=\"https://redirect.github.com/moby/moby/pull/51394\"\u003emoby/moby#51394\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes and enhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edockerd-rootless.sh: if slirp4netns is not installed, try using pasta (passt). \u003ca href=\"https://redirect.github.com/moby/moby/pull/51162\"\u003emoby/moby#51162\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate Go runtime to \u003ca href=\"https://go.dev/doc/devel/release#go1.24.9\"\u003e1.24.9\u003c/a\u003e. \u003ca href=\"https://redirect.github.com/moby/moby/pull/51387\"\u003emoby/moby#51387\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/docker/cli/pull/6613\"\u003edocker/cli#6613\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDeprecations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eGo-SDK: cli/command/image/build: deprecate \u003ccode\u003eDefaultDockerfileName\u003c/code\u003e, \u003ccode\u003eDetectArchiveReader\u003c/code\u003e, \u003ccode\u003eWriteTempDockerfile\u003c/code\u003e, \u003ccode\u003eResolveAndValidateContextPath\u003c/code\u003e. These utilities were only used internally and will be removed in the next release. \u003ca href=\"https://redirect.github.com/docker/cli/pull/6610\"\u003edocker/cli#6610\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eGo-SDK: cli/command/image/build: deprecate IsArchive utility. \u003ca href=\"https://redirect.github.com/docker/cli/pull/6560\"\u003edocker/cli#6560\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eGo-SDK: opts: deprecate \u003ccode\u003eValidateMACAddress\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/docker/cli/pull/6560\"\u003edocker/cli#6560\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eGo-SDK: opts: deprecate ListOpts.Delete(). \u003ca href=\"https://redirect.github.com/docker/cli/pull/6560\"\u003edocker/cli#6560\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev28.5.1\u003c/h2\u003e\n\u003ch2\u003e28.5.1\u003c/h2\u003e\n\u003cp\u003eFor a full list of pull requests and changes in this release, refer to the relevant GitHub milestones:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/docker/cli/issues?q=is%3Aclosed+milestone%3A28.5.1\"\u003edocker/cli, 28.5.1 milestone\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/moby/moby/issues?q=is%3Aclosed+milestone%3A28.5.1\"\u003emoby/moby, 28.5.1 milestone\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDeprecated and removed features, see \u003ca href=\"https://github.com/docker/cli/blob/v28.5.1/docs/deprecated.md\"\u003eDeprecated Features\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eChanges to the Engine API, see \u003ca href=\"https://github.com/moby/moby/blob/v28.5.1/docs/api/version-history.md\"\u003eAPI version history\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes and enhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate BuildKit to v0.25.1. \u003ca href=\"https://redirect.github.com/moby/moby/pull/51137\"\u003emoby/moby#51137\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate Go runtime to \u003ca href=\"https://go.dev/doc/devel/release#go1.24.8\"\u003e1.24.8\u003c/a\u003e. \u003ca href=\"https://redirect.github.com/moby/moby/pull/51133\"\u003emoby/moby#51133\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/docker/cli/pull/6541\"\u003edocker/cli#6541\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDeprecations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eapi/types/image: InspectResponse: deprecate \u003ccode\u003eParent\u003c/code\u003e and \u003ccode\u003eDockerVersion\u003c/code\u003e fields. \u003ca href=\"https://redirect.github.com/moby/moby/pull/51105\"\u003emoby/moby#51105\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eapi/types/plugin: deprecate \u003ccode\u003eConfig.DockerVersion\u003c/code\u003e field. \u003ca href=\"https://redirect.github.com/moby/moby/pull/51110\"\u003emoby/moby#51110\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/moby/moby/commit/89c5e8fd66634b6128fc4c0e6f1236e2540e46e0\"\u003e\u003ccode\u003e89c5e8f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/docker/docker/issues/51396\"\u003e#51396\u003c/a\u003e from thaJeztah/28.x_backport_api_docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/moby/moby/commit/9b93878308cae892878febfa52ff0b5799bea7b0\"\u003e\u003ccode\u003e9b93878\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/docker/docker/issues/51395\"\u003e#51395\u003c/a\u003e from thaJeztah/28.x_backport_rootless_reject\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/moby/moby/commit/6178456763b64c360983c5a5ea35d4258171e91c\"\u003e\u003ccode\u003e6178456\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/docker/docker/issues/51398\"\u003e#51398\u003c/a\u003e from vvoland/51397-28.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/moby/moby/commit/0cae4e5c8f76756eaba81dbd23ef57fccac3033f\"\u003e\u003ccode\u003e0cae4e5\u003c/code\u003e\u003c/a\u003e vendor: github.com/moby/buildkit v0.25.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/moby/moby/commit/33cc06f6169ddba8f00c50a8c12494b54b1cb2fc\"\u003e\u003ccode\u003e33cc06f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/docker/docker/issues/51394\"\u003e#51394\u003c/a\u003e from vvoland/51393-28.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/moby/moby/commit/d525277410726d5f99e46b8b2ba60ea9b7011afa\"\u003e\u003ccode\u003ed525277\u003c/code\u003e\u003c/a\u003e api/docs: remove BuildCache.Parent field for API v1.42 and up\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/moby/moby/commit/2fbc51b4f895c75749896bf4655f7888a300bb9d\"\u003e\u003ccode\u003e2fbc51b\u003c/code\u003e\u003c/a\u003e dockerd-rootless.sh: reject DOCKERD_ROOTLESS_ROOTLESSKIT_NET=host\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/moby/moby/commit/bd98008c078ab4a4d99f0c1577e641dbfe191cfd\"\u003e\u003ccode\u003ebd98008\u003c/code\u003e\u003c/a\u003e integration-cli: Adjust nofile limits\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/moby/moby/commit/19675151a3d3b947501fcad1dcacbd00e6f4b23e\"\u003e\u003ccode\u003e1967515\u003c/code\u003e\u003c/a\u003e Dockerfile: update runc binary to v1.3.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/moby/moby/commit/44896604b8f50d9ba38199c25ed2c7d2d40318a7\"\u003e\u003ccode\u003e4489660\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/docker/docker/issues/51387\"\u003e#51387\u003c/a\u003e from thaJeztah/28.x_bump_go\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/docker/docker/compare/v27.5.1...v28.5.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/gin-gonic/gin` from 1.10.0 to 1.12.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/gin-gonic/gin/releases\"\u003egithub.com/gin-gonic/gin's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.12.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e192ac89eefc1c30f7c97ae48a9ffb1c6f1c8c8bc: feat(binding): add support for encoding.UnmarshalText in uri/query binding (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4203\"\u003e#4203\u003c/a\u003e) (\u003ca href=\"https://github.com/takanuva15\"\u003e\u003ccode\u003e@​takanuva15\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e53410d2e07054369e0960fbe2eed97e1b9966f12: feat(context): add GetError and GetErrorSlice methods for error retrieval (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4502\"\u003e#4502\u003c/a\u003e) (\u003ca href=\"https://github.com/raju-mechatronics\"\u003e\u003ccode\u003e@​raju-mechatronics\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eacc55e049e33b401e810dbd8c0d6dcb6b3ba2b05: feat(context): add Protocol Buffers support to content negotiation (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4423\"\u003e#4423\u003c/a\u003e) (\u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e38e765119241d990705169bedb5002a29ae0cbd1: feat(context): implemented Delete method (\u003ca href=\"https://github.com/Spyder01\"\u003e\u003ccode\u003e@​Spyder01\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e771dcc6476d7bc6abb9ec0235ecefa4d38fe6fb0: feat(gin): add option to use escaped path (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4420\"\u003e#4420\u003c/a\u003e) (\u003ca href=\"https://github.com/ldesauw\"\u003e\u003ccode\u003e@​ldesauw\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e4dec17afdff48e8018c83618fbbe69fceeb2b41d: feat(logger): color latency (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4146\"\u003e#4146\u003c/a\u003e) (\u003ca href=\"https://github.com/wsyqn6\"\u003e\u003ccode\u003e@​wsyqn6\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ed7776de7d444935ea4385999711bd6331a98fecb: feat(render): add bson protocol (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4145\"\u003e#4145\u003c/a\u003e) (\u003ca href=\"https://github.com/laurentcau\"\u003e\u003ccode\u003e@​laurentcau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eb917b14ff9d189f16a7492be79d123a47806ee19: fix(binding): empty value error (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/2169\"\u003e#2169\u003c/a\u003e) (\u003ca href=\"https://github.com/guonaihong\"\u003e\u003ccode\u003e@​guonaihong\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ec3d1092b3b48addf6f9cd00fe274ec3bd14650eb: fix(binding): improve empty slice/array handling in form binding (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4380\"\u003e#4380\u003c/a\u003e) (\u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e9914178584e42458ff7d23891463a880f58c9d86: fix(context): ClientIP handling for multiple X-Forwarded-For header values (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4472\"\u003e#4472\u003c/a\u003e) (\u003ca href=\"https://github.com/Nurysso\"\u003e\u003ccode\u003e@​Nurysso\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e2a794cd0b0faa7d829291375b27a3467ea972b0d: fix(debug): version mismatch (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4403\"\u003e#4403\u003c/a\u003e) (\u003ca href=\"https://github.com/zeek0x\"\u003e\u003ccode\u003e@​zeek0x\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ec3d5a28ed6d3849da820195b6774d212bcc038a9: fix(gin): close os.File in RunFd to prevent resource leak (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4422\"\u003e#4422\u003c/a\u003e) (\u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e5fad976b372e381312f8de69f0969f1284d229d3: fix(gin): literal colon routes not working with engine.Handler() (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4415\"\u003e#4415\u003c/a\u003e) (\u003ca href=\"https://github.com/pawannn\"\u003e\u003ccode\u003e@​pawannn\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e63dd3e60cab89c27fb66bce1423bd268d52abad1: fix(recover): suppress http.ErrAbortHandler in recover (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4336\"\u003e#4336\u003c/a\u003e) (\u003ca href=\"https://github.com/MondayCha\"\u003e\u003ccode\u003e@​MondayCha\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e5c00df8afadd06cc5be530dde00fe6d9fa4a2e4a: fix(render): write content length in Data.Render (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4206\"\u003e#4206\u003c/a\u003e) (\u003ca href=\"https://github.com/dengaleev\"\u003e\u003ccode\u003e@​dengaleev\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e234a6d4c00cb77af9852aca0b8289745d5529b4b: fix(response): refine hijack behavior for response lifecycle (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4373\"\u003e#4373\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e472d086af2acd924cb4b9d7be0525f7d790f69bc: fix(tree): panic in findCaseInsensitivePathRec with RedirectFixedPath (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4535\"\u003e#4535\u003c/a\u003e) (\u003ca href=\"https://github.com/veeceey\"\u003e\u003ccode\u003e@​veeceey\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e8e07d37c63e5536eb25f4af4c91eabeee4011fba: fix: Correct typos, improve documentation clarity, and remove dead code (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4511\"\u003e#4511\u003c/a\u003e) (\u003ca href=\"https://github.com/mahanadh\"\u003e\u003ccode\u003e@​mahanadh\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eba093d19477b896ac89a7fc3246af23d290b8e26: chore(binding): upgrade bson dependency to mongo-driver v2 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4549\"\u003e#4549\u003c/a\u003e) (\u003ca href=\"https://github.com/BobDu\"\u003e\u003ccode\u003e@​BobDu\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eb2b489dbf4826c2c630717a77fd5e42774625410: chore(context): always trust xff headers from unix socket (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/3359\"\u003e#3359\u003c/a\u003e) (\u003ca href=\"https://github.com/WeidiDeng\"\u003e\u003ccode\u003e@​WeidiDeng\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eecb3f7b5e2f3915bf1db240ed5eee572f8dbea36: chore(deps): upgrade golang.org/x/crypto to v0.45.0 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4449\"\u003e#4449\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eaf6e8b70b8261bb0c99ad094fe552ab92991620a: chore(deps): upgrade quic-go to v0.57.1 (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edb309081bc5c137b2aa15701ef53f7f19788da25: chore(logger): allow skipping query string output (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4547\"\u003e#4547\u003c/a\u003e) (\u003ca href=\"https://github.com/USA-RedDragon\"\u003e\u003ccode\u003e@​USA-RedDragon\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e26c3a628655cad2388380cb8102d6ce7d4875f3b: chore(response): prevent Flush() panic when \u003ccode\u003ehttp.Flusher\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4479\"\u003e#4479\u003c/a\u003e) (\u003ca href=\"https://github.com/Twacqwq\"\u003e\u003ccode\u003e@​Twacqwq\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e5dd833f1f26de0eb30eae47b17e05ced2482dc41: chore: bump minimum Go version to 1.24 and update workflows (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4388\"\u003e#4388\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRefactor\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e39858a0859c914bd26948fa950477e11bd8d3823: refactor(binding): use maps.Copy for cleaner map handling (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4352\"\u003e#4352\u003c/a\u003e) (\u003ca href=\"https://github.com/russcoss\"\u003e\u003ccode\u003e@​russcoss\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ec0048f645ee945c4db30593afdea10123e2c30a6: refactor(context): omit the return value names (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4395\"\u003e#4395\u003c/a\u003e) (\u003ca href=\"https://github.com/wanghaolong613\"\u003e\u003ccode\u003e@​wanghaolong613\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e915e4c90d28ec4cffc6eb146e208ab5a65eac772: refactor(context): replace hardcoded localhost IPs with constants (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4481\"\u003e#4481\u003c/a\u003e) (\u003ca href=\"https://github.com/pauloappbr\"\u003e\u003ccode\u003e@​pauloappbr\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e414de60574449457f3192a7a1d5528940db2836d: refactor(context): using maps.Clone (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4333\"\u003e#4333\u003c/a\u003e) (\u003ca href=\"https://github.com/cuiweixie\"\u003e\u003ccode\u003e@​cuiweixie\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e59e9d4a794f12c4f9a6c7bed441b9644e5f6d99b: refactor(ginS): use sync.OnceValue to simplify engine function (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4314\"\u003e#4314\u003c/a\u003e) (\u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e3ab698dc5110af1977d57226e4995c57dd34c233: refactor(recovery): smart error comparison (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4142\"\u003e#4142\u003c/a\u003e) (\u003ca href=\"https://github.com/zeek0x\"\u003e\u003ccode\u003e@​zeek0x\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ed1a15347b1e45a8ee816193d3578a93bfd73b70f: refactor(utils): move util functions to utils.go (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4467\"\u003e#4467\u003c/a\u003e) (\u003ca href=\"https://github.com/zeek0x\"\u003e\u003ccode\u003e@​zeek0x\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ee3118cc378d263454098924ebbde7e8d1dd2e904: refactor: for loop can be modernized using range over int (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4392\"\u003e#4392\u003c/a\u003e) (\u003ca href=\"https://github.com/wanghaolong613\"\u003e\u003ccode\u003e@​wanghaolong613\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e488f8c3ffa579a8d19beb2bae95ff8ef36b3d53f: refactor: replace magic numbers with named constants in bodyAllowedForStatus (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4529\"\u003e#4529\u003c/a\u003e) (\u003ca href=\"https://github.com/veeceey\"\u003e\u003ccode\u003e@​veeceey\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e9968c4bf9d5a99edc3eee2c068a4c9160ece8915: refactor: use b.Loop() to simplify the code and improve performance (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4389\"\u003e#4389\u003c/a\u003e) (\u003ca href=\"https://github.com/reddaisyy\"\u003e\u003ccode\u003e@​reddaisyy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ea85ef5ce4d0cda8834c59c855068ed48b51192d1: refactor: use b.Loop() to simplify the code and improve performance (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4432\"\u003e#4432\u003c/a\u003e) (\u003ca href=\"https://github.com/efcking\"\u003e\u003ccode\u003e@​efcking\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBuild process updates\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e61b67de522a189b568aced4c5c16917c558e3387: ci(bot): increase frequency and group updates for dependencies (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4367\"\u003e#4367\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efb27ef26c2fdfe25344b4c039d8a53551f9e912c: ci(lint): refactor test assertions and linter configuration (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4436\"\u003e#4436\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e93ff771e6dbf10e432864b30f3719ac5c84a4d4a: ci(sec): improve type safety and server organization in HTTP middleware (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4437\"\u003e#4437\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ee88fc8927a52b74f55bec0351604a56ac0aa1c51: ci(sec): schedule Trivy security scans to run daily at midnight UTC (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4439\"\u003e#4439\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e5e5ff3ace496a31b138b0820136a146bfb5de0ef: ci: replace vulnerability scanning workflow with Trivy integration (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4421\"\u003e#4421\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e00900fb3e1ea9dde33985a0e4f6afec793d5e786: ci: update CI workflows and standardize Trivy config quotes (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4531\"\u003e#4531\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eae3f524974fc4f55d18c9e7fae4614503c015226: ci: update Go version support to 1.25+ across CI and docs (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4550\"\u003e#4550\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/gin-gonic/gin/blob/master/CHANGELOG.md\"\u003egithub.com/gin-gonic/gin's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eGin v1.12.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat(render): add bson protocol (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4145\"\u003e#4145\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(context): add GetError and GetErrorSlice methods for error retrieval (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4502\"\u003e#4502\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(binding): add support for encoding.UnmarshalText in uri/query binding (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4203\"\u003e#4203\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(gin): add option to use escaped path (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4420\"\u003e#4420\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(context): add Protocol Buffers support to content negotiation (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4423\"\u003e#4423\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(context): implemented Delete method (\u003ca href=\"https://github.com/gin-gonic/gin/commit/38e7651\"\u003e#38e7651\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(logger): color latency (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4146\"\u003e#4146\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eperf(tree): reduce allocations in findCaseInsensitivePath (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4417\"\u003e#4417\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eperf(recovery): optimize line reading in stack function (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4466\"\u003e#4466\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eperf(path): replace regex with custom functions in redirectTrailingSlash (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4414\"\u003e#4414\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eperf(tree): optimize path parsing using strings.Count (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4246\"\u003e#4246\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(logger): allow skipping query string output (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4547\"\u003e#4547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(context): always trust xff headers from unix socket (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/3359\"\u003e#3359\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(response): prevent Flush() panic when the underlying ResponseWriter does not implement \u003ccode\u003ehttp.Flusher\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4479\"\u003e#4479\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(recovery): smart error comparison (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4142\"\u003e#4142\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(context): replace hardcoded localhost IPs with constants (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4481\"\u003e#4481\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(utils): move util functions to utils.go (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4467\"\u003e#4467\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(binding): use maps.Copy for cleaner map handling (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4352\"\u003e#4352\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(context): using maps.Clone (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4333\"\u003e#4333\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(ginS): use sync.OnceValue to simplify engine function (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4314\"\u003e#4314\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor: replace magic numbers with named constants in bodyAllowedForStatus (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4529\"\u003e#4529\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor: for loop can be modernized using range over int (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4392\"\u003e#4392\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(tree): panic in findCaseInsensitivePathRec with RedirectFixedPath (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4535\"\u003e#4535\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(render): write content length in Data.Render (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4206\"\u003e#4206\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(context): ClientIP handling for multiple X-Forwarded-For header values (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4472\"\u003e#4472\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(binding): empty value error (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/2169\"\u003e#2169\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(recover): suppress http.ErrAbortHandler in recover (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4336\"\u003e#4336\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(gin): literal colon routes not working with engine.Handler() (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4415\"\u003e#4415\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(gin): close os.File in RunFd to prevent resource leak (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4422\"\u003e#4422\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(response): refine hijack behavior for response lifecycle (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4373\"\u003e#4373\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(binding): improve empty slice/array handling in form binding (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4380\"\u003e#4380\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(debug): version mismatch (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4403\"\u003e#4403\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: correct typos, improve documentation clarity, and remove dead code (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4511\"\u003e#4511\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBuild process updates / CI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eci: update Go version support to 1.25+ across CI and docs (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4550\"\u003e#4550\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(binding): upgrade bson dependency to mongo-driver v2 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4549\"\u003e#4549\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eGin v1.11.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/73726dc606796a025971fe451f0aa6f1b9b847f6\"\u003e\u003ccode\u003e73726dc\u003c/code\u003e\u003c/a\u003e docs: update documentation to reflect Go version changes (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4552\"\u003e#4552\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/e292e5caa777bce70b66fe08c94cbe9cef3e2ec9\"\u003e\u003ccode\u003ee292e5c\u003c/code\u003e\u003c/a\u003e docs: document and finalize Gin v1.12.0 release (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4551\"\u003e#4551\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/ae3f524974fc4f55d18c9e7fae4614503c015226\"\u003e\u003ccode\u003eae3f524\u003c/code\u003e\u003c/a\u003e ci: update Go version support to 1.25+ across CI and docs (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4550\"\u003e#4550\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/38534e2bf98a06e1f62d6b24384e90b5f78699bf\"\u003e\u003ccode\u003e38534e2\u003c/code\u003e\u003c/a\u003e chore(deps): bump golang.org/x/net from 0.50.0 to 0.51.0 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4548\"\u003e#4548\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/472d086af2acd924cb4b9d7be0525f7d790f69bc\"\u003e\u003ccode\u003e472d086\u003c/code\u003e\u003c/a\u003e fix(tree): panic in findCaseInsensitivePathRec with RedirectFixedPath (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4535\"\u003e#4535\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/fb2583442c4d9bccb75e6d26f1aa6e7c01950db6\"\u003e\u003ccode\u003efb25834\u003c/code\u003e\u003c/a\u003e test(context): use http.StatusContinue constant instead of magic number 100 (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/6f1d5fe3cdb171a08928c3c9dd3fbcfc9ee1b521\"\u003e\u003ccode\u003e6f1d5fe\u003c/code\u003e\u003c/a\u003e test(render): add comprehensive error handling tests (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4541\"\u003e#4541\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/5c00df8afadd06cc5be530dde00fe6d9fa4a2e4a\"\u003e\u003ccode\u003e5c00df8\u003c/code\u003e\u003c/a\u003e fix(render): write content length in Data.Render (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4206\"\u003e#4206\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/db309081bc5c137b2aa15701ef53f7f19788da25\"\u003e\u003ccode\u003edb30908\u003c/code\u003e\u003c/a\u003e chore(logger): allow skipping query string output (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4547\"\u003e#4547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/ba093d19477b896ac89a7fc3246af23d290b8e26\"\u003e\u003ccode\u003eba093d1\u003c/code\u003e\u003c/a\u003e chore(binding): upgrade bson dependency to mongo-driver v2 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4549\"\u003e#4549\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/gin-gonic/gin/compare/v1.10.0...v1.12.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/klauspost/compress` from 1.18.0 to 1.18.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/klauspost/compress/releases\"\u003egithub.com/klauspost/compress's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.18.6\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003es2: Fix amd64 stack frame corruption by \u003ca href=\"https://github.com/klauspost\"\u003e\u003ccode\u003e@​klauspost\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/klauspost/compress/pull/1145\"\u003eklauspost/compress#1145\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003egzhttp: Canonicalize ETag header by \u003ca href=\"https://github.com/justinmayhew\"\u003e\u003ccode\u003e@​justinmayhew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/klauspost/compress/pull/1139\"\u003eklauspost/compress#1139\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eperf: pool hash tables in Go encode paths to reduce allocations by \u003ca href=\"https://github.com/huynhanx03\"\u003e\u003ccode\u003e@​huynhanx03\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/klauspost/compress/pull/1143\"\u003eklauspost/compress#1143\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/justinmayhew\"\u003e\u003ccode\u003e@​justinmayhew\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/klauspost/compress/pull/1139\"\u003eklauspost/compress#1139\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/huynhanx03\"\u003e\u003ccode\u003e@​huynhanx03\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/klauspost/compress/pull/1143\"\u003eklauspost/compress#1143\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/thaJeztah\"\u003e\u003ccode\u003e@​thaJeztah\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/klauspost/compress/pull/1144\"\u003eklauspost/compress#1144\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/klauspost/compress/compare/v1.18.5...v1.18.6\"\u003ehttps://github.com/klauspost/compress/compare/v1.18.5...v1.18.6\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.18.5\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ezstd: Fix crash when changing encoder dictionary with same ID by \u003ca href=\"https://github.com/klauspost\"\u003e\u003ccode\u003e@​klauspost\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/klauspost/compress/pull/1135\"\u003eklauspost/compress#1135\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ezstd: Default to full zero frames by \u003ca href=\"https://github.com/klauspost\"\u003e\u003ccode\u003e@​klauspost\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/klauspost/compress/pull/1134\"\u003eklauspost/compress#1134\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eflate: Clean up histogram order by \u003ca href=\"https://github.com/klauspost\"\u003e\u003ccode\u003e@​klauspost\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/klauspost/compress/pull/1133\"\u003eklauspost/compress#1133\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/klauspost/compress/compare/v1.18.4...v1.18.5\"\u003ehttps://github.com/klauspost/compress/compare/v1.18.4...v1.18.5\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.18.4\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003egzhttp: Add zstandard to server handler wrapper by \u003ca href=\"https://github.com/klauspost\"\u003e\u003ccode\u003e@​klauspost\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/klauspost/compress/pull/1121\"\u003eklauspost/compress#1121\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ezstd: Add ResetWithOptions to encoder/decoder by \u003ca href=\"https://github.com/klauspost\"\u003e\u003ccode\u003e@​klauspost\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/klauspost/compress/pull/1122\"\u003eklauspost/compress#1122\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003egzhttp: preserve qvalue when extra parameters follow in Accept-Encoding by \u003ca href=\"https://github.com/analytically\"\u003e\u003ccode\u003e@​analytically\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/klauspost/compress/pull/1116\"\u003eklauspost/compress#1116\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/analytically\"\u003e\u003ccode\u003e@​analytically\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/klauspost/compress/pull/1116\"\u003eklauspost/compress#1116\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ethaizone\"\u003e\u003ccode\u003e@​ethaizone\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/klauspost/compress/pull/1124\"\u003eklauspost/compress#1124\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zwass\"\u003e\u003ccode\u003e@​zwass\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/klauspost/compress/pull/1125\"\u003eklauspost/compress#1125\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/klauspost/compress/compare/v1.18.2...v1.18.4\"\u003ehttps://github.com/klauspost/compress/compare/v1.18.2...v1.18.4\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.18.3\u003c/h2\u003e\n\u003cp\u003eDownstream CVE-2025-61728\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://redirect.github.com/golang/go/issues/77102\"\u003egolang/go#77102\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/klauspost/compress/compare/v1.18.2...v1.18.3\"\u003ehttps://github.com/klauspost/compress/compare/v1.18.2...v1.18.3\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.18.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eflate: Fix invalid encoding on level 9 with single value input by \u003ca href=\"https://github.com/klauspost\"\u003e\u003ccode\u003e@​klauspost\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/klauspost/compress/pull/1115\"\u003eklauspost/compress#1115\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eflate: reduce stateless allocations by \u003ca href=\"https://github.com/RXamzin\"\u003e\u003ccode\u003e@​RXamzin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/klauspost/compress/pull/1106\"\u003eklauspost/compress#1106\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump github/codeql-action from 3.30.5 to 4.31.2 in the github-actions group by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/klauspost/compress/pull/1111\"\u003eklauspost/compress#1111\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ccode\u003ev1.18.1\u003c/code\u003e is marked \u0026quot;retracted\u0026quot; due to invalid flate/zip/gzip encoding.\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/klauspost/compress/commit/ac2f5e87a3089bd58c974ca53cef71c7aa8bf877\"\u003e\u003ccode\u003eac2f5e8\u003c/code\u003e\u003c/a\u003e docs: use unix line-endings for markdown files (\u003ca href=\"https://redirect.github.com/klauspost/compress/issues/1144\"\u003e#1144\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/klauspost/compress/commit/620d7b5cfbf89fbfdf69884f8a561a2981c25b11\"\u003e\u003ccode\u003e620d7b5\u003c/code\u003e\u003c/a\u003e s2: Fix amd64 stack frame corruption (\u003ca href=\"https://redirect.github.com/klauspost/compress/issues/1145\"\u003e#1145\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/klauspost/compress/commit/1b63f2fece784da6334068c671e3f94366bf9d68\"\u003e\u003ccode\u003e1b63f2f\u003c/code\u003e\u003c/a\u003e build(deps): bump the github-actions group with 2 updates (\u003ca href=\"https://redirect.github.com/klauspost/compress/issues/1141\"\u003e#1141\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/klauspost/compress/commit/3d86b893733380c370eba876f5beaaf63aeeea94\"\u003e\u003ccode\u003e3d86b89\u003c/code\u003e\u003c/a\u003e s2: pool hash tables in Go encode paths to reduce allocations (\u003ca href=\"https://redirect.github.com/klauspost/compress/issues/1143\"\u003e#1143\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/klauspost/compress/commit/15967def6890f5494829394274686436976c4936\"\u003e\u003ccode\u003e15967de\u003c/code\u003e\u003c/a\u003e gzhttp: Canonicalize ETag header (\u003ca href=\"https://redirect.github.com/klauspost/compress/issues/1139\"\u003e#1139\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/klauspost/compress/commit/c5e0077f50a3268a27b02816adc48ebfb535c65e\"\u003e\u003ccode\u003ec5e0077\u003c/code\u003e\u003c/a\u003e zstd: Fix encoder changing dictionary with same ID (\u003ca href=\"https://redirect.github.com/klauspost/compress/issues/1135\"\u003e#1135\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/klauspost/compress/commit/fd3f23e2d1d0fca18f38ee2dfedb73d0ca5b02e5\"\u003e\u003ccode\u003efd3f23e\u003c/code\u003e\u003c/a\u003e zstd: Default to full zero frames (\u003ca href=\"https://redirect.github.com/klauspost/compress/issues/1134\"\u003e#1134\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/klauspost/compress/commit/8233c587ef6e7b0f5168bfc08e63ea37e97b2d36\"\u003e\u003ccode\u003e8233c58\u003c/code\u003e\u003c/a\u003e flate: Clean up histogram order (\u003ca href=\"https://redirect.github.com/klauspost/compress/issues/1133\"\u003e#1133\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/klauspost/compress/commit/bcf0d1289c8df01178af919dd5d8ff83afaa5471\"\u003e\u003ccode\u003ebcf0d12\u003c/code\u003e\u003c/a\u003e build(deps): bump the github-actions group with 3 updates (\u003ca href=\"https://redirect.github.com/klauspost/compress/issues/1132\"\u003e#1132\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/klauspost/compress/commit/cf758fe1c54e3049f302474d2a98afd3acc1a884\"\u003e\u003ccode\u003ecf758fe\u003c/code\u003e\u003c/a\u003e ci: Upgrade Go versions, clean up (\u003ca href=\"https://redirect.github.com/klauspost/compress/issues/1130\"\u003e#1130\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/klauspost/compress/compare/v1.18.0...v1.18.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/samber/lo` from 1.49.1 to 1.53.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/samber/lo/releases\"\u003egithub.com/samber/lo's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.53.0\u003c/h2\u003e\n\u003cp\u003eAnnouncing the latest release of \u003ccode\u003elo\u003c/code\u003e with lots of good gifts! 🎁\u003c/p\u003e\n\u003cp\u003e🌊 First, a big thanks to \u003ca href=\"https://github.com/d-enk\"\u003e\u003ccode\u003e@​d-enk\u003c/code\u003e\u003c/a\u003e for making lots of \u003cstrong\u003eperformance improvements\u003c/strong\u003e in the recent weeks.\u003c/p\u003e\n\u003cp\u003e🧪 Second, this release introduces a new \u003cstrong\u003e\u003ccode\u003esimd\u003c/code\u003e experimental package\u003c/strong\u003e. If you run on an amd64 architecture and a recent CPU, you can perform very fast operations thanks to SIMD CPU instructions.\n-\u0026gt; Documentation: \u003ca href=\"https://lo.samber.dev/docs/experimental/simd\"\u003ehttps://lo.samber.dev/docs/experimental/simd\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e💥 Third, this version adds \u003cstrong\u003e\u003ccode\u003e*Err\u003c/code\u003e variants\u003c/strong\u003e of many \u003ccode\u003elo\u003c/code\u003e helpers (like \u003cstrong\u003e\u003ccode\u003eMapErr\u003c/code\u003e, \u003ccode\u003eFlatMapErr\u003c/code\u003e, \u003ccode\u003eReduceErr\u003c/code\u003e, etc.\u003c/strong\u003e) whose callbacks can return an error and short-circuit execution when one occurs.\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!NOTE]\nThe \u003ccode\u003esimd\u003c/code\u003e sub-package is considered \u003cem\u003enot stable\u003c/em\u003e. We might break the initial API based on developers' feedback in the coming months.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003chr /\u003e\n\u003ch2\u003eFeatures \u0026amp; improvements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efeat: adding SIMD helpers by \u003ca href=\"https://github.com/samber\"\u003e\u003ccode\u003e@​samber\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/samber/lo/pull/801\"\u003esamber/lo#801\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: adding Error variants: MapErr, FlatMapErr, ReduceErr... by \u003ca href=\"https://github.com/samber\"\u003e\u003ccode\u003e@​samber\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/samber/lo/pull/823\"\u003esamber/lo#823\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: support for buffer iterator by \u003ca href=\"https://github.com/mimol91\"\u003e\u003ccode\u003e@​mimol91\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/samber/lo/pull/824\"\u003esamber/lo#824\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: add Take, TakeWhile, FilterTake, Window, and Sliding functions by \u003ca href=\"https://github.com/juliazadorozhnaya\"\u003e\u003ccode\u003e@​juliazadorozhnaya\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/samber/lo/pull/760\"\u003esamber/lo#760\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: add a Concat slice function. by \u003ca href=\"https://github.com/FGasper\"\u003e\u003ccode\u003e@​FGasper\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/samber/lo/pull/714\"\u003esamber/lo#714\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: add iterator slice helpers by \u003ca href=\"https://github.com/juliazadorozhnaya\"\u003e\u003ccode\u003e@​juliazadorozhnaya\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/samber/lo/pull/791\"\u003esamber/lo#791\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(it): adding loit.Concat by \u003ca href=\"https://github.com/samber\"\u003e\u003ccode\u003e@​samber\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/samber/lo/pull/722\"\u003esamber/lo#722\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: Allow Union/Intersect to take many lists by \u003ca href=\"https://github.com/frankywahl\"\u003e\u003ccode\u003e@​frankywahl\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/samber/lo/pull/181\"\u003esamber/lo#181\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: Add Clone function to return shallow copy of slice collections by \u003ca href=\"https://github.com/quexer\"\u003e\u003ccode\u003e@​quexer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/samber/lo/pull/732\"\u003esamber/lo#732\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: IntersectBy by \u003ca href=\"https://github.com/ghosx\"\u003e\u003ccode\u003e@​ghosx\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/samber/lo/pull/653\"\u003esamber/lo#653\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: Support Custom Assert by \u003ca href=\"https://github.com/RelicOfTesla\"\u003e\u003ccode\u003e@​RelicOfTesla\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/samber/lo/pull/755\"\u003esamber/lo#755\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: Must support Custom error handler. by \u003ca href=\"https://github.com/RelicOfTesla\"\u003e\u003ccode\u003e@​RelicOfTesla\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/samber/lo/pull/752\"\u003esamber/lo#752\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: WithoutNth handle non-comparable types by \u003ca href=\"https://github.com/urisimchoni\"\u003e\u003ccode\u003e@​urisimchoni\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/samber/lo/pull/774\"\u003esamber/lo#774\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor: remove unnecessary type arguments in \u003ccode\u003eNewThrottle\u003c/code\u003e by \u003ca href=\"https://github.com/d-enk\"\u003e\u003ccode\u003e@​d-enk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/samber/lo/pull/773\"\u003esamber/lo#773\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor: lo.IntersectBy + adding loit.IntersectBy + adding doc by \u003ca href=\"https://github.com/samber\"\u003e\u003ccode\u003e@​samber\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/samber/lo/pull/739\"\u003esamber/lo#739\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: rename IsSortedByKey to IsSortedBy by \u003ca href=\"https://github.com/NathanBaulch\"\u003e\u003ccode\u003e@​NathanBaulch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/samber/lo/pull/735\"\u003esamber/lo#735\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(iter/tuples): support break iteration over Zip[By] seq by \u003ca href=\"https://github.com/d-enk\"\u003e\u003ccode\u003e@​d-enk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/samber/lo/pull/757\"\u003esamber/lo#757\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(it.Mode): align behavior with lo.Mode and ensure consistent slice… by \u003ca href=\"https://github.com/intojhanurag\"\u003e\u003ccode\u003e@​intojhanurag\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/samber/lo/pull/711\"\u003esamber/lo#711\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: improve Clone function to preserve nilness and avoid liveness issues by \u003ca href=\"https://github.com/quexer\"\u003e\u003ccode\u003e@​quexer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/samber/lo/pull/740\"\u003esamber/lo#740\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: reset n counter per iteration in it.Replace by \u003ca href=\"https://github.com/LikimiaD\"\u003e\u003ccode\u003e@​LikimiaD\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/samber/lo/pull/799\"\u003esamber/lo#799\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: make Ellipsis operate on runes instead of bytes to prevent Unicode truncation by \u003ca href=\"https://github.com/veeceey\"\u003e\u003ccode\u003e@​veeceey\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/samber/lo/pull/796\"\u003esamber/lo#796\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: correct \u003ccode\u003eDropByIndex\u003c/code\u003e handling of negative indices out of bounds by \u003ca href=\"https://github.com/d-enk\"\u003e\u003ccode\u003e@​d-enk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/samber/lo/pull/778\"\u003esamber/lo#778\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDeprecation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003erefactor: remove helpers deprecated for more than 3y by \u003ca href=\"https://github.com/samber\"\u003e\u003ccode\u003e@​samber\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/samber/lo/pull/810\"\u003esamber/lo#810\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ePerformance improvements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efeat: Optimize UniqMap to reduce unnecessary slice preallocation by \u003ca href=\"https://github.com/ivolkoff\"\u003e\u003ccode\u003e@​ivolkoff\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/samber/lo/pull/710\"\u003esamber/lo#710\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor(it): simplify DropLast, TrimSuffix, TrimPrefix and use range loops by \u003ca href=\"https://github.com/d-enk\"\u003e\u003ccode\u003e@​d-enk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/samber/lo/pull/782\"\u003esamber/lo#782\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebench: fix iterators to actually iterate in benchmarks by \u003ca href=\"https://github.com/d-enk\"\u003e\u003ccode\u003e@​d-enk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/samber/lo/pull/781\"\u003esamber/lo#781\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor: simplify slice cut/trim prefix/suffix functions by \u003ca href=\"https://github.com/d-enk\"\u003e\u003ccode\u003e@​d-enk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/samber/lo/pull/787\"\u003esamber/lo#787\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eperf: optimize Sliding by pre-allocating result capacity by \u003ca href=\"https://github.com/d-enk\"\u003e\u003ccode\u003e@​d-enk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/samber/lo/pull/783\"\u003esamber/lo#783\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/samber/lo/commit/cf6fb4f9b08c1d3d6e309581316f106dc30b458e\"\u003e\u003ccode\u003ecf6fb4f\u003c/code\u003e\u003c/a\u003e bump v1.53.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/samber/lo/commit/56ef3beaf8adfea1908b094e49b3b639ea604aab\"\u003e\u003ccode\u003e56ef3be\u003c/code\u003e\u003c/a\u003e feat: support for buffer iterator (\u003ca href=\"https://redirect.github.com/samber/lo/issues/824\"\u003e#824\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/samber/lo/commit/6a9f881ae1ff32a7c650464615d175ef4c26d833\"\u003e\u003ccode\u003e6a9f881\u003c/code\u003e\u003c/a\u003e :lipstick:\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/samber/lo/commit/7f0c2e0297fc2fdffe9c69c254dee8d00f60c90a\"\u003e\u003ccode\u003e7f0c2e0\u003c/code\u003e\u003c/a\u003e feat: adding UnzipByErrX helpers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/samber/lo/commit/af46a13bfce4ae037193c23e05866df8d79cd163\"\u003e\u003ccode\u003eaf46a13\u003c/code\u003e\u003c/a\u003e feat: adding RejectErr helpers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/samber/lo/commit/6f42e74a117ce59882e92a9d4a5b05520d5dee33\"\u003e\u003ccode\u003e6f42e74\u003c/code\u003e\u003c/a\u003e doc: improve examples\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/samber/lo/commit/ff0e293ce3dbde1e80a1b1eb059078aa7d1442c4\"\u003e\u003ccode\u003eff0e293\u003c/code\u003e\u003c/a\u003e feat: adding FilterErr helpers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/samber/lo/commit/4bb58fd2c6d86bf54eb9408b8247d056b8f4a006\"\u003e\u003ccode\u003e4bb58fd\u003c/code\u003e\u003c/a\u003e feat: adding RepeatByErr helpers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/samber/lo/commit/72a33aa3970554921210253dcce90540d6e34388\"\u003e\u003ccode\u003e72a33aa\u003c/code\u003e\u003c/a\u003e feat: adding FilterKeysErr + FilterValuesErr helpers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/samber/lo/commit/dd1d58e324c2277117dbdbfa86f409473eda5ece\"\u003e\u003ccode\u003edd1d58e\u003c/code\u003e\u003c/a\u003e feat: adding FindDuplicatesByErr helper\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/samber/lo/compare/v1.49.1...v1.53.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/spf13/afero` from 1.14.0 to 1.15.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/spf13/afero/releases\"\u003egithub.com/spf13/afero's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.15.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump golangci/golangci-lint-action from 6.5.1 to 6.5.2 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/spf13/afero/pull/479\"\u003espf13/afero#479\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLint by \u003ca href=\"https://github.com/sagikazarmark\"\u003e\u003ccode\u003e@​sagikazarmark\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/spf13/afero/pull/492\"\u003espf13/afero#492\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump github/codeql-action from 2.13.4 to 3.28.15 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/spf13/afero/pull/494\"\u003espf13/afero#494\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump actions/dependency-review-action from 4.5.0 to 4.6.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/spf13/afero/pull/493\"\u003espf13/afero#493\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/setup-go from 5.3.0 to 5.4.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/spf13/afero/pull/480\"\u003espf13/afero#480\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump github/codeql-action from 3.28.15 to 3.28.16 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/spf13/afero/pull/496\"\u003espf13/afero#496\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003esupport aliyun oss storage with third-party link by \u003ca href=\"https://github.com/messikiller\"\u003e\u003ccode\u003e@​messikiller\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/spf13/afero/pull/491\"\u003espf13/afero#491\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump github/codeql-action from 3.28.16 to 3.28.17 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/spf13/afero/pull/497\"\u003espf13/afero#497\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: update x/test by \u003ca href=\"https://github.com/sagikazarmark\"\u003e\u003ccode\u003e@​sagikazarmark\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/spf13/afero/pull/502\"\u003espf13/afero#502\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump actions/setup-go from 5.4.0 to 5.5.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/spf13/afero/pull/503\"\u003espf13/afero#503\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump actions/dependency-review-action from 4.6.0 to 4.7.1 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/spf13/afero/pull/505\"\u003espf13/afero#505\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump github/codeql-action from 3.28.17 to 3.28.18 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/spf13/afero/pull/506\"\u003espf13/afero#506\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(gcsfs): update object not exist check logic by \u003ca href=\"https://github.com/ahkui\"\u003e\u003ccode\u003e@​ahkui\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/spf13/afero/pull/485\"\u003espf13/afero#485\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump ossf/scorecard-action from 2.4.1 to 2.4.2 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/spf13/afero/pull/508\"\u003espf13/afero#508\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump github/codeql-action from 3.28.18 to 3.29.4 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/spf13/afero/pull/519\"\u003espf13/afero#519\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump github/codeql-action from 3.29.4 to 3.29.7 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/spf13/afero/pull/524\"\u003espf13/afero#524\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump github/codeql-action from 3.29.7 to 3.30.1 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/spf13/afero/pull/537\"\u003espf13/afero#537\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump actions/setup-go from 5.5.0 to 6.0.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/spf13/afero/pull/536\"\u003espf13/afero#536\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump actions/dependency-review-action from 4.7.1 to 4.7.3 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/spf13/afero/pull/533\"\u003espf13/afero#533\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump actions/checkout from 4.2.2 to 5.0.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/spf13/afero/pull/527\"\u003espf13/afero#527\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: update deps by \u003ca href=\"https://github.com/sagikazarmark\"\u003e\u003ccode\u003e@​sagikazarmark\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/spf13/afero/pull/538\"\u003espf13/afero#538\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: spelling errors (excpected -\u0026gt; expected, iself -\u0026gt; itself) by \u003ca href=\"https://github.com/MarkRosemaker\"\u003e\u003ccode\u003e@​MarkRosemaker\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/spf13/afero/pull/523\"\u003espf13/afero#523\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/messikiller\"\u003e\u003ccode\u003e@​messikiller\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/spf13/afero/pull/491\"\u003espf13/afero#491\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ahkui\"\u003e\u003ccode\u003e@​ahkui\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/spf13/afero/pull/485\"\u003espf13/afero#485\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MarkRosemaker\"\u003e\u003ccode\u003e@​MarkRosemaker\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/spf13/afero/pull/523\"\u003espf13/afero#523\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/spf13/afero/compare/v1.14.0...v1.15.0\"\u003ehttps://github.com/spf13/afero/compare/v1.14.0...v1.15.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spf13/afero/commit/399bb34ad9fd8a252ad1d8bfaef96279b66dc774\"\u003e\u003ccode\u003e399bb34\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/spf13/afero/issues/523\"\u003e#523\u003c/a\u003e from MarkRosemaker/fix-spelling\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spf13/afero/commit/9b67716b675a40406678b57cefe0260699008630\"\u003e\u003ccode\u003e9b67716\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/spf13/afero/issues/538\"\u003e#538\u003c/a\u003e from spf13/deps\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spf13/afero/commit/f5f4f7bd6427212efca35481b3b8c749bbf06243\"\u003e\u003ccode\u003ef5f4f7b\u003c/code\u003e\u003c/a\u003e chore: update deps\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spf13/afero/commit/c245c4fc3df2e427d681479553a625c5ef0e1eb8\"\u003e\u003ccode\u003ec245c4f\u003c/code\u003e\u003c/a\u003e ci: update ci\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spf13/afero/commit/85c49563d6385bdc0d6873937d5a28c4a5c6f5e6\"\u003e\u003ccode\u003e85c4956\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/spf13/afero/issues/527\"\u003e#527\u003c/a\u003e from spf13/dependabot/github_actions/actions/checkout...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spf13/afero/commit/41206fdfdacaad1dffaad870ded6f497ae1b803a\"\u003e\u003ccode\u003e41206fd\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/checkout from 4.2.2 to 5.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spf13/afero/commit/a583fade54a843a334e7595da81e287aa7adb63a\"\u003e\u003ccode\u003ea583fad\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/spf13/afero/issues/533\"\u003e#533\u003c/a\u003e from spf13/dependabot/github_actions/actions/dependen...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spf13/afero/commit/673c03e4c1ba4512a26a91b42602f762a93647af\"\u003e\u003ccode\u003e673c03e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/spf13/afero/issues/536\"\u003e#536\u003c/a\u003e from spf13/dependabot/github_actions/actions/setup-go...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spf13/afero/commit/ac849f6a1820b81c052bf0a64e09fd10c8c7a3e0\"\u003e\u003ccode\u003eac849f6\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/spf13/afero/issues/537\"\u003e#537\u003c/a\u003e from spf13/dependabot/github_actions/github/codeql-ac...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spf13/afero/commit/9596fe84b763fd2e18267ac455a4cedba2655194\"\u003e\u003ccode\u003e9596fe8\u003c/code\u003e\u003c/a\u003e build(deps): bump github/codeql-action from 3.29.7 to 3.30.1\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/spf13/afero/compare/v1.14.0...v1.15.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/spf13/cast` from 1.7.1 to 1.10.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/spf13/cast/releases\"\u003egithub.com/spf13/cast's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.10.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ebuild(deps): bump ossf/scorecard-action from 2.4.1 to 2.4.2 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/spf13/cast/pull/275\"\u003espf13/cast#275\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump github/codeql-action from 3.28.18 to 3.28.19 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/spf13/cast/pull/277\"\u003espf13/cast#277\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump github/codeql-action from 3.28.19 to 3.29.5 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/spf13/cast/pull/289\"\u003espf13/cast#289\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump github/codeql-action from 3.29.7 to 3.29.10 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/spf13/cast/pull/296\"\u003espf13/cast#296\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump actions/dependency-review-action from 4.7.1 to 4.7.2 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/spf13/cast/pull/295\"\u003espf13/cast#295\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump actions/checkout from 4.2.2 to 5.0.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/spf13/cast/pull/293\"\u003espf13/cast#293\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump github/codeql-action from 3.29.10 to 3.30.1 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/spf13/cast/pull/301\"\u003espf13/cast#301\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump actions/setup-go from 5.5.0 to 6.0.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/spf13/cast/pull/300\"\u003espf13/cast#300\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump actions/dependency-review-action from 4.7.2 to 4.7.3 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/spf13/cast/pull/298\"\u003espf13/cast#298\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAlways return empty map instead of nil when conversion fails by \u003ca href=\"https://github.com/andig\"\u003e\u003ccode\u003e@​andig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/spf13/cast/pull/283\"\u003espf13/cast#283\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andig\"\u003e\u003ccode\u003e@​andig\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/spf13/cast/pull/283\"\u003espf13/cast#283\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/spf13/cast/compare/v1.9.2...v1.10.0\"\u003ehttps://github.com/spf13/cast/compare/v1.9.2...v1.10.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.9.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: float string to number parsing by \u003ca href=\"https://github.com/sagikazarmark\"\u003e\u003ccode\u003e@​sagikazarmark\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/spf13/cast/pull/276\"\u003espf13/cast#276\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/spf13/cast/compare/v1.9.1...v1.9.2\"\u003ehttps://github.com/spf13/cast/compare/v1.9.1...v1.9.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.9.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: indirection of typed nils by \u003ca href=\"https://github.com/sagikazarmark\"\u003e\u003ccode\u003e@​sagikazarmark\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/spf13/cast/pull/273\"\u003espf13/cast#273\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/spf13/cast/compare/v1.9.0...v1.9.1\"\u003ehttps://github.com/spf13/cast/compare/v1.9.0...v1.9.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.9.0\u003c/h2\u003e\n\u003ch2\u003eNotable new features 🎉\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eCasting \u003cem\u003efrom\u003c/em\u003e type aliases is now supported for basic types\u003c/li\u003e\n\u003cli\u003eAdded generic functions: \u003ccode\u003eTo\u003c/code\u003e/\u003ccode\u003eToE\u003c/code\u003e, \u003ccode\u003eMust\u003c/code\u003e, \u003ccode\u003eToNumber\u003c/code\u003e/\u003ccode\u003eToNumberE\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eIncreased test coverage\u003c/li\u003e\n\u003cli\u003eConverting float numbers from string is now supported\u003c/li\u003e\n\u003c/ul\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!WARNING]\nSince cast now supports converting float values from strings, a related edge case behaves differently:\u003c/p\u003e\n\u003cp\u003eIn previous versions, attempting to convert an empty string to a float \u003cstrong\u003eresulted in an error\u003c/strong\u003e.\u003c/p\u003e\n\u003cp\u003eStarting with this version, the same operation \u003cstrong\u003eno longer raises an error\u003c/strong\u003e.\u003c/p\u003e\n\u003cp\u003eTo maintain consistency with the rest of the library, an empty string now converts to the float value \u003ccode\u003e0.0\u003c/code\u003e.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spf13/cast/commit/fc73346bfc4e6597bc520fb6eea04360299e77d2\"\u003e\u003ccode\u003efc73346\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/spf13/cast/issues/283\"\u003e#283\u003c/a\u003e from andig/patch-1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spf13/cast/commit/6002cff5a3bc7b67b52c91999bab9e202bb4388b\"\u003e\u003ccode\u003e6002cff\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/spf13/cast/issues/298\"\u003e#298\u003c/a\u003e from spf13/dependabot/github_actions/actions/dependen...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spf13/cast/commit/c1c153d6ac13157b2144e3e0552b60c9b0f62bec\"\u003e\u003ccode\u003ec1c153d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/spf13/cast/issues/300\"\u003e#300\u003c/a\u003e from spf13/dependabot/github_actions/actions/setup-go...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spf13/cast/commit/39beeac4bdd40af0083006e06b505d370eee56e7\"\u003e\u003ccode\u003e39beeac\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/spf13/cast/issues/301\"\u003e#301\u003c/a\u003e from spf13/dependabot/github_actions/github/codeql-ac...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spf13/cast/commit/365e80cabc9ebdca18b3fc4e1f16cf664652b7b3\"\u003e\u003ccode\u003e365e80c\u003c/code\u003e\u003c/a\u003e build(deps): bump github/codeql-action from 3.29.10 to 3.30.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spf13/cast/commit/9f0f68b802eef3497be6e4ba9542d2bb409b884d\"\u003e\u003ccode\u003e9f0f68b\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/setup-go from 5.5.0 to 6.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spf13/cast/commit/d45dead50f72c7662de987b91c4944cee91395be\"\u003e\u003ccode\u003ed45dead\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/dependency-review-action from 4.7.2 to 4.7.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spf13/cast/commit/004f51d2ec5beb17864a67ea0828cf96954b95ef\"\u003e\u003ccode\u003e004f51d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/spf13/cast/issues/293\"\u003e#293\u003c/a\u003e from spf13/dependabot/github_actions/actions/checkout...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spf13/cast/commit/6458e07a1b5ec9f7dbd4884323a1406ef5cc0394\"\u003e\u003ccode\u003e6458e07\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/spf13/cast/issues/295\"\u003e#295\u003c/a\u003e from spf13/dependabot/github_actions/actions/dependen...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spf13/cast/commit/970d9ea674b57f4b950f3fa76e51e94e710b72a1\"\u003e\u003ccode\u003e970d9ea\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/spf13/cast/issues/296\"\u003e#296\u003c/a\u003e from spf13/dependabot/github_actions/github/codeql-ac...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/spf13/cast/compare/v1.7.1...v1.10.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/stretchr/testify` from 1.10.0 to 1.11.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/stretchr/testify/releases\"\u003egithub.com/stretchr/testify's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.11.1\u003c/h2\u003e\n\u003cp\u003eThis release fixes \u003ca href=\"https://redirect.github.com/stretchr/testify/issues/1785\"\u003e#1785\u003c/a\u003e introduced in v1.11.0 where expected argument values implementing the stringer interface (\u003ccode\u003eString() string\u003c/code\u003e) with a method which mutates their value, when passed to mock.Mock.On (\u003ccode\u003em.On(\u0026quot;Method\u0026quot;, \u0026lt;expected\u0026gt;).Return()\u003c/code\u003e) or actual argument values passed to mock.Mock.Called may no longer match one another where they previously did match. The behaviour prior to v1.11.0 where the stringer is always called is restored. Future testify releases may not call the stringer method at all in this case.\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBackport \u003ca href=\"https://redirect.github.com/stretchr/testify/issues/1786\"\u003e#1786\u003c/a\u003e to release/1.11: mock: revert to pre-v1.11.0 argument matching behavior for mutating stringers by \u003ca href=\"https://github.com/brackendawson\"\u003e\u003ccode\u003e@​brackendawson\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/stretchr/testify/pull/1788\"\u003estretchr/testify#1788\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/stretchr/testify/compare/v1.11.0...v1.11.1\"\u003ehttps://github.com/stretchr/testify/compare/v1.11.0...v1.11.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.11.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eFunctional Changes\u003c/h3\u003e\n\u003cp\u003ev1.11.0 Includes a number of performance improvements.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCall stack perf change for CallerInfo by \u003ca href=\"https://github.com/mikeauclair\"\u003e\u003ccode\u003e@​mikeauclair\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/stretchr/testify/pull/1614\"\u003estretchr/testify#1614\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLazily render mock diff output on successful match by \u003ca href=\"https://github.com/mikeauclair\"\u003e\u003ccode\u003e@​mikeauclair\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/stretchr/testify/pull/1615\"\u003estretchr/testify#1615\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eassert: check early in Eventually, EventuallyWithT, and Never by \u003ca href=\"https://github.com/cszczepaniak\"\u003e\u003ccode\u003e@​cszczepaniak\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/stretchr/testify/pull/1427\"\u003estretchr/testify#1427\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eassert: add IsNotType by \u003ca href=\"https://github.com/bartventer\"\u003e\u003ccode\u003e@​bartventer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/stretchr/testify/pull/1730\"\u003estretchr/testify#1730\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eassert.JSONEq: shortcut if same strings by \u003ca href=\"https://github.com/dolmen\"\u003e\u003ccode\u003e@​dolmen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/stretchr/testify/pull/1754\"\u003estretchr/testify#1754\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eassert.YAMLEq: shortcut if same strings by \u003ca href=\"https://github.com/dolmen\"\u003e\u003ccode\u003e@​dolmen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/stretchr/testify/pull/1755\"\u003estretchr/testify#1755\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eassert: faster and simpler isEmpty using reflect.Value.IsZero by \u003ca href=\"https://github.com/dolmen\"\u003e\u003ccode\u003e@​dolmen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/stretchr/testify/pull/1761\"\u003estretchr/testify#1761\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003esuite: faster methods filtering (internal refactor) by \u003ca href=\"https://github.com/dolmen\"\u003e\u003ccode\u003e@​dolmen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/stretchr/testify/pull/1758\"\u003estretchr/testify#1758\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eassert.ErrorAs: log target type by \u003ca href=\"https://github.com/craig65535\"\u003e\u003ccode\u003e@​craig65535\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/stretchr/testify/pull/1345\"\u003estretchr/testify#1345\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix failure message formatting for Positive and Negative asserts in \u003ca href=\"https://redirect.github.com/stretchr/testify/pull/1062\"\u003estretchr/testify#1062\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprove ErrorIs message when error is nil but an error was expected by \u003ca href=\"https://github.com/tsioftas\"\u003e\u003ccode\u003e@​tsioftas\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/stretchr/testify/pull/1681\"\u003estretchr/testify#1681\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix Subset/NotSubset when calling with mixed input types by \u003ca href=\"https://github.com/siliconbrain\"\u003e\u003ccode\u003e@​siliconbrain\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/stretchr/testify/pull/1729\"\u003estretchr/testify#1729\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprove ErrorAs failure message when error is nil by \u003ca href=\"https://github.com/ccoVeille\"\u003e\u003ccode\u003e@​ccoVeille\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/stretchr/testify/pull/1734\"\u003estretchr/testify#1734\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003emock.AssertNumberOfCalls: improve error msg by \u003ca href=\"https://github.com/3scalation\"\u003e\u003ccode\u003e@​3scalation\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/stretchr/testify/pull/1743\"\u003estretchr/testify#1743\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation, Build \u0026amp; CI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edocs: Fix typo in README by \u003ca href=\"https://github.com/alexandear\"\u003e\u003ccode\u003e@​alexandear\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/stretchr/testify/pull/1688\"\u003estretchr/testify#1688\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReplace deprecated io/ioutil with io and os by \u003ca href=\"https://github.com/alexandear\"\u003e\u003ccode\u003e@​alexandear\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/stretchr/testify/pull/1684\"\u003estretchr/testify#1684\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocument consequences of calling t.FailNow() by \u003ca href=\"https://github.com/greg0ire\"\u003e\u003ccode\u003e@​greg0ire\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/stretchr/testify/pull/1710\"\u003estretchr/testify#1710\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: update docs for Unset \u003ca href=\"https://redirect.github.com/stretchr/testify/issues/1621\"\u003e#1621\u003c/a\u003e by \u003c...\n\n_Description has been truncated_","html_url":"https://github.com/wuxler/ruasec/pull/79","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/wuxler%2Fruasec/issues/79","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/79/packages"}},{"old_version":"1.10.1","new_version":"1.12.0","update_type":"minor","path":null,"pr_created_at":"2026-05-17T00:45:35.000Z","version_change":"1.10.1 → 1.12.0","issue":{"uuid":"4461808298","node_id":"PR_kwDOQuKcnM7cTBYj","number":10,"state":"open","title":"chore(deps): bump github.com/gin-gonic/gin from 1.10.1 to 1.12.0","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-17T00:45:35.000Z","updated_at":"2026-05-17T00:45:35.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)","packages":[{"name":"github.com/gin-gonic/gin","old_version":"1.10.1","new_version":"1.12.0","repository_url":"https://github.com/gin-gonic/gin"}],"path":null,"ecosystem":"go"},"body":"Bumps [github.com/gin-gonic/gin](https://github.com/gin-gonic/gin) from 1.10.1 to 1.12.0.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/gin-gonic/gin/releases\"\u003egithub.com/gin-gonic/gin's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.12.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e192ac89eefc1c30f7c97ae48a9ffb1c6f1c8c8bc: feat(binding): add support for encoding.UnmarshalText in uri/query binding (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4203\"\u003e#4203\u003c/a\u003e) (\u003ca href=\"https://github.com/takanuva15\"\u003e\u003ccode\u003e@​takanuva15\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e53410d2e07054369e0960fbe2eed97e1b9966f12: feat(context): add GetError and GetErrorSlice methods for error retrieval (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4502\"\u003e#4502\u003c/a\u003e) (\u003ca href=\"https://github.com/raju-mechatronics\"\u003e\u003ccode\u003e@​raju-mechatronics\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eacc55e049e33b401e810dbd8c0d6dcb6b3ba2b05: feat(context): add Protocol Buffers support to content negotiation (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4423\"\u003e#4423\u003c/a\u003e) (\u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e38e765119241d990705169bedb5002a29ae0cbd1: feat(context): implemented Delete method (\u003ca href=\"https://github.com/Spyder01\"\u003e\u003ccode\u003e@​Spyder01\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e771dcc6476d7bc6abb9ec0235ecefa4d38fe6fb0: feat(gin): add option to use escaped path (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4420\"\u003e#4420\u003c/a\u003e) (\u003ca href=\"https://github.com/ldesauw\"\u003e\u003ccode\u003e@​ldesauw\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e4dec17afdff48e8018c83618fbbe69fceeb2b41d: feat(logger): color latency (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4146\"\u003e#4146\u003c/a\u003e) (\u003ca href=\"https://github.com/wsyqn6\"\u003e\u003ccode\u003e@​wsyqn6\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ed7776de7d444935ea4385999711bd6331a98fecb: feat(render): add bson protocol (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4145\"\u003e#4145\u003c/a\u003e) (\u003ca href=\"https://github.com/laurentcau\"\u003e\u003ccode\u003e@​laurentcau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eb917b14ff9d189f16a7492be79d123a47806ee19: fix(binding): empty value error (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/2169\"\u003e#2169\u003c/a\u003e) (\u003ca href=\"https://github.com/guonaihong\"\u003e\u003ccode\u003e@​guonaihong\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ec3d1092b3b48addf6f9cd00fe274ec3bd14650eb: fix(binding): improve empty slice/array handling in form binding (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4380\"\u003e#4380\u003c/a\u003e) (\u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e9914178584e42458ff7d23891463a880f58c9d86: fix(context): ClientIP handling for multiple X-Forwarded-For header values (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4472\"\u003e#4472\u003c/a\u003e) (\u003ca href=\"https://github.com/Nurysso\"\u003e\u003ccode\u003e@​Nurysso\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e2a794cd0b0faa7d829291375b27a3467ea972b0d: fix(debug): version mismatch (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4403\"\u003e#4403\u003c/a\u003e) (\u003ca href=\"https://github.com/zeek0x\"\u003e\u003ccode\u003e@​zeek0x\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ec3d5a28ed6d3849da820195b6774d212bcc038a9: fix(gin): close os.File in RunFd to prevent resource leak (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4422\"\u003e#4422\u003c/a\u003e) (\u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e5fad976b372e381312f8de69f0969f1284d229d3: fix(gin): literal colon routes not working with engine.Handler() (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4415\"\u003e#4415\u003c/a\u003e) (\u003ca href=\"https://github.com/pawannn\"\u003e\u003ccode\u003e@​pawannn\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e63dd3e60cab89c27fb66bce1423bd268d52abad1: fix(recover): suppress http.ErrAbortHandler in recover (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4336\"\u003e#4336\u003c/a\u003e) (\u003ca href=\"https://github.com/MondayCha\"\u003e\u003ccode\u003e@​MondayCha\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e5c00df8afadd06cc5be530dde00fe6d9fa4a2e4a: fix(render): write content length in Data.Render (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4206\"\u003e#4206\u003c/a\u003e) (\u003ca href=\"https://github.com/dengaleev\"\u003e\u003ccode\u003e@​dengaleev\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e234a6d4c00cb77af9852aca0b8289745d5529b4b: fix(response): refine hijack behavior for response lifecycle (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4373\"\u003e#4373\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e472d086af2acd924cb4b9d7be0525f7d790f69bc: fix(tree): panic in findCaseInsensitivePathRec with RedirectFixedPath (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4535\"\u003e#4535\u003c/a\u003e) (\u003ca href=\"https://github.com/veeceey\"\u003e\u003ccode\u003e@​veeceey\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e8e07d37c63e5536eb25f4af4c91eabeee4011fba: fix: Correct typos, improve documentation clarity, and remove dead code (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4511\"\u003e#4511\u003c/a\u003e) (\u003ca href=\"https://github.com/mahanadh\"\u003e\u003ccode\u003e@​mahanadh\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eba093d19477b896ac89a7fc3246af23d290b8e26: chore(binding): upgrade bson dependency to mongo-driver v2 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4549\"\u003e#4549\u003c/a\u003e) (\u003ca href=\"https://github.com/BobDu\"\u003e\u003ccode\u003e@​BobDu\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eb2b489dbf4826c2c630717a77fd5e42774625410: chore(context): always trust xff headers from unix socket (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/3359\"\u003e#3359\u003c/a\u003e) (\u003ca href=\"https://github.com/WeidiDeng\"\u003e\u003ccode\u003e@​WeidiDeng\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eecb3f7b5e2f3915bf1db240ed5eee572f8dbea36: chore(deps): upgrade golang.org/x/crypto to v0.45.0 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4449\"\u003e#4449\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eaf6e8b70b8261bb0c99ad094fe552ab92991620a: chore(deps): upgrade quic-go to v0.57.1 (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edb309081bc5c137b2aa15701ef53f7f19788da25: chore(logger): allow skipping query string output (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4547\"\u003e#4547\u003c/a\u003e) (\u003ca href=\"https://github.com/USA-RedDragon\"\u003e\u003ccode\u003e@​USA-RedDragon\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e26c3a628655cad2388380cb8102d6ce7d4875f3b: chore(response): prevent Flush() panic when \u003ccode\u003ehttp.Flusher\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4479\"\u003e#4479\u003c/a\u003e) (\u003ca href=\"https://github.com/Twacqwq\"\u003e\u003ccode\u003e@​Twacqwq\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e5dd833f1f26de0eb30eae47b17e05ced2482dc41: chore: bump minimum Go version to 1.24 and update workflows (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4388\"\u003e#4388\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRefactor\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e39858a0859c914bd26948fa950477e11bd8d3823: refactor(binding): use maps.Copy for cleaner map handling (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4352\"\u003e#4352\u003c/a\u003e) (\u003ca href=\"https://github.com/russcoss\"\u003e\u003ccode\u003e@​russcoss\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ec0048f645ee945c4db30593afdea10123e2c30a6: refactor(context): omit the return value names (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4395\"\u003e#4395\u003c/a\u003e) (\u003ca href=\"https://github.com/wanghaolong613\"\u003e\u003ccode\u003e@​wanghaolong613\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e915e4c90d28ec4cffc6eb146e208ab5a65eac772: refactor(context): replace hardcoded localhost IPs with constants (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4481\"\u003e#4481\u003c/a\u003e) (\u003ca href=\"https://github.com/pauloappbr\"\u003e\u003ccode\u003e@​pauloappbr\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e414de60574449457f3192a7a1d5528940db2836d: refactor(context): using maps.Clone (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4333\"\u003e#4333\u003c/a\u003e) (\u003ca href=\"https://github.com/cuiweixie\"\u003e\u003ccode\u003e@​cuiweixie\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e59e9d4a794f12c4f9a6c7bed441b9644e5f6d99b: refactor(ginS): use sync.OnceValue to simplify engine function (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4314\"\u003e#4314\u003c/a\u003e) (\u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e3ab698dc5110af1977d57226e4995c57dd34c233: refactor(recovery): smart error comparison (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4142\"\u003e#4142\u003c/a\u003e) (\u003ca href=\"https://github.com/zeek0x\"\u003e\u003ccode\u003e@​zeek0x\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ed1a15347b1e45a8ee816193d3578a93bfd73b70f: refactor(utils): move util functions to utils.go (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4467\"\u003e#4467\u003c/a\u003e) (\u003ca href=\"https://github.com/zeek0x\"\u003e\u003ccode\u003e@​zeek0x\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ee3118cc378d263454098924ebbde7e8d1dd2e904: refactor: for loop can be modernized using range over int (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4392\"\u003e#4392\u003c/a\u003e) (\u003ca href=\"https://github.com/wanghaolong613\"\u003e\u003ccode\u003e@​wanghaolong613\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e488f8c3ffa579a8d19beb2bae95ff8ef36b3d53f: refactor: replace magic numbers with named constants in bodyAllowedForStatus (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4529\"\u003e#4529\u003c/a\u003e) (\u003ca href=\"https://github.com/veeceey\"\u003e\u003ccode\u003e@​veeceey\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e9968c4bf9d5a99edc3eee2c068a4c9160ece8915: refactor: use b.Loop() to simplify the code and improve performance (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4389\"\u003e#4389\u003c/a\u003e) (\u003ca href=\"https://github.com/reddaisyy\"\u003e\u003ccode\u003e@​reddaisyy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ea85ef5ce4d0cda8834c59c855068ed48b51192d1: refactor: use b.Loop() to simplify the code and improve performance (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4432\"\u003e#4432\u003c/a\u003e) (\u003ca href=\"https://github.com/efcking\"\u003e\u003ccode\u003e@​efcking\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBuild process updates\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e61b67de522a189b568aced4c5c16917c558e3387: ci(bot): increase frequency and group updates for dependencies (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4367\"\u003e#4367\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efb27ef26c2fdfe25344b4c039d8a53551f9e912c: ci(lint): refactor test assertions and linter configuration (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4436\"\u003e#4436\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e93ff771e6dbf10e432864b30f3719ac5c84a4d4a: ci(sec): improve type safety and server organization in HTTP middleware (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4437\"\u003e#4437\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ee88fc8927a52b74f55bec0351604a56ac0aa1c51: ci(sec): schedule Trivy security scans to run daily at midnight UTC (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4439\"\u003e#4439\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e5e5ff3ace496a31b138b0820136a146bfb5de0ef: ci: replace vulnerability scanning workflow with Trivy integration (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4421\"\u003e#4421\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e00900fb3e1ea9dde33985a0e4f6afec793d5e786: ci: update CI workflows and standardize Trivy config quotes (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4531\"\u003e#4531\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eae3f524974fc4f55d18c9e7fae4614503c015226: ci: update Go version support to 1.25+ across CI and docs (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4550\"\u003e#4550\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/gin-gonic/gin/blob/master/CHANGELOG.md\"\u003egithub.com/gin-gonic/gin's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eGin v1.12.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat(render): add bson protocol (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4145\"\u003e#4145\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(context): add GetError and GetErrorSlice methods for error retrieval (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4502\"\u003e#4502\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(binding): add support for encoding.UnmarshalText in uri/query binding (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4203\"\u003e#4203\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(gin): add option to use escaped path (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4420\"\u003e#4420\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(context): add Protocol Buffers support to content negotiation (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4423\"\u003e#4423\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(context): implemented Delete method (\u003ca href=\"https://github.com/gin-gonic/gin/commit/38e7651\"\u003e#38e7651\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(logger): color latency (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4146\"\u003e#4146\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eperf(tree): reduce allocations in findCaseInsensitivePath (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4417\"\u003e#4417\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eperf(recovery): optimize line reading in stack function (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4466\"\u003e#4466\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eperf(path): replace regex with custom functions in redirectTrailingSlash (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4414\"\u003e#4414\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eperf(tree): optimize path parsing using strings.Count (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4246\"\u003e#4246\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(logger): allow skipping query string output (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4547\"\u003e#4547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(context): always trust xff headers from unix socket (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/3359\"\u003e#3359\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(response): prevent Flush() panic when the underlying ResponseWriter does not implement \u003ccode\u003ehttp.Flusher\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4479\"\u003e#4479\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(recovery): smart error comparison (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4142\"\u003e#4142\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(context): replace hardcoded localhost IPs with constants (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4481\"\u003e#4481\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(utils): move util functions to utils.go (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4467\"\u003e#4467\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(binding): use maps.Copy for cleaner map handling (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4352\"\u003e#4352\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(context): using maps.Clone (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4333\"\u003e#4333\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(ginS): use sync.OnceValue to simplify engine function (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4314\"\u003e#4314\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor: replace magic numbers with named constants in bodyAllowedForStatus (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4529\"\u003e#4529\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor: for loop can be modernized using range over int (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4392\"\u003e#4392\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(tree): panic in findCaseInsensitivePathRec with RedirectFixedPath (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4535\"\u003e#4535\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(render): write content length in Data.Render (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4206\"\u003e#4206\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(context): ClientIP handling for multiple X-Forwarded-For header values (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4472\"\u003e#4472\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(binding): empty value error (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/2169\"\u003e#2169\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(recover): suppress http.ErrAbortHandler in recover (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4336\"\u003e#4336\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(gin): literal colon routes not working with engine.Handler() (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4415\"\u003e#4415\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(gin): close os.File in RunFd to prevent resource leak (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4422\"\u003e#4422\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(response): refine hijack behavior for response lifecycle (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4373\"\u003e#4373\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(binding): improve empty slice/array handling in form binding (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4380\"\u003e#4380\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(debug): version mismatch (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4403\"\u003e#4403\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: correct typos, improve documentation clarity, and remove dead code (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4511\"\u003e#4511\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBuild process updates / CI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eci: update Go version support to 1.25+ across CI and docs (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4550\"\u003e#4550\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(binding): upgrade bson dependency to mongo-driver v2 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4549\"\u003e#4549\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eGin v1.11.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/73726dc606796a025971fe451f0aa6f1b9b847f6\"\u003e\u003ccode\u003e73726dc\u003c/code\u003e\u003c/a\u003e docs: update documentation to reflect Go version changes (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4552\"\u003e#4552\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/e292e5caa777bce70b66fe08c94cbe9cef3e2ec9\"\u003e\u003ccode\u003ee292e5c\u003c/code\u003e\u003c/a\u003e docs: document and finalize Gin v1.12.0 release (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4551\"\u003e#4551\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/ae3f524974fc4f55d18c9e7fae4614503c015226\"\u003e\u003ccode\u003eae3f524\u003c/code\u003e\u003c/a\u003e ci: update Go version support to 1.25+ across CI and docs (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4550\"\u003e#4550\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/38534e2bf98a06e1f62d6b24384e90b5f78699bf\"\u003e\u003ccode\u003e38534e2\u003c/code\u003e\u003c/a\u003e chore(deps): bump golang.org/x/net from 0.50.0 to 0.51.0 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4548\"\u003e#4548\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/472d086af2acd924cb4b9d7be0525f7d790f69bc\"\u003e\u003ccode\u003e472d086\u003c/code\u003e\u003c/a\u003e fix(tree): panic in findCaseInsensitivePathRec with RedirectFixedPath (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4535\"\u003e#4535\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/fb2583442c4d9bccb75e6d26f1aa6e7c01950db6\"\u003e\u003ccode\u003efb25834\u003c/code\u003e\u003c/a\u003e test(context): use http.StatusContinue constant instead of magic number 100 (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/6f1d5fe3cdb171a08928c3c9dd3fbcfc9ee1b521\"\u003e\u003ccode\u003e6f1d5fe\u003c/code\u003e\u003c/a\u003e test(render): add comprehensive error handling tests (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4541\"\u003e#4541\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/5c00df8afadd06cc5be530dde00fe6d9fa4a2e4a\"\u003e\u003ccode\u003e5c00df8\u003c/code\u003e\u003c/a\u003e fix(render): write content length in Data.Render (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4206\"\u003e#4206\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/db309081bc5c137b2aa15701ef53f7f19788da25\"\u003e\u003ccode\u003edb30908\u003c/code\u003e\u003c/a\u003e chore(logger): allow skipping query string output (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4547\"\u003e#4547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/ba093d19477b896ac89a7fc3246af23d290b8e26\"\u003e\u003ccode\u003eba093d1\u003c/code\u003e\u003c/a\u003e chore(binding): upgrade bson dependency to mongo-driver v2 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4549\"\u003e#4549\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/gin-gonic/gin/compare/v1.10.1...v1.12.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/gin-gonic/gin\u0026package-manager=go_modules\u0026previous-version=1.10.1\u0026new-version=1.12.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/rtcdance/streamgate/pull/10","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/rtcdance%2Fstreamgate/issues/10","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/10/packages"}},{"old_version":"1.9.1","new_version":"1.12.0","update_type":"minor","path":"/backend","pr_created_at":"2026-05-15T04:44:38.000Z","version_change":"1.9.1 → 1.12.0","issue":{"uuid":"4451321929","node_id":"PR_kwDOSeAiFc7byNsj","number":4,"state":"open","title":"deps(deps): bump the production-dependencies group in /backend with 6 updates","user":"dependabot[bot]","labels":[],"assignees":["nelsonelagunar"],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-15T04:44:38.000Z","updated_at":"2026-05-15T04:44:39.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"deps(deps): bump","group_name":"production-dependencies","update_count":6,"packages":[{"name":"github.com/gin-gonic/gin","old_version":"1.9.1","new_version":"1.12.0","repository_url":"https://github.com/gin-gonic/gin"},{"name":"github.com/golang-jwt/jwt/v5","old_version":"5.2.0","new_version":"5.3.1","repository_url":"https://github.com/golang-jwt/jwt"},{"name":"github.com/google/uuid","old_version":"1.5.0","new_version":"1.6.0","repository_url":"https://github.com/google/uuid"},{"name":"github.com/jackc/pgx/v5","old_version":"5.5.3","new_version":"5.9.2","repository_url":"https://github.com/jackc/pgx"},{"name":"github.com/stretchr/testify","old_version":"1.8.4","new_version":"1.11.1","repository_url":"https://github.com/stretchr/testify"},{"name":"golang.org/x/crypto","old_version":"0.21.0","new_version":"0.48.0","repository_url":"https://github.com/golang/crypto"}],"path":"/backend","ecosystem":"go"},"body":"Bumps the production-dependencies group in /backend with 6 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [github.com/gin-gonic/gin](https://github.com/gin-gonic/gin) | `1.9.1` | `1.12.0` |\n| [github.com/golang-jwt/jwt/v5](https://github.com/golang-jwt/jwt) | `5.2.0` | `5.3.1` |\n| [github.com/google/uuid](https://github.com/google/uuid) | `1.5.0` | `1.6.0` |\n| [github.com/jackc/pgx/v5](https://github.com/jackc/pgx) | `5.5.3` | `5.9.2` |\n| [github.com/stretchr/testify](https://github.com/stretchr/testify) | `1.8.4` | `1.11.1` |\n| [golang.org/x/crypto](https://github.com/golang/crypto) | `0.21.0` | `0.48.0` |\n\nUpdates `github.com/gin-gonic/gin` from 1.9.1 to 1.12.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/gin-gonic/gin/releases\"\u003egithub.com/gin-gonic/gin's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.12.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e192ac89eefc1c30f7c97ae48a9ffb1c6f1c8c8bc: feat(binding): add support for encoding.UnmarshalText in uri/query binding (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4203\"\u003e#4203\u003c/a\u003e) (\u003ca href=\"https://github.com/takanuva15\"\u003e\u003ccode\u003e@​takanuva15\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e53410d2e07054369e0960fbe2eed97e1b9966f12: feat(context): add GetError and GetErrorSlice methods for error retrieval (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4502\"\u003e#4502\u003c/a\u003e) (\u003ca href=\"https://github.com/raju-mechatronics\"\u003e\u003ccode\u003e@​raju-mechatronics\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eacc55e049e33b401e810dbd8c0d6dcb6b3ba2b05: feat(context): add Protocol Buffers support to content negotiation (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4423\"\u003e#4423\u003c/a\u003e) (\u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e38e765119241d990705169bedb5002a29ae0cbd1: feat(context): implemented Delete method (\u003ca href=\"https://github.com/Spyder01\"\u003e\u003ccode\u003e@​Spyder01\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e771dcc6476d7bc6abb9ec0235ecefa4d38fe6fb0: feat(gin): add option to use escaped path (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4420\"\u003e#4420\u003c/a\u003e) (\u003ca href=\"https://github.com/ldesauw\"\u003e\u003ccode\u003e@​ldesauw\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e4dec17afdff48e8018c83618fbbe69fceeb2b41d: feat(logger): color latency (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4146\"\u003e#4146\u003c/a\u003e) (\u003ca href=\"https://github.com/wsyqn6\"\u003e\u003ccode\u003e@​wsyqn6\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ed7776de7d444935ea4385999711bd6331a98fecb: feat(render): add bson protocol (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4145\"\u003e#4145\u003c/a\u003e) (\u003ca href=\"https://github.com/laurentcau\"\u003e\u003ccode\u003e@​laurentcau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eb917b14ff9d189f16a7492be79d123a47806ee19: fix(binding): empty value error (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/2169\"\u003e#2169\u003c/a\u003e) (\u003ca href=\"https://github.com/guonaihong\"\u003e\u003ccode\u003e@​guonaihong\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ec3d1092b3b48addf6f9cd00fe274ec3bd14650eb: fix(binding): improve empty slice/array handling in form binding (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4380\"\u003e#4380\u003c/a\u003e) (\u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e9914178584e42458ff7d23891463a880f58c9d86: fix(context): ClientIP handling for multiple X-Forwarded-For header values (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4472\"\u003e#4472\u003c/a\u003e) (\u003ca href=\"https://github.com/Nurysso\"\u003e\u003ccode\u003e@​Nurysso\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e2a794cd0b0faa7d829291375b27a3467ea972b0d: fix(debug): version mismatch (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4403\"\u003e#4403\u003c/a\u003e) (\u003ca href=\"https://github.com/zeek0x\"\u003e\u003ccode\u003e@​zeek0x\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ec3d5a28ed6d3849da820195b6774d212bcc038a9: fix(gin): close os.File in RunFd to prevent resource leak (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4422\"\u003e#4422\u003c/a\u003e) (\u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e5fad976b372e381312f8de69f0969f1284d229d3: fix(gin): literal colon routes not working with engine.Handler() (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4415\"\u003e#4415\u003c/a\u003e) (\u003ca href=\"https://github.com/pawannn\"\u003e\u003ccode\u003e@​pawannn\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e63dd3e60cab89c27fb66bce1423bd268d52abad1: fix(recover): suppress http.ErrAbortHandler in recover (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4336\"\u003e#4336\u003c/a\u003e) (\u003ca href=\"https://github.com/MondayCha\"\u003e\u003ccode\u003e@​MondayCha\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e5c00df8afadd06cc5be530dde00fe6d9fa4a2e4a: fix(render): write content length in Data.Render (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4206\"\u003e#4206\u003c/a\u003e) (\u003ca href=\"https://github.com/dengaleev\"\u003e\u003ccode\u003e@​dengaleev\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e234a6d4c00cb77af9852aca0b8289745d5529b4b: fix(response): refine hijack behavior for response lifecycle (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4373\"\u003e#4373\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e472d086af2acd924cb4b9d7be0525f7d790f69bc: fix(tree): panic in findCaseInsensitivePathRec with RedirectFixedPath (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4535\"\u003e#4535\u003c/a\u003e) (\u003ca href=\"https://github.com/veeceey\"\u003e\u003ccode\u003e@​veeceey\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e8e07d37c63e5536eb25f4af4c91eabeee4011fba: fix: Correct typos, improve documentation clarity, and remove dead code (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4511\"\u003e#4511\u003c/a\u003e) (\u003ca href=\"https://github.com/mahanadh\"\u003e\u003ccode\u003e@​mahanadh\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eba093d19477b896ac89a7fc3246af23d290b8e26: chore(binding): upgrade bson dependency to mongo-driver v2 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4549\"\u003e#4549\u003c/a\u003e) (\u003ca href=\"https://github.com/BobDu\"\u003e\u003ccode\u003e@​BobDu\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eb2b489dbf4826c2c630717a77fd5e42774625410: chore(context): always trust xff headers from unix socket (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/3359\"\u003e#3359\u003c/a\u003e) (\u003ca href=\"https://github.com/WeidiDeng\"\u003e\u003ccode\u003e@​WeidiDeng\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eecb3f7b5e2f3915bf1db240ed5eee572f8dbea36: chore(deps): upgrade golang.org/x/crypto to v0.45.0 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4449\"\u003e#4449\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eaf6e8b70b8261bb0c99ad094fe552ab92991620a: chore(deps): upgrade quic-go to v0.57.1 (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edb309081bc5c137b2aa15701ef53f7f19788da25: chore(logger): allow skipping query string output (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4547\"\u003e#4547\u003c/a\u003e) (\u003ca href=\"https://github.com/USA-RedDragon\"\u003e\u003ccode\u003e@​USA-RedDragon\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e26c3a628655cad2388380cb8102d6ce7d4875f3b: chore(response): prevent Flush() panic when \u003ccode\u003ehttp.Flusher\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4479\"\u003e#4479\u003c/a\u003e) (\u003ca href=\"https://github.com/Twacqwq\"\u003e\u003ccode\u003e@​Twacqwq\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e5dd833f1f26de0eb30eae47b17e05ced2482dc41: chore: bump minimum Go version to 1.24 and update workflows (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4388\"\u003e#4388\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRefactor\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e39858a0859c914bd26948fa950477e11bd8d3823: refactor(binding): use maps.Copy for cleaner map handling (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4352\"\u003e#4352\u003c/a\u003e) (\u003ca href=\"https://github.com/russcoss\"\u003e\u003ccode\u003e@​russcoss\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ec0048f645ee945c4db30593afdea10123e2c30a6: refactor(context): omit the return value names (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4395\"\u003e#4395\u003c/a\u003e) (\u003ca href=\"https://github.com/wanghaolong613\"\u003e\u003ccode\u003e@​wanghaolong613\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e915e4c90d28ec4cffc6eb146e208ab5a65eac772: refactor(context): replace hardcoded localhost IPs with constants (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4481\"\u003e#4481\u003c/a\u003e) (\u003ca href=\"https://github.com/pauloappbr\"\u003e\u003ccode\u003e@​pauloappbr\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e414de60574449457f3192a7a1d5528940db2836d: refactor(context): using maps.Clone (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4333\"\u003e#4333\u003c/a\u003e) (\u003ca href=\"https://github.com/cuiweixie\"\u003e\u003ccode\u003e@​cuiweixie\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e59e9d4a794f12c4f9a6c7bed441b9644e5f6d99b: refactor(ginS): use sync.OnceValue to simplify engine function (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4314\"\u003e#4314\u003c/a\u003e) (\u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e3ab698dc5110af1977d57226e4995c57dd34c233: refactor(recovery): smart error comparison (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4142\"\u003e#4142\u003c/a\u003e) (\u003ca href=\"https://github.com/zeek0x\"\u003e\u003ccode\u003e@​zeek0x\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ed1a15347b1e45a8ee816193d3578a93bfd73b70f: refactor(utils): move util functions to utils.go (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4467\"\u003e#4467\u003c/a\u003e) (\u003ca href=\"https://github.com/zeek0x\"\u003e\u003ccode\u003e@​zeek0x\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ee3118cc378d263454098924ebbde7e8d1dd2e904: refactor: for loop can be modernized using range over int (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4392\"\u003e#4392\u003c/a\u003e) (\u003ca href=\"https://github.com/wanghaolong613\"\u003e\u003ccode\u003e@​wanghaolong613\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e488f8c3ffa579a8d19beb2bae95ff8ef36b3d53f: refactor: replace magic numbers with named constants in bodyAllowedForStatus (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4529\"\u003e#4529\u003c/a\u003e) (\u003ca href=\"https://github.com/veeceey\"\u003e\u003ccode\u003e@​veeceey\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e9968c4bf9d5a99edc3eee2c068a4c9160ece8915: refactor: use b.Loop() to simplify the code and improve performance (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4389\"\u003e#4389\u003c/a\u003e) (\u003ca href=\"https://github.com/reddaisyy\"\u003e\u003ccode\u003e@​reddaisyy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ea85ef5ce4d0cda8834c59c855068ed48b51192d1: refactor: use b.Loop() to simplify the code and improve performance (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4432\"\u003e#4432\u003c/a\u003e) (\u003ca href=\"https://github.com/efcking\"\u003e\u003ccode\u003e@​efcking\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBuild process updates\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e61b67de522a189b568aced4c5c16917c558e3387: ci(bot): increase frequency and group updates for dependencies (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4367\"\u003e#4367\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efb27ef26c2fdfe25344b4c039d8a53551f9e912c: ci(lint): refactor test assertions and linter configuration (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4436\"\u003e#4436\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e93ff771e6dbf10e432864b30f3719ac5c84a4d4a: ci(sec): improve type safety and server organization in HTTP middleware (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4437\"\u003e#4437\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ee88fc8927a52b74f55bec0351604a56ac0aa1c51: ci(sec): schedule Trivy security scans to run daily at midnight UTC (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4439\"\u003e#4439\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e5e5ff3ace496a31b138b0820136a146bfb5de0ef: ci: replace vulnerability scanning workflow with Trivy integration (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4421\"\u003e#4421\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e00900fb3e1ea9dde33985a0e4f6afec793d5e786: ci: update CI workflows and standardize Trivy config quotes (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4531\"\u003e#4531\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eae3f524974fc4f55d18c9e7fae4614503c015226: ci: update Go version support to 1.25+ across CI and docs (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4550\"\u003e#4550\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/gin-gonic/gin/blob/master/CHANGELOG.md\"\u003egithub.com/gin-gonic/gin's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eGin v1.12.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat(render): add bson protocol (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4145\"\u003e#4145\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(context): add GetError and GetErrorSlice methods for error retrieval (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4502\"\u003e#4502\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(binding): add support for encoding.UnmarshalText in uri/query binding (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4203\"\u003e#4203\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(gin): add option to use escaped path (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4420\"\u003e#4420\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(context): add Protocol Buffers support to content negotiation (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4423\"\u003e#4423\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(context): implemented Delete method (\u003ca href=\"https://github.com/gin-gonic/gin/commit/38e7651\"\u003e#38e7651\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(logger): color latency (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4146\"\u003e#4146\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eperf(tree): reduce allocations in findCaseInsensitivePath (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4417\"\u003e#4417\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eperf(recovery): optimize line reading in stack function (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4466\"\u003e#4466\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eperf(path): replace regex with custom functions in redirectTrailingSlash (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4414\"\u003e#4414\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eperf(tree): optimize path parsing using strings.Count (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4246\"\u003e#4246\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(logger): allow skipping query string output (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4547\"\u003e#4547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(context): always trust xff headers from unix socket (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/3359\"\u003e#3359\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(response): prevent Flush() panic when the underlying ResponseWriter does not implement \u003ccode\u003ehttp.Flusher\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4479\"\u003e#4479\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(recovery): smart error comparison (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4142\"\u003e#4142\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(context): replace hardcoded localhost IPs with constants (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4481\"\u003e#4481\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(utils): move util functions to utils.go (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4467\"\u003e#4467\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(binding): use maps.Copy for cleaner map handling (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4352\"\u003e#4352\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(context): using maps.Clone (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4333\"\u003e#4333\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(ginS): use sync.OnceValue to simplify engine function (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4314\"\u003e#4314\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor: replace magic numbers with named constants in bodyAllowedForStatus (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4529\"\u003e#4529\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor: for loop can be modernized using range over int (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4392\"\u003e#4392\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(tree): panic in findCaseInsensitivePathRec with RedirectFixedPath (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4535\"\u003e#4535\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(render): write content length in Data.Render (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4206\"\u003e#4206\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(context): ClientIP handling for multiple X-Forwarded-For header values (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4472\"\u003e#4472\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(binding): empty value error (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/2169\"\u003e#2169\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(recover): suppress http.ErrAbortHandler in recover (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4336\"\u003e#4336\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(gin): literal colon routes not working with engine.Handler() (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4415\"\u003e#4415\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(gin): close os.File in RunFd to prevent resource leak (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4422\"\u003e#4422\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(response): refine hijack behavior for response lifecycle (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4373\"\u003e#4373\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(binding): improve empty slice/array handling in form binding (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4380\"\u003e#4380\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(debug): version mismatch (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4403\"\u003e#4403\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: correct typos, improve documentation clarity, and remove dead code (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4511\"\u003e#4511\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBuild process updates / CI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eci: update Go version support to 1.25+ across CI and docs (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4550\"\u003e#4550\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(binding): upgrade bson dependency to mongo-driver v2 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4549\"\u003e#4549\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eGin v1.11.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/73726dc606796a025971fe451f0aa6f1b9b847f6\"\u003e\u003ccode\u003e73726dc\u003c/code\u003e\u003c/a\u003e docs: update documentation to reflect Go version changes (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4552\"\u003e#4552\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/e292e5caa777bce70b66fe08c94cbe9cef3e2ec9\"\u003e\u003ccode\u003ee292e5c\u003c/code\u003e\u003c/a\u003e docs: document and finalize Gin v1.12.0 release (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4551\"\u003e#4551\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/ae3f524974fc4f55d18c9e7fae4614503c015226\"\u003e\u003ccode\u003eae3f524\u003c/code\u003e\u003c/a\u003e ci: update Go version support to 1.25+ across CI and docs (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4550\"\u003e#4550\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/38534e2bf98a06e1f62d6b24384e90b5f78699bf\"\u003e\u003ccode\u003e38534e2\u003c/code\u003e\u003c/a\u003e chore(deps): bump golang.org/x/net from 0.50.0 to 0.51.0 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4548\"\u003e#4548\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/472d086af2acd924cb4b9d7be0525f7d790f69bc\"\u003e\u003ccode\u003e472d086\u003c/code\u003e\u003c/a\u003e fix(tree): panic in findCaseInsensitivePathRec with RedirectFixedPath (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4535\"\u003e#4535\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/fb2583442c4d9bccb75e6d26f1aa6e7c01950db6\"\u003e\u003ccode\u003efb25834\u003c/code\u003e\u003c/a\u003e test(context): use http.StatusContinue constant instead of magic number 100 (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/6f1d5fe3cdb171a08928c3c9dd3fbcfc9ee1b521\"\u003e\u003ccode\u003e6f1d5fe\u003c/code\u003e\u003c/a\u003e test(render): add comprehensive error handling tests (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4541\"\u003e#4541\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/5c00df8afadd06cc5be530dde00fe6d9fa4a2e4a\"\u003e\u003ccode\u003e5c00df8\u003c/code\u003e\u003c/a\u003e fix(render): write content length in Data.Render (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4206\"\u003e#4206\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/db309081bc5c137b2aa15701ef53f7f19788da25\"\u003e\u003ccode\u003edb30908\u003c/code\u003e\u003c/a\u003e chore(logger): allow skipping query string output (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4547\"\u003e#4547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/ba093d19477b896ac89a7fc3246af23d290b8e26\"\u003e\u003ccode\u003eba093d1\u003c/code\u003e\u003c/a\u003e chore(binding): upgrade bson dependency to mongo-driver v2 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4549\"\u003e#4549\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/gin-gonic/gin/compare/v1.9.1...v1.12.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/golang-jwt/jwt/v5` from 5.2.0 to 5.3.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/golang-jwt/jwt/releases\"\u003egithub.com/golang-jwt/jwt/v5's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev5.3.1\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003e🔐 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd spellcheck Github action to catch common spelling mistakes by \u003ca href=\"https://github.com/equalsgibson\"\u003e\u003ccode\u003e@​equalsgibson\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/golang-jwt/jwt/pull/458\"\u003egolang-jwt/jwt#458\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eWithNotBeforeRequired\u003c/code\u003e parser option and add test coverage by \u003ca href=\"https://github.com/equalsgibson\"\u003e\u003ccode\u003e@​equalsgibson\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/golang-jwt/jwt/pull/456\"\u003egolang-jwt/jwt#456\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate godoc example func to properly refer to \u003ccode\u003eNewWithClaims()\u003c/code\u003e by \u003ca href=\"https://github.com/equalsgibson\"\u003e\u003ccode\u003e@​equalsgibson\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/golang-jwt/jwt/pull/459\"\u003egolang-jwt/jwt#459\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate github workflows by \u003ca href=\"https://github.com/mfridman\"\u003e\u003ccode\u003e@​mfridman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/golang-jwt/jwt/pull/462\"\u003egolang-jwt/jwt#462\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdditional test for CustomClaims that validates unmarshalling behaviour by \u003ca href=\"https://github.com/equalsgibson\"\u003e\u003ccode\u003e@​equalsgibson\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/golang-jwt/jwt/pull/457\"\u003egolang-jwt/jwt#457\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix early file close in jwt cli by \u003ca href=\"https://github.com/mfridman\"\u003e\u003ccode\u003e@​mfridman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/golang-jwt/jwt/pull/472\"\u003egolang-jwt/jwt#472\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd TPM signature reference by \u003ca href=\"https://github.com/salrashid123\"\u003e\u003ccode\u003e@​salrashid123\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/golang-jwt/jwt/pull/473\"\u003egolang-jwt/jwt#473\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove misleading ParserOptions documentation in \u003ca href=\"https://redirect.github.com/golang-jwt/jwt/pull/484\"\u003egolang-jwt/jwt#484\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSave signature to Token struct after successful signing by \u003ca href=\"https://github.com/EgorSheff\"\u003e\u003ccode\u003e@​EgorSheff\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/golang-jwt/jwt/pull/417\"\u003egolang-jwt/jwt#417\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSet token.Signature in \u003ccode\u003eParseUnverified\u003c/code\u003e by \u003ca href=\"https://github.com/slickwilli\"\u003e\u003ccode\u003e@​slickwilli\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/golang-jwt/jwt/pull/414\"\u003egolang-jwt/jwt#414\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e👒 Dependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBump crate-ci/typos from 1.34.0 to 1.35.3 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/golang-jwt/jwt/pull/461\"\u003egolang-jwt/jwt#461\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump crate-ci/typos from 1.35.4 to 1.36.2 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/golang-jwt/jwt/pull/470\"\u003egolang-jwt/jwt#470\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump github/codeql-action from 3 to 4 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/golang-jwt/jwt/pull/478\"\u003egolang-jwt/jwt#478\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump crate-ci/typos from 1.36.2 to 1.39.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/golang-jwt/jwt/pull/480\"\u003egolang-jwt/jwt#480\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump golangci/golangci-lint-action from 8 to 9 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/golang-jwt/jwt/pull/481\"\u003egolang-jwt/jwt#481\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/setup-go from 5 to 6 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/golang-jwt/jwt/pull/469\"\u003egolang-jwt/jwt#469\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump crate-ci/typos from 1.39.0 to 1.40.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/golang-jwt/jwt/pull/488\"\u003egolang-jwt/jwt#488\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/checkout from 5 to 6 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/golang-jwt/jwt/pull/487\"\u003egolang-jwt/jwt#487\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump crate-ci/typos from 1.40.0 to 1.41.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/golang-jwt/jwt/pull/490\"\u003egolang-jwt/jwt#490\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump crate-ci/typos from 1.41.0 to 1.42.1 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/golang-jwt/jwt/pull/492\"\u003egolang-jwt/jwt#492\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/equalsgibson\"\u003e\u003ccode\u003e@​equalsgibson\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/golang-jwt/jwt/pull/458\"\u003egolang-jwt/jwt#458\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/salrashid123\"\u003e\u003ccode\u003e@​salrashid123\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/golang-jwt/jwt/pull/473\"\u003egolang-jwt/jwt#473\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/EgorSheff\"\u003e\u003ccode\u003e@​EgorSheff\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/golang-jwt/jwt/pull/417\"\u003egolang-jwt/jwt#417\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/slickwilli\"\u003e\u003ccode\u003e@​slickwilli\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/golang-jwt/jwt/pull/414\"\u003egolang-jwt/jwt#414\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/golang-jwt/jwt/compare/v5.3.0...v5.3.1\"\u003ehttps://github.com/golang-jwt/jwt/compare/v5.3.0...v5.3.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev5.3.0\u003c/h2\u003e\n\u003cp\u003eThis release is almost identical to to \u003ccode\u003ev5.2.3\u003c/code\u003e but now correctly indicates Go 1.21 as minimum requirement.\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eCreate CODEOWNERS by \u003ca href=\"https://github.com/oxisto\"\u003e\u003ccode\u003e@​oxisto\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/golang-jwt/jwt/pull/449\"\u003egolang-jwt/jwt#449\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump Go version to indicate correct minimum requirement by \u003ca href=\"https://github.com/oxisto\"\u003e\u003ccode\u003e@​oxisto\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/golang-jwt/jwt/pull/452\"\u003egolang-jwt/jwt#452\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/golang-jwt/jwt/compare/v5.2.3...v5.3.0\"\u003ehttps://github.com/golang-jwt/jwt/compare/v5.2.3...v5.3.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev5.2.3\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump GitHub workflows and Go versions by \u003ca href=\"https://github.com/mfridman\"\u003e\u003ccode\u003e@​mfridman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/golang-jwt/jwt/pull/438\"\u003egolang-jwt/jwt#438\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImplementing validation of multiple audiences by \u003ca href=\"https://github.com/oxisto\"\u003e\u003ccode\u003e@​oxisto\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/golang-jwt/jwt/pull/433\"\u003egolang-jwt/jwt#433\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump golangci/golangci-lint-action from 7 to 8 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/golang-jwt/jwt/pull/440\"\u003egolang-jwt/jwt#440\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/golang-jwt/jwt/commit/7ceae619e739dc8a7bf577214aa8ebf26668e9db\"\u003e\u003ccode\u003e7ceae61\u003c/code\u003e\u003c/a\u003e Add release.yml for changelog configuration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/golang-jwt/jwt/commit/dce8e4dddcc9dc812cdc0b9d2037512d0e4b3eb5\"\u003e\u003ccode\u003edce8e4d\u003c/code\u003e\u003c/a\u003e Set token.Signature in \u003ccode\u003eParseUnverified\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/golang-jwt/jwt/issues/414\"\u003e#414\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/golang-jwt/jwt/commit/8889e208aa5c3736e5f7a856107ee70c046b803e\"\u003e\u003ccode\u003e8889e20\u003c/code\u003e\u003c/a\u003e Save signature to Token struct after successful signing (\u003ca href=\"https://redirect.github.com/golang-jwt/jwt/issues/417\"\u003e#417\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/golang-jwt/jwt/commit/d237f8204b397bc008b5b07c4e081beb4ec2a7b1\"\u003e\u003ccode\u003ed237f82\u003c/code\u003e\u003c/a\u003e ci: update github-actions schedule interval to monthly\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/golang-jwt/jwt/commit/d8dce95a406fc435aa3d11c5073f2f31a9449116\"\u003e\u003ccode\u003ed8dce95\u003c/code\u003e\u003c/a\u003e Bump crate-ci/typos from 1.41.0 to 1.42.1 (\u003ca href=\"https://redirect.github.com/golang-jwt/jwt/issues/492\"\u003e#492\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/golang-jwt/jwt/commit/e93180329eab078116176ff7dc4352760bc5f290\"\u003e\u003ccode\u003ee931803\u003c/code\u003e\u003c/a\u003e Bump crate-ci/typos from 1.40.0 to 1.41.0 (\u003ca href=\"https://redirect.github.com/golang-jwt/jwt/issues/490\"\u003e#490\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/golang-jwt/jwt/commit/e6a0afa839d74787501369217245b52bfc75f30d\"\u003e\u003ccode\u003ee6a0afa\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 5 to 6 (\u003ca href=\"https://redirect.github.com/golang-jwt/jwt/issues/487\"\u003e#487\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/golang-jwt/jwt/commit/9f85c9ec9f10fb6919d773cb8df07029639ec76e\"\u003e\u003ccode\u003e9f85c9e\u003c/code\u003e\u003c/a\u003e Bump crate-ci/typos from 1.39.0 to 1.40.0 (\u003ca href=\"https://redirect.github.com/golang-jwt/jwt/issues/488\"\u003e#488\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/golang-jwt/jwt/commit/60a8669e0221aed55a6abfd9b5cd20472f0c6ebd\"\u003e\u003ccode\u003e60a8669\u003c/code\u003e\u003c/a\u003e Bump actions/setup-go from 5 to 6 (\u003ca href=\"https://redirect.github.com/golang-jwt/jwt/issues/469\"\u003e#469\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/golang-jwt/jwt/commit/76f582896da76978896d59ced995d7967c33c434\"\u003e\u003ccode\u003e76f5828\u003c/code\u003e\u003c/a\u003e Remove misleading ParserOptions documentation (\u003ca href=\"https://redirect.github.com/golang-jwt/jwt/issues/484\"\u003e#484\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/golang-jwt/jwt/compare/v5.2.0...v5.3.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/google/uuid` from 1.5.0 to 1.6.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/google/uuid/releases\"\u003egithub.com/google/uuid's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.6.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/google/uuid/compare/v1.5.0...v1.6.0\"\u003e1.6.0\u003c/a\u003e (2024-01-16)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd Max UUID constant (\u003ca href=\"https://redirect.github.com/google/uuid/issues/149\"\u003e#149\u003c/a\u003e) (\u003ca href=\"https://github.com/google/uuid/commit/c58770eb495f55fe2ced6284f93c5158a62e53e3\"\u003ec58770e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix typo in version 7 uuid documentation (\u003ca href=\"https://redirect.github.com/google/uuid/issues/153\"\u003e#153\u003c/a\u003e) (\u003ca href=\"https://github.com/google/uuid/commit/016b199544692f745ffc8867b914129ecb47ef06\"\u003e016b199\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMonotonicity in UUIDv7 (\u003ca href=\"https://redirect.github.com/google/uuid/issues/150\"\u003e#150\u003c/a\u003e) (\u003ca href=\"https://github.com/google/uuid/commit/a2b2b32373ff0b1a312b7fdf6d38a977099698a6\"\u003ea2b2b32\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/google/uuid/blob/master/CHANGELOG.md\"\u003egithub.com/google/uuid's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/google/uuid/compare/v1.5.0...v1.6.0\"\u003e1.6.0\u003c/a\u003e (2024-01-16)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd Max UUID constant (\u003ca href=\"https://redirect.github.com/google/uuid/issues/149\"\u003e#149\u003c/a\u003e) (\u003ca href=\"https://github.com/google/uuid/commit/c58770eb495f55fe2ced6284f93c5158a62e53e3\"\u003ec58770e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix typo in version 7 uuid documentation (\u003ca href=\"https://redirect.github.com/google/uuid/issues/153\"\u003e#153\u003c/a\u003e) (\u003ca href=\"https://github.com/google/uuid/commit/016b199544692f745ffc8867b914129ecb47ef06\"\u003e016b199\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMonotonicity in UUIDv7 (\u003ca href=\"https://redirect.github.com/google/uuid/issues/150\"\u003e#150\u003c/a\u003e) (\u003ca href=\"https://github.com/google/uuid/commit/a2b2b32373ff0b1a312b7fdf6d38a977099698a6\"\u003ea2b2b32\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/uuid/commit/0f11ee6918f41a04c201eceeadf612a377bc7fbc\"\u003e\u003ccode\u003e0f11ee6\u003c/code\u003e\u003c/a\u003e chore(master): release 1.6.0 (\u003ca href=\"https://redirect.github.com/google/uuid/issues/151\"\u003e#151\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/uuid/commit/16939dafc37a38d2743810a8bdf60fdad6a0f3a3\"\u003e\u003ccode\u003e16939da\u003c/code\u003e\u003c/a\u003e chore(tests):  add strict monotonicity test case for uuid v7. (\u003ca href=\"https://redirect.github.com/google/uuid/issues/154\"\u003e#154\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/uuid/commit/016b199544692f745ffc8867b914129ecb47ef06\"\u003e\u003ccode\u003e016b199\u003c/code\u003e\u003c/a\u003e fix: fix typo in version 7 uuid documentation (\u003ca href=\"https://redirect.github.com/google/uuid/issues/153\"\u003e#153\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/uuid/commit/1d8b6ea0990d688105843a9a67b1d07222350502\"\u003e\u003ccode\u003e1d8b6ea\u003c/code\u003e\u003c/a\u003e ci: set token permissions to github workflows (\u003ca href=\"https://redirect.github.com/google/uuid/issues/143\"\u003e#143\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/uuid/commit/a2b2b32373ff0b1a312b7fdf6d38a977099698a6\"\u003e\u003ccode\u003ea2b2b32\u003c/code\u003e\u003c/a\u003e fix: Monotonicity in UUIDv7 (\u003ca href=\"https://redirect.github.com/google/uuid/issues/150\"\u003e#150\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/uuid/commit/c58770eb495f55fe2ced6284f93c5158a62e53e3\"\u003e\u003ccode\u003ec58770e\u003c/code\u003e\u003c/a\u003e feat: add Max UUID constant (\u003ca href=\"https://redirect.github.com/google/uuid/issues/149\"\u003e#149\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/google/uuid/compare/v1.5.0...v1.6.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/jackc/pgx/v5` from 5.5.3 to 5.9.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jackc/pgx/blob/master/CHANGELOG.md\"\u003egithub.com/jackc/pgx/v5's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e5.9.2 (April 18, 2026)\u003c/h1\u003e\n\u003cp\u003eFix SQL Injection via placeholder confusion with dollar quoted string literals (GHSA-j88v-2chj-qfwx)\u003c/p\u003e\n\u003cp\u003eSQL injection can occur when:\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003eThe non-default simple protocol is used.\u003c/li\u003e\n\u003cli\u003eA dollar quoted string literal is used in the SQL query.\u003c/li\u003e\n\u003cli\u003eThat query contains text that would be would be interpreted outside as a placeholder outside of a string literal.\u003c/li\u003e\n\u003cli\u003eThe value of that placeholder is controllable by the attacker.\u003c/li\u003e\n\u003c/ol\u003e\n\u003cp\u003ee.g.\u003c/p\u003e\n\u003cpre lang=\"go\"\u003e\u003ccode\u003eattackValue := `$tag$; drop table canary; --`\n_, err = tx.Exec(ctx, `select $tag$ $1 $tag$, $1`, pgx.QueryExecModeSimpleProtocol, attackValue)\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eThis is unlikely to occur outside of a contrived scenario.\u003c/p\u003e\n\u003ch1\u003e5.9.1 (March 22, 2026)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eFix: batch result format corruption when using cached prepared statements (reported by Dirkjan Bussink)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e5.9.0 (March 21, 2026)\u003c/h1\u003e\n\u003cp\u003eThis release includes a number of new features such as SCRAM-SHA-256-PLUS support, OAuth authentication support, and\nPostgreSQL protocol 3.2 support.\u003c/p\u003e\n\u003cp\u003eIt significantly reduces the amount of network traffic when using prepared statements (which are used automatically by\ndefault) by avoiding unnecessary Describe Portal messages. This also reduces local memory usage.\u003c/p\u003e\n\u003cp\u003eIt also includes multiple fixes for potential DoS due to panic or OOM if connected to a malicious server that sends\ndeliberately malformed messages.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRequire Go 1.25+\u003c/li\u003e\n\u003cli\u003eAdd SCRAM-SHA-256-PLUS support (Adam Brightwell)\u003c/li\u003e\n\u003cli\u003eAdd OAuth authentication support for PostgreSQL 18 (David Schneider)\u003c/li\u003e\n\u003cli\u003eAdd PostgreSQL protocol 3.2 support (Dirkjan Bussink)\u003c/li\u003e\n\u003cli\u003eAdd tsvector type support (Adam Brightwell)\u003c/li\u003e\n\u003cli\u003eSkip Describe Portal for cached prepared statements reducing network round trips\u003c/li\u003e\n\u003cli\u003eMake LoadTypes query easier to support on \u0026quot;postgres-like\u0026quot; servers (Jelte Fennema-Nio)\u003c/li\u003e\n\u003cli\u003eDefault empty user to current OS user matching libpq behavior (ShivangSrivastava)\u003c/li\u003e\n\u003cli\u003eOptimize LRU statement cache with custom linked list and node pooling (Mathias Bogaert)\u003c/li\u003e\n\u003cli\u003eOptimize date scanning by replacing regex with manual parsing (Mathias Bogaert)\u003c/li\u003e\n\u003cli\u003eOptimize pgio append/set functions with direct byte shifts (Mathias Bogaert)\u003c/li\u003e\n\u003cli\u003eMake RowsAffected faster (Abhishek Chanda)\u003c/li\u003e\n\u003cli\u003eFix: Pipeline.Close panic when server sends multiple FATAL errors (Varun Chawla)\u003c/li\u003e\n\u003cli\u003eFix: ContextWatcher goroutine leak (Hank Donnay)\u003c/li\u003e\n\u003cli\u003eFix: stdlib discard connections with open transactions in ResetSession (Jeremy Schneider)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jackc/pgx/commit/0aeabbcf11d859229c1f0b20e710d3596c76bf27\"\u003e\u003ccode\u003e0aeabbc\u003c/code\u003e\u003c/a\u003e Release v5.9.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jackc/pgx/commit/60644f84918a8af66d14a4b0d865d4edafd955da\"\u003e\u003ccode\u003e60644f8\u003c/code\u003e\u003c/a\u003e Fix SQL sanitizer bugs with dollar-quoted strings and placeholder overflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jackc/pgx/commit/a5680bc945aa7c6ebac2778d859ee7b4ba86db60\"\u003e\u003ccode\u003ea5680bc\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/jackc/pgx/issues/2531\"\u003e#2531\u003c/a\u003e from dolmen-go/godoc-add-links\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jackc/pgx/commit/e34e4524007062710c6a4fb9c8655b75a486b5cd\"\u003e\u003ccode\u003ee34e452\u003c/code\u003e\u003c/a\u003e doc: Add godoc links\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jackc/pgx/commit/08c9bb1f0d8fa6cc10ed8c713e68b1baa64dfe2c\"\u003e\u003ccode\u003e08c9bb1\u003c/code\u003e\u003c/a\u003e Fix Stringer types encoded as text instead of numeric value in composite fields\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jackc/pgx/commit/96b4dbdfd0458cb425bf8454d292a23978872cc8\"\u003e\u003ccode\u003e96b4dbd\u003c/code\u003e\u003c/a\u003e Remove unstable test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jackc/pgx/commit/acf88e0065682e8948696d26fa6438669c4cabee\"\u003e\u003ccode\u003eacf88e0\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/jackc/pgx/issues/2526\"\u003e#2526\u003c/a\u003e from abrightwell/abrightwell-min-proto\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jackc/pgx/commit/2f81f1fc03bef99593e92c64ad9cac954c00e8e6\"\u003e\u003ccode\u003e2f81f1f\u003c/code\u003e\u003c/a\u003e Update \u003ccode\u003emax_protocol_version\u003c/code\u003e and \u003ccode\u003emin_protocol_version\u003c/code\u003e defaults\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jackc/pgx/commit/4e4eaedb47b7b3cfba0a1b0a9e6a3f015764f046\"\u003e\u003ccode\u003e4e4eaed\u003c/code\u003e\u003c/a\u003e Release v5.9.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jackc/pgx/commit/62731882651a90348febb43b2119b5f8bd9272de\"\u003e\u003ccode\u003e6273188\u003c/code\u003e\u003c/a\u003e Fix batch result format corruption when using cached prepared statements\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jackc/pgx/compare/v5.5.3...v5.9.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/stretchr/testify` from 1.8.4 to 1.11.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/stretchr/testify/releases\"\u003egithub.com/stretchr/testify's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.11.1\u003c/h2\u003e\n\u003cp\u003eThis release fixes \u003ca href=\"https://redirect.github.com/stretchr/testify/issues/1785\"\u003e#1785\u003c/a\u003e introduced in v1.11.0 where expected argument values implementing the stringer interface (\u003ccode\u003eString() string\u003c/code\u003e) with a method which mutates their value, when passed to mock.Mock.On (\u003ccode\u003em.On(\u0026quot;Method\u0026quot;, \u0026lt;expected\u0026gt;).Return()\u003c/code\u003e) or actual argument values passed to mock.Mock.Called may no longer match one another where they previously did match. The behaviour prior to v1.11.0 where the stringer is always called is restored. Future testify releases may not call the stringer method at all in this case.\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBackport \u003ca href=\"https://redirect.github.com/stretchr/testify/issues/1786\"\u003e#1786\u003c/a\u003e to release/1.11: mock: revert to pre-v1.11.0 argument matching behavior for mutating stringers by \u003ca href=\"https://github.com/brackendawson\"\u003e\u003ccode\u003e@​brackendawson\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/stretchr/testify/pull/1788\"\u003estretchr/testify#1788\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/stretchr/testify/compare/v1.11.0...v1.11.1\"\u003ehttps://github.com/stretchr/testify/compare/v1.11.0...v1.11.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.11.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eFunctional Changes\u003c/h3\u003e\n\u003cp\u003ev1.11.0 Includes a number of performance improvements.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCall stack perf change for CallerInfo by \u003ca href=\"https://github.com/mikeauclair\"\u003e\u003ccode\u003e@​mikeauclair\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/stretchr/testify/pull/1614\"\u003estretchr/testify#1614\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLazily render mock diff output on successful match by \u003ca href=\"https://github.com/mikeauclair\"\u003e\u003ccode\u003e@​mikeauclair\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/stretchr/testify/pull/1615\"\u003estretchr/testify#1615\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eassert: check early in Eventually, EventuallyWithT, and Never by \u003ca href=\"https://github.com/cszczepaniak\"\u003e\u003ccode\u003e@​cszczepaniak\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/stretchr/testify/pull/1427\"\u003estretchr/testify#1427\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eassert: add IsNotType by \u003ca href=\"https://github.com/bartventer\"\u003e\u003ccode\u003e@​bartventer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/stretchr/testify/pull/1730\"\u003estretchr/testify#1730\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eassert.JSONEq: shortcut if same strings by \u003ca href=\"https://github.com/dolmen\"\u003e\u003ccode\u003e@​dolmen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/stretchr/testify/pull/1754\"\u003estretchr/testify#1754\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eassert.YAMLEq: shortcut if same strings by \u003ca href=\"https://github.com/dolmen\"\u003e\u003ccode\u003e@​dolmen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/stretchr/testify/pull/1755\"\u003estretchr/testify#1755\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eassert: faster and simpler isEmpty using reflect.Value.IsZero by \u003ca href=\"https://github.com/dolmen\"\u003e\u003ccode\u003e@​dolmen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/stretchr/testify/pull/1761\"\u003estretchr/testify#1761\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003esuite: faster methods filtering (internal refactor) by \u003ca href=\"https://github.com/dolmen\"\u003e\u003ccode\u003e@​dolmen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/stretchr/testify/pull/1758\"\u003estretchr/testify#1758\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eassert.ErrorAs: log target type by \u003ca href=\"https://github.com/craig65535\"\u003e\u003ccode\u003e@​craig65535\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/stretchr/testify/pull/1345\"\u003estretchr/testify#1345\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix failure message formatting for Positive and Negative asserts in \u003ca href=\"https://redirect.github.com/stretchr/testify/pull/1062\"\u003estretchr/testify#1062\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprove ErrorIs message when error is nil but an error was expected by \u003ca href=\"https://github.com/tsioftas\"\u003e\u003ccode\u003e@​tsioftas\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/stretchr/testify/pull/1681\"\u003estretchr/testify#1681\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix Subset/NotSubset when calling with mixed input types by \u003ca href=\"https://github.com/siliconbrain\"\u003e\u003ccode\u003e@​siliconbrain\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/stretchr/testify/pull/1729\"\u003estretchr/testify#1729\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprove ErrorAs failure message when error is nil by \u003ca href=\"https://github.com/ccoVeille\"\u003e\u003ccode\u003e@​ccoVeille\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/stretchr/testify/pull/1734\"\u003estretchr/testify#1734\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003emock.AssertNumberOfCalls: improve error msg by \u003ca href=\"https://github.com/3scalation\"\u003e\u003ccode\u003e@​3scalation\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/stretchr/testify/pull/1743\"\u003estretchr/testify#1743\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation, Build \u0026amp; CI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edocs: Fix typo in README by \u003ca href=\"https://github.com/alexandear\"\u003e\u003ccode\u003e@​alexandear\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/stretchr/testify/pull/1688\"\u003estretchr/testify#1688\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReplace deprecated io/ioutil with io and os by \u003ca href=\"https://github.com/alexandear\"\u003e\u003ccode\u003e@​alexandear\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/stretchr/testify/pull/1684\"\u003estretchr/testify#1684\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocument consequences of calling t.FailNow() by \u003ca href=\"https://github.com/greg0ire\"\u003e\u003ccode\u003e@​greg0ire\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/stretchr/testify/pull/1710\"\u003estretchr/testify#1710\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: update docs for Unset \u003ca href=\"https://redirect.github.com/stretchr/testify/issues/1621\"\u003e#1621\u003c/a\u003e by \u003ca href=\"https://github.com/techfg\"\u003e\u003ccode\u003e@​techfg\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/stretchr/testify/pull/1709\"\u003estretchr/testify#1709\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eREADME: apply gofmt to examples by \u003ca href=\"https://github.com/alexandear\"\u003e\u003ccode\u003e@​alexandear\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/stretchr/testify/pull/1687\"\u003estretchr/testify#1687\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor: use %q and %T to simplify fmt.Sprintf by \u003ca href=\"https://github.com/alexandear\"\u003e\u003ccode\u003e@​alexandear\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/stretchr/testify/pull/1674\"\u003estretchr/testify#1674\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePropose Christophe Colombier (ccoVeille) as approver by \u003ca href=\"https://github.com/brackendawson\"\u003e\u003ccode\u003e@​brackendawson\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/stretchr/testify/pull/1716\"\u003estretchr/testify#1716\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate documentation for the Error function in assert or require package by \u003ca href=\"https://github.com/architagr\"\u003e\u003ccode\u003e@​architagr\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/stretchr/testify/pull/1675\"\u003estretchr/testify#1675\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eassert: remove deprecated build constraints by \u003ca href=\"https://github.com/alexandear\"\u003e\u003ccode\u003e@​alexandear\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/stretchr/testify/pull/1671\"\u003estretchr/testify#1671\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eassert: apply gofumpt to internal test suite by \u003ca href=\"https://github.com/ccoVeille\"\u003e\u003ccode\u003e@​ccoVeille\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/stretchr/testify/pull/1739\"\u003estretchr/testify#1739\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCI: fix shebang in .ci.*.sh scripts by \u003ca href=\"https://github.com/dolmen\"\u003e\u003ccode\u003e@​dolmen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/stretchr/testify/pull/1746\"\u003estretchr/testify#1746\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eassert,require: enable parallel testing on (almost) all top tests by \u003ca href=\"https://github.com/dolmen\"\u003e\u003ccode\u003e@​dolmen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/stretchr/testify/pull/1747\"\u003estretchr/testify#1747\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003esuite.Passed: add one more status test report by \u003ca href=\"https://github.com/Ararsa-Derese\"\u003e\u003ccode\u003e@​Ararsa-Derese\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/stretchr/testify/pull/1706\"\u003estretchr/testify#1706\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Helper() method in internal mocks and assert.CollectT by \u003ca href=\"https://github.com/dolmen\"\u003e\u003ccode\u003e@​dolmen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/stretchr/testify/pull/1423\"\u003estretchr/testify#1423\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eassert.Same/NotSame: improve usage of Sprintf by \u003ca href=\"https://github.com/ccoVeille\"\u003e\u003ccode\u003e@​ccoVeille\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/stretchr/testify/pull/1742\"\u003estretchr/testify#1742\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003emock: enable parallel testing on internal testsuite by \u003ca href=\"https://github.com/dolmen\"\u003e\u003ccode\u003e@​dolmen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/stretchr/testify/pull/1756\"\u003estretchr/testify#1756\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003esuite: cleanup use of 'testing' internals at runtime by \u003ca href=\"https://github.com/dolmen\"\u003e\u003ccode\u003e@​dolmen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/stretchr/testify/pull/1751\"\u003estretchr/testify#1751\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eassert: check test failure message for Empty and NotEmpty  by \u003ca href=\"https://github.com/ccoVeille\"\u003e\u003ccode\u003e@​ccoVeille\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/stretchr/testify/pull/1745\"\u003estretchr/testify#1745\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/stretchr/testify/commit/2a57335dc9cd6833daa820bc94d9b40c26a7917d\"\u003e\u003ccode\u003e2a57335\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/stretchr/testify/issues/1788\"\u003e#1788\u003c/a\u003e from brackendawson/1785-backport-1.11\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/stretchr/testify/commit/af8c91234f184009f57ef29027b39ca89cb00100\"\u003e\u003ccode\u003eaf8c912\u003c/code\u003e\u003c/a\u003e Backport \u003ca href=\"https://redirect.github.com/stretchr/testify/issues/1786\"\u003e#1786\u003c/a\u003e to release/1.11\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/stretchr/testify/commit/b7801fbf5cd58d201296d5d0e132d1849966dbd4\"\u003e\u003ccode\u003eb7801fb\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/stretchr/testify/issues/1778\"\u003e#1778\u003c/a\u003e from stretchr/dependabot/github_actions/actions/chec...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/stretchr/testify/commit/69831f3b08c40d56a09d0be93e9d5ae034f1590b\"\u003e\u003ccode\u003e69831f3\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/checkout from 4 to 5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/stretchr/testify/commit/a53be35c3b0cfcd5189cffcfd75df60ea581104c\"\u003e\u003ccode\u003ea53be35\u003c/code\u003e\u003c/a\u003e Improve captureTestingT helper\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/stretchr/testify/commit/aafb604176db7e1f2c9810bc90d644291d057687\"\u003e\u003ccode\u003eaafb604\u003c/code\u003e\u003c/a\u003e mock: improve formatting of error message\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/stretchr/testify/commit/7218e0390acd2aea3edb18574110ec2753c0aeef\"\u003e\u003ccode\u003e7218e03\u003c/code\u003e\u003c/a\u003e improve error msg\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/stretchr/testify/commit/929a2126c2702df436312656a0304580b526c6e9\"\u003e\u003ccode\u003e929a212\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/stretchr/testify/issues/1758\"\u003e#1758\u003c/a\u003e from stretchr/dolmen/suite-faster-method-filtering\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/stretchr/testify/commit/bc7459ec38128532ff32f23cfab4ea0b725210f2\"\u003e\u003ccode\u003ebc7459e\u003c/code\u003e\u003c/a\u003e suite: faster filtering of methods (-testify.m)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/stretchr/testify/commit/7d37b5c962954410bcd7a71ff3a77c79514056d1\"\u003e\u003ccode\u003e7d37b5c\u003c/code\u003e\u003c/a\u003e suite: refactor methodFilter\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/stretchr/testify/compare/v1.8.4...v1.11.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `golang.org/x/crypto` from 0.21.0 to 0.48.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/golang/crypto/commit/e08b06753d6a72f1fe375b6e0fefefb39917c165\"\u003e\u003ccode\u003ee08b067\u003c/code\u003e\u003c/a\u003e go.mod: update golang.org/x dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/golang/crypto/commit/7d0074ccc6f17acbf2ebb10db06d492e08f887dc\"\u003e\u003ccode\u003e7d0074c\u003c/code\u003e\u003c/a\u003e scrypt: fix panic on parameters \u0026lt;= 0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/golang/crypto/commit/506e022208b864bc3c9c4a416fe56be75d10ad24\"\u003e\u003ccode\u003e506e022\u003c/code\u003e\u003c/a\u003e go.mod: update golang.org/x dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/golang/crypto/commit/7dacc380ba001e8fe7c3c7a46bf3cbdaa5064df9\"\u003e\u003ccode\u003e7dacc38\u003c/code\u003e\u003c/a\u003e chacha20poly1305: error out in fips140=only mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/golang/crypto/commit/19acf81bd7bc7b558d18a550e8e023df2c33e742\"\u003e\u003ccode\u003e19acf81\u003c/code\u003e\u003c/a\u003e go.mod: update golang.org/x dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/golang/crypto/commit/3a1c6b4b61966d06b6469ad7bc15839ba76eeb89\"\u003e\u003ccode\u003e3a1c6b4\u003c/code\u003e\u003c/a\u003e x509roots/fallback: update bundle\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/golang/crypto/commit/f4602e40409257658159002a9af6aedb875949fb\"\u003e\u003ccode\u003ef4602e4\u003c/code\u003e\u003c/a\u003e ssh/agent: fix flaky test by ensuring a writeable home directory\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/golang/crypto/commit/4e0068c0098be10d7025c99ab7c50ce454c1f0f9\"\u003e\u003ccode\u003e4e0068c\u003c/code\u003e\u003c/a\u003e go.mod: update golang.org/x dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/golang/crypto/commit/e79546e28b85ea53dd37afe1c4102746ef553b9c\"\u003e\u003ccode\u003ee79546e\u003c/code\u003e\u003c/a\u003e ssh: curb GSSAPI DoS risk by limiting number of specified OIDs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/golang/crypto/commit/f91f7a7c31bf90b39c1de895ad116a2bacc88748\"\u003e\u003ccode\u003ef91f7a7\u003c/code\u003e\u003c/a\u003e ssh/agent: prevent panic on malformed constraint\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/golang/crypto/compare/v0.21.0...v0.48.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/nelsonelagunar/rh-platform-active/pull/4","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/nelsonelagunar%2Frh-platform-active/issues/4","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/4/packages"}},{"old_version":"1.9.1","new_version":"1.12.0","update_type":"minor","path":null,"pr_created_at":"2026-05-11T13:43:15.000Z","version_change":"1.9.1 → 1.12.0","issue":{"uuid":"4421324268","node_id":"PR_kwDOSUQ3o87aRgk0","number":41,"state":"closed","title":"build(deps): Bump the subscription-go-deps group across 1 directory with 5 updates","user":"dependabot[bot]","labels":["dependencies","go"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-05-19T00:23:09.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-11T13:43:15.000Z","updated_at":"2026-05-19T00:23:11.000Z","time_to_close":643194,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): Bump","group_name":"subscription-go-deps","update_count":5,"packages":[{"name":"github.com/gin-gonic/gin","old_version":"1.9.1","new_version":"1.12.0","repository_url":"https://github.com/gin-gonic/gin"},{"name":"github.com/jmoiron/sqlx","old_version":"1.3.5","new_version":"1.4.0","repository_url":"https://github.com/jmoiron/sqlx"},{"name":"github.com/lib/pq","old_version":"1.10.9","new_version":"1.12.3","repository_url":"https://github.com/lib/pq"},{"name":"github.com/prometheus/client_golang","old_version":"1.19.0","new_version":"1.23.2","repository_url":"https://github.com/prometheus/client_golang"},{"name":"go.uber.org/zap","old_version":"1.27.0","new_version":"1.28.0","repository_url":"https://github.com/uber-go/zap"}],"path":null,"ecosystem":"go"},"body":"Bumps the subscription-go-deps group with 5 updates in the /manager/services/subscription directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [github.com/gin-gonic/gin](https://github.com/gin-gonic/gin) | `1.9.1` | `1.12.0` |\n| [github.com/jmoiron/sqlx](https://github.com/jmoiron/sqlx) | `1.3.5` | `1.4.0` |\n| [github.com/lib/pq](https://github.com/lib/pq) | `1.10.9` | `1.12.3` |\n| [github.com/prometheus/client_golang](https://github.com/prometheus/client_golang) | `1.19.0` | `1.23.2` |\n| [go.uber.org/zap](https://github.com/uber-go/zap) | `1.27.0` | `1.28.0` |\n\n\nUpdates `github.com/gin-gonic/gin` from 1.9.1 to 1.12.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/gin-gonic/gin/releases\"\u003egithub.com/gin-gonic/gin's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.12.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e192ac89eefc1c30f7c97ae48a9ffb1c6f1c8c8bc: feat(binding): add support for encoding.UnmarshalText in uri/query binding (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4203\"\u003e#4203\u003c/a\u003e) (\u003ca href=\"https://github.com/takanuva15\"\u003e\u003ccode\u003e@​takanuva15\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e53410d2e07054369e0960fbe2eed97e1b9966f12: feat(context): add GetError and GetErrorSlice methods for error retrieval (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4502\"\u003e#4502\u003c/a\u003e) (\u003ca href=\"https://github.com/raju-mechatronics\"\u003e\u003ccode\u003e@​raju-mechatronics\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eacc55e049e33b401e810dbd8c0d6dcb6b3ba2b05: feat(context): add Protocol Buffers support to content negotiation (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4423\"\u003e#4423\u003c/a\u003e) (\u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e38e765119241d990705169bedb5002a29ae0cbd1: feat(context): implemented Delete method (\u003ca href=\"https://github.com/Spyder01\"\u003e\u003ccode\u003e@​Spyder01\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e771dcc6476d7bc6abb9ec0235ecefa4d38fe6fb0: feat(gin): add option to use escaped path (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4420\"\u003e#4420\u003c/a\u003e) (\u003ca href=\"https://github.com/ldesauw\"\u003e\u003ccode\u003e@​ldesauw\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e4dec17afdff48e8018c83618fbbe69fceeb2b41d: feat(logger): color latency (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4146\"\u003e#4146\u003c/a\u003e) (\u003ca href=\"https://github.com/wsyqn6\"\u003e\u003ccode\u003e@​wsyqn6\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ed7776de7d444935ea4385999711bd6331a98fecb: feat(render): add bson protocol (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4145\"\u003e#4145\u003c/a\u003e) (\u003ca href=\"https://github.com/laurentcau\"\u003e\u003ccode\u003e@​laurentcau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eb917b14ff9d189f16a7492be79d123a47806ee19: fix(binding): empty value error (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/2169\"\u003e#2169\u003c/a\u003e) (\u003ca href=\"https://github.com/guonaihong\"\u003e\u003ccode\u003e@​guonaihong\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ec3d1092b3b48addf6f9cd00fe274ec3bd14650eb: fix(binding): improve empty slice/array handling in form binding (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4380\"\u003e#4380\u003c/a\u003e) (\u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e9914178584e42458ff7d23891463a880f58c9d86: fix(context): ClientIP handling for multiple X-Forwarded-For header values (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4472\"\u003e#4472\u003c/a\u003e) (\u003ca href=\"https://github.com/Nurysso\"\u003e\u003ccode\u003e@​Nurysso\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e2a794cd0b0faa7d829291375b27a3467ea972b0d: fix(debug): version mismatch (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4403\"\u003e#4403\u003c/a\u003e) (\u003ca href=\"https://github.com/zeek0x\"\u003e\u003ccode\u003e@​zeek0x\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ec3d5a28ed6d3849da820195b6774d212bcc038a9: fix(gin): close os.File in RunFd to prevent resource leak (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4422\"\u003e#4422\u003c/a\u003e) (\u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e5fad976b372e381312f8de69f0969f1284d229d3: fix(gin): literal colon routes not working with engine.Handler() (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4415\"\u003e#4415\u003c/a\u003e) (\u003ca href=\"https://github.com/pawannn\"\u003e\u003ccode\u003e@​pawannn\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e63dd3e60cab89c27fb66bce1423bd268d52abad1: fix(recover): suppress http.ErrAbortHandler in recover (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4336\"\u003e#4336\u003c/a\u003e) (\u003ca href=\"https://github.com/MondayCha\"\u003e\u003ccode\u003e@​MondayCha\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e5c00df8afadd06cc5be530dde00fe6d9fa4a2e4a: fix(render): write content length in Data.Render (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4206\"\u003e#4206\u003c/a\u003e) (\u003ca href=\"https://github.com/dengaleev\"\u003e\u003ccode\u003e@​dengaleev\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e234a6d4c00cb77af9852aca0b8289745d5529b4b: fix(response): refine hijack behavior for response lifecycle (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4373\"\u003e#4373\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e472d086af2acd924cb4b9d7be0525f7d790f69bc: fix(tree): panic in findCaseInsensitivePathRec with RedirectFixedPath (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4535\"\u003e#4535\u003c/a\u003e) (\u003ca href=\"https://github.com/veeceey\"\u003e\u003ccode\u003e@​veeceey\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e8e07d37c63e5536eb25f4af4c91eabeee4011fba: fix: Correct typos, improve documentation clarity, and remove dead code (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4511\"\u003e#4511\u003c/a\u003e) (\u003ca href=\"https://github.com/mahanadh\"\u003e\u003ccode\u003e@​mahanadh\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eba093d19477b896ac89a7fc3246af23d290b8e26: chore(binding): upgrade bson dependency to mongo-driver v2 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4549\"\u003e#4549\u003c/a\u003e) (\u003ca href=\"https://github.com/BobDu\"\u003e\u003ccode\u003e@​BobDu\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eb2b489dbf4826c2c630717a77fd5e42774625410: chore(context): always trust xff headers from unix socket (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/3359\"\u003e#3359\u003c/a\u003e) (\u003ca href=\"https://github.com/WeidiDeng\"\u003e\u003ccode\u003e@​WeidiDeng\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eecb3f7b5e2f3915bf1db240ed5eee572f8dbea36: chore(deps): upgrade golang.org/x/crypto to v0.45.0 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4449\"\u003e#4449\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eaf6e8b70b8261bb0c99ad094fe552ab92991620a: chore(deps): upgrade quic-go to v0.57.1 (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edb309081bc5c137b2aa15701ef53f7f19788da25: chore(logger): allow skipping query string output (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4547\"\u003e#4547\u003c/a\u003e) (\u003ca href=\"https://github.com/USA-RedDragon\"\u003e\u003ccode\u003e@​USA-RedDragon\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e26c3a628655cad2388380cb8102d6ce7d4875f3b: chore(response): prevent Flush() panic when \u003ccode\u003ehttp.Flusher\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4479\"\u003e#4479\u003c/a\u003e) (\u003ca href=\"https://github.com/Twacqwq\"\u003e\u003ccode\u003e@​Twacqwq\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e5dd833f1f26de0eb30eae47b17e05ced2482dc41: chore: bump minimum Go version to 1.24 and update workflows (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4388\"\u003e#4388\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRefactor\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e39858a0859c914bd26948fa950477e11bd8d3823: refactor(binding): use maps.Copy for cleaner map handling (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4352\"\u003e#4352\u003c/a\u003e) (\u003ca href=\"https://github.com/russcoss\"\u003e\u003ccode\u003e@​russcoss\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ec0048f645ee945c4db30593afdea10123e2c30a6: refactor(context): omit the return value names (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4395\"\u003e#4395\u003c/a\u003e) (\u003ca href=\"https://github.com/wanghaolong613\"\u003e\u003ccode\u003e@​wanghaolong613\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e915e4c90d28ec4cffc6eb146e208ab5a65eac772: refactor(context): replace hardcoded localhost IPs with constants (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4481\"\u003e#4481\u003c/a\u003e) (\u003ca href=\"https://github.com/pauloappbr\"\u003e\u003ccode\u003e@​pauloappbr\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e414de60574449457f3192a7a1d5528940db2836d: refactor(context): using maps.Clone (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4333\"\u003e#4333\u003c/a\u003e) (\u003ca href=\"https://github.com/cuiweixie\"\u003e\u003ccode\u003e@​cuiweixie\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e59e9d4a794f12c4f9a6c7bed441b9644e5f6d99b: refactor(ginS): use sync.OnceValue to simplify engine function (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4314\"\u003e#4314\u003c/a\u003e) (\u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e3ab698dc5110af1977d57226e4995c57dd34c233: refactor(recovery): smart error comparison (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4142\"\u003e#4142\u003c/a\u003e) (\u003ca href=\"https://github.com/zeek0x\"\u003e\u003ccode\u003e@​zeek0x\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ed1a15347b1e45a8ee816193d3578a93bfd73b70f: refactor(utils): move util functions to utils.go (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4467\"\u003e#4467\u003c/a\u003e) (\u003ca href=\"https://github.com/zeek0x\"\u003e\u003ccode\u003e@​zeek0x\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ee3118cc378d263454098924ebbde7e8d1dd2e904: refactor: for loop can be modernized using range over int (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4392\"\u003e#4392\u003c/a\u003e) (\u003ca href=\"https://github.com/wanghaolong613\"\u003e\u003ccode\u003e@​wanghaolong613\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e488f8c3ffa579a8d19beb2bae95ff8ef36b3d53f: refactor: replace magic numbers with named constants in bodyAllowedForStatus (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4529\"\u003e#4529\u003c/a\u003e) (\u003ca href=\"https://github.com/veeceey\"\u003e\u003ccode\u003e@​veeceey\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e9968c4bf9d5a99edc3eee2c068a4c9160ece8915: refactor: use b.Loop() to simplify the code and improve performance (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4389\"\u003e#4389\u003c/a\u003e) (\u003ca href=\"https://github.com/reddaisyy\"\u003e\u003ccode\u003e@​reddaisyy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ea85ef5ce4d0cda8834c59c855068ed48b51192d1: refactor: use b.Loop() to simplify the code and improve performance (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4432\"\u003e#4432\u003c/a\u003e) (\u003ca href=\"https://github.com/efcking\"\u003e\u003ccode\u003e@​efcking\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBuild process updates\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e61b67de522a189b568aced4c5c16917c558e3387: ci(bot): increase frequency and group updates for dependencies (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4367\"\u003e#4367\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efb27ef26c2fdfe25344b4c039d8a53551f9e912c: ci(lint): refactor test assertions and linter configuration (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4436\"\u003e#4436\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e93ff771e6dbf10e432864b30f3719ac5c84a4d4a: ci(sec): improve type safety and server organization in HTTP middleware (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4437\"\u003e#4437\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ee88fc8927a52b74f55bec0351604a56ac0aa1c51: ci(sec): schedule Trivy security scans to run daily at midnight UTC (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4439\"\u003e#4439\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e5e5ff3ace496a31b138b0820136a146bfb5de0ef: ci: replace vulnerability scanning workflow with Trivy integration (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4421\"\u003e#4421\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e00900fb3e1ea9dde33985a0e4f6afec793d5e786: ci: update CI workflows and standardize Trivy config quotes (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4531\"\u003e#4531\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eae3f524974fc4f55d18c9e7fae4614503c015226: ci: update Go version support to 1.25+ across CI and docs (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4550\"\u003e#4550\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/gin-gonic/gin/blob/master/CHANGELOG.md\"\u003egithub.com/gin-gonic/gin's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eGin v1.12.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat(render): add bson protocol (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4145\"\u003e#4145\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(context): add GetError and GetErrorSlice methods for error retrieval (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4502\"\u003e#4502\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(binding): add support for encoding.UnmarshalText in uri/query binding (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4203\"\u003e#4203\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(gin): add option to use escaped path (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4420\"\u003e#4420\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(context): add Protocol Buffers support to content negotiation (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4423\"\u003e#4423\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(context): implemented Delete method (\u003ca href=\"https://github.com/gin-gonic/gin/commit/38e7651\"\u003e#38e7651\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(logger): color latency (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4146\"\u003e#4146\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eperf(tree): reduce allocations in findCaseInsensitivePath (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4417\"\u003e#4417\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eperf(recovery): optimize line reading in stack function (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4466\"\u003e#4466\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eperf(path): replace regex with custom functions in redirectTrailingSlash (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4414\"\u003e#4414\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eperf(tree): optimize path parsing using strings.Count (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4246\"\u003e#4246\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(logger): allow skipping query string output (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4547\"\u003e#4547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(context): always trust xff headers from unix socket (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/3359\"\u003e#3359\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(response): prevent Flush() panic when the underlying ResponseWriter does not implement \u003ccode\u003ehttp.Flusher\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4479\"\u003e#4479\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(recovery): smart error comparison (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4142\"\u003e#4142\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(context): replace hardcoded localhost IPs with constants (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4481\"\u003e#4481\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(utils): move util functions to utils.go (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4467\"\u003e#4467\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(binding): use maps.Copy for cleaner map handling (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4352\"\u003e#4352\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(context): using maps.Clone (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4333\"\u003e#4333\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(ginS): use sync.OnceValue to simplify engine function (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4314\"\u003e#4314\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor: replace magic numbers with named constants in bodyAllowedForStatus (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4529\"\u003e#4529\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor: for loop can be modernized using range over int (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4392\"\u003e#4392\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(tree): panic in findCaseInsensitivePathRec with RedirectFixedPath (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4535\"\u003e#4535\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(render): write content length in Data.Render (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4206\"\u003e#4206\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(context): ClientIP handling for multiple X-Forwarded-For header values (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4472\"\u003e#4472\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(binding): empty value error (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/2169\"\u003e#2169\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(recover): suppress http.ErrAbortHandler in recover (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4336\"\u003e#4336\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(gin): literal colon routes not working with engine.Handler() (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4415\"\u003e#4415\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(gin): close os.File in RunFd to prevent resource leak (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4422\"\u003e#4422\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(response): refine hijack behavior for response lifecycle (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4373\"\u003e#4373\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(binding): improve empty slice/array handling in form binding (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4380\"\u003e#4380\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(debug): version mismatch (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4403\"\u003e#4403\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: correct typos, improve documentation clarity, and remove dead code (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4511\"\u003e#4511\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBuild process updates / CI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eci: update Go version support to 1.25+ across CI and docs (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4550\"\u003e#4550\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(binding): upgrade bson dependency to mongo-driver v2 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4549\"\u003e#4549\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eGin v1.11.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/73726dc606796a025971fe451f0aa6f1b9b847f6\"\u003e\u003ccode\u003e73726dc\u003c/code\u003e\u003c/a\u003e docs: update documentation to reflect Go version changes (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4552\"\u003e#4552\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/e292e5caa777bce70b66fe08c94cbe9cef3e2ec9\"\u003e\u003ccode\u003ee292e5c\u003c/code\u003e\u003c/a\u003e docs: document and finalize Gin v1.12.0 release (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4551\"\u003e#4551\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/ae3f524974fc4f55d18c9e7fae4614503c015226\"\u003e\u003ccode\u003eae3f524\u003c/code\u003e\u003c/a\u003e ci: update Go version support to 1.25+ across CI and docs (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4550\"\u003e#4550\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/38534e2bf98a06e1f62d6b24384e90b5f78699bf\"\u003e\u003ccode\u003e38534e2\u003c/code\u003e\u003c/a\u003e chore(deps): bump golang.org/x/net from 0.50.0 to 0.51.0 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4548\"\u003e#4548\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/472d086af2acd924cb4b9d7be0525f7d790f69bc\"\u003e\u003ccode\u003e472d086\u003c/code\u003e\u003c/a\u003e fix(tree): panic in findCaseInsensitivePathRec with RedirectFixedPath (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4535\"\u003e#4535\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/fb2583442c4d9bccb75e6d26f1aa6e7c01950db6\"\u003e\u003ccode\u003efb25834\u003c/code\u003e\u003c/a\u003e test(context): use http.StatusContinue constant instead of magic number 100 (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/6f1d5fe3cdb171a08928c3c9dd3fbcfc9ee1b521\"\u003e\u003ccode\u003e6f1d5fe\u003c/code\u003e\u003c/a\u003e test(render): add comprehensive error handling tests (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4541\"\u003e#4541\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/5c00df8afadd06cc5be530dde00fe6d9fa4a2e4a\"\u003e\u003ccode\u003e5c00df8\u003c/code\u003e\u003c/a\u003e fix(render): write content length in Data.Render (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4206\"\u003e#4206\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/db309081bc5c137b2aa15701ef53f7f19788da25\"\u003e\u003ccode\u003edb30908\u003c/code\u003e\u003c/a\u003e chore(logger): allow skipping query string output (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4547\"\u003e#4547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/ba093d19477b896ac89a7fc3246af23d290b8e26\"\u003e\u003ccode\u003eba093d1\u003c/code\u003e\u003c/a\u003e chore(binding): upgrade bson dependency to mongo-driver v2 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4549\"\u003e#4549\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/gin-gonic/gin/compare/v1.9.1...v1.12.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/jmoiron/sqlx` from 1.3.5 to 1.4.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jmoiron/sqlx/releases\"\u003egithub.com/jmoiron/sqlx's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eUpdate dependencies to their latest stable versions\u003c/h2\u003e\n\u003cp\u003eThis release has updated all dependencies to their latest stable version.\u003c/p\u003e\n\u003cp\u003eAnd now, for the auto-generated description:\u003c/p\u003e\n\u003chr /\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eIntroduce CircleCI by \u003ca href=\"https://github.com/dlsniper\"\u003e\u003ccode\u003e@​dlsniper\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jmoiron/sqlx/pull/922\"\u003ejmoiron/sqlx#922\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade dependencies by \u003ca href=\"https://github.com/dlsniper\"\u003e\u003ccode\u003e@​dlsniper\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jmoiron/sqlx/pull/909\"\u003ejmoiron/sqlx#909\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dlsniper\"\u003e\u003ccode\u003e@​dlsniper\u003c/code\u003e\u003c/a\u003e made their first contribution at \u003ca href=\"https://redirect.github.com/jmoiron/sqlx/pull/922\"\u003ejmoiron/sqlx#922\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/jmoiron/sqlx/compare/v1.3.5...v1.4.0\"\u003ehttps://github.com/jmoiron/sqlx/compare/v1.3.5...v1.4.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jmoiron/sqlx/commit/bc916999dc0011f5caf1f0d40e898ea9f839f4ea\"\u003e\u003ccode\u003ebc91699\u003c/code\u003e\u003c/a\u003e Upgrade dependencies (\u003ca href=\"https://redirect.github.com/jmoiron/sqlx/issues/909\"\u003e#909\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jmoiron/sqlx/commit/dcafbc90dc685e20a870c7604a444bff7a5f4267\"\u003e\u003ccode\u003edcafbc9\u003c/code\u003e\u003c/a\u003e Introduce CircleCI (\u003ca href=\"https://redirect.github.com/jmoiron/sqlx/issues/922\"\u003e#922\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/jmoiron/sqlx/compare/v1.3.5...v1.4.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/lib/pq` from 1.10.9 to 1.12.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/lib/pq/releases\"\u003egithub.com/lib/pq's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.12.3\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSend datestyle startup parameter, improving compatbility with database engines that use a different default datestyle such as EnterpriseDB (\u003ca href=\"https://redirect.github.com/lib/pq/issues/1312\"\u003e#1312\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/lib/pq/issues/1312\"\u003e#1312\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/lib/pq/pull/1312\"\u003elib/pq#1312\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.12.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eTreat io.ErrUnexpectedEOF as driver.ErrBadConn so database/sql discards the connection. Since v1.12.0 this could result in permanently broken connections, especially with CockroachDB which frequently sends partial messages (\u003ca href=\"https://redirect.github.com/lib/pq/issues/1299\"\u003e#1299\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/lib/pq/issues/1299\"\u003e#1299\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/lib/pq/pull/1299\"\u003elib/pq#1299\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.12.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eLook for pgpass file in ~/.pgpass instead of ~/.postgresql/pgpass (\u003ca href=\"https://redirect.github.com/lib/pq/issues/1300\"\u003e#1300\u003c/a\u003e).\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDon't clear password if directly set on pq.Config (\u003ca href=\"https://redirect.github.com/lib/pq/issues/1302\"\u003e#1302\u003c/a\u003e).\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/lib/pq/issues/1300\"\u003e#1300\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/lib/pq/pull/1300\"\u003elib/pq#1300\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/lib/pq/issues/1302\"\u003e#1302\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/lib/pq/pull/1302\"\u003elib/pq#1302\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.12.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eThe next release may change the default sslmode from \u003ccode\u003erequire\u003c/code\u003e to \u003ccode\u003eprefer\u003c/code\u003e. See \u003ca href=\"https://redirect.github.com/lib/pq/issues/1271\"\u003e#1271\u003c/a\u003e for details.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003eCopyIn()\u003c/code\u003e and \u003ccode\u003eCopyInToSchema()\u003c/code\u003e have been marked as deprecated. These are simple query builders and not needed for \u003ccode\u003eCOPY [..] FROM STDIN\u003c/code\u003e support (which is \u003cem\u003enot\u003c/em\u003e deprecated). (\u003ca href=\"https://redirect.github.com/lib/pq/issues/1279\"\u003e#1279\u003c/a\u003e)\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e// Old\r\ntx.Prepare(CopyIn(\u0026quot;temp\u0026quot;, \u0026quot;num\u0026quot;, \u0026quot;text\u0026quot;, \u0026quot;blob\u0026quot;, \u0026quot;nothing\u0026quot;))\r\n\u003cp\u003e// Replacement\ntx.Prepare(\u003ccode\u003ecopy temp (num, text, blob, nothing) from stdin\u003c/code\u003e)\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eSupport protocol 3.2, and the \u003ccode\u003emin_protocol_version\u003c/code\u003e and \u003ccode\u003emax_protocol_version\u003c/code\u003e DSN parameters (\u003ca href=\"https://redirect.github.com/lib/pq/issues/1258\"\u003e#1258\u003c/a\u003e).\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSupport \u003ccode\u003esslmode=prefer\u003c/code\u003e and \u003ccode\u003esslmode=allow\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/lib/pq/issues/1270\"\u003e#1270\u003c/a\u003e).\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSupport \u003ccode\u003essl_min_protocol_version\u003c/code\u003e and \u003ccode\u003essl_max_protocol_version\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/lib/pq/issues/1277\"\u003e#1277\u003c/a\u003e).\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSupport connection service file to load connection details (\u003ca href=\"https://redirect.github.com/lib/pq/issues/1285\"\u003e#1285\u003c/a\u003e).\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSupport \u003ccode\u003esslrootcert=system\u003c/code\u003e and use \u003ccode\u003e~/.postgresql/root.crt\u003c/code\u003e as the default value of sslrootcert (\u003ca href=\"https://redirect.github.com/lib/pq/issues/1280\"\u003e#1280\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/lib/pq/issues/1281\"\u003e#1281\u003c/a\u003e).\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd a new \u003ccode\u003epqerror\u003c/code\u003e package with PostgreSQL error codes (\u003ca href=\"https://redirect.github.com/lib/pq/issues/1275\"\u003e#1275\u003c/a\u003e).\u003c/p\u003e\n\u003cp\u003eFor example, to test if an error is a UNIQUE constraint violation:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eif pqErr, ok := errors.AsType[*pq.Error](https://github.com/lib/pq/blob/HEAD/err); ok \u0026amp;\u0026amp; pqErr.Code == pqerror.UniqueViolation {\r\n    log.Fatalf(\u0026quot;email %q already exsts\u0026quot;, email)\r\n}\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eTo make this a bit more convenient, it also adds a \u003ccode\u003epq.As()\u003c/code\u003e function:\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/lib/pq/blob/master/CHANGELOG.md\"\u003egithub.com/lib/pq's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.12.3 (2026-04-03)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSend datestyle startup parameter, improving compatbility with database engines\nthat use a different default datestyle such as EnterpriseDB (\u003ca href=\"https://redirect.github.com/lib/pq/issues/1312\"\u003e#1312\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/lib/pq/issues/1312\"\u003e#1312\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/lib/pq/pull/1312\"\u003elib/pq#1312\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.12.2 (2026-04-02)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eTreat io.ErrUnexpectedEOF as driver.ErrBadConn so database/sql discards the\nconnection. Since v1.12.0 this could result in permanently broken connections,\nespecially with CockroachDB which frequently sends partial messages (\u003ca href=\"https://redirect.github.com/lib/pq/issues/1299\"\u003e#1299\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/lib/pq/issues/1299\"\u003e#1299\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/lib/pq/pull/1299\"\u003elib/pq#1299\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.12.1 (2026-03-30)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eLook for pgpass file in ~/.pgpass instead of ~/.postgresql/pgpass (\u003ca href=\"https://redirect.github.com/lib/pq/issues/1300\"\u003e#1300\u003c/a\u003e).\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDon't clear password if directly set on pq.Config (\u003ca href=\"https://redirect.github.com/lib/pq/issues/1302\"\u003e#1302\u003c/a\u003e).\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/lib/pq/issues/1300\"\u003e#1300\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/lib/pq/pull/1300\"\u003elib/pq#1300\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/lib/pq/issues/1302\"\u003e#1302\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/lib/pq/pull/1302\"\u003elib/pq#1302\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.12.0 (2026-03-18)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eThe next release may change the default sslmode from \u003ccode\u003erequire\u003c/code\u003e to \u003ccode\u003eprefer\u003c/code\u003e.\nSee \u003ca href=\"https://redirect.github.com/lib/pq/issues/1271\"\u003e#1271\u003c/a\u003e for details.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003eCopyIn()\u003c/code\u003e and \u003ccode\u003eCopyInToSchema()\u003c/code\u003e have been marked as deprecated. These are\nsimple query builders and not needed for \u003ccode\u003eCOPY [..] FROM STDIN\u003c/code\u003e support (which\nis \u003cem\u003enot\u003c/em\u003e deprecated). (\u003ca href=\"https://redirect.github.com/lib/pq/issues/1279\"\u003e#1279\u003c/a\u003e)\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e// Old\ntx.Prepare(CopyIn(\u0026quot;temp\u0026quot;, \u0026quot;num\u0026quot;, \u0026quot;text\u0026quot;, \u0026quot;blob\u0026quot;, \u0026quot;nothing\u0026quot;))\n\u003cp\u003e// Replacement\ntx.Prepare(\u003ccode\u003ecopy temp (num, text, blob, nothing) from stdin\u003c/code\u003e)\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eSupport protocol 3.2, and the \u003ccode\u003emin_protocol_version\u003c/code\u003e and\n\u003ccode\u003emax_protocol_version\u003c/code\u003e DSN parameters (\u003ca href=\"https://redirect.github.com/lib/pq/issues/1258\"\u003e#1258\u003c/a\u003e).\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSupport \u003ccode\u003esslmode=prefer\u003c/code\u003e and \u003ccode\u003esslmode=allow\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/lib/pq/issues/1270\"\u003e#1270\u003c/a\u003e).\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSupport \u003ccode\u003essl_min_protocol_version\u003c/code\u003e and \u003ccode\u003essl_max_protocol_version\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/lib/pq/issues/1277\"\u003e#1277\u003c/a\u003e).\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lib/pq/commit/1f3e3d92865dd313b4e146968684d7e3836c76e8\"\u003e\u003ccode\u003e1f3e3d9\u003c/code\u003e\u003c/a\u003e Send datestyle as a startup parameter (\u003ca href=\"https://redirect.github.com/lib/pq/issues/1312\"\u003e#1312\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lib/pq/commit/32ba56b8f9c09575e3320f0043f4f0bdf0ad2009\"\u003e\u003ccode\u003e32ba56b\u003c/code\u003e\u003c/a\u003e Expand tests for multiple result sets\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lib/pq/commit/c2cfac15d5048670f784616c0c3dca56f97f49c0\"\u003e\u003ccode\u003ec2cfac1\u003c/code\u003e\u003c/a\u003e Release v1.12.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lib/pq/commit/859f10493799ae5b3fc3706bbef2ee48764dc787\"\u003e\u003ccode\u003e859f104\u003c/code\u003e\u003c/a\u003e Test CockroachDB\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lib/pq/commit/12e464c3afecfb945fc764001837c137fa764e37\"\u003e\u003ccode\u003e12e464c\u003c/code\u003e\u003c/a\u003e Allow multiple matches and regexps in pqtest.ErrorContains()\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lib/pq/commit/6d77ced41719616090c9e7eec2c313a18640bc3f\"\u003e\u003ccode\u003e6d77ced\u003c/code\u003e\u003c/a\u003e Treat io.ErrUnexpectedEOF as driver.ErrBadConn in handleError\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lib/pq/commit/71daecbc4522cf9cb6c399e19b910d22356ebb87\"\u003e\u003ccode\u003e71daecb\u003c/code\u003e\u003c/a\u003e Ensure transactions are closed in pqtest\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lib/pq/commit/8f448230b50d3c2f796fd20622daaf8ebe3d173c\"\u003e\u003ccode\u003e8f44823\u003c/code\u003e\u003c/a\u003e Set PGAPPNAME for tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lib/pq/commit/4af2196aa02298c23461f2baf538a0679b66a093\"\u003e\u003ccode\u003e4af2196\u003c/code\u003e\u003c/a\u003e Fix healthcheck\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lib/pq/commit/38a54e44b0a91e12314291c9102714e7f503ba98\"\u003e\u003ccode\u003e38a54e4\u003c/code\u003e\u003c/a\u003e Split out testdata/init a bit\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/lib/pq/compare/v1.10.9...v1.12.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/prometheus/client_golang` from 1.19.0 to 1.23.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/prometheus/client_golang/releases\"\u003egithub.com/prometheus/client_golang's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.23.2 - 2025-09-05\u003c/h2\u003e\n\u003cp\u003eThis release is made to upgrade to prometheus/common v0.66.1, which drops the dependencies github.com/grafana/regexp and go.uber.org/atomic and replaces gopkg.in/yaml.v2 with go.yaml.in/yaml/v2 (a drop-in replacement). There are no functional changes.\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cul\u003e\n\u003cli\u003e[release-1.23] Upgrade to prometheus/common@v0.66.1 by \u003ca href=\"https://github.com/aknuds1\"\u003e\u003ccode\u003e@​aknuds1\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/prometheus/client_golang/pull/1869\"\u003eprometheus/client_golang#1869\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[release-1.23] Cut v1.23.2 by \u003ca href=\"https://github.com/aknuds1\"\u003e\u003ccode\u003e@​aknuds1\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/prometheus/client_golang/pull/1870\"\u003eprometheus/client_golang#1870\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/prometheus/client_golang/compare/v1.23.1...v1.23.2\"\u003ehttps://github.com/prometheus/client_golang/compare/v1.23.1...v1.23.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.23.1 - 2025-09-04\u003c/h2\u003e\n\u003cp\u003eThis release is made to be compatible with a backwards incompatible API change in prometheus/common v0.66.0. There are no functional changes.\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cul\u003e\n\u003cli\u003e[release-1.23] Upgrade to prometheus/common v0.66 by \u003ca href=\"https://github.com/aknuds1\"\u003e\u003ccode\u003e@​aknuds1\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/prometheus/client_golang/pull/1866\"\u003eprometheus/client_golang#1866\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[release-1.23] Cut v1.23.1 by \u003ca href=\"https://github.com/aknuds1\"\u003e\u003ccode\u003e@​aknuds1\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/prometheus/client_golang/pull/1867\"\u003eprometheus/client_golang#1867\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/prometheus/client_golang/compare/v1.23.0...v1.23.1\"\u003ehttps://github.com/prometheus/client_golang/compare/v1.23.0...v1.23.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.23.0 - 2025-07-30\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e[CHANGE] Minimum required Go version is now 1.23, only the two latest Go versions are supported from now on. \u003ca href=\"https://redirect.github.com/prometheus/client_golang/issues/1812\"\u003e#1812\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[FEATURE] Add WrapCollectorWith and WrapCollectorWithPrefix \u003ca href=\"https://redirect.github.com/prometheus/client_golang/issues/1766\"\u003e#1766\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[FEATURE] Add exemplars for native histograms \u003ca href=\"https://redirect.github.com/prometheus/client_golang/issues/1686\"\u003e#1686\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENHANCEMENT] exp/api: Bubble up status code from writeResponse \u003ca href=\"https://redirect.github.com/prometheus/client_golang/issues/1823\"\u003e#1823\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENHANCEMENT] collector/go: Update runtime metrics for Go v1.23 and v1.24 \u003ca href=\"https://redirect.github.com/prometheus/client_golang/issues/1833\"\u003e#1833\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[BUGFIX] exp/api: client prompt return on context cancellation \u003ca href=\"https://redirect.github.com/prometheus/client_golang/issues/1729\"\u003e#1729\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/prometheus/client_golang/blob/main/CHANGELOG.md\"\u003egithub.com/prometheus/client_golang's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.23.2 / 2025-09-05\u003c/h2\u003e\n\u003cp\u003eThis release is made to upgrade to prometheus/common v0.66.1, which drops the dependencies github.com/grafana/regexp and go.uber.org/atomic and replaces gopkg.in/yaml.v2 with go.yaml.in/yaml/v2 (a drop-in replacement).\nThere are no functional changes.\u003c/p\u003e\n\u003ch2\u003e1.23.1 / 2025-09-04\u003c/h2\u003e\n\u003cp\u003eThis release is made to be compatible with a backwards incompatible API change\nin prometheus/common v0.66.0. There are no functional changes.\u003c/p\u003e\n\u003ch2\u003e1.23.0 / 2025-07-30\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e[CHANGE] Minimum required Go version is now 1.23, only the two latest Go versions are supported from now on. \u003ca href=\"https://redirect.github.com/prometheus/client_golang/issues/1812\"\u003e#1812\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[FEATURE] Add WrapCollectorWith and WrapCollectorWithPrefix \u003ca href=\"https://redirect.github.com/prometheus/client_golang/issues/1766\"\u003e#1766\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[FEATURE] Add exemplars for native histograms \u003ca href=\"https://redirect.github.com/prometheus/client_golang/issues/1686\"\u003e#1686\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENHANCEMENT] exp/api: Bubble up status code from writeResponse \u003ca href=\"https://redirect.github.com/prometheus/client_golang/issues/1823\"\u003e#1823\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENHANCEMENT] collector/go: Update runtime metrics for Go v1.23 and v1.24 \u003ca href=\"https://redirect.github.com/prometheus/client_golang/issues/1833\"\u003e#1833\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[BUGFIX] exp/api: client prompt return on context cancellation \u003ca href=\"https://redirect.github.com/prometheus/client_golang/issues/1729\"\u003e#1729\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.22.0 / 2025-04-07\u003c/h2\u003e\n\u003cp\u003e:warning: This release contains potential breaking change if you use experimental \u003ccode\u003ezstd\u003c/code\u003e support introduce in \u003ca href=\"https://redirect.github.com/prometheus/client_golang/issues/1496\"\u003e#1496\u003c/a\u003e :warning:\u003c/p\u003e\n\u003cp\u003eExperimental support for \u003ccode\u003ezstd\u003c/code\u003e on scrape was added, controlled by the request \u003ccode\u003eAccept-Encoding\u003c/code\u003e header.\nIt was enabled by default since version 1.20, but now you need to add a blank import to enable it.\nThe decision to make it opt-in by default was originally made because the Go standard library was expected to have default zstd support added soon,\n\u003ca href=\"https://redirect.github.com/golang/go/issues/62513\"\u003egolang/go#62513\u003c/a\u003e however, the work took longer than anticipated and it will be postponed to upcoming major Go versions.\u003c/p\u003e\n\u003cp\u003ee.g.:\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cpre lang=\"go\"\u003e\u003ccode\u003eimport (\n  _ \u0026quot;github.com/prometheus/client_golang/prometheus/promhttp/zstd\u0026quot;\n)\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/blockquote\u003e\n\u003cul\u003e\n\u003cli\u003e[FEATURE] prometheus: Add new CollectorFunc utility \u003ca href=\"https://redirect.github.com/prometheus/client_golang/issues/1724\"\u003e#1724\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[CHANGE] Minimum required Go version is now 1.22 (we also test client_golang against latest go version - 1.24) \u003ca href=\"https://redirect.github.com/prometheus/client_golang/issues/1738\"\u003e#1738\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[FEATURE] api: \u003ccode\u003eWithLookbackDelta\u003c/code\u003e and \u003ccode\u003eWithStats\u003c/code\u003e options have been added to API client. \u003ca href=\"https://redirect.github.com/prometheus/client_golang/issues/1743\"\u003e#1743\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[CHANGE] :warning: promhttp: Isolate zstd support and klauspost/compress library use to promhttp/zstd package. \u003ca href=\"https://redirect.github.com/prometheus/client_golang/issues/1765\"\u003e#1765\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.21.1 / 2025-03-04\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e[BUGFIX] prometheus: Revert of \u003ccode\u003eInc\u003c/code\u003e, \u003ccode\u003eAdd\u003c/code\u003e and \u003ccode\u003eObserve\u003c/code\u003e cumulative metric CAS optimizations (\u003ca href=\"https://redirect.github.com/prometheus/client_golang/issues/1661\"\u003e#1661\u003c/a\u003e), causing regressions on low contention cases.\u003c/li\u003e\n\u003cli\u003e[BUGFIX] prometheus: Fix GOOS=ios build, broken due to process_collector_* wrong build tags.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.21.0 / 2025-02-17\u003c/h2\u003e\n\u003cp\u003e:warning: This release contains potential breaking change if you upgrade \u003ccode\u003egithub.com/prometheus/common\u003c/code\u003e to 0.62+ together with client_golang. :warning:\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prometheus/client_golang/commit/8179a560819f2c64ef6ade70e6ae4c73aecaca3c\"\u003e\u003ccode\u003e8179a56\u003c/code\u003e\u003c/a\u003e Cut v1.23.2 (\u003ca href=\"https://redirect.github.com/prometheus/client_golang/issues/1870\"\u003e#1870\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prometheus/client_golang/commit/4142b5908bb6c8f5e412b72de5ea4b927d8c219d\"\u003e\u003ccode\u003e4142b59\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/prometheus/client_golang/issues/1869\"\u003e#1869\u003c/a\u003e from prometheus/arve/upgrade-common\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prometheus/client_golang/commit/4ff40f0d918efc0f59701d13622913805c2425b4\"\u003e\u003ccode\u003e4ff40f0\u003c/code\u003e\u003c/a\u003e Cut v1.23.1 (\u003ca href=\"https://redirect.github.com/prometheus/client_golang/issues/1867\"\u003e#1867\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prometheus/client_golang/commit/989b0298944e64f88a54ac9c70cd8c8121f10bc9\"\u003e\u003ccode\u003e989b029\u003c/code\u003e\u003c/a\u003e Upgrade to prometheus/common v0.66 (\u003ca href=\"https://redirect.github.com/prometheus/client_golang/issues/1866\"\u003e#1866\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prometheus/client_golang/commit/e4b2208dd8cb6d1425f00250db842ec3c1e8749e\"\u003e\u003ccode\u003ee4b2208\u003c/code\u003e\u003c/a\u003e Cut v1.23.0 (\u003ca href=\"https://redirect.github.com/prometheus/client_golang/issues/1848\"\u003e#1848\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prometheus/client_golang/commit/d9492afd3a6f2e9782a7fc10363281bfd5b743bb\"\u003e\u003ccode\u003ed9492af\u003c/code\u003e\u003c/a\u003e cut v1.23.0-rc.1 (\u003ca href=\"https://redirect.github.com/prometheus/client_golang/issues/1842\"\u003e#1842\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prometheus/client_golang/commit/aeae8a0b4f54a8fa720d19b88638a2d048596f82\"\u003e\u003ccode\u003eaeae8a0\u003c/code\u003e\u003c/a\u003e Cut v1.23.0-rc.0 (\u003ca href=\"https://redirect.github.com/prometheus/client_golang/issues/1837\"\u003e#1837\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prometheus/client_golang/commit/b157309b723f0b8588ea604bb78dbbba196803f2\"\u003e\u003ccode\u003eb157309\u003c/code\u003e\u003c/a\u003e Update common Prometheus files (\u003ca href=\"https://redirect.github.com/prometheus/client_golang/issues/1832\"\u003e#1832\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prometheus/client_golang/commit/a704e287f467b79744c30af996b7d710d4c6900d\"\u003e\u003ccode\u003ea704e28\u003c/code\u003e\u003c/a\u003e build(deps): bump the github-actions group with 3 updates (\u003ca href=\"https://redirect.github.com/prometheus/client_golang/issues/1826\"\u003e#1826\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prometheus/client_golang/commit/c7743110ad2c599de3d8c23682d978a12f9f36d1\"\u003e\u003ccode\u003ec774311\u003c/code\u003e\u003c/a\u003e Fix errNotImplemented reference (\u003ca href=\"https://redirect.github.com/prometheus/client_golang/issues/1835\"\u003e#1835\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/prometheus/client_golang/compare/v1.19.0...v1.23.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `go.uber.org/zap` from 1.27.0 to 1.28.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/uber-go/zap/releases\"\u003ego.uber.org/zap's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.28.0\u003c/h2\u003e\n\u003cp\u003eEnhancements:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/uber-go/zap/issues/1534\"\u003e#1534\u003c/a\u003e[]: Add \u003ccode\u003ezapcore.CheckPreWriteHook\u003c/code\u003e and \u003ccode\u003eCheckedEntry.Before\u003c/code\u003e method for transforming entries before they are written to any Cores.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/uber-go/zap/issues/1534\"\u003e#1534\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/uber-go/zap/pull/1534\"\u003euber-go/zap#1534\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.27.1\u003c/h2\u003e\n\u003cp\u003eEnhancements:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/uber-go/zap/issues/1501\"\u003e#1501\u003c/a\u003e[]: prevent \u003ccode\u003eObject\u003c/code\u003e from panicking on nils\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/uber-go/zap/issues/1511\"\u003e#1511\u003c/a\u003e[]: Fix a race condition in \u003ccode\u003eWithLazy\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThanks to \u003ca href=\"https://github.com/rabbbit\"\u003e\u003ccode\u003e@​rabbbit\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/alshopov\"\u003e\u003ccode\u003e@​alshopov\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/jquirke\"\u003e\u003ccode\u003e@​jquirke\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arukiidou\"\u003e\u003ccode\u003e@​arukiidou\u003c/code\u003e\u003c/a\u003e for their contributions to this release.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/uber-go/zap/issues/1501\"\u003e#1501\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/uber-go/zap/pull/1501\"\u003euber-go/zap#1501\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/uber-go/zap/issues/1511\"\u003e#1511\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/uber-go/zap/pull/1511\"\u003euber-go/zap#1511\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/uber-go/zap/blob/master/CHANGELOG.md\"\u003ego.uber.org/zap's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.28.0 (27 Apr 2026)\u003c/h2\u003e\n\u003cp\u003eEnhancements:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/uber-go/zap/issues/1534\"\u003e#1534\u003c/a\u003e[]: Add \u003ccode\u003ezapcore.CheckPreWriteHook\u003c/code\u003e and \u003ccode\u003eCheckedEntry.Before\u003c/code\u003e method for transforming entries before they are written to any Cores.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.27.1 (19 Nov 2025)\u003c/h2\u003e\n\u003cp\u003eEnhancements:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/uber-go/zap/issues/1501\"\u003e#1501\u003c/a\u003e[]: prevent \u003ccode\u003eObject\u003c/code\u003e from panicking on nils\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/uber-go/zap/issues/1511\"\u003e#1511\u003c/a\u003e[]: Fix a race condition in \u003ccode\u003eWithLazy\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThanks to \u003ca href=\"https://github.com/rabbbit\"\u003e\u003ccode\u003e@​rabbbit\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/alshopov\"\u003e\u003ccode\u003e@​alshopov\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/jquirke\"\u003e\u003ccode\u003e@​jquirke\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arukiidou\"\u003e\u003ccode\u003e@​arukiidou\u003c/code\u003e\u003c/a\u003e for their contributions to this release.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/uber-go/zap/issues/1501\"\u003e#1501\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/uber-go/zap/pull/1501\"\u003euber-go/zap#1501\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/uber-go/zap/issues/1511\"\u003e#1511\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/uber-go/zap/pull/1511\"\u003euber-go/zap#1511\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/uber-go/zap/commit/5b81b37b81b8e2ed447a6f57991e372ee4fa5c8f\"\u003e\u003ccode\u003e5b81b37\u003c/code\u003e\u003c/a\u003e release v1.28.0 (\u003ca href=\"https://redirect.github.com/uber-go/zap/issues/1547\"\u003e#1547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/uber-go/zap/commit/0ab0d5aae5986395e2ca497385d977ccd7cdfc5e\"\u003e\u003ccode\u003e0ab0d5a\u003c/code\u003e\u003c/a\u003e zapcore: Add PreWriteHook for transforming entries before write (\u003ca href=\"https://redirect.github.com/uber-go/zap/issues/1534\"\u003e#1534\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/uber-go/zap/commit/d278c5962cb0f7423170c11a5da9b7a4edbf9b92\"\u003e\u003ccode\u003ed278c59\u003c/code\u003e\u003c/a\u003e [chore] CI: test on Go 1.26 (\u003ca href=\"https://redirect.github.com/uber-go/zap/issues/1535\"\u003e#1535\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/uber-go/zap/commit/16fb16b353f2e27bcd71eba69cbd346b3dcc471a\"\u003e\u003ccode\u003e16fb16b\u003c/code\u003e\u003c/a\u003e chore(dep): replace archived gopkg.in/yaml.v3 with officially maintained go.y...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/uber-go/zap/commit/7b755a3910491932656b01f2013b8bf41e74d4e8\"\u003e\u003ccode\u003e7b755a3\u003c/code\u003e\u003c/a\u003e release 1.27.1 (\u003ca href=\"https://redirect.github.com/uber-go/zap/issues/1521\"\u003e#1521\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/uber-go/zap/commit/d6b395b76053053ec6ae18121c01e08718708bc3\"\u003e\u003ccode\u003ed6b395b\u003c/code\u003e\u003c/a\u003e Update lazy logger not to materialize unless it's being written to (\u003ca href=\"https://redirect.github.com/uber-go/zap/issues/1519\"\u003e#1519\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/uber-go/zap/commit/4b9cea0fee0414839ee5f8c69320c12f181c3d47\"\u003e\u003ccode\u003e4b9cea0\u003c/code\u003e\u003c/a\u003e ci: Test with Go 1.24, Go 1.25 (\u003ca href=\"https://redirect.github.com/uber-go/zap/issues/1508\"\u003e#1508\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/uber-go/zap/commit/7c80d7b53df6ed592d333998cbbfcd99ff52f3c2\"\u003e\u003ccode\u003e7c80d7b\u003c/code\u003e\u003c/a\u003e Fix race condition in WithLazy implementation (\u003ca href=\"https://redirect.github.com/uber-go/zap/issues/1426\"\u003e#1426\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/uber-go/zap/issues/1511\"\u003e#1511\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/uber-go/zap/commit/07077a697f639389cc998ff91b8885feb25f520d\"\u003e\u003ccode\u003e07077a6\u003c/code\u003e\u003c/a\u003e Prevent zap.Object from panicing on nils (\u003ca href=\"https://redirect.github.com/uber-go/zap/issues/1501\"\u003e#1501\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/uber-go/zap/commit/a6afd05063133cc713487d6c883760decd673ca0\"\u003e\u003ccode\u003ea6afd05\u003c/code\u003e\u003c/a\u003e Fix lint check name (\u003ca href=\"https://redirect.github.com/uber-go/zap/issues/1502\"\u003e#1502\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/uber-go/zap/compare/v1.27.0...v1.28.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/guessleej/xCloudAPIM/pull/41","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/guessleej%2FxCloudAPIM/issues/41","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/41/packages"}},{"old_version":"1.9.1","new_version":"1.12.0","update_type":"minor","path":null,"pr_created_at":"2026-05-06T06:46:11.000Z","version_change":"1.9.1 → 1.12.0","issue":{"uuid":"4389339062","node_id":"PR_kwDOSUQ3o87YqSy2","number":36,"state":"closed","title":"build(deps): Bump the policy-go-deps group across 1 directory with 6 updates","user":"dependabot[bot]","labels":["dependencies","go"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-05-19T00:23:27.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-06T06:46:11.000Z","updated_at":"2026-05-19T00:23:29.000Z","time_to_close":1100236,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): Bump","group_name":"policy-go-deps","update_count":6,"packages":[{"name":"github.com/gin-gonic/gin","old_version":"1.9.1","new_version":"1.12.0","repository_url":"https://github.com/gin-gonic/gin"},{"name":"github.com/jmoiron/sqlx","old_version":"1.3.5","new_version":"1.4.0","repository_url":"https://github.com/jmoiron/sqlx"},{"name":"github.com/lib/pq","old_version":"1.10.9","new_version":"1.12.3","repository_url":"https://github.com/lib/pq"},{"name":"github.com/prometheus/client_golang","old_version":"1.19.0","new_version":"1.23.2","repository_url":"https://github.com/prometheus/client_golang"},{"name":"github.com/redis/go-redis/v9","old_version":"9.5.1","new_version":"9.19.0","repository_url":"https://github.com/redis/go-redis"},{"name":"go.uber.org/zap","old_version":"1.27.0","new_version":"1.28.0","repository_url":"https://github.com/uber-go/zap"}],"path":null,"ecosystem":"go"},"body":"Bumps the policy-go-deps group with 6 updates in the /policy-engine directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [github.com/gin-gonic/gin](https://github.com/gin-gonic/gin) | `1.9.1` | `1.12.0` |\n| [github.com/jmoiron/sqlx](https://github.com/jmoiron/sqlx) | `1.3.5` | `1.4.0` |\n| [github.com/lib/pq](https://github.com/lib/pq) | `1.10.9` | `1.12.3` |\n| [github.com/prometheus/client_golang](https://github.com/prometheus/client_golang) | `1.19.0` | `1.23.2` |\n| [github.com/redis/go-redis/v9](https://github.com/redis/go-redis) | `9.5.1` | `9.19.0` |\n| [go.uber.org/zap](https://github.com/uber-go/zap) | `1.27.0` | `1.28.0` |\n\n\nUpdates `github.com/gin-gonic/gin` from 1.9.1 to 1.12.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/gin-gonic/gin/releases\"\u003egithub.com/gin-gonic/gin's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.12.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e192ac89eefc1c30f7c97ae48a9ffb1c6f1c8c8bc: feat(binding): add support for encoding.UnmarshalText in uri/query binding (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4203\"\u003e#4203\u003c/a\u003e) (\u003ca href=\"https://github.com/takanuva15\"\u003e\u003ccode\u003e@​takanuva15\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e53410d2e07054369e0960fbe2eed97e1b9966f12: feat(context): add GetError and GetErrorSlice methods for error retrieval (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4502\"\u003e#4502\u003c/a\u003e) (\u003ca href=\"https://github.com/raju-mechatronics\"\u003e\u003ccode\u003e@​raju-mechatronics\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eacc55e049e33b401e810dbd8c0d6dcb6b3ba2b05: feat(context): add Protocol Buffers support to content negotiation (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4423\"\u003e#4423\u003c/a\u003e) (\u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e38e765119241d990705169bedb5002a29ae0cbd1: feat(context): implemented Delete method (\u003ca href=\"https://github.com/Spyder01\"\u003e\u003ccode\u003e@​Spyder01\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e771dcc6476d7bc6abb9ec0235ecefa4d38fe6fb0: feat(gin): add option to use escaped path (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4420\"\u003e#4420\u003c/a\u003e) (\u003ca href=\"https://github.com/ldesauw\"\u003e\u003ccode\u003e@​ldesauw\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e4dec17afdff48e8018c83618fbbe69fceeb2b41d: feat(logger): color latency (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4146\"\u003e#4146\u003c/a\u003e) (\u003ca href=\"https://github.com/wsyqn6\"\u003e\u003ccode\u003e@​wsyqn6\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ed7776de7d444935ea4385999711bd6331a98fecb: feat(render): add bson protocol (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4145\"\u003e#4145\u003c/a\u003e) (\u003ca href=\"https://github.com/laurentcau\"\u003e\u003ccode\u003e@​laurentcau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eb917b14ff9d189f16a7492be79d123a47806ee19: fix(binding): empty value error (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/2169\"\u003e#2169\u003c/a\u003e) (\u003ca href=\"https://github.com/guonaihong\"\u003e\u003ccode\u003e@​guonaihong\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ec3d1092b3b48addf6f9cd00fe274ec3bd14650eb: fix(binding): improve empty slice/array handling in form binding (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4380\"\u003e#4380\u003c/a\u003e) (\u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e9914178584e42458ff7d23891463a880f58c9d86: fix(context): ClientIP handling for multiple X-Forwarded-For header values (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4472\"\u003e#4472\u003c/a\u003e) (\u003ca href=\"https://github.com/Nurysso\"\u003e\u003ccode\u003e@​Nurysso\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e2a794cd0b0faa7d829291375b27a3467ea972b0d: fix(debug): version mismatch (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4403\"\u003e#4403\u003c/a\u003e) (\u003ca href=\"https://github.com/zeek0x\"\u003e\u003ccode\u003e@​zeek0x\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ec3d5a28ed6d3849da820195b6774d212bcc038a9: fix(gin): close os.File in RunFd to prevent resource leak (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4422\"\u003e#4422\u003c/a\u003e) (\u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e5fad976b372e381312f8de69f0969f1284d229d3: fix(gin): literal colon routes not working with engine.Handler() (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4415\"\u003e#4415\u003c/a\u003e) (\u003ca href=\"https://github.com/pawannn\"\u003e\u003ccode\u003e@​pawannn\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e63dd3e60cab89c27fb66bce1423bd268d52abad1: fix(recover): suppress http.ErrAbortHandler in recover (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4336\"\u003e#4336\u003c/a\u003e) (\u003ca href=\"https://github.com/MondayCha\"\u003e\u003ccode\u003e@​MondayCha\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e5c00df8afadd06cc5be530dde00fe6d9fa4a2e4a: fix(render): write content length in Data.Render (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4206\"\u003e#4206\u003c/a\u003e) (\u003ca href=\"https://github.com/dengaleev\"\u003e\u003ccode\u003e@​dengaleev\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e234a6d4c00cb77af9852aca0b8289745d5529b4b: fix(response): refine hijack behavior for response lifecycle (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4373\"\u003e#4373\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e472d086af2acd924cb4b9d7be0525f7d790f69bc: fix(tree): panic in findCaseInsensitivePathRec with RedirectFixedPath (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4535\"\u003e#4535\u003c/a\u003e) (\u003ca href=\"https://github.com/veeceey\"\u003e\u003ccode\u003e@​veeceey\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e8e07d37c63e5536eb25f4af4c91eabeee4011fba: fix: Correct typos, improve documentation clarity, and remove dead code (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4511\"\u003e#4511\u003c/a\u003e) (\u003ca href=\"https://github.com/mahanadh\"\u003e\u003ccode\u003e@​mahanadh\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eba093d19477b896ac89a7fc3246af23d290b8e26: chore(binding): upgrade bson dependency to mongo-driver v2 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4549\"\u003e#4549\u003c/a\u003e) (\u003ca href=\"https://github.com/BobDu\"\u003e\u003ccode\u003e@​BobDu\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eb2b489dbf4826c2c630717a77fd5e42774625410: chore(context): always trust xff headers from unix socket (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/3359\"\u003e#3359\u003c/a\u003e) (\u003ca href=\"https://github.com/WeidiDeng\"\u003e\u003ccode\u003e@​WeidiDeng\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eecb3f7b5e2f3915bf1db240ed5eee572f8dbea36: chore(deps): upgrade golang.org/x/crypto to v0.45.0 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4449\"\u003e#4449\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eaf6e8b70b8261bb0c99ad094fe552ab92991620a: chore(deps): upgrade quic-go to v0.57.1 (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edb309081bc5c137b2aa15701ef53f7f19788da25: chore(logger): allow skipping query string output (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4547\"\u003e#4547\u003c/a\u003e) (\u003ca href=\"https://github.com/USA-RedDragon\"\u003e\u003ccode\u003e@​USA-RedDragon\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e26c3a628655cad2388380cb8102d6ce7d4875f3b: chore(response): prevent Flush() panic when \u003ccode\u003ehttp.Flusher\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4479\"\u003e#4479\u003c/a\u003e) (\u003ca href=\"https://github.com/Twacqwq\"\u003e\u003ccode\u003e@​Twacqwq\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e5dd833f1f26de0eb30eae47b17e05ced2482dc41: chore: bump minimum Go version to 1.24 and update workflows (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4388\"\u003e#4388\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRefactor\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e39858a0859c914bd26948fa950477e11bd8d3823: refactor(binding): use maps.Copy for cleaner map handling (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4352\"\u003e#4352\u003c/a\u003e) (\u003ca href=\"https://github.com/russcoss\"\u003e\u003ccode\u003e@​russcoss\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ec0048f645ee945c4db30593afdea10123e2c30a6: refactor(context): omit the return value names (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4395\"\u003e#4395\u003c/a\u003e) (\u003ca href=\"https://github.com/wanghaolong613\"\u003e\u003ccode\u003e@​wanghaolong613\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e915e4c90d28ec4cffc6eb146e208ab5a65eac772: refactor(context): replace hardcoded localhost IPs with constants (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4481\"\u003e#4481\u003c/a\u003e) (\u003ca href=\"https://github.com/pauloappbr\"\u003e\u003ccode\u003e@​pauloappbr\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e414de60574449457f3192a7a1d5528940db2836d: refactor(context): using maps.Clone (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4333\"\u003e#4333\u003c/a\u003e) (\u003ca href=\"https://github.com/cuiweixie\"\u003e\u003ccode\u003e@​cuiweixie\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e59e9d4a794f12c4f9a6c7bed441b9644e5f6d99b: refactor(ginS): use sync.OnceValue to simplify engine function (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4314\"\u003e#4314\u003c/a\u003e) (\u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e3ab698dc5110af1977d57226e4995c57dd34c233: refactor(recovery): smart error comparison (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4142\"\u003e#4142\u003c/a\u003e) (\u003ca href=\"https://github.com/zeek0x\"\u003e\u003ccode\u003e@​zeek0x\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ed1a15347b1e45a8ee816193d3578a93bfd73b70f: refactor(utils): move util functions to utils.go (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4467\"\u003e#4467\u003c/a\u003e) (\u003ca href=\"https://github.com/zeek0x\"\u003e\u003ccode\u003e@​zeek0x\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ee3118cc378d263454098924ebbde7e8d1dd2e904: refactor: for loop can be modernized using range over int (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4392\"\u003e#4392\u003c/a\u003e) (\u003ca href=\"https://github.com/wanghaolong613\"\u003e\u003ccode\u003e@​wanghaolong613\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e488f8c3ffa579a8d19beb2bae95ff8ef36b3d53f: refactor: replace magic numbers with named constants in bodyAllowedForStatus (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4529\"\u003e#4529\u003c/a\u003e) (\u003ca href=\"https://github.com/veeceey\"\u003e\u003ccode\u003e@​veeceey\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e9968c4bf9d5a99edc3eee2c068a4c9160ece8915: refactor: use b.Loop() to simplify the code and improve performance (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4389\"\u003e#4389\u003c/a\u003e) (\u003ca href=\"https://github.com/reddaisyy\"\u003e\u003ccode\u003e@​reddaisyy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ea85ef5ce4d0cda8834c59c855068ed48b51192d1: refactor: use b.Loop() to simplify the code and improve performance (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4432\"\u003e#4432\u003c/a\u003e) (\u003ca href=\"https://github.com/efcking\"\u003e\u003ccode\u003e@​efcking\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBuild process updates\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e61b67de522a189b568aced4c5c16917c558e3387: ci(bot): increase frequency and group updates for dependencies (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4367\"\u003e#4367\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efb27ef26c2fdfe25344b4c039d8a53551f9e912c: ci(lint): refactor test assertions and linter configuration (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4436\"\u003e#4436\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e93ff771e6dbf10e432864b30f3719ac5c84a4d4a: ci(sec): improve type safety and server organization in HTTP middleware (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4437\"\u003e#4437\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ee88fc8927a52b74f55bec0351604a56ac0aa1c51: ci(sec): schedule Trivy security scans to run daily at midnight UTC (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4439\"\u003e#4439\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e5e5ff3ace496a31b138b0820136a146bfb5de0ef: ci: replace vulnerability scanning workflow with Trivy integration (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4421\"\u003e#4421\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e00900fb3e1ea9dde33985a0e4f6afec793d5e786: ci: update CI workflows and standardize Trivy config quotes (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4531\"\u003e#4531\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eae3f524974fc4f55d18c9e7fae4614503c015226: ci: update Go version support to 1.25+ across CI and docs (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4550\"\u003e#4550\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/gin-gonic/gin/blob/master/CHANGELOG.md\"\u003egithub.com/gin-gonic/gin's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eGin v1.12.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat(render): add bson protocol (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4145\"\u003e#4145\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(context): add GetError and GetErrorSlice methods for error retrieval (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4502\"\u003e#4502\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(binding): add support for encoding.UnmarshalText in uri/query binding (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4203\"\u003e#4203\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(gin): add option to use escaped path (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4420\"\u003e#4420\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(context): add Protocol Buffers support to content negotiation (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4423\"\u003e#4423\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(context): implemented Delete method (\u003ca href=\"https://github.com/gin-gonic/gin/commit/38e7651\"\u003e#38e7651\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(logger): color latency (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4146\"\u003e#4146\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eperf(tree): reduce allocations in findCaseInsensitivePath (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4417\"\u003e#4417\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eperf(recovery): optimize line reading in stack function (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4466\"\u003e#4466\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eperf(path): replace regex with custom functions in redirectTrailingSlash (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4414\"\u003e#4414\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eperf(tree): optimize path parsing using strings.Count (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4246\"\u003e#4246\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(logger): allow skipping query string output (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4547\"\u003e#4547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(context): always trust xff headers from unix socket (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/3359\"\u003e#3359\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(response): prevent Flush() panic when the underlying ResponseWriter does not implement \u003ccode\u003ehttp.Flusher\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4479\"\u003e#4479\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(recovery): smart error comparison (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4142\"\u003e#4142\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(context): replace hardcoded localhost IPs with constants (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4481\"\u003e#4481\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(utils): move util functions to utils.go (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4467\"\u003e#4467\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(binding): use maps.Copy for cleaner map handling (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4352\"\u003e#4352\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(context): using maps.Clone (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4333\"\u003e#4333\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(ginS): use sync.OnceValue to simplify engine function (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4314\"\u003e#4314\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor: replace magic numbers with named constants in bodyAllowedForStatus (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4529\"\u003e#4529\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor: for loop can be modernized using range over int (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4392\"\u003e#4392\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(tree): panic in findCaseInsensitivePathRec with RedirectFixedPath (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4535\"\u003e#4535\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(render): write content length in Data.Render (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4206\"\u003e#4206\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(context): ClientIP handling for multiple X-Forwarded-For header values (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4472\"\u003e#4472\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(binding): empty value error (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/2169\"\u003e#2169\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(recover): suppress http.ErrAbortHandler in recover (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4336\"\u003e#4336\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(gin): literal colon routes not working with engine.Handler() (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4415\"\u003e#4415\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(gin): close os.File in RunFd to prevent resource leak (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4422\"\u003e#4422\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(response): refine hijack behavior for response lifecycle (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4373\"\u003e#4373\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(binding): improve empty slice/array handling in form binding (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4380\"\u003e#4380\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(debug): version mismatch (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4403\"\u003e#4403\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: correct typos, improve documentation clarity, and remove dead code (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4511\"\u003e#4511\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBuild process updates / CI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eci: update Go version support to 1.25+ across CI and docs (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4550\"\u003e#4550\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(binding): upgrade bson dependency to mongo-driver v2 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4549\"\u003e#4549\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eGin v1.11.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/73726dc606796a025971fe451f0aa6f1b9b847f6\"\u003e\u003ccode\u003e73726dc\u003c/code\u003e\u003c/a\u003e docs: update documentation to reflect Go version changes (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4552\"\u003e#4552\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/e292e5caa777bce70b66fe08c94cbe9cef3e2ec9\"\u003e\u003ccode\u003ee292e5c\u003c/code\u003e\u003c/a\u003e docs: document and finalize Gin v1.12.0 release (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4551\"\u003e#4551\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/ae3f524974fc4f55d18c9e7fae4614503c015226\"\u003e\u003ccode\u003eae3f524\u003c/code\u003e\u003c/a\u003e ci: update Go version support to 1.25+ across CI and docs (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4550\"\u003e#4550\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/38534e2bf98a06e1f62d6b24384e90b5f78699bf\"\u003e\u003ccode\u003e38534e2\u003c/code\u003e\u003c/a\u003e chore(deps): bump golang.org/x/net from 0.50.0 to 0.51.0 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4548\"\u003e#4548\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/472d086af2acd924cb4b9d7be0525f7d790f69bc\"\u003e\u003ccode\u003e472d086\u003c/code\u003e\u003c/a\u003e fix(tree): panic in findCaseInsensitivePathRec with RedirectFixedPath (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4535\"\u003e#4535\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/fb2583442c4d9bccb75e6d26f1aa6e7c01950db6\"\u003e\u003ccode\u003efb25834\u003c/code\u003e\u003c/a\u003e test(context): use http.StatusContinue constant instead of magic number 100 (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/6f1d5fe3cdb171a08928c3c9dd3fbcfc9ee1b521\"\u003e\u003ccode\u003e6f1d5fe\u003c/code\u003e\u003c/a\u003e test(render): add comprehensive error handling tests (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4541\"\u003e#4541\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/5c00df8afadd06cc5be530dde00fe6d9fa4a2e4a\"\u003e\u003ccode\u003e5c00df8\u003c/code\u003e\u003c/a\u003e fix(render): write content length in Data.Render (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4206\"\u003e#4206\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/db309081bc5c137b2aa15701ef53f7f19788da25\"\u003e\u003ccode\u003edb30908\u003c/code\u003e\u003c/a\u003e chore(logger): allow skipping query string output (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4547\"\u003e#4547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/ba093d19477b896ac89a7fc3246af23d290b8e26\"\u003e\u003ccode\u003eba093d1\u003c/code\u003e\u003c/a\u003e chore(binding): upgrade bson dependency to mongo-driver v2 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4549\"\u003e#4549\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/gin-gonic/gin/compare/v1.9.1...v1.12.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/jmoiron/sqlx` from 1.3.5 to 1.4.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jmoiron/sqlx/releases\"\u003egithub.com/jmoiron/sqlx's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eUpdate dependencies to their latest stable versions\u003c/h2\u003e\n\u003cp\u003eThis release has updated all dependencies to their latest stable version.\u003c/p\u003e\n\u003cp\u003eAnd now, for the auto-generated description:\u003c/p\u003e\n\u003chr /\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eIntroduce CircleCI by \u003ca href=\"https://github.com/dlsniper\"\u003e\u003ccode\u003e@​dlsniper\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jmoiron/sqlx/pull/922\"\u003ejmoiron/sqlx#922\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade dependencies by \u003ca href=\"https://github.com/dlsniper\"\u003e\u003ccode\u003e@​dlsniper\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jmoiron/sqlx/pull/909\"\u003ejmoiron/sqlx#909\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dlsniper\"\u003e\u003ccode\u003e@​dlsniper\u003c/code\u003e\u003c/a\u003e made their first contribution at \u003ca href=\"https://redirect.github.com/jmoiron/sqlx/pull/922\"\u003ejmoiron/sqlx#922\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/jmoiron/sqlx/compare/v1.3.5...v1.4.0\"\u003ehttps://github.com/jmoiron/sqlx/compare/v1.3.5...v1.4.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jmoiron/sqlx/commit/bc916999dc0011f5caf1f0d40e898ea9f839f4ea\"\u003e\u003ccode\u003ebc91699\u003c/code\u003e\u003c/a\u003e Upgrade dependencies (\u003ca href=\"https://redirect.github.com/jmoiron/sqlx/issues/909\"\u003e#909\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jmoiron/sqlx/commit/dcafbc90dc685e20a870c7604a444bff7a5f4267\"\u003e\u003ccode\u003edcafbc9\u003c/code\u003e\u003c/a\u003e Introduce CircleCI (\u003ca href=\"https://redirect.github.com/jmoiron/sqlx/issues/922\"\u003e#922\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/jmoiron/sqlx/compare/v1.3.5...v1.4.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/lib/pq` from 1.10.9 to 1.12.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/lib/pq/releases\"\u003egithub.com/lib/pq's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.12.3\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSend datestyle startup parameter, improving compatbility with database engines that use a different default datestyle such as EnterpriseDB (\u003ca href=\"https://redirect.github.com/lib/pq/issues/1312\"\u003e#1312\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/lib/pq/issues/1312\"\u003e#1312\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/lib/pq/pull/1312\"\u003elib/pq#1312\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.12.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eTreat io.ErrUnexpectedEOF as driver.ErrBadConn so database/sql discards the connection. Since v1.12.0 this could result in permanently broken connections, especially with CockroachDB which frequently sends partial messages (\u003ca href=\"https://redirect.github.com/lib/pq/issues/1299\"\u003e#1299\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/lib/pq/issues/1299\"\u003e#1299\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/lib/pq/pull/1299\"\u003elib/pq#1299\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.12.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eLook for pgpass file in ~/.pgpass instead of ~/.postgresql/pgpass (\u003ca href=\"https://redirect.github.com/lib/pq/issues/1300\"\u003e#1300\u003c/a\u003e).\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDon't clear password if directly set on pq.Config (\u003ca href=\"https://redirect.github.com/lib/pq/issues/1302\"\u003e#1302\u003c/a\u003e).\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/lib/pq/issues/1300\"\u003e#1300\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/lib/pq/pull/1300\"\u003elib/pq#1300\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/lib/pq/issues/1302\"\u003e#1302\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/lib/pq/pull/1302\"\u003elib/pq#1302\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.12.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eThe next release may change the default sslmode from \u003ccode\u003erequire\u003c/code\u003e to \u003ccode\u003eprefer\u003c/code\u003e. See \u003ca href=\"https://redirect.github.com/lib/pq/issues/1271\"\u003e#1271\u003c/a\u003e for details.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003eCopyIn()\u003c/code\u003e and \u003ccode\u003eCopyInToSchema()\u003c/code\u003e have been marked as deprecated. These are simple query builders and not needed for \u003ccode\u003eCOPY [..] FROM STDIN\u003c/code\u003e support (which is \u003cem\u003enot\u003c/em\u003e deprecated). (\u003ca href=\"https://redirect.github.com/lib/pq/issues/1279\"\u003e#1279\u003c/a\u003e)\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e// Old\r\ntx.Prepare(CopyIn(\u0026quot;temp\u0026quot;, \u0026quot;num\u0026quot;, \u0026quot;text\u0026quot;, \u0026quot;blob\u0026quot;, \u0026quot;nothing\u0026quot;))\r\n\u003cp\u003e// Replacement\ntx.Prepare(\u003ccode\u003ecopy temp (num, text, blob, nothing) from stdin\u003c/code\u003e)\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eSupport protocol 3.2, and the \u003ccode\u003emin_protocol_version\u003c/code\u003e and \u003ccode\u003emax_protocol_version\u003c/code\u003e DSN parameters (\u003ca href=\"https://redirect.github.com/lib/pq/issues/1258\"\u003e#1258\u003c/a\u003e).\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSupport \u003ccode\u003esslmode=prefer\u003c/code\u003e and \u003ccode\u003esslmode=allow\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/lib/pq/issues/1270\"\u003e#1270\u003c/a\u003e).\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSupport \u003ccode\u003essl_min_protocol_version\u003c/code\u003e and \u003ccode\u003essl_max_protocol_version\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/lib/pq/issues/1277\"\u003e#1277\u003c/a\u003e).\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSupport connection service file to load connection details (\u003ca href=\"https://redirect.github.com/lib/pq/issues/1285\"\u003e#1285\u003c/a\u003e).\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSupport \u003ccode\u003esslrootcert=system\u003c/code\u003e and use \u003ccode\u003e~/.postgresql/root.crt\u003c/code\u003e as the default value of sslrootcert (\u003ca href=\"https://redirect.github.com/lib/pq/issues/1280\"\u003e#1280\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/lib/pq/issues/1281\"\u003e#1281\u003c/a\u003e).\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd a new \u003ccode\u003epqerror\u003c/code\u003e package with PostgreSQL error codes (\u003ca href=\"https://redirect.github.com/lib/pq/issues/1275\"\u003e#1275\u003c/a\u003e).\u003c/p\u003e\n\u003cp\u003eFor example, to test if an error is a UNIQUE constraint violation:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eif pqErr, ok := errors.AsType[*pq.Error](https://github.com/lib/pq/blob/HEAD/err); ok \u0026amp;\u0026amp; pqErr.Code == pqerror.UniqueViolation {\r\n    log.Fatalf(\u0026quot;email %q already exsts\u0026quot;, email)\r\n}\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eTo make this a bit more convenient, it also adds a \u003ccode\u003epq.As()\u003c/code\u003e function:\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/lib/pq/blob/master/CHANGELOG.md\"\u003egithub.com/lib/pq's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.12.3 (2026-04-03)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSend datestyle startup parameter, improving compatbility with database engines\nthat use a different default datestyle such as EnterpriseDB (\u003ca href=\"https://redirect.github.com/lib/pq/issues/1312\"\u003e#1312\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/lib/pq/issues/1312\"\u003e#1312\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/lib/pq/pull/1312\"\u003elib/pq#1312\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.12.2 (2026-04-02)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eTreat io.ErrUnexpectedEOF as driver.ErrBadConn so database/sql discards the\nconnection. Since v1.12.0 this could result in permanently broken connections,\nespecially with CockroachDB which frequently sends partial messages (\u003ca href=\"https://redirect.github.com/lib/pq/issues/1299\"\u003e#1299\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/lib/pq/issues/1299\"\u003e#1299\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/lib/pq/pull/1299\"\u003elib/pq#1299\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.12.1 (2026-03-30)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eLook for pgpass file in ~/.pgpass instead of ~/.postgresql/pgpass (\u003ca href=\"https://redirect.github.com/lib/pq/issues/1300\"\u003e#1300\u003c/a\u003e).\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDon't clear password if directly set on pq.Config (\u003ca href=\"https://redirect.github.com/lib/pq/issues/1302\"\u003e#1302\u003c/a\u003e).\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/lib/pq/issues/1300\"\u003e#1300\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/lib/pq/pull/1300\"\u003elib/pq#1300\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/lib/pq/issues/1302\"\u003e#1302\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/lib/pq/pull/1302\"\u003elib/pq#1302\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.12.0 (2026-03-18)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eThe next release may change the default sslmode from \u003ccode\u003erequire\u003c/code\u003e to \u003ccode\u003eprefer\u003c/code\u003e.\nSee \u003ca href=\"https://redirect.github.com/lib/pq/issues/1271\"\u003e#1271\u003c/a\u003e for details.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003eCopyIn()\u003c/code\u003e and \u003ccode\u003eCopyInToSchema()\u003c/code\u003e have been marked as deprecated. These are\nsimple query builders and not needed for \u003ccode\u003eCOPY [..] FROM STDIN\u003c/code\u003e support (which\nis \u003cem\u003enot\u003c/em\u003e deprecated). (\u003ca href=\"https://redirect.github.com/lib/pq/issues/1279\"\u003e#1279\u003c/a\u003e)\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e// Old\ntx.Prepare(CopyIn(\u0026quot;temp\u0026quot;, \u0026quot;num\u0026quot;, \u0026quot;text\u0026quot;, \u0026quot;blob\u0026quot;, \u0026quot;nothing\u0026quot;))\n\u003cp\u003e// Replacement\ntx.Prepare(\u003ccode\u003ecopy temp (num, text, blob, nothing) from stdin\u003c/code\u003e)\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eSupport protocol 3.2, and the \u003ccode\u003emin_protocol_version\u003c/code\u003e and\n\u003ccode\u003emax_protocol_version\u003c/code\u003e DSN parameters (\u003ca href=\"https://redirect.github.com/lib/pq/issues/1258\"\u003e#1258\u003c/a\u003e).\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSupport \u003ccode\u003esslmode=prefer\u003c/code\u003e and \u003ccode\u003esslmode=allow\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/lib/pq/issues/1270\"\u003e#1270\u003c/a\u003e).\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSupport \u003ccode\u003essl_min_protocol_version\u003c/code\u003e and \u003ccode\u003essl_max_protocol_version\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/lib/pq/issues/1277\"\u003e#1277\u003c/a\u003e).\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lib/pq/commit/1f3e3d92865dd313b4e146968684d7e3836c76e8\"\u003e\u003ccode\u003e1f3e3d9\u003c/code\u003e\u003c/a\u003e Send datestyle as a startup parameter (\u003ca href=\"https://redirect.github.com/lib/pq/issues/1312\"\u003e#1312\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lib/pq/commit/32ba56b8f9c09575e3320f0043f4f0bdf0ad2009\"\u003e\u003ccode\u003e32ba56b\u003c/code\u003e\u003c/a\u003e Expand tests for multiple result sets\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lib/pq/commit/c2cfac15d5048670f784616c0c3dca56f97f49c0\"\u003e\u003ccode\u003ec2cfac1\u003c/code\u003e\u003c/a\u003e Release v1.12.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lib/pq/commit/859f10493799ae5b3fc3706bbef2ee48764dc787\"\u003e\u003ccode\u003e859f104\u003c/code\u003e\u003c/a\u003e Test CockroachDB\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lib/pq/commit/12e464c3afecfb945fc764001837c137fa764e37\"\u003e\u003ccode\u003e12e464c\u003c/code\u003e\u003c/a\u003e Allow multiple matches and regexps in pqtest.ErrorContains()\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lib/pq/commit/6d77ced41719616090c9e7eec2c313a18640bc3f\"\u003e\u003ccode\u003e6d77ced\u003c/code\u003e\u003c/a\u003e Treat io.ErrUnexpectedEOF as driver.ErrBadConn in handleError\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lib/pq/commit/71daecbc4522cf9cb6c399e19b910d22356ebb87\"\u003e\u003ccode\u003e71daecb\u003c/code\u003e\u003c/a\u003e Ensure transactions are closed in pqtest\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lib/pq/commit/8f448230b50d3c2f796fd20622daaf8ebe3d173c\"\u003e\u003ccode\u003e8f44823\u003c/code\u003e\u003c/a\u003e Set PGAPPNAME for tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lib/pq/commit/4af2196aa02298c23461f2baf538a0679b66a093\"\u003e\u003ccode\u003e4af2196\u003c/code\u003e\u003c/a\u003e Fix healthcheck\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lib/pq/commit/38a54e44b0a91e12314291c9102714e7f503ba98\"\u003e\u003ccode\u003e38a54e4\u003c/code\u003e\u003c/a\u003e Split out testdata/init a bit\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/lib/pq/compare/v1.10.9...v1.12.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/prometheus/client_golang` from 1.19.0 to 1.23.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/prometheus/client_golang/releases\"\u003egithub.com/prometheus/client_golang's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.23.2 - 2025-09-05\u003c/h2\u003e\n\u003cp\u003eThis release is made to upgrade to prometheus/common v0.66.1, which drops the dependencies github.com/grafana/regexp and go.uber.org/atomic and replaces gopkg.in/yaml.v2 with go.yaml.in/yaml/v2 (a drop-in replacement). There are no functional changes.\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cul\u003e\n\u003cli\u003e[release-1.23] Upgrade to prometheus/common@v0.66.1 by \u003ca href=\"https://github.com/aknuds1\"\u003e\u003ccode\u003e@​aknuds1\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/prometheus/client_golang/pull/1869\"\u003eprometheus/client_golang#1869\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[release-1.23] Cut v1.23.2 by \u003ca href=\"https://github.com/aknuds1\"\u003e\u003ccode\u003e@​aknuds1\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/prometheus/client_golang/pull/1870\"\u003eprometheus/client_golang#1870\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/prometheus/client_golang/compare/v1.23.1...v1.23.2\"\u003ehttps://github.com/prometheus/client_golang/compare/v1.23.1...v1.23.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.23.1 - 2025-09-04\u003c/h2\u003e\n\u003cp\u003eThis release is made to be compatible with a backwards incompatible API change in prometheus/common v0.66.0. There are no functional changes.\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cul\u003e\n\u003cli\u003e[release-1.23] Upgrade to prometheus/common v0.66 by \u003ca href=\"https://github.com/aknuds1\"\u003e\u003ccode\u003e@​aknuds1\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/prometheus/client_golang/pull/1866\"\u003eprometheus/client_golang#1866\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[release-1.23] Cut v1.23.1 by \u003ca href=\"https://github.com/aknuds1\"\u003e\u003ccode\u003e@​aknuds1\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/prometheus/client_golang/pull/1867\"\u003eprometheus/client_golang#1867\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/prometheus/client_golang/compare/v1.23.0...v1.23.1\"\u003ehttps://github.com/prometheus/client_golang/compare/v1.23.0...v1.23.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.23.0 - 2025-07-30\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e[CHANGE] Minimum required Go version is now 1.23, only the two latest Go versions are supported from now on. \u003ca href=\"https://redirect.github.com/prometheus/client_golang/issues/1812\"\u003e#1812\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[FEATURE] Add WrapCollectorWith and WrapCollectorWithPrefix \u003ca href=\"https://redirect.github.com/prometheus/client_golang/issues/1766\"\u003e#1766\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[FEATURE] Add exemplars for native histograms \u003ca href=\"https://redirect.github.com/prometheus/client_golang/issues/1686\"\u003e#1686\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENHANCEMENT] exp/api: Bubble up status code from writeResponse \u003ca href=\"https://redirect.github.com/prometheus/client_golang/issues/1823\"\u003e#1823\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENHANCEMENT] collector/go: Update runtime metrics for Go v1.23 and v1.24 \u003ca href=\"https://redirect.github.com/prometheus/client_golang/issues/1833\"\u003e#1833\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[BUGFIX] exp/api: client prompt return on context cancellation \u003ca href=\"https://redirect.github.com/prometheus/client_golang/issues/1729\"\u003e#1729\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/prometheus/client_golang/blob/main/CHANGELOG.md\"\u003egithub.com/prometheus/client_golang's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.23.2 / 2025-09-05\u003c/h2\u003e\n\u003cp\u003eThis release is made to upgrade to prometheus/common v0.66.1, which drops the dependencies github.com/grafana/regexp and go.uber.org/atomic and replaces gopkg.in/yaml.v2 with go.yaml.in/yaml/v2 (a drop-in replacement).\nThere are no functional changes.\u003c/p\u003e\n\u003ch2\u003e1.23.1 / 2025-09-04\u003c/h2\u003e\n\u003cp\u003eThis release is made to be compatible with a backwards incompatible API change\nin prometheus/common v0.66.0. There are no functional changes.\u003c/p\u003e\n\u003ch2\u003e1.23.0 / 2025-07-30\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e[CHANGE] Minimum required Go version is now 1.23, only the two latest Go versions are supported from now on. \u003ca href=\"https://redirect.github.com/prometheus/client_golang/issues/1812\"\u003e#1812\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[FEATURE] Add WrapCollectorWith and WrapCollectorWithPrefix \u003ca href=\"https://redirect.github.com/prometheus/client_golang/issues/1766\"\u003e#1766\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[FEATURE] Add exemplars for native histograms \u003ca href=\"https://redirect.github.com/prometheus/client_golang/issues/1686\"\u003e#1686\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENHANCEMENT] exp/api: Bubble up status code from writeResponse \u003ca href=\"https://redirect.github.com/prometheus/client_golang/issues/1823\"\u003e#1823\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENHANCEMENT] collector/go: Update runtime metrics for Go v1.23 and v1.24 \u003ca href=\"https://redirect.github.com/prometheus/client_golang/issues/1833\"\u003e#1833\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[BUGFIX] exp/api: client prompt return on context cancellation \u003ca href=\"https://redirect.github.com/prometheus/client_golang/issues/1729\"\u003e#1729\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.22.0 / 2025-04-07\u003c/h2\u003e\n\u003cp\u003e:warning: This release contains potential breaking change if you use experimental \u003ccode\u003ezstd\u003c/code\u003e support introduce in \u003ca href=\"https://redirect.github.com/prometheus/client_golang/issues/1496\"\u003e#1496\u003c/a\u003e :warning:\u003c/p\u003e\n\u003cp\u003eExperimental support for \u003ccode\u003ezstd\u003c/code\u003e on scrape was added, controlled by the request \u003ccode\u003eAccept-Encoding\u003c/code\u003e header.\nIt was enabled by default since version 1.20, but now you need to add a blank import to enable it.\nThe decision to make it opt-in by default was originally made because the Go standard library was expected to have default zstd support added soon,\n\u003ca href=\"https://redirect.github.com/golang/go/issues/62513\"\u003egolang/go#62513\u003c/a\u003e however, the work took longer than anticipated and it will be postponed to upcoming major Go versions.\u003c/p\u003e\n\u003cp\u003ee.g.:\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cpre lang=\"go\"\u003e\u003ccode\u003eimport (\n  _ \u0026quot;github.com/prometheus/client_golang/prometheus/promhttp/zstd\u0026quot;\n)\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/blockquote\u003e\n\u003cul\u003e\n\u003cli\u003e[FEATURE] prometheus: Add new CollectorFunc utility \u003ca href=\"https://redirect.github.com/prometheus/client_golang/issues/1724\"\u003e#1724\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[CHANGE] Minimum required Go version is now 1.22 (we also test client_golang against latest go version - 1.24) \u003ca href=\"https://redirect.github.com/prometheus/client_golang/issues/1738\"\u003e#1738\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[FEATURE] api: \u003ccode\u003eWithLookbackDelta\u003c/code\u003e and \u003ccode\u003eWithStats\u003c/code\u003e options have been added to API client. \u003ca href=\"https://redirect.github.com/prometheus/client_golang/issues/1743\"\u003e#1743\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[CHANGE] :warning: promhttp: Isolate zstd support and klauspost/compress library use to promhttp/zstd package. \u003ca href=\"https://redirect.github.com/prometheus/client_golang/issues/1765\"\u003e#1765\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.21.1 / 2025-03-04\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e[BUGFIX] prometheus: Revert of \u003ccode\u003eInc\u003c/code\u003e, \u003ccode\u003eAdd\u003c/code\u003e and \u003ccode\u003eObserve\u003c/code\u003e cumulative metric CAS optimizations (\u003ca href=\"https://redirect.github.com/prometheus/client_golang/issues/1661\"\u003e#1661\u003c/a\u003e), causing regressions on low contention cases.\u003c/li\u003e\n\u003cli\u003e[BUGFIX] prometheus: Fix GOOS=ios build, broken due to process_collector_* wrong build tags.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.21.0 / 2025-02-17\u003c/h2\u003e\n\u003cp\u003e:warning: This release contains potential breaking change if you upgrade \u003ccode\u003egithub.com/prometheus/common\u003c/code\u003e to 0.62+ together with client_golang. :warning:\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prometheus/client_golang/commit/8179a560819f2c64ef6ade70e6ae4c73aecaca3c\"\u003e\u003ccode\u003e8179a56\u003c/code\u003e\u003c/a\u003e Cut v1.23.2 (\u003ca href=\"https://redirect.github.com/prometheus/client_golang/issues/1870\"\u003e#1870\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prometheus/client_golang/commit/4142b5908bb6c8f5e412b72de5ea4b927d8c219d\"\u003e\u003ccode\u003e4142b59\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/prometheus/client_golang/issues/1869\"\u003e#1869\u003c/a\u003e from prometheus/arve/upgrade-common\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prometheus/client_golang/commit/4ff40f0d918efc0f59701d13622913805c2425b4\"\u003e\u003ccode\u003e4ff40f0\u003c/code\u003e\u003c/a\u003e Cut v1.23.1 (\u003ca href=\"https://redirect.github.com/prometheus/client_golang/issues/1867\"\u003e#1867\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prometheus/client_golang/commit/989b0298944e64f88a54ac9c70cd8c8121f10bc9\"\u003e\u003ccode\u003e989b029\u003c/code\u003e\u003c/a\u003e Upgrade to prometheus/common v0.66 (\u003ca href=\"https://redirect.github.com/prometheus/client_golang/issues/1866\"\u003e#1866\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prometheus/client_golang/commit/e4b2208dd8cb6d1425f00250db842ec3c1e8749e\"\u003e\u003ccode\u003ee4b2208\u003c/code\u003e\u003c/a\u003e Cut v1.23.0 (\u003ca href=\"https://redirect.github.com/prometheus/client_golang/issues/1848\"\u003e#1848\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prometheus/client_golang/commit/d9492afd3a6f2e9782a7fc10363281bfd5b743bb\"\u003e\u003ccode\u003ed9492af\u003c/code\u003e\u003c/a\u003e cut v1.23.0-rc.1 (\u003ca href=\"https://redirect.github.com/prometheus/client_golang/issues/1842\"\u003e#1842\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prometheus/client_golang/commit/aeae8a0b4f54a8fa720d19b88638a2d048596f82\"\u003e\u003ccode\u003eaeae8a0\u003c/code\u003e\u003c/a\u003e Cut v1.23.0-rc.0 (\u003ca href=\"https://redirect.github.com/prometheus/client_golang/issues/1837\"\u003e#1837\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prometheus/client_golang/commit/b157309b723f0b8588ea604bb78dbbba196803f2\"\u003e\u003ccode\u003eb157309\u003c/code\u003e\u003c/a\u003e Update common Prometheus files (\u003ca href=\"https://redirect.github.com/prometheus/client_golang/issues/1832\"\u003e#1832\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prometheus/client_golang/commit/a704e287f467b79744c30af996b7d710d4c6900d\"\u003e\u003ccode\u003ea704e28\u003c/code\u003e\u003c/a\u003e build(deps): bump the github-actions group with 3 updates (\u003ca href=\"https://redirect.github.com/prometheus/client_golang/issues/1826\"\u003e#1826\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prometheus/client_golang/commit/c7743110ad2c599de3d8c23682d978a12f9f36d1\"\u003e\u003ccode\u003ec774311\u003c/code\u003e\u003c/a\u003e Fix errNotImplemented reference (\u003ca href=\"https://redirect.github.com/prometheus/client_golang/issues/1835\"\u003e#1835\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/prometheus/client_golang/compare/v1.19.0...v1.23.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/redis/go-redis/v9` from 9.5.1 to 9.19.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/redis/go-redis/releases\"\u003egithub.com/redis/go-redis/v9's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e9.19.0\u003c/h2\u003e\n\u003ch2\u003e🚀 Highlights\u003c/h2\u003e\n\u003ch3\u003eFIPS-Compatible Script Helper\u003c/h3\u003e\n\u003cp\u003e\u003ccode\u003eScript\u003c/code\u003e now supports a FIPS-safe execution mode that avoids client-side SHA-1 computation, which is blocked in strict FIPS environments. A new \u003ccode\u003eNewScriptServerSHA\u003c/code\u003e constructor uses \u003ccode\u003eSCRIPT LOAD\u003c/code\u003e to obtain and cache the digest from the server, then runs commands via \u003ccode\u003eEVALSHA\u003c/code\u003e/\u003ccode\u003eEVALSHA_RO\u003c/code\u003e. Falls back to \u003ccode\u003eEVAL\u003c/code\u003e/\u003ccode\u003eEVALRO\u003c/code\u003e if loading fails, and transparently retries once on \u003ccode\u003eNOSCRIPT\u003c/code\u003e. The default behavior is unchanged for existing users.\u003c/p\u003e\n\u003cp\u003e(\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3700\"\u003e#3700\u003c/a\u003e) by \u003ca href=\"https://github.com/chaitanyabodlapati\"\u003e\u003ccode\u003e@​chaitanyabodlapati\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFT.AGGREGATE Step-Based Pipeline Builder\u003c/h3\u003e\n\u003cp\u003eAdded a new step-based \u003ccode\u003eFT.AGGREGATE\u003c/code\u003e pipeline API via \u003ccode\u003eFTAggregateOptions.Steps\u003c/code\u003e, allowing \u003ccode\u003eLOAD\u003c/code\u003e, \u003ccode\u003eAPPLY\u003c/code\u003e, \u003ccode\u003eGROUPBY\u003c/code\u003e, and \u003ccode\u003eSORTBY\u003c/code\u003e (with per-step \u003ccode\u003eMAX\u003c/code\u003e) to be repeated and interleaved in arbitrary order — matching Redis's native multi-stage aggregation semantics. The legacy \u003ccode\u003eLoad\u003c/code\u003e/\u003ccode\u003eApply\u003c/code\u003e/\u003ccode\u003eGroupBy\u003c/code\u003e/\u003ccode\u003eSortBy\u003c/code\u003e/\u003ccode\u003eSortByMax\u003c/code\u003e fields are now deprecated.\u003c/p\u003e\n\u003cp\u003e(\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3782\"\u003e#3782\u003c/a\u003e) by \u003ca href=\"https://github.com/ndyakov\"\u003e\u003ccode\u003e@​ndyakov\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eRaw RESP Protocol Access\u003c/h3\u003e\n\u003cp\u003eAdded \u003ccode\u003eDoRaw\u003c/code\u003e and \u003ccode\u003eDoRawWriteTo\u003c/code\u003e methods for executing arbitrary commands and reading the raw RESP response. Useful for proxying, custom protocol inspection, and working with commands not yet wrapped by go-redis.\u003c/p\u003e\n\u003cp\u003e(\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3713\"\u003e#3713\u003c/a\u003e) by \u003ca href=\"https://github.com/ofekshenawa\"\u003e\u003ccode\u003e@​ofekshenawa\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eConfigurable Dial Retry Backoff\u003c/h3\u003e\n\u003cp\u003eAdded \u003ccode\u003eDialerRetryBackoff\u003c/code\u003e option (plumbed through \u003ccode\u003eOptions\u003c/code\u003e, \u003ccode\u003eClusterOptions\u003c/code\u003e, \u003ccode\u003eRingOptions\u003c/code\u003e, \u003ccode\u003eFailoverOptions\u003c/code\u003e) to let callers customize the delay between failed dial attempts. Helpers \u003ccode\u003eDialRetryBackoffConstant\u003c/code\u003e and \u003ccode\u003eDialRetryBackoffExponential\u003c/code\u003e (with jitter and cap) are provided out of the box. Dial timeout is now also applied \u003cstrong\u003eper attempt\u003c/strong\u003e rather than across all retries.\u003c/p\u003e\n\u003cp\u003e(\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3706\"\u003e#3706\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3705\"\u003e#3705\u003c/a\u003e) by \u003ca href=\"https://github.com/mwhooker\"\u003e\u003ccode\u003e@​mwhooker\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e✨ New Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eFT.AGGREGATE Steps\u003c/strong\u003e: Step-based pipeline builder for \u003ccode\u003eFT.AGGREGATE\u003c/code\u003e with support for repeated/interleaved \u003ccode\u003eLOAD\u003c/code\u003e, \u003ccode\u003eAPPLY\u003c/code\u003e, \u003ccode\u003eGROUPBY\u003c/code\u003e, and \u003ccode\u003eSORTBY\u003c/code\u003e stages (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3782\"\u003e#3782\u003c/a\u003e) by \u003ca href=\"https://github.com/ndyakov\"\u003e\u003ccode\u003e@​ndyakov\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eVectorSet commands\u003c/strong\u003e: Added \u003ccode\u003eVISMEMBER\u003c/code\u003e and \u003ccode\u003eWITHATTRIBS\u003c/code\u003e support (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3753\"\u003e#3753\u003c/a\u003e) by \u003ca href=\"https://github.com/romanpovol\"\u003e\u003ccode\u003e@​romanpovol\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eFIPS-safe Script\u003c/strong\u003e: \u003ccode\u003eNewScriptServerSHA\u003c/code\u003e uses \u003ccode\u003eSCRIPT LOAD\u003c/code\u003e to obtain the digest from the server, avoiding client-side SHA-1 (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3700\"\u003e#3700\u003c/a\u003e) by \u003ca href=\"https://github.com/chaitanyabodlapati\"\u003e\u003ccode\u003e@​chaitanyabodlapati\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eRaw RESP access\u003c/strong\u003e: \u003ccode\u003eDoRaw\u003c/code\u003e and \u003ccode\u003eDoRawWriteTo\u003c/code\u003e for raw RESP protocol access (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3713\"\u003e#3713\u003c/a\u003e) by \u003ca href=\"https://github.com/ofekshenawa\"\u003e\u003ccode\u003e@​ofekshenawa\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eDial retry backoff\u003c/strong\u003e: \u003ccode\u003eDialerRetryBackoff\u003c/code\u003e function option with constant and exponential helpers (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3706\"\u003e#3706\u003c/a\u003e) by \u003ca href=\"https://github.com/mwhooker\"\u003e\u003ccode\u003e@​mwhooker\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eTyped NOSCRIPT error\u003c/strong\u003e: Redis \u003ccode\u003eNOSCRIPT\u003c/code\u003e replies are now surfaced as a typed error for easier handling (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3738\"\u003e#3738\u003c/a\u003e) by \u003ca href=\"https://github.com/LINKIWI\"\u003e\u003ccode\u003e@​LINKIWI\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ePubSub ClientSetName\u003c/strong\u003e: Added \u003ccode\u003eClientSetName\u003c/code\u003e method to \u003ccode\u003ePubSub\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3727\"\u003e#3727\u003c/a\u003e) by \u003ca href=\"https://github.com/Flack74\"\u003e\u003ccode\u003e@​Flack74\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eReplicaOf\u003c/strong\u003e: New \u003ccode\u003eReplicaOf\u003c/code\u003e method replaces the deprecated \u003ccode\u003eSlaveOf\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3720\"\u003e#3720\u003c/a\u003e) by \u003ca href=\"https://github.com/apps/copilot-swe-agent\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eHSCAN BinaryUnmarshaler\u003c/strong\u003e: \u003ccode\u003eHScan\u003c/code\u003e now supports types implementing \u003ccode\u003eencoding.BinaryUnmarshaler\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3768\"\u003e#3768\u003c/a\u003e) by \u003ca href=\"https://github.com/Aaditya-dubey1\"\u003e\u003ccode\u003e@​Aaditya-dubey1\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eAuto hostname type detection\u003c/strong\u003e: Improved endpoint type detection for maintenance notifications using DNS-based classification; handles empty hosts and expanded private-IP ranges (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3789\"\u003e#3789\u003c/a\u003e) by \u003ca href=\"https://github.com/ndyakov\"\u003e\u003ccode\u003e@​ndyakov\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eHELLO fallback\u003c/strong\u003e: Don't send \u003ccode\u003eCLIENT MAINT_NOTIFICATIONS\u003c/code\u003e handshake when \u003ccode\u003eHELLO\u003c/code\u003e fails and connection falls back to RESP2; fail fast when explicitly enabled with RESP3 (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3788\"\u003e#3788\u003c/a\u003e) by \u003ca href=\"https://github.com/ndyakov\"\u003e\u003ccode\u003e@​ndyakov\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eDial TCP retry\u003c/strong\u003e: \u003ccode\u003eShouldRetry\u003c/code\u003e now treats \u003ccode\u003enet.OpError\u003c/code\u003e with \u003ccode\u003eOp == \u0026quot;dial\u0026quot;\u003c/code\u003e timeout errors as safe to retry since no command was sent (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3787\"\u003e#3787\u003c/a\u003e) by \u003ca href=\"https://github.com/vladisa88\"\u003e\u003ccode\u003e@​vladisa88\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ewrappedOnClose leak\u003c/strong\u003e: Fixed resource leak caused by repeatedly wrapping \u003ccode\u003ebaseClient\u003c/code\u003e close logic; replaced with a bounded, concurrency-safe named-hook registry (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3785\"\u003e#3785\u003c/a\u003e) by \u003ca href=\"https://github.com/ndyakov\"\u003e\u003ccode\u003e@​ndyakov\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ePool Close() on stale connections\u003c/strong\u003e: Suppress close errors (e.g., TLS \u003ccode\u003ecloseNotify\u003c/code\u003e timeouts) for connections already dropped by the server due to idle timeout (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3778\"\u003e#3778\u003c/a\u003e) by \u003ca href=\"https://github.com/ofekshenawa\"\u003e\u003ccode\u003e@​ofekshenawa\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eFIFO waiter ordering\u003c/strong\u003e: Fixed race in \u003ccode\u003eConnStateMachine.notifyWaiters\u003c/code\u003e that could wake multiple waiters under a single mutex hold and violate FIFO ordering (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3777\"\u003e#3777\u003c/a\u003e) by \u003ca href=\"https://github.com/0x48core\"\u003e\u003ccode\u003e@​0x48core\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eLua READONLY detection\u003c/strong\u003e: Detect \u003ccode\u003eREADONLY\u003c/code\u003e errors embedded in Lua script error messages on read-only replicas so commands are correctly retried (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3769\"\u003e#3769\u003c/a\u003e) by \u003ca href=\"https://github.com/zhengjilei\"\u003e\u003ccode\u003e@​zhengjilei\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eVectorScoreSliceCmd RESP2\u003c/strong\u003e: Fixed \u003ccode\u003eVSimWithScores\u003c/code\u003e, \u003ccode\u003eVSimWithArgsWithScores\u003c/code\u003e, and \u003ccode\u003eVLinksWithScores\u003c/code\u003e which were broken on RESP2 connections returning flat arrays instead of maps (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3767\"\u003e#3767\u003c/a\u003e) by \u003ca href=\"https://github.com/apps/copilot-swe-agent\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/redis/go-redis/blob/master/RELEASE-NOTES.md\"\u003egithub.com/redis/go-redis/v9's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e9.19.0 (2026-04-27)\u003c/h1\u003e\n\u003ch2\u003e🚀 Highlights\u003c/h2\u003e\n\u003ch3\u003eFIPS-Compatible Script Helper\u003c/h3\u003e\n\u003cp\u003e\u003ccode\u003eScript\u003c/code\u003e now supports a FIPS-safe execution mode that avoids client-side SHA-1 computation, which is blocked in strict FIPS environments. A new \u003ccode\u003eNewScriptServerSHA\u003c/code\u003e constructor uses \u003ccode\u003eSCRIPT LOAD\u003c/code\u003e to obtain and cache the digest from the server, then runs commands via \u003ccode\u003eEVALSHA\u003c/code\u003e/\u003ccode\u003eEVALSHA_RO\u003c/code\u003e. Falls back to \u003ccode\u003eEVAL\u003c/code\u003e/\u003ccode\u003eEVALRO\u003c/code\u003e if loading fails, and transparently retries once on \u003ccode\u003eNOSCRIPT\u003c/code\u003e. The default behavior is unchanged for existing users.\u003c/p\u003e\n\u003cp\u003e(\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3700\"\u003e#3700\u003c/a\u003e) by \u003ca href=\"https://github.com/chaitanyabodlapati\"\u003e\u003ccode\u003e@​chaitanyabodlapati\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFT.AGGREGATE Step-Based Pipeline Builder\u003c/h3\u003e\n\u003cp\u003eAdded a new step-based \u003ccode\u003eFT.AGGREGATE\u003c/code\u003e pipeline API via \u003ccode\u003eFTAggregateOptions.Steps\u003c/code\u003e, allowing \u003ccode\u003eLOAD\u003c/code\u003e, \u003ccode\u003eAPPLY\u003c/code\u003e, \u003ccode\u003eGROUPBY\u003c/code\u003e, and \u003ccode\u003eSORTBY\u003c/code\u003e (with per-step \u003ccode\u003eMAX\u003c/code\u003e) to be repeated and interleaved in arbitrary order — matching Redis's native multi-stage aggregation semantics. The legacy \u003ccode\u003eLoad\u003c/code\u003e/\u003ccode\u003eApply\u003c/code\u003e/\u003ccode\u003eGroupBy\u003c/code\u003e/\u003ccode\u003eSortBy\u003c/code\u003e/\u003ccode\u003eSortByMax\u003c/code\u003e fields are now deprecated.\u003c/p\u003e\n\u003cp\u003e(\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3782\"\u003e#3782\u003c/a\u003e) by \u003ca href=\"https://github.com/ndyakov\"\u003e\u003ccode\u003e@​ndyakov\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eRaw RESP Protocol Access\u003c/h3\u003e\n\u003cp\u003eAdded \u003ccode\u003eDoRaw\u003c/code\u003e and \u003ccode\u003eDoRawWriteTo\u003c/code\u003e methods for executing arbitrary commands and reading the raw RESP response. Useful for proxying, custom protocol inspection, and working with commands not yet wrapped by go-redis.\u003c/p\u003e\n\u003cp\u003e(\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3713\"\u003e#3713\u003c/a\u003e) by \u003ca href=\"https://github.com/ofekshenawa\"\u003e\u003ccode\u003e@​ofekshenawa\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eConfigurable Dial Retry Backoff\u003c/h3\u003e\n\u003cp\u003eAdded \u003ccode\u003eDialerRetryBackoff\u003c/code\u003e option (plumbed through \u003ccode\u003eOptions\u003c/code\u003e, \u003ccode\u003eClusterOptions\u003c/code\u003e, \u003ccode\u003eRingOptions\u003c/code\u003e, \u003ccode\u003eFailoverOptions\u003c/code\u003e) to let callers customize the delay between failed dial attempts. Helpers \u003ccode\u003eDialRetryBackoffConstant\u003c/code\u003e and \u003ccode\u003eDialRetryBackoffExponential\u003c/code\u003e (with jitter and cap) are provided out of the box. Dial timeout is now also applied \u003cstrong\u003eper attempt\u003c/strong\u003e rather than across all retries.\u003c/p\u003e\n\u003cp\u003e(\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3706\"\u003e#3706\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3705\"\u003e#3705\u003c/a\u003e) by \u003ca href=\"https://github.com/mwhooker\"\u003e\u003ccode\u003e@​mwhooker\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e✨ New Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eFT.AGGREGATE Steps\u003c/strong\u003e: Step-based pipeline builder for \u003ccode\u003eFT.AGGREGATE\u003c/code\u003e with support for repeated/interleaved \u003ccode\u003eLOAD\u003c/code\u003e, \u003ccode\u003eAPPLY\u003c/code\u003e, \u003ccode\u003eGROUPBY\u003c/code\u003e, and \u003ccode\u003eSORTBY\u003c/code\u003e stages (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3782\"\u003e#3782\u003c/a\u003e) by \u003ca href=\"https://github.com/ndyakov\"\u003e\u003ccode\u003e@​ndyakov\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eVectorSet commands\u003c/strong\u003e: Added \u003ccode\u003eVISMEMBER\u003c/code\u003e and \u003ccode\u003eWITHATTRIBS\u003c/code\u003e support (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3753\"\u003e#3753\u003c/a\u003e) by \u003ca href=\"https://github.com/romanpovol\"\u003e\u003ccode\u003e@​romanpovol\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eFIPS-safe Script\u003c/strong\u003e: \u003ccode\u003eNewScriptServerSHA\u003c/code\u003e uses \u003ccode\u003eSCRIPT LOAD\u003c/code\u003e to obtain the digest from the server, avoiding client-side SHA-1 (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3700\"\u003e#3700\u003c/a\u003e) by \u003ca href=\"https://github.com/chaitanyabodlapati\"\u003e\u003ccode\u003e@​chaitanyabodlapati\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eRaw RESP access\u003c/strong\u003e: \u003ccode\u003eDoRaw\u003c/code\u003e and \u003ccode\u003eDoRawWriteTo\u003c/code\u003e for raw RESP protocol access (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3713\"\u003e#3713\u003c/a\u003e) by \u003ca href=\"https://github.com/ofekshenawa\"\u003e\u003ccode\u003e@​ofekshenawa\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eDial retry backoff\u003c/strong\u003e: \u003ccode\u003eDialerRetryBackoff\u003c/code\u003e function option with constant and exponential helpers (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3706\"\u003e#3706\u003c/a\u003e) by \u003ca href=\"https://github.com/mwhooker\"\u003e\u003ccode\u003e@​mwhooker\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eTyped NOSCRIPT error\u003c/strong\u003e: Redis \u003ccode\u003eNOSCRIPT\u003c/code\u003e replies are now surfaced as a typed error for easier handling (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3738\"\u003e#3738\u003c/a\u003e) by \u003ca href=\"https://github.com/LINKIWI\"\u003e\u003ccode\u003e@​LINKIWI\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ePubSub ClientSetName\u003c/strong\u003e: Added \u003ccode\u003eClientSetName\u003c/code\u003e method to \u003ccode\u003ePubSub\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3727\"\u003e#3727\u003c/a\u003e) by \u003ca href=\"https://github.com/Flack74\"\u003e\u003ccode\u003e@​Flack74\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eReplicaOf\u003c/strong\u003e: New \u003ccode\u003eReplicaOf\u003c/code\u003e method replaces the deprecated \u003ccode\u003eSlaveOf\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3720\"\u003e#3720\u003c/a\u003e) by \u003ca href=\"https://github.com/apps/copilot-swe-agent\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eHSCAN BinaryUnmarshaler\u003c/strong\u003e: \u003ccode\u003eHScan\u003c/code\u003e now supports types implementing \u003ccode\u003eencoding.BinaryUnmarshaler\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3768\"\u003e#3768\u003c/a\u003e) by \u003ca href=\"https://github.com/Aaditya-dubey1\"\u003e\u003ccode\u003e@​Aaditya-dubey1\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eAuto hostname type detection\u003c/strong\u003e: Improved endpoint type detection for maintenance notifications using DNS-based classification; handles empty hosts and expanded private-IP ranges (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3789\"\u003e#3789\u003c/a\u003e) by \u003ca href=\"https://github.com/ndyakov\"\u003e\u003ccode\u003e@​ndyakov\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eHELLO fallback\u003c/strong\u003e: Don't send \u003ccode\u003eCLIENT MAINT_NOTIFICATIONS\u003c/code\u003e handshake when \u003ccode\u003eHELLO\u003c/code\u003e fails and connection falls back to RESP2; fail fast when explicitly enabled with RESP3 (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3788\"\u003e#3788\u003c/a\u003e) by \u003ca href=\"https://github.com/ndyakov\"\u003e\u003ccode\u003e@​ndyakov\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eDial TCP retry\u003c/strong\u003e: \u003ccode\u003eShouldRetry\u003c/code\u003e now treats \u003ccode\u003enet.OpError\u003c/code\u003e with \u003ccode\u003eOp == \u0026quot;dial\u0026quot;\u003c/code\u003e timeout errors as safe to retry since no command was sent (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3787\"\u003e#3787\u003c/a\u003e) by \u003ca href=\"https://github.com/vladisa88\"\u003e\u003ccode\u003e@​vladisa88\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ewrappedOnClose leak\u003c/strong\u003e: Fixed resource leak caused by repeatedly wrapping \u003ccode\u003ebaseClient\u003c/code\u003e close logic; replaced with a bounded, concurrency-safe named-hook registry (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3785\"\u003e#3785\u003c/a\u003e) by \u003ca href=\"https://github.com/ndyakov\"\u003e\u003ccode\u003e@​ndyakov\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ePool Close() on stale connections\u003c/strong\u003e: Suppress close errors (e.g., TLS \u003ccode\u003ecloseNotify\u003c/code\u003e timeouts) for connections already dropped by the server due to idle timeout (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3778\"\u003e#3778\u003c/a\u003e) by \u003ca href=\"https://github.com/ofekshenawa\"\u003e\u003ccode\u003e@​ofekshenawa\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eFIFO waiter ordering\u003c/strong\u003e: Fixed race in \u003ccode\u003eConnStateMachine.notifyWaiters\u003c/code\u003e that could wake multiple waiters under a single mutex hold and violate FIFO ordering (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3777\"\u003e#3777\u003c/a\u003e) by \u003ca href=\"https://github.com/0x48core\"\u003e\u003ccode\u003e@​0x48core\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eLua READONLY detection\u003c/strong\u003e: Detect \u003ccode\u003eREADONLY\u003c/code\u003e errors embedded in Lua script error messages on read-only replicas so commands are correctly retried (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3769\"\u003e#3769\u003c/a\u003e) by \u003ca href=\"https://github.com/zhengjilei\"\u003e\u003ccode\u003e@​zhengjilei\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eVectorScoreSliceCmd RESP2\u003c/strong\u003e: Fixed \u003ccode\u003eVSimWithScores\u003c/code\u003e, \u003ccode\u003eVSimWithArgsWithScores\u003c/code\u003e, and \u003ccode\u003eVLinksWithScores\u003c/code\u003e which were broken on RESP2 connections returning flat arrays instead of maps (\u003ca href=\"https://redirect.github.com/redis/go-redis/pull/3767\"\u003e#3767\u003c/a\u003e) by \u003ca href=\"https://github.com/apps/copilot-swe-agent\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/go-redis/commit/e7e9866e54f4423addca48ec804044cfca1b30d6\"\u003e\u003ccode\u003ee7e9866\u003c/code\u003e\u003c/a\u003e chore(release): v9.19.0 (\u003ca href=\"https://redirect.github.com/redis/go-redis/issues/3796\"\u003e#3796\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/go-redis/commit/22b26f4b3ea5c2ab58605092e0937b78a8673267\"\u003e\u003ccode\u003e22b26f4\u003c/code\u003e\u003c/a\u003e feat(ft.aggregate): Add Steps for query building (\u003ca href=\"https://redirect.github.com/redis/go-redis/issues/3782\"\u003e#3782\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/go-redis/commit/d9d769491154d4da6d683b73e9dfff5c878c1890\"\u003e\u003ccode\u003ed9d7694\u003c/code\u003e\u003c/a\u003e fix(pool): two fixes for closed connection handling (\u003ca href=\"https://redirect.github.com/redis/go-redis/issues/3764\"\u003e#3764\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/go-redis/commit/44e8b7309cf547f620b9849a5a4dd9013cc3660a\"\u003e\u003ccode\u003e44e8b73\u003c/code\u003e\u003c/a\u003e fix(sch): auto hostname type detection (\u003ca href=\"https://redirect.github.com/redis/go-redis/issues/3789\"\u003e#3789\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/go-redis/commit/ad21622ce8dba26c4ac7dc0fbf74a0bd278d2c19\"\u003e\u003ccode\u003ead21622\u003c/code\u003e\u003c/a\u003e fix(hello): do not send maintnotifications handshake when hello fails (\u003ca href=\"https://redirect.github.com/redis/go-redis/issues/3788\"\u003e#3788\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/go-redis/commit/1a7ac744c3f98b415852b4c9842b97991e3e4d91\"\u003e\u003ccode\u003e1a7ac74\u003c/code\u003e\u003c/a\u003e fix(pool): suppress pool Close() errors for stale connections (\u003ca href=\"https://redirect.github.com/redis/go-redis/issues/3778\"\u003e#3778\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/go-redis/commit/903d6bd360af9ea53d4af4ca652d18b915398c7d\"\u003e\u003ccode\u003e903d6bd\u003c/code\u003e\u003c/a\u003e fix(retry): make dial tcp error redirectable (\u003ca href=\"https://redirect.github.com/redis/go-redis/issues/3786\"\u003e#3786\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/redis/go-redis/issues/3787\"\u003e#3787\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/go-redis/commit/00a551b3b468687e5e06b295b419292786bcdc99\"\u003e\u003ccode\u003e00a551b\u003c/code\u003e\u003c/a\u003e fix(credentials): leak in wrappedOnClose (\u003ca href=\"https://redirect.github.com/redis/go-redis/issues/3785\"\u003e#3785\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/go-redis/commit/b5a6f99b7a9d496bf2e3d68ad9c33e43c23c4df9\"\u003e\u003ccode\u003eb5a6f99\u003c/code\u003e\u003c/a\u003e refactor(pool): remove redundant Conn.closed atomic field (\u003ca href=\"https://redirect.github.com/redis/go-redis/issues/3783\"\u003e#3783\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/go-redis/commit/928f27aef850b3508b590e41a050f27d29fb14a2\"\u003e\u003ccode\u003e928f27a\u003c/code\u003e\u003c/a\u003e feat(hscan): add support for encoding.BinaryUnmarshaler (\u003ca href=\"https://redirect.github.com/redis/go-redis/issues/3768\"\u003e#3768\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/redis/go-redis/compare/v9.5.1...v9.19.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `go.uber.org/zap` from 1.27.0 to 1.28.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/uber-go/zap/releases\"\u003ego.uber.org/zap's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.28.0\u003c/h2\u003e\n\u003cp\u003eEnhancements:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/uber-go/zap/issues/1534\"\u003e#1534\u003c/a\u003e[]: Add \u003ccode\u003ezapcore.CheckPreWriteHook\u003c/code\u003e and \u003ccode\u003eCheckedEntry.Before\u003c/code\u003e method for transforming entries before they are written to any Cores.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/uber-go/zap/issues/1534\"\u003e#1534\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/uber-go/zap/pull/1534\"\u003euber-go/zap#1534\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.27.1\u003c/h2\u003e\n\u003cp\u003eEnhancements:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/uber-go/zap/issues/1501\"\u003e#1501\u003c/a\u003e[]: prevent \u003ccode\u003eObject\u003c/code\u003e from panicking on nils\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/uber-go/zap/issues/1511\"\u003e#1511\u003c/a\u003e[]: Fix a race condition in \u003ccode\u003eWithLazy\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThanks to \u003ca href=\"https://github.com/rabbbit\"\u003e\u003ccode\u003e@​rabbbit\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/alshopov\"\u003e\u003ccode\u003e@​alshopov\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/jquirke\"\u003e\u003ccode\u003e@​jquirke\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arukiidou\"\u003e\u003ccode\u003e@​arukiidou\u003c/code\u003e\u003c/a\u003e for their contributions to this release.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/uber-go/zap/issues/1501\"\u003e#1501\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/uber-go/zap/pull/1501\"\u003euber-go/zap#1501\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/uber-go/zap/issues/1511\"\u003e#1511\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/uber-go/zap/pull/1511\"\u003euber-go/zap#1511\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/uber-go/zap/blob/master/CHANGELOG.md\"\u003ego.uber.org/zap's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.28.0 (27 Apr 2026)\u003c/h2\u003e\n\u003cp\u003eEnhancements:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/uber-go/zap/issues/1534\"\u003e#1534\u003c/a\u003e[]: Add \u003ccode\u003ezapcore.CheckPreWriteHook\u003c/code\u003e and \u003ccode\u003eCheckedEntry.Before\u003c/code\u003e method for transforming entries before they are written to any Cores.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.27.1 (19 Nov 2025)\u003c/h2\u003e\n\u003cp\u003eEnhancements:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/uber-go/zap/issues/1501\"\u003e#1501\u003c/a\u003e[]: prevent \u003ccode\u003eObject\u003c/code\u003e from panicking on nils\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/uber-go/zap/issues/1511\"\u003e#1511\u003c/a\u003e[]: Fix a race condition in \u003ccode\u003eWithLazy\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThanks to \u003ca href=\"https://github.com/rabbbit\"\u003e\u003ccode\u003e@​rabbbit\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/alshopov\"\u003e\u003ccode\u003e@​alshopov\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/jquirke\"\u003e\u003ccode\u003e@​jquirke\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arukiidou\"\u003e\u003ccode\u003e@​arukiidou\u003c/code\u003e\u003c/a\u003e for their contributions to this release.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/uber-go/zap/issues/1501\"\u003e#1501\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/uber-go/zap/pull/1501\"\u003euber-go/zap#1501\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/uber-go/zap/issues/1511\"\u003e#1511\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/uber-go/zap/pull/1511\"\u003euber-go/zap#1511\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/uber-go/zap/commit/5b81b37b81b8e2ed447a6f57991e372ee4fa5c8f\"\u003e\u003ccode\u003e5b81b37\u003c/code\u003e\u003c/a\u003e release v1.28.0 (\u003ca href=\"https://redirect.github.com/uber-go/zap/issues/1547\"\u003e#1547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/uber-go/zap/commit/0ab0d5aae5986395e2ca497385d977ccd7cdfc5e\"\u003e\u003ccode\u003e0ab0d5a\u003c/code\u003e\u003c/a\u003e zapcore: Add PreWriteHook for transforming entries before write (\u003ca href=\"https://redirect.github.com/uber-go/zap/issues/1534\"\u003e#1534\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/uber-go/zap/commit/d278c5962cb0f7423170c11a5da9b7a4edbf9b92\"\u003e\u003ccode\u003ed278c59\u003c/code\u003e\u003c/a\u003e [chore] CI: test on Go 1.26 (\u003ca href=\"https://redirect.github.com/uber-go/zap/issues/1535\"\u003e#1535\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/uber-go/zap/commit/16fb16b353f2e27bcd71eba69cbd346b3dcc471a\"\u003e\u003ccode\u003e16fb16b\u003c/code\u003e\u003c/a\u003e chore(dep): replace archived gopkg.in/yaml.v3 with officially maintained go.y...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/uber-go/zap/commit/7b755a3910491932656b01f2013b8bf41e74d4e8\"\u003e\u003ccode\u003e7b755a3\u003c/code\u003e\u003c/a\u003e release 1.27.1 (\u003ca href=\"https://redirect.github.com/uber-go/zap/issues/1521\"\u003e#1521\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/uber-go/zap/commit/d6b395b76053053ec6ae18121c01e08718708bc3\"\u003e\u003ccode\u003ed6b395b\u003c/code\u003e\u003c/a\u003e Update lazy logger not to materialize unless it's being written to (\u003ca href=\"https://redirect.github.com/uber-go/zap/issues/1519\"\u003e#1519\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/uber-go/zap/commit/4b9cea0fee0414839ee5f8c69320c12f181c3d47\"\u003e\u003ccode\u003e4b9cea0\u003c/code\u003e\u003c/a\u003e ci: Test with Go 1.24, Go 1.25 (\u003ca href=\"https://redirect.github.com/uber-go/zap/issues/1508\"\u003e#1508\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/uber-go/zap/commit/7c80d7b53df6ed592d333998cbbfcd99ff52f3c2\"\u003e\u003ccode\u003e7c80d7b\u003c/code\u003e\u003c/a\u003e Fix race condition in WithLazy implementation (\u003ca href=\"https://redirect.github.com/uber-go/zap/is...\n\n_Description has been truncated_","html_url":"https://github.com/guessleej/xCloudAPIM/pull/36","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/guessleej%2FxCloudAPIM/issues/36","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/36/packages"}},{"old_version":"1.11.0","new_version":"1.12.0","update_type":"minor","path":null,"pr_created_at":"2026-05-04T01:13:10.000Z","version_change":"1.11.0 → 1.12.0","issue":{"uuid":"4373501324","node_id":"PR_kwDORSf6Zs7X2cBx","number":7,"state":"open","title":"deps(deps): bump the production-dependencies group across 1 directory with 2 updates","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-04T01:13:10.000Z","updated_at":"2026-05-04T01:14:52.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"deps(deps): bump","group_name":"production-dependencies","update_count":2,"packages":[{"name":"github.com/gin-gonic/gin","old_version":"1.11.0","new_version":"1.12.0","repository_url":"https://github.com/gin-gonic/gin"},{"name":"go.uber.org/zap","old_version":"1.27.1","new_version":"1.28.0","repository_url":"https://github.com/uber-go/zap"}],"path":null,"ecosystem":"go"},"body":"Bumps the production-dependencies group with 2 updates in the / directory: [github.com/gin-gonic/gin](https://github.com/gin-gonic/gin) and [go.uber.org/zap](https://github.com/uber-go/zap).\n\nUpdates `github.com/gin-gonic/gin` from 1.11.0 to 1.12.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/gin-gonic/gin/releases\"\u003egithub.com/gin-gonic/gin's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.12.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e192ac89eefc1c30f7c97ae48a9ffb1c6f1c8c8bc: feat(binding): add support for encoding.UnmarshalText in uri/query binding (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4203\"\u003e#4203\u003c/a\u003e) (\u003ca href=\"https://github.com/takanuva15\"\u003e\u003ccode\u003e@​takanuva15\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e53410d2e07054369e0960fbe2eed97e1b9966f12: feat(context): add GetError and GetErrorSlice methods for error retrieval (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4502\"\u003e#4502\u003c/a\u003e) (\u003ca href=\"https://github.com/raju-mechatronics\"\u003e\u003ccode\u003e@​raju-mechatronics\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eacc55e049e33b401e810dbd8c0d6dcb6b3ba2b05: feat(context): add Protocol Buffers support to content negotiation (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4423\"\u003e#4423\u003c/a\u003e) (\u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e38e765119241d990705169bedb5002a29ae0cbd1: feat(context): implemented Delete method (\u003ca href=\"https://github.com/Spyder01\"\u003e\u003ccode\u003e@​Spyder01\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e771dcc6476d7bc6abb9ec0235ecefa4d38fe6fb0: feat(gin): add option to use escaped path (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4420\"\u003e#4420\u003c/a\u003e) (\u003ca href=\"https://github.com/ldesauw\"\u003e\u003ccode\u003e@​ldesauw\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e4dec17afdff48e8018c83618fbbe69fceeb2b41d: feat(logger): color latency (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4146\"\u003e#4146\u003c/a\u003e) (\u003ca href=\"https://github.com/wsyqn6\"\u003e\u003ccode\u003e@​wsyqn6\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ed7776de7d444935ea4385999711bd6331a98fecb: feat(render): add bson protocol (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4145\"\u003e#4145\u003c/a\u003e) (\u003ca href=\"https://github.com/laurentcau\"\u003e\u003ccode\u003e@​laurentcau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eb917b14ff9d189f16a7492be79d123a47806ee19: fix(binding): empty value error (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/2169\"\u003e#2169\u003c/a\u003e) (\u003ca href=\"https://github.com/guonaihong\"\u003e\u003ccode\u003e@​guonaihong\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ec3d1092b3b48addf6f9cd00fe274ec3bd14650eb: fix(binding): improve empty slice/array handling in form binding (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4380\"\u003e#4380\u003c/a\u003e) (\u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e9914178584e42458ff7d23891463a880f58c9d86: fix(context): ClientIP handling for multiple X-Forwarded-For header values (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4472\"\u003e#4472\u003c/a\u003e) (\u003ca href=\"https://github.com/Nurysso\"\u003e\u003ccode\u003e@​Nurysso\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e2a794cd0b0faa7d829291375b27a3467ea972b0d: fix(debug): version mismatch (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4403\"\u003e#4403\u003c/a\u003e) (\u003ca href=\"https://github.com/zeek0x\"\u003e\u003ccode\u003e@​zeek0x\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ec3d5a28ed6d3849da820195b6774d212bcc038a9: fix(gin): close os.File in RunFd to prevent resource leak (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4422\"\u003e#4422\u003c/a\u003e) (\u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e5fad976b372e381312f8de69f0969f1284d229d3: fix(gin): literal colon routes not working with engine.Handler() (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4415\"\u003e#4415\u003c/a\u003e) (\u003ca href=\"https://github.com/pawannn\"\u003e\u003ccode\u003e@​pawannn\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e63dd3e60cab89c27fb66bce1423bd268d52abad1: fix(recover): suppress http.ErrAbortHandler in recover (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4336\"\u003e#4336\u003c/a\u003e) (\u003ca href=\"https://github.com/MondayCha\"\u003e\u003ccode\u003e@​MondayCha\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e5c00df8afadd06cc5be530dde00fe6d9fa4a2e4a: fix(render): write content length in Data.Render (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4206\"\u003e#4206\u003c/a\u003e) (\u003ca href=\"https://github.com/dengaleev\"\u003e\u003ccode\u003e@​dengaleev\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e234a6d4c00cb77af9852aca0b8289745d5529b4b: fix(response): refine hijack behavior for response lifecycle (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4373\"\u003e#4373\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e472d086af2acd924cb4b9d7be0525f7d790f69bc: fix(tree): panic in findCaseInsensitivePathRec with RedirectFixedPath (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4535\"\u003e#4535\u003c/a\u003e) (\u003ca href=\"https://github.com/veeceey\"\u003e\u003ccode\u003e@​veeceey\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e8e07d37c63e5536eb25f4af4c91eabeee4011fba: fix: Correct typos, improve documentation clarity, and remove dead code (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4511\"\u003e#4511\u003c/a\u003e) (\u003ca href=\"https://github.com/mahanadh\"\u003e\u003ccode\u003e@​mahanadh\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eba093d19477b896ac89a7fc3246af23d290b8e26: chore(binding): upgrade bson dependency to mongo-driver v2 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4549\"\u003e#4549\u003c/a\u003e) (\u003ca href=\"https://github.com/BobDu\"\u003e\u003ccode\u003e@​BobDu\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eb2b489dbf4826c2c630717a77fd5e42774625410: chore(context): always trust xff headers from unix socket (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/3359\"\u003e#3359\u003c/a\u003e) (\u003ca href=\"https://github.com/WeidiDeng\"\u003e\u003ccode\u003e@​WeidiDeng\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eecb3f7b5e2f3915bf1db240ed5eee572f8dbea36: chore(deps): upgrade golang.org/x/crypto to v0.45.0 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4449\"\u003e#4449\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eaf6e8b70b8261bb0c99ad094fe552ab92991620a: chore(deps): upgrade quic-go to v0.57.1 (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edb309081bc5c137b2aa15701ef53f7f19788da25: chore(logger): allow skipping query string output (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4547\"\u003e#4547\u003c/a\u003e) (\u003ca href=\"https://github.com/USA-RedDragon\"\u003e\u003ccode\u003e@​USA-RedDragon\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e26c3a628655cad2388380cb8102d6ce7d4875f3b: chore(response): prevent Flush() panic when \u003ccode\u003ehttp.Flusher\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4479\"\u003e#4479\u003c/a\u003e) (\u003ca href=\"https://github.com/Twacqwq\"\u003e\u003ccode\u003e@​Twacqwq\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e5dd833f1f26de0eb30eae47b17e05ced2482dc41: chore: bump minimum Go version to 1.24 and update workflows (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4388\"\u003e#4388\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRefactor\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e39858a0859c914bd26948fa950477e11bd8d3823: refactor(binding): use maps.Copy for cleaner map handling (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4352\"\u003e#4352\u003c/a\u003e) (\u003ca href=\"https://github.com/russcoss\"\u003e\u003ccode\u003e@​russcoss\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ec0048f645ee945c4db30593afdea10123e2c30a6: refactor(context): omit the return value names (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4395\"\u003e#4395\u003c/a\u003e) (\u003ca href=\"https://github.com/wanghaolong613\"\u003e\u003ccode\u003e@​wanghaolong613\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e915e4c90d28ec4cffc6eb146e208ab5a65eac772: refactor(context): replace hardcoded localhost IPs with constants (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4481\"\u003e#4481\u003c/a\u003e) (\u003ca href=\"https://github.com/pauloappbr\"\u003e\u003ccode\u003e@​pauloappbr\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e414de60574449457f3192a7a1d5528940db2836d: refactor(context): using maps.Clone (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4333\"\u003e#4333\u003c/a\u003e) (\u003ca href=\"https://github.com/cuiweixie\"\u003e\u003ccode\u003e@​cuiweixie\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e59e9d4a794f12c4f9a6c7bed441b9644e5f6d99b: refactor(ginS): use sync.OnceValue to simplify engine function (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4314\"\u003e#4314\u003c/a\u003e) (\u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e3ab698dc5110af1977d57226e4995c57dd34c233: refactor(recovery): smart error comparison (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4142\"\u003e#4142\u003c/a\u003e) (\u003ca href=\"https://github.com/zeek0x\"\u003e\u003ccode\u003e@​zeek0x\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ed1a15347b1e45a8ee816193d3578a93bfd73b70f: refactor(utils): move util functions to utils.go (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4467\"\u003e#4467\u003c/a\u003e) (\u003ca href=\"https://github.com/zeek0x\"\u003e\u003ccode\u003e@​zeek0x\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ee3118cc378d263454098924ebbde7e8d1dd2e904: refactor: for loop can be modernized using range over int (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4392\"\u003e#4392\u003c/a\u003e) (\u003ca href=\"https://github.com/wanghaolong613\"\u003e\u003ccode\u003e@​wanghaolong613\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e488f8c3ffa579a8d19beb2bae95ff8ef36b3d53f: refactor: replace magic numbers with named constants in bodyAllowedForStatus (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4529\"\u003e#4529\u003c/a\u003e) (\u003ca href=\"https://github.com/veeceey\"\u003e\u003ccode\u003e@​veeceey\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e9968c4bf9d5a99edc3eee2c068a4c9160ece8915: refactor: use b.Loop() to simplify the code and improve performance (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4389\"\u003e#4389\u003c/a\u003e) (\u003ca href=\"https://github.com/reddaisyy\"\u003e\u003ccode\u003e@​reddaisyy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ea85ef5ce4d0cda8834c59c855068ed48b51192d1: refactor: use b.Loop() to simplify the code and improve performance (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4432\"\u003e#4432\u003c/a\u003e) (\u003ca href=\"https://github.com/efcking\"\u003e\u003ccode\u003e@​efcking\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBuild process updates\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e61b67de522a189b568aced4c5c16917c558e3387: ci(bot): increase frequency and group updates for dependencies (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4367\"\u003e#4367\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efb27ef26c2fdfe25344b4c039d8a53551f9e912c: ci(lint): refactor test assertions and linter configuration (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4436\"\u003e#4436\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e93ff771e6dbf10e432864b30f3719ac5c84a4d4a: ci(sec): improve type safety and server organization in HTTP middleware (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4437\"\u003e#4437\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ee88fc8927a52b74f55bec0351604a56ac0aa1c51: ci(sec): schedule Trivy security scans to run daily at midnight UTC (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4439\"\u003e#4439\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e5e5ff3ace496a31b138b0820136a146bfb5de0ef: ci: replace vulnerability scanning workflow with Trivy integration (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4421\"\u003e#4421\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e00900fb3e1ea9dde33985a0e4f6afec793d5e786: ci: update CI workflows and standardize Trivy config quotes (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4531\"\u003e#4531\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eae3f524974fc4f55d18c9e7fae4614503c015226: ci: update Go version support to 1.25+ across CI and docs (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4550\"\u003e#4550\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/gin-gonic/gin/blob/master/CHANGELOG.md\"\u003egithub.com/gin-gonic/gin's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eGin v1.12.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat(render): add bson protocol (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4145\"\u003e#4145\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(context): add GetError and GetErrorSlice methods for error retrieval (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4502\"\u003e#4502\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(binding): add support for encoding.UnmarshalText in uri/query binding (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4203\"\u003e#4203\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(gin): add option to use escaped path (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4420\"\u003e#4420\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(context): add Protocol Buffers support to content negotiation (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4423\"\u003e#4423\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(context): implemented Delete method (\u003ca href=\"https://github.com/gin-gonic/gin/commit/38e7651\"\u003e#38e7651\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(logger): color latency (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4146\"\u003e#4146\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eperf(tree): reduce allocations in findCaseInsensitivePath (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4417\"\u003e#4417\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eperf(recovery): optimize line reading in stack function (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4466\"\u003e#4466\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eperf(path): replace regex with custom functions in redirectTrailingSlash (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4414\"\u003e#4414\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eperf(tree): optimize path parsing using strings.Count (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4246\"\u003e#4246\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(logger): allow skipping query string output (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4547\"\u003e#4547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(context): always trust xff headers from unix socket (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/3359\"\u003e#3359\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(response): prevent Flush() panic when the underlying ResponseWriter does not implement \u003ccode\u003ehttp.Flusher\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4479\"\u003e#4479\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(recovery): smart error comparison (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4142\"\u003e#4142\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(context): replace hardcoded localhost IPs with constants (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4481\"\u003e#4481\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(utils): move util functions to utils.go (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4467\"\u003e#4467\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(binding): use maps.Copy for cleaner map handling (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4352\"\u003e#4352\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(context): using maps.Clone (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4333\"\u003e#4333\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(ginS): use sync.OnceValue to simplify engine function (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4314\"\u003e#4314\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor: replace magic numbers with named constants in bodyAllowedForStatus (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4529\"\u003e#4529\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor: for loop can be modernized using range over int (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4392\"\u003e#4392\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(tree): panic in findCaseInsensitivePathRec with RedirectFixedPath (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4535\"\u003e#4535\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(render): write content length in Data.Render (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4206\"\u003e#4206\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(context): ClientIP handling for multiple X-Forwarded-For header values (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4472\"\u003e#4472\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(binding): empty value error (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/2169\"\u003e#2169\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(recover): suppress http.ErrAbortHandler in recover (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4336\"\u003e#4336\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(gin): literal colon routes not working with engine.Handler() (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4415\"\u003e#4415\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(gin): close os.File in RunFd to prevent resource leak (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4422\"\u003e#4422\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(response): refine hijack behavior for response lifecycle (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4373\"\u003e#4373\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(binding): improve empty slice/array handling in form binding (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4380\"\u003e#4380\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(debug): version mismatch (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4403\"\u003e#4403\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: correct typos, improve documentation clarity, and remove dead code (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4511\"\u003e#4511\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBuild process updates / CI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eci: update Go version support to 1.25+ across CI and docs (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4550\"\u003e#4550\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(binding): upgrade bson dependency to mongo-driver v2 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4549\"\u003e#4549\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/73726dc606796a025971fe451f0aa6f1b9b847f6\"\u003e\u003ccode\u003e73726dc\u003c/code\u003e\u003c/a\u003e docs: update documentation to reflect Go version changes (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4552\"\u003e#4552\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/e292e5caa777bce70b66fe08c94cbe9cef3e2ec9\"\u003e\u003ccode\u003ee292e5c\u003c/code\u003e\u003c/a\u003e docs: document and finalize Gin v1.12.0 release (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4551\"\u003e#4551\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/ae3f524974fc4f55d18c9e7fae4614503c015226\"\u003e\u003ccode\u003eae3f524\u003c/code\u003e\u003c/a\u003e ci: update Go version support to 1.25+ across CI and docs (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4550\"\u003e#4550\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/38534e2bf98a06e1f62d6b24384e90b5f78699bf\"\u003e\u003ccode\u003e38534e2\u003c/code\u003e\u003c/a\u003e chore(deps): bump golang.org/x/net from 0.50.0 to 0.51.0 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4548\"\u003e#4548\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/472d086af2acd924cb4b9d7be0525f7d790f69bc\"\u003e\u003ccode\u003e472d086\u003c/code\u003e\u003c/a\u003e fix(tree): panic in findCaseInsensitivePathRec with RedirectFixedPath (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4535\"\u003e#4535\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/fb2583442c4d9bccb75e6d26f1aa6e7c01950db6\"\u003e\u003ccode\u003efb25834\u003c/code\u003e\u003c/a\u003e test(context): use http.StatusContinue constant instead of magic number 100 (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/6f1d5fe3cdb171a08928c3c9dd3fbcfc9ee1b521\"\u003e\u003ccode\u003e6f1d5fe\u003c/code\u003e\u003c/a\u003e test(render): add comprehensive error handling tests (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4541\"\u003e#4541\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/5c00df8afadd06cc5be530dde00fe6d9fa4a2e4a\"\u003e\u003ccode\u003e5c00df8\u003c/code\u003e\u003c/a\u003e fix(render): write content length in Data.Render (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4206\"\u003e#4206\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/db309081bc5c137b2aa15701ef53f7f19788da25\"\u003e\u003ccode\u003edb30908\u003c/code\u003e\u003c/a\u003e chore(logger): allow skipping query string output (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4547\"\u003e#4547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/ba093d19477b896ac89a7fc3246af23d290b8e26\"\u003e\u003ccode\u003eba093d1\u003c/code\u003e\u003c/a\u003e chore(binding): upgrade bson dependency to mongo-driver v2 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4549\"\u003e#4549\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/gin-gonic/gin/compare/v1.11.0...v1.12.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `go.uber.org/zap` from 1.27.1 to 1.28.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/uber-go/zap/releases\"\u003ego.uber.org/zap's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.28.0\u003c/h2\u003e\n\u003cp\u003eEnhancements:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/uber-go/zap/issues/1534\"\u003e#1534\u003c/a\u003e[]: Add \u003ccode\u003ezapcore.CheckPreWriteHook\u003c/code\u003e and \u003ccode\u003eCheckedEntry.Before\u003c/code\u003e method for transforming entries before they are written to any Cores.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/uber-go/zap/issues/1534\"\u003e#1534\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/uber-go/zap/pull/1534\"\u003euber-go/zap#1534\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/uber-go/zap/blob/master/CHANGELOG.md\"\u003ego.uber.org/zap's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.28.0 (27 Apr 2026)\u003c/h2\u003e\n\u003cp\u003eEnhancements:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/uber-go/zap/issues/1534\"\u003e#1534\u003c/a\u003e[]: Add \u003ccode\u003ezapcore.CheckPreWriteHook\u003c/code\u003e and \u003ccode\u003eCheckedEntry.Before\u003c/code\u003e method for transforming entries before they are written to any Cores.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/uber-go/zap/commit/5b81b37b81b8e2ed447a6f57991e372ee4fa5c8f\"\u003e\u003ccode\u003e5b81b37\u003c/code\u003e\u003c/a\u003e release v1.28.0 (\u003ca href=\"https://redirect.github.com/uber-go/zap/issues/1547\"\u003e#1547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/uber-go/zap/commit/0ab0d5aae5986395e2ca497385d977ccd7cdfc5e\"\u003e\u003ccode\u003e0ab0d5a\u003c/code\u003e\u003c/a\u003e zapcore: Add PreWriteHook for transforming entries before write (\u003ca href=\"https://redirect.github.com/uber-go/zap/issues/1534\"\u003e#1534\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/uber-go/zap/commit/d278c5962cb0f7423170c11a5da9b7a4edbf9b92\"\u003e\u003ccode\u003ed278c59\u003c/code\u003e\u003c/a\u003e [chore] CI: test on Go 1.26 (\u003ca href=\"https://redirect.github.com/uber-go/zap/issues/1535\"\u003e#1535\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/uber-go/zap/commit/16fb16b353f2e27bcd71eba69cbd346b3dcc471a\"\u003e\u003ccode\u003e16fb16b\u003c/code\u003e\u003c/a\u003e chore(dep): replace archived gopkg.in/yaml.v3 with officially maintained go.y...\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/uber-go/zap/compare/v1.27.1...v1.28.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/lyimoexiao/gin-doh/pull/7","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/lyimoexiao%2Fgin-doh/issues/7","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/7/packages"}},{"old_version":"1.10.0","new_version":"1.12.0","update_type":"minor","path":null,"pr_created_at":"2026-04-26T11:19:01.000Z","version_change":"1.10.0 → 1.12.0","issue":{"uuid":"4330720217","node_id":"PR_kwDOR6RzH87Vtnjo","number":17,"state":"open","title":"chore(backend/deps): bump the go-minor-and-patch group across 1 directory with 6 updates","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-04-26T11:19:01.000Z","updated_at":"2026-04-26T16:17:33.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(backend/deps): bump","group_name":"go-minor-and-patch","update_count":6,"packages":[{"name":"github.com/coreos/go-oidc/v3","old_version":"3.17.0","new_version":"3.18.0","repository_url":"https://github.com/coreos/go-oidc"},{"name":"github.com/gin-gonic/gin","old_version":"1.10.0","new_version":"1.12.0","repository_url":"https://github.com/gin-gonic/gin"},{"name":"github.com/golang-jwt/jwt/v5","old_version":"5.3.0","new_version":"5.3.1","repository_url":"https://github.com/golang-jwt/jwt"},{"name":"golang.org/x/crypto","old_version":"0.46.0","new_version":"0.48.0"},{"name":"golang.org/x/oauth2","old_version":"0.35.0","new_version":"0.36.0"},{"name":"google.golang.org/genai","old_version":"1.40.0","new_version":"1.54.0","repository_url":"https://github.com/googleapis/go-genai"}],"path":null,"ecosystem":"go"},"body":"Bumps the go-minor-and-patch group with 4 updates in the /backend directory: [github.com/coreos/go-oidc/v3](https://github.com/coreos/go-oidc), [github.com/gin-gonic/gin](https://github.com/gin-gonic/gin), [github.com/golang-jwt/jwt/v5](https://github.com/golang-jwt/jwt) and [google.golang.org/genai](https://github.com/googleapis/go-genai).\n\nUpdates `github.com/coreos/go-oidc/v3` from 3.17.0 to 3.18.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/coreos/go-oidc/releases\"\u003egithub.com/coreos/go-oidc/v3's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.18.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e.github: configure dependabot by \u003ca href=\"https://github.com/ericchiang\"\u003e\u003ccode\u003e@​ericchiang\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/coreos/go-oidc/pull/477\"\u003ecoreos/go-oidc#477\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e.github: update go versions in CI by \u003ca href=\"https://github.com/ericchiang\"\u003e\u003ccode\u003e@​ericchiang\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/coreos/go-oidc/pull/480\"\u003ecoreos/go-oidc#480\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump golang.org/x/oauth2 from 0.28.0 to 0.36.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/coreos/go-oidc/pull/478\"\u003ecoreos/go-oidc#478\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump github.com/go-jose/go-jose/v4 from 4.1.3 to 4.1.4 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/coreos/go-oidc/pull/479\"\u003ecoreos/go-oidc#479\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/coreos/go-oidc/compare/v3.17.0...v3.18.0\"\u003ehttps://github.com/coreos/go-oidc/compare/v3.17.0...v3.18.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coreos/go-oidc/commit/da6b3bfca8af72414ee0e6e8746585ff5d206003\"\u003e\u003ccode\u003eda6b3bf\u003c/code\u003e\u003c/a\u003e build(deps): bump github.com/go-jose/go-jose/v4 from 4.1.3 to 4.1.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coreos/go-oidc/commit/7f80694215d5eb5b28f851f35845439b1e1e9e5d\"\u003e\u003ccode\u003e7f80694\u003c/code\u003e\u003c/a\u003e build(deps): bump golang.org/x/oauth2 from 0.28.0 to 0.36.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coreos/go-oidc/commit/7271de57587bb756318f9819796ba846b1ba875a\"\u003e\u003ccode\u003e7271de5\u003c/code\u003e\u003c/a\u003e .github: update go versions in CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coreos/go-oidc/commit/3ccf20fdc4afab7c64881a108d6f4c17a4ecc24d\"\u003e\u003ccode\u003e3ccf20f\u003c/code\u003e\u003c/a\u003e .github: configure dependabot\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/coreos/go-oidc/compare/v3.17.0...v3.18.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/gin-gonic/gin` from 1.10.0 to 1.12.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/gin-gonic/gin/releases\"\u003egithub.com/gin-gonic/gin's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.12.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e192ac89eefc1c30f7c97ae48a9ffb1c6f1c8c8bc: feat(binding): add support for encoding.UnmarshalText in uri/query binding (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4203\"\u003e#4203\u003c/a\u003e) (\u003ca href=\"https://github.com/takanuva15\"\u003e\u003ccode\u003e@​takanuva15\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e53410d2e07054369e0960fbe2eed97e1b9966f12: feat(context): add GetError and GetErrorSlice methods for error retrieval (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4502\"\u003e#4502\u003c/a\u003e) (\u003ca href=\"https://github.com/raju-mechatronics\"\u003e\u003ccode\u003e@​raju-mechatronics\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eacc55e049e33b401e810dbd8c0d6dcb6b3ba2b05: feat(context): add Protocol Buffers support to content negotiation (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4423\"\u003e#4423\u003c/a\u003e) (\u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e38e765119241d990705169bedb5002a29ae0cbd1: feat(context): implemented Delete method (\u003ca href=\"https://github.com/Spyder01\"\u003e\u003ccode\u003e@​Spyder01\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e771dcc6476d7bc6abb9ec0235ecefa4d38fe6fb0: feat(gin): add option to use escaped path (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4420\"\u003e#4420\u003c/a\u003e) (\u003ca href=\"https://github.com/ldesauw\"\u003e\u003ccode\u003e@​ldesauw\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e4dec17afdff48e8018c83618fbbe69fceeb2b41d: feat(logger): color latency (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4146\"\u003e#4146\u003c/a\u003e) (\u003ca href=\"https://github.com/wsyqn6\"\u003e\u003ccode\u003e@​wsyqn6\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ed7776de7d444935ea4385999711bd6331a98fecb: feat(render): add bson protocol (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4145\"\u003e#4145\u003c/a\u003e) (\u003ca href=\"https://github.com/laurentcau\"\u003e\u003ccode\u003e@​laurentcau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eb917b14ff9d189f16a7492be79d123a47806ee19: fix(binding): empty value error (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/2169\"\u003e#2169\u003c/a\u003e) (\u003ca href=\"https://github.com/guonaihong\"\u003e\u003ccode\u003e@​guonaihong\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ec3d1092b3b48addf6f9cd00fe274ec3bd14650eb: fix(binding): improve empty slice/array handling in form binding (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4380\"\u003e#4380\u003c/a\u003e) (\u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e9914178584e42458ff7d23891463a880f58c9d86: fix(context): ClientIP handling for multiple X-Forwarded-For header values (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4472\"\u003e#4472\u003c/a\u003e) (\u003ca href=\"https://github.com/Nurysso\"\u003e\u003ccode\u003e@​Nurysso\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e2a794cd0b0faa7d829291375b27a3467ea972b0d: fix(debug): version mismatch (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4403\"\u003e#4403\u003c/a\u003e) (\u003ca href=\"https://github.com/zeek0x\"\u003e\u003ccode\u003e@​zeek0x\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ec3d5a28ed6d3849da820195b6774d212bcc038a9: fix(gin): close os.File in RunFd to prevent resource leak (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4422\"\u003e#4422\u003c/a\u003e) (\u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e5fad976b372e381312f8de69f0969f1284d229d3: fix(gin): literal colon routes not working with engine.Handler() (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4415\"\u003e#4415\u003c/a\u003e) (\u003ca href=\"https://github.com/pawannn\"\u003e\u003ccode\u003e@​pawannn\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e63dd3e60cab89c27fb66bce1423bd268d52abad1: fix(recover): suppress http.ErrAbortHandler in recover (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4336\"\u003e#4336\u003c/a\u003e) (\u003ca href=\"https://github.com/MondayCha\"\u003e\u003ccode\u003e@​MondayCha\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e5c00df8afadd06cc5be530dde00fe6d9fa4a2e4a: fix(render): write content length in Data.Render (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4206\"\u003e#4206\u003c/a\u003e) (\u003ca href=\"https://github.com/dengaleev\"\u003e\u003ccode\u003e@​dengaleev\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e234a6d4c00cb77af9852aca0b8289745d5529b4b: fix(response): refine hijack behavior for response lifecycle (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4373\"\u003e#4373\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e472d086af2acd924cb4b9d7be0525f7d790f69bc: fix(tree): panic in findCaseInsensitivePathRec with RedirectFixedPath (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4535\"\u003e#4535\u003c/a\u003e) (\u003ca href=\"https://github.com/veeceey\"\u003e\u003ccode\u003e@​veeceey\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e8e07d37c63e5536eb25f4af4c91eabeee4011fba: fix: Correct typos, improve documentation clarity, and remove dead code (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4511\"\u003e#4511\u003c/a\u003e) (\u003ca href=\"https://github.com/mahanadh\"\u003e\u003ccode\u003e@​mahanadh\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eba093d19477b896ac89a7fc3246af23d290b8e26: chore(binding): upgrade bson dependency to mongo-driver v2 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4549\"\u003e#4549\u003c/a\u003e) (\u003ca href=\"https://github.com/BobDu\"\u003e\u003ccode\u003e@​BobDu\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eb2b489dbf4826c2c630717a77fd5e42774625410: chore(context): always trust xff headers from unix socket (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/3359\"\u003e#3359\u003c/a\u003e) (\u003ca href=\"https://github.com/WeidiDeng\"\u003e\u003ccode\u003e@​WeidiDeng\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eecb3f7b5e2f3915bf1db240ed5eee572f8dbea36: chore(deps): upgrade golang.org/x/crypto to v0.45.0 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4449\"\u003e#4449\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eaf6e8b70b8261bb0c99ad094fe552ab92991620a: chore(deps): upgrade quic-go to v0.57.1 (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edb309081bc5c137b2aa15701ef53f7f19788da25: chore(logger): allow skipping query string output (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4547\"\u003e#4547\u003c/a\u003e) (\u003ca href=\"https://github.com/USA-RedDragon\"\u003e\u003ccode\u003e@​USA-RedDragon\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e26c3a628655cad2388380cb8102d6ce7d4875f3b: chore(response): prevent Flush() panic when \u003ccode\u003ehttp.Flusher\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4479\"\u003e#4479\u003c/a\u003e) (\u003ca href=\"https://github.com/Twacqwq\"\u003e\u003ccode\u003e@​Twacqwq\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e5dd833f1f26de0eb30eae47b17e05ced2482dc41: chore: bump minimum Go version to 1.24 and update workflows (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4388\"\u003e#4388\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRefactor\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e39858a0859c914bd26948fa950477e11bd8d3823: refactor(binding): use maps.Copy for cleaner map handling (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4352\"\u003e#4352\u003c/a\u003e) (\u003ca href=\"https://github.com/russcoss\"\u003e\u003ccode\u003e@​russcoss\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ec0048f645ee945c4db30593afdea10123e2c30a6: refactor(context): omit the return value names (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4395\"\u003e#4395\u003c/a\u003e) (\u003ca href=\"https://github.com/wanghaolong613\"\u003e\u003ccode\u003e@​wanghaolong613\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e915e4c90d28ec4cffc6eb146e208ab5a65eac772: refactor(context): replace hardcoded localhost IPs with constants (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4481\"\u003e#4481\u003c/a\u003e) (\u003ca href=\"https://github.com/pauloappbr\"\u003e\u003ccode\u003e@​pauloappbr\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e414de60574449457f3192a7a1d5528940db2836d: refactor(context): using maps.Clone (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4333\"\u003e#4333\u003c/a\u003e) (\u003ca href=\"https://github.com/cuiweixie\"\u003e\u003ccode\u003e@​cuiweixie\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e59e9d4a794f12c4f9a6c7bed441b9644e5f6d99b: refactor(ginS): use sync.OnceValue to simplify engine function (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4314\"\u003e#4314\u003c/a\u003e) (\u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e3ab698dc5110af1977d57226e4995c57dd34c233: refactor(recovery): smart error comparison (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4142\"\u003e#4142\u003c/a\u003e) (\u003ca href=\"https://github.com/zeek0x\"\u003e\u003ccode\u003e@​zeek0x\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ed1a15347b1e45a8ee816193d3578a93bfd73b70f: refactor(utils): move util functions to utils.go (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4467\"\u003e#4467\u003c/a\u003e) (\u003ca href=\"https://github.com/zeek0x\"\u003e\u003ccode\u003e@​zeek0x\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ee3118cc378d263454098924ebbde7e8d1dd2e904: refactor: for loop can be modernized using range over int (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4392\"\u003e#4392\u003c/a\u003e) (\u003ca href=\"https://github.com/wanghaolong613\"\u003e\u003ccode\u003e@​wanghaolong613\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e488f8c3ffa579a8d19beb2bae95ff8ef36b3d53f: refactor: replace magic numbers with named constants in bodyAllowedForStatus (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4529\"\u003e#4529\u003c/a\u003e) (\u003ca href=\"https://github.com/veeceey\"\u003e\u003ccode\u003e@​veeceey\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e9968c4bf9d5a99edc3eee2c068a4c9160ece8915: refactor: use b.Loop() to simplify the code and improve performance (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4389\"\u003e#4389\u003c/a\u003e) (\u003ca href=\"https://github.com/reddaisyy\"\u003e\u003ccode\u003e@​reddaisyy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ea85ef5ce4d0cda8834c59c855068ed48b51192d1: refactor: use b.Loop() to simplify the code and improve performance (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4432\"\u003e#4432\u003c/a\u003e) (\u003ca href=\"https://github.com/efcking\"\u003e\u003ccode\u003e@​efcking\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBuild process updates\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e61b67de522a189b568aced4c5c16917c558e3387: ci(bot): increase frequency and group updates for dependencies (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4367\"\u003e#4367\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efb27ef26c2fdfe25344b4c039d8a53551f9e912c: ci(lint): refactor test assertions and linter configuration (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4436\"\u003e#4436\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e93ff771e6dbf10e432864b30f3719ac5c84a4d4a: ci(sec): improve type safety and server organization in HTTP middleware (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4437\"\u003e#4437\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ee88fc8927a52b74f55bec0351604a56ac0aa1c51: ci(sec): schedule Trivy security scans to run daily at midnight UTC (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4439\"\u003e#4439\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e5e5ff3ace496a31b138b0820136a146bfb5de0ef: ci: replace vulnerability scanning workflow with Trivy integration (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4421\"\u003e#4421\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e00900fb3e1ea9dde33985a0e4f6afec793d5e786: ci: update CI workflows and standardize Trivy config quotes (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4531\"\u003e#4531\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eae3f524974fc4f55d18c9e7fae4614503c015226: ci: update Go version support to 1.25+ across CI and docs (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4550\"\u003e#4550\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/gin-gonic/gin/blob/master/CHANGELOG.md\"\u003egithub.com/gin-gonic/gin's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eGin v1.12.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat(render): add bson protocol (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4145\"\u003e#4145\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(context): add GetError and GetErrorSlice methods for error retrieval (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4502\"\u003e#4502\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(binding): add support for encoding.UnmarshalText in uri/query binding (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4203\"\u003e#4203\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(gin): add option to use escaped path (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4420\"\u003e#4420\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(context): add Protocol Buffers support to content negotiation (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4423\"\u003e#4423\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(context): implemented Delete method (\u003ca href=\"https://github.com/gin-gonic/gin/commit/38e7651\"\u003e#38e7651\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(logger): color latency (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4146\"\u003e#4146\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eperf(tree): reduce allocations in findCaseInsensitivePath (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4417\"\u003e#4417\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eperf(recovery): optimize line reading in stack function (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4466\"\u003e#4466\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eperf(path): replace regex with custom functions in redirectTrailingSlash (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4414\"\u003e#4414\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eperf(tree): optimize path parsing using strings.Count (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4246\"\u003e#4246\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(logger): allow skipping query string output (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4547\"\u003e#4547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(context): always trust xff headers from unix socket (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/3359\"\u003e#3359\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(response): prevent Flush() panic when the underlying ResponseWriter does not implement \u003ccode\u003ehttp.Flusher\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4479\"\u003e#4479\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(recovery): smart error comparison (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4142\"\u003e#4142\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(context): replace hardcoded localhost IPs with constants (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4481\"\u003e#4481\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(utils): move util functions to utils.go (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4467\"\u003e#4467\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(binding): use maps.Copy for cleaner map handling (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4352\"\u003e#4352\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(context): using maps.Clone (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4333\"\u003e#4333\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(ginS): use sync.OnceValue to simplify engine function (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4314\"\u003e#4314\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor: replace magic numbers with named constants in bodyAllowedForStatus (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4529\"\u003e#4529\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor: for loop can be modernized using range over int (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4392\"\u003e#4392\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(tree): panic in findCaseInsensitivePathRec with RedirectFixedPath (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4535\"\u003e#4535\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(render): write content length in Data.Render (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4206\"\u003e#4206\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(context): ClientIP handling for multiple X-Forwarded-For header values (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4472\"\u003e#4472\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(binding): empty value error (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/2169\"\u003e#2169\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(recover): suppress http.ErrAbortHandler in recover (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4336\"\u003e#4336\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(gin): literal colon routes not working with engine.Handler() (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4415\"\u003e#4415\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(gin): close os.File in RunFd to prevent resource leak (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4422\"\u003e#4422\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(response): refine hijack behavior for response lifecycle (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4373\"\u003e#4373\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(binding): improve empty slice/array handling in form binding (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4380\"\u003e#4380\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(debug): version mismatch (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4403\"\u003e#4403\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: correct typos, improve documentation clarity, and remove dead code (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4511\"\u003e#4511\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBuild process updates / CI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eci: update Go version support to 1.25+ across CI and docs (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4550\"\u003e#4550\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(binding): upgrade bson dependency to mongo-driver v2 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4549\"\u003e#4549\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eGin v1.11.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/73726dc606796a025971fe451f0aa6f1b9b847f6\"\u003e\u003ccode\u003e73726dc\u003c/code\u003e\u003c/a\u003e docs: update documentation to reflect Go version changes (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4552\"\u003e#4552\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/e292e5caa777bce70b66fe08c94cbe9cef3e2ec9\"\u003e\u003ccode\u003ee292e5c\u003c/code\u003e\u003c/a\u003e docs: document and finalize Gin v1.12.0 release (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4551\"\u003e#4551\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/ae3f524974fc4f55d18c9e7fae4614503c015226\"\u003e\u003ccode\u003eae3f524\u003c/code\u003e\u003c/a\u003e ci: update Go version support to 1.25+ across CI and docs (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4550\"\u003e#4550\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/38534e2bf98a06e1f62d6b24384e90b5f78699bf\"\u003e\u003ccode\u003e38534e2\u003c/code\u003e\u003c/a\u003e chore(deps): bump golang.org/x/net from 0.50.0 to 0.51.0 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4548\"\u003e#4548\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/472d086af2acd924cb4b9d7be0525f7d790f69bc\"\u003e\u003ccode\u003e472d086\u003c/code\u003e\u003c/a\u003e fix(tree): panic in findCaseInsensitivePathRec with RedirectFixedPath (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4535\"\u003e#4535\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/fb2583442c4d9bccb75e6d26f1aa6e7c01950db6\"\u003e\u003ccode\u003efb25834\u003c/code\u003e\u003c/a\u003e test(context): use http.StatusContinue constant instead of magic number 100 (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/6f1d5fe3cdb171a08928c3c9dd3fbcfc9ee1b521\"\u003e\u003ccode\u003e6f1d5fe\u003c/code\u003e\u003c/a\u003e test(render): add comprehensive error handling tests (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4541\"\u003e#4541\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/5c00df8afadd06cc5be530dde00fe6d9fa4a2e4a\"\u003e\u003ccode\u003e5c00df8\u003c/code\u003e\u003c/a\u003e fix(render): write content length in Data.Render (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4206\"\u003e#4206\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/db309081bc5c137b2aa15701ef53f7f19788da25\"\u003e\u003ccode\u003edb30908\u003c/code\u003e\u003c/a\u003e chore(logger): allow skipping query string output (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4547\"\u003e#4547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/ba093d19477b896ac89a7fc3246af23d290b8e26\"\u003e\u003ccode\u003eba093d1\u003c/code\u003e\u003c/a\u003e chore(binding): upgrade bson dependency to mongo-driver v2 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4549\"\u003e#4549\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/gin-gonic/gin/compare/v1.10.0...v1.12.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/golang-jwt/jwt/v5` from 5.3.0 to 5.3.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/golang-jwt/jwt/releases\"\u003egithub.com/golang-jwt/jwt/v5's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev5.3.1\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003e🔐 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd spellcheck Github action to catch common spelling mistakes by \u003ca href=\"https://github.com/equalsgibson\"\u003e\u003ccode\u003e@​equalsgibson\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/golang-jwt/jwt/pull/458\"\u003egolang-jwt/jwt#458\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eWithNotBeforeRequired\u003c/code\u003e parser option and add test coverage by \u003ca href=\"https://github.com/equalsgibson\"\u003e\u003ccode\u003e@​equalsgibson\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/golang-jwt/jwt/pull/456\"\u003egolang-jwt/jwt#456\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate godoc example func to properly refer to \u003ccode\u003eNewWithClaims()\u003c/code\u003e by \u003ca href=\"https://github.com/equalsgibson\"\u003e\u003ccode\u003e@​equalsgibson\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/golang-jwt/jwt/pull/459\"\u003egolang-jwt/jwt#459\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate github workflows by \u003ca href=\"https://github.com/mfridman\"\u003e\u003ccode\u003e@​mfridman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/golang-jwt/jwt/pull/462\"\u003egolang-jwt/jwt#462\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdditional test for CustomClaims that validates unmarshalling behaviour by \u003ca href=\"https://github.com/equalsgibson\"\u003e\u003ccode\u003e@​equalsgibson\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/golang-jwt/jwt/pull/457\"\u003egolang-jwt/jwt#457\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix early file close in jwt cli by \u003ca href=\"https://github.com/mfridman\"\u003e\u003ccode\u003e@​mfridman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/golang-jwt/jwt/pull/472\"\u003egolang-jwt/jwt#472\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd TPM signature reference by \u003ca href=\"https://github.com/salrashid123\"\u003e\u003ccode\u003e@​salrashid123\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/golang-jwt/jwt/pull/473\"\u003egolang-jwt/jwt#473\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove misleading ParserOptions documentation in \u003ca href=\"https://redirect.github.com/golang-jwt/jwt/pull/484\"\u003egolang-jwt/jwt#484\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSave signature to Token struct after successful signing by \u003ca href=\"https://github.com/EgorSheff\"\u003e\u003ccode\u003e@​EgorSheff\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/golang-jwt/jwt/pull/417\"\u003egolang-jwt/jwt#417\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSet token.Signature in \u003ccode\u003eParseUnverified\u003c/code\u003e by \u003ca href=\"https://github.com/slickwilli\"\u003e\u003ccode\u003e@​slickwilli\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/golang-jwt/jwt/pull/414\"\u003egolang-jwt/jwt#414\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e👒 Dependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBump crate-ci/typos from 1.34.0 to 1.35.3 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/golang-jwt/jwt/pull/461\"\u003egolang-jwt/jwt#461\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump crate-ci/typos from 1.35.4 to 1.36.2 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/golang-jwt/jwt/pull/470\"\u003egolang-jwt/jwt#470\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump github/codeql-action from 3 to 4 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/golang-jwt/jwt/pull/478\"\u003egolang-jwt/jwt#478\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump crate-ci/typos from 1.36.2 to 1.39.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/golang-jwt/jwt/pull/480\"\u003egolang-jwt/jwt#480\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump golangci/golangci-lint-action from 8 to 9 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/golang-jwt/jwt/pull/481\"\u003egolang-jwt/jwt#481\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/setup-go from 5 to 6 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/golang-jwt/jwt/pull/469\"\u003egolang-jwt/jwt#469\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump crate-ci/typos from 1.39.0 to 1.40.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/golang-jwt/jwt/pull/488\"\u003egolang-jwt/jwt#488\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/checkout from 5 to 6 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/golang-jwt/jwt/pull/487\"\u003egolang-jwt/jwt#487\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump crate-ci/typos from 1.40.0 to 1.41.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/golang-jwt/jwt/pull/490\"\u003egolang-jwt/jwt#490\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump crate-ci/typos from 1.41.0 to 1.42.1 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/golang-jwt/jwt/pull/492\"\u003egolang-jwt/jwt#492\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/equalsgibson\"\u003e\u003ccode\u003e@​equalsgibson\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/golang-jwt/jwt/pull/458\"\u003egolang-jwt/jwt#458\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/salrashid123\"\u003e\u003ccode\u003e@​salrashid123\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/golang-jwt/jwt/pull/473\"\u003egolang-jwt/jwt#473\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/EgorSheff\"\u003e\u003ccode\u003e@​EgorSheff\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/golang-jwt/jwt/pull/417\"\u003egolang-jwt/jwt#417\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/slickwilli\"\u003e\u003ccode\u003e@​slickwilli\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/golang-jwt/jwt/pull/414\"\u003egolang-jwt/jwt#414\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/golang-jwt/jwt/compare/v5.3.0...v5.3.1\"\u003ehttps://github.com/golang-jwt/jwt/compare/v5.3.0...v5.3.1\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/golang-jwt/jwt/commit/7ceae619e739dc8a7bf577214aa8ebf26668e9db\"\u003e\u003ccode\u003e7ceae61\u003c/code\u003e\u003c/a\u003e Add release.yml for changelog configuration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/golang-jwt/jwt/commit/dce8e4dddcc9dc812cdc0b9d2037512d0e4b3eb5\"\u003e\u003ccode\u003edce8e4d\u003c/code\u003e\u003c/a\u003e Set token.Signature in \u003ccode\u003eParseUnverified\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/golang-jwt/jwt/issues/414\"\u003e#414\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/golang-jwt/jwt/commit/8889e208aa5c3736e5f7a856107ee70c046b803e\"\u003e\u003ccode\u003e8889e20\u003c/code\u003e\u003c/a\u003e Save signature to Token struct after successful signing (\u003ca href=\"https://redirect.github.com/golang-jwt/jwt/issues/417\"\u003e#417\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/golang-jwt/jwt/commit/d237f8204b397bc008b5b07c4e081beb4ec2a7b1\"\u003e\u003ccode\u003ed237f82\u003c/code\u003e\u003c/a\u003e ci: update github-actions schedule interval to monthly\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/golang-jwt/jwt/commit/d8dce95a406fc435aa3d11c5073f2f31a9449116\"\u003e\u003ccode\u003ed8dce95\u003c/code\u003e\u003c/a\u003e Bump crate-ci/typos from 1.41.0 to 1.42.1 (\u003ca href=\"https://redirect.github.com/golang-jwt/jwt/issues/492\"\u003e#492\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/golang-jwt/jwt/commit/e93180329eab078116176ff7dc4352760bc5f290\"\u003e\u003ccode\u003ee931803\u003c/code\u003e\u003c/a\u003e Bump crate-ci/typos from 1.40.0 to 1.41.0 (\u003ca href=\"https://redirect.github.com/golang-jwt/jwt/issues/490\"\u003e#490\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/golang-jwt/jwt/commit/e6a0afa839d74787501369217245b52bfc75f30d\"\u003e\u003ccode\u003ee6a0afa\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 5 to 6 (\u003ca href=\"https://redirect.github.com/golang-jwt/jwt/issues/487\"\u003e#487\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/golang-jwt/jwt/commit/9f85c9ec9f10fb6919d773cb8df07029639ec76e\"\u003e\u003ccode\u003e9f85c9e\u003c/code\u003e\u003c/a\u003e Bump crate-ci/typos from 1.39.0 to 1.40.0 (\u003ca href=\"https://redirect.github.com/golang-jwt/jwt/issues/488\"\u003e#488\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/golang-jwt/jwt/commit/60a8669e0221aed55a6abfd9b5cd20472f0c6ebd\"\u003e\u003ccode\u003e60a8669\u003c/code\u003e\u003c/a\u003e Bump actions/setup-go from 5 to 6 (\u003ca href=\"https://redirect.github.com/golang-jwt/jwt/issues/469\"\u003e#469\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/golang-jwt/jwt/commit/76f582896da76978896d59ced995d7967c33c434\"\u003e\u003ccode\u003e76f5828\u003c/code\u003e\u003c/a\u003e Remove misleading ParserOptions documentation (\u003ca href=\"https://redirect.github.com/golang-jwt/jwt/issues/484\"\u003e#484\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/golang-jwt/jwt/compare/v5.3.0...v5.3.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `golang.org/x/crypto` from 0.46.0 to 0.48.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/golang/crypto/commit/e08b06753d6a72f1fe375b6e0fefefb39917c165\"\u003e\u003ccode\u003ee08b067\u003c/code\u003e\u003c/a\u003e go.mod: update golang.org/x dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/golang/crypto/commit/7d0074ccc6f17acbf2ebb10db06d492e08f887dc\"\u003e\u003ccode\u003e7d0074c\u003c/code\u003e\u003c/a\u003e scrypt: fix panic on parameters \u0026lt;= 0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/golang/crypto/commit/506e022208b864bc3c9c4a416fe56be75d10ad24\"\u003e\u003ccode\u003e506e022\u003c/code\u003e\u003c/a\u003e go.mod: update golang.org/x dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/golang/crypto/commit/7dacc380ba001e8fe7c3c7a46bf3cbdaa5064df9\"\u003e\u003ccode\u003e7dacc38\u003c/code\u003e\u003c/a\u003e chacha20poly1305: error out in fips140=only mode\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/golang/crypto/compare/v0.46.0...v0.48.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `golang.org/x/oauth2` from 0.35.0 to 0.36.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/golang/oauth2/commit/4d954e69a88d9e1ccb8439f8d5b6cbef230c4ef9\"\u003e\u003ccode\u003e4d954e6\u003c/code\u003e\u003c/a\u003e all: upgrade go directive to at least 1.25.0 [generated]\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/golang/oauth2/compare/v0.35.0...v0.36.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `google.golang.org/genai` from 1.40.0 to 1.54.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/go-genai/releases\"\u003egoogle.golang.org/genai's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.54.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/go-genai/compare/v1.53.0...v1.54.0\"\u003e1.54.0\u003c/a\u003e (2026-04-13)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u0026quot;eu\u0026quot; as a supported service location for Vertex AI platform. (\u003ca href=\"https://github.com/googleapis/go-genai/commit/9245aba251afea99b1560fae07b93498ed5b5d8e\"\u003e9245aba\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Live Avatar new fields (\u003ca href=\"https://github.com/googleapis/go-genai/commit/2ae252caaf0d5273d5656d32858e54c354326248\"\u003e2ae252c\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd webhook_config to batches.create() and models.generate_videos() (\u003ca href=\"https://github.com/googleapis/go-genai/commit/4790027b553d401d5cc99f21776dcfa49cbda16d\"\u003e4790027\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.53.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/go-genai/compare/v1.52.1...v1.53.0\"\u003e1.53.0\u003c/a\u003e (2026-04-08)\u003c/h2\u003e\n\u003ch3\u003eMiscellaneous Chores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003erelease 1.53.0 (\u003ca href=\"https://github.com/googleapis/go-genai/commit/07f38c926798eb5f4d9ef3af531ee3f4d91c6fd6\"\u003e07f38c9\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.52.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/go-genai/compare/v1.52.0...v1.52.1\"\u003e1.52.1\u003c/a\u003e (2026-03-31)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix service_tier enums. (\u003ca href=\"https://github.com/googleapis/go-genai/commit/5518442a2a8dac4a00ad4248470ec995604974f6\"\u003e5518442\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.52.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/go-genai/compare/v1.51.0...v1.52.0\"\u003e1.52.0\u003c/a\u003e (2026-03-27)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd labels field to Veo configs (\u003ca href=\"https://github.com/googleapis/go-genai/commit/3fab63a5f628b8ffe35fe75c325108a75e5c5add\"\u003e3fab63a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd model_status to GenerateContentResponse (Gemini API only) (\u003ca href=\"https://github.com/googleapis/go-genai/commit/8c040e35aaab4089303fbd0fcacdf80ae85cc9df\"\u003e8c040e3\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd part_metadata in Part (Gemini API only) (\u003ca href=\"https://github.com/googleapis/go-genai/commit/8c040e35aaab4089303fbd0fcacdf80ae85cc9df\"\u003e8c040e3\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd service tier to GenerateContent. (\u003ca href=\"https://github.com/googleapis/go-genai/commit/c07b6a0b47408e038264a4b0d85183e4240cb30a\"\u003ec07b6a0\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003egenai:\u003c/strong\u003e add TURN_INCLUDES_AUDIO_ACTIVITY_AND_ALL_VIDEO to TurnCoverage (\u003ca href=\"https://github.com/googleapis/go-genai/commit/ea49f9a7d885d7d0fb2016c7621b1d22eee06b26\"\u003eea49f9a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003esupport hyperparameters in distillation tuning (\u003ca href=\"https://github.com/googleapis/go-genai/commit/b8873ea18126d825b841794414c05c66cb2bc094\"\u003eb8873ea\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport rendered_parts in GroundingSupport (\u003ca href=\"https://github.com/googleapis/go-genai/commit/8c040e35aaab4089303fbd0fcacdf80ae85cc9df\"\u003e8c040e3\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix empty InlinedEmbedContentResponses for inline batch embeddings in Go GenAI SDK (\u003ca href=\"https://github.com/googleapis/go-genai/commit/e70c9d111e5f70e684537ae3ebb3fcaaf839d642\"\u003ee70c9d1\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/googleapis/go-genai/issues/712\"\u003e#712\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003esupport us region routing (\u003ca href=\"https://github.com/googleapis/go-genai/commit/09d5be32d28541debeb2fbfae13be29e51d0b42d\"\u003e09d5be3\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.51.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/go-genai/compare/v1.50.0...v1.51.0\"\u003e1.51.0\u003c/a\u003e (2026-03-17)\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/go-genai/blob/main/CHANGELOG.md\"\u003egoogle.golang.org/genai's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/go-genai/compare/v1.53.0...v1.54.0\"\u003e1.54.0\u003c/a\u003e (2026-04-13)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u0026quot;eu\u0026quot; as a supported service location for Vertex AI platform. (\u003ca href=\"https://github.com/googleapis/go-genai/commit/9245aba251afea99b1560fae07b93498ed5b5d8e\"\u003e9245aba\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Live Avatar new fields (\u003ca href=\"https://github.com/googleapis/go-genai/commit/2ae252caaf0d5273d5656d32858e54c354326248\"\u003e2ae252c\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd webhook_config to batches.create() and models.generate_videos() (\u003ca href=\"https://github.com/googleapis/go-genai/commit/4790027b553d401d5cc99f21776dcfa49cbda16d\"\u003e4790027\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/go-genai/compare/v1.52.1...v1.53.0\"\u003e1.53.0\u003c/a\u003e (2026-04-08)\u003c/h2\u003e\n\u003ch3\u003eMiscellaneous Chores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003erelease 1.53.0 (\u003ca href=\"https://github.com/googleapis/go-genai/commit/07f38c926798eb5f4d9ef3af531ee3f4d91c6fd6\"\u003e07f38c9\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/go-genai/compare/v1.52.0...v1.52.1\"\u003e1.52.1\u003c/a\u003e (2026-03-31)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix service_tier enums. (\u003ca href=\"https://github.com/googleapis/go-genai/commit/5518442a2a8dac4a00ad4248470ec995604974f6\"\u003e5518442\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/go-genai/compare/v1.51.0...v1.52.0\"\u003e1.52.0\u003c/a\u003e (2026-03-27)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd labels field to Veo configs (\u003ca href=\"https://github.com/googleapis/go-genai/commit/3fab63a5f628b8ffe35fe75c325108a75e5c5add\"\u003e3fab63a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd model_status to GenerateContentResponse (Gemini API only) (\u003ca href=\"https://github.com/googleapis/go-genai/commit/8c040e35aaab4089303fbd0fcacdf80ae85cc9df\"\u003e8c040e3\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd part_metadata in Part (Gemini API only) (\u003ca href=\"https://github.com/googleapis/go-genai/commit/8c040e35aaab4089303fbd0fcacdf80ae85cc9df\"\u003e8c040e3\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd service tier to GenerateContent. (\u003ca href=\"https://github.com/googleapis/go-genai/commit/c07b6a0b47408e038264a4b0d85183e4240cb30a\"\u003ec07b6a0\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003egenai:\u003c/strong\u003e add TURN_INCLUDES_AUDIO_ACTIVITY_AND_ALL_VIDEO to TurnCoverage (\u003ca href=\"https://github.com/googleapis/go-genai/commit/ea49f9a7d885d7d0fb2016c7621b1d22eee06b26\"\u003eea49f9a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003esupport hyperparameters in distillation tuning (\u003ca href=\"https://github.com/googleapis/go-genai/commit/b8873ea18126d825b841794414c05c66cb2bc094\"\u003eb8873ea\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport rendered_parts in GroundingSupport (\u003ca href=\"https://github.com/googleapis/go-genai/commit/8c040e35aaab4089303fbd0fcacdf80ae85cc9df\"\u003e8c040e3\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix empty InlinedEmbedContentResponses for inline batch embeddings in Go GenAI SDK (\u003ca href=\"https://github.com/googleapis/go-genai/commit/e70c9d111e5f70e684537ae3ebb3fcaaf839d642\"\u003ee70c9d1\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/googleapis/go-genai/issues/712\"\u003e#712\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003esupport us region routing (\u003ca href=\"https://github.com/googleapis/go-genai/commit/09d5be32d28541debeb2fbfae13be29e51d0b42d\"\u003e09d5be3\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/go-genai/compare/v1.50.0...v1.51.0\"\u003e1.51.0\u003c/a\u003e (2026-03-17)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSupport include_server_side_tool_invocations for genai. (\u003ca href=\"https://github.com/googleapis/go-genai/commit/cec4bfd51223b19740526a44a610a8c06de737d4\"\u003ecec4bfd\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/go-genai/compare/v1.49.0...v1.50.0\"\u003e1.50.0\u003c/a\u003e (2026-03-12)\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/go-genai/commit/2abde7d2eeec00e58ad817fee0545efdf2cbf94b\"\u003e\u003ccode\u003e2abde7d\u003c/code\u003e\u003c/a\u003e chore(main): release 1.54.0 (\u003ca href=\"https://redirect.github.com/googleapis/go-genai/issues/750\"\u003e#750\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/go-genai/commit/4790027b553d401d5cc99f21776dcfa49cbda16d\"\u003e\u003ccode\u003e4790027\u003c/code\u003e\u003c/a\u003e feat: Add webhook_config to batches.create() and models.generate_videos()\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/go-genai/commit/2db1072b87c1059118aab06596fdede050e77c14\"\u003e\u003ccode\u003e2db1072\u003c/code\u003e\u003c/a\u003e chore: support new config mappings and fields for gemini-embedding-2 on GenAI...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/go-genai/commit/5bc9bf413f5064c679bf071f1fd831194b3d87fe\"\u003e\u003ccode\u003e5bc9bf4\u003c/code\u003e\u003c/a\u003e No public description\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/go-genai/commit/2ae252caaf0d5273d5656d32858e54c354326248\"\u003e\u003ccode\u003e2ae252c\u003c/code\u003e\u003c/a\u003e feat: Add Live Avatar new fields\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/go-genai/commit/6ccba365395a4102804543d884e16d368876b74d\"\u003e\u003ccode\u003e6ccba36\u003c/code\u003e\u003c/a\u003e chore: Clean up no-op converters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/go-genai/commit/9245aba251afea99b1560fae07b93498ed5b5d8e\"\u003e\u003ccode\u003e9245aba\u003c/code\u003e\u003c/a\u003e feat: Add \u0026quot;eu\u0026quot; as a supported service location for Vertex AI platform.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/go-genai/commit/dda317bd5af22073018e1d87c8cfe5402935909a\"\u003e\u003ccode\u003edda317b\u003c/code\u003e\u003c/a\u003e chore(main): release 1.53.0 (\u003ca href=\"https://redirect.github.com/googleapis/go-genai/issues/748\"\u003e#748\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/go-genai/commit/07f38c926798eb5f4d9ef3af531ee3f4d91c6fd6\"\u003e\u003ccode\u003e07f38c9\u003c/code\u003e\u003c/a\u003e chore: release 1.53.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/go-genai/commit/2ece8783afc8e6d17027bea9aebf0f6e72f657fa\"\u003e\u003ccode\u003e2ece878\u003c/code\u003e\u003c/a\u003e docs: Remove deprecated product recontext model samples from docstrings\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/googleapis/go-genai/compare/v1.40.0...v1.54.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n","html_url":"https://github.com/kube-rca/kuberca/pull/17","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/kube-rca%2Fkuberca/issues/17","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/17/packages"}},{"old_version":"1.11.0","new_version":"1.12.0","update_type":"minor","path":null,"pr_created_at":"2026-04-26T05:26:28.000Z","version_change":"1.11.0 → 1.12.0","issue":{"uuid":"4330105557","node_id":"PR_kwDOHqP31c7Vr3I6","number":6174,"state":"closed","title":"chore(deps): bump the go-minor group with 27 updates","user":"dependabot[bot]","labels":["dependencies","go"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-04-26T14:24:26.000Z","author_association":null,"state_reason":null,"created_at":"2026-04-26T05:26:28.000Z","updated_at":"2026-04-26T14:24:36.000Z","time_to_close":32278,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"go-minor","update_count":27,"packages":[{"name":"code.gitea.io/sdk/gitea","old_version":"0.22.1","new_version":"0.24.1"},{"name":"github.com/Azure/azure-sdk-for-go/sdk/azcore","old_version":"1.20.0","new_version":"1.21.1","repository_url":"https://github.com/Azure/azure-sdk-for-go"},{"name":"github.com/aws/aws-sdk-go-v2/service/ecr","old_version":"1.55.4","new_version":"1.57.1","repository_url":"https://github.com/aws/aws-sdk-go-v2"},{"name":"github.com/bmatcuk/doublestar/v4","old_version":"4.9.2","new_version":"4.10.0","repository_url":"https://github.com/bmatcuk/doublestar"},{"name":"github.com/coreos/go-oidc/v3","old_version":"3.17.0","new_version":"3.18.0","repository_url":"https://github.com/coreos/go-oidc"},{"name":"github.com/fluxcd/pkg/kustomize","old_version":"1.24.0","new_version":"1.31.0","repository_url":"https://github.com/fluxcd/pkg"},{"name":"github.com/gin-gonic/gin","old_version":"1.11.0","new_version":"1.12.0","repository_url":"https://github.com/gin-gonic/gin"},{"name":"github.com/google/go-containerregistry","old_version":"0.20.7","new_version":"0.21.5","repository_url":"https://github.com/google/go-containerregistry"},{"name":"github.com/jferrl/go-githubauth","old_version":"1.5.1","new_version":"1.6.0","repository_url":"https://github.com/jferrl/go-githubauth"},{"name":"github.com/pelletier/go-toml/v2","old_version":"2.2.4","new_version":"2.3.0","repository_url":"https://github.com/pelletier/go-toml"},{"name":"gitlab.com/gitlab-org/api/client-go","old_version":"1.13.0","new_version":"1.46.0"},{"name":"golang.org/x/crypto","old_version":"0.49.0","new_version":"0.50.0","repository_url":"https://github.com/golang/crypto"},{"name":"golang.org/x/net","old_version":"0.52.0","new_version":"0.53.0","repository_url":"https://github.com/golang/net"},{"name":"golang.org/x/oauth2","old_version":"0.34.0","new_version":"0.36.0","repository_url":"https://github.com/golang/oauth2"},{"name":"golang.org/x/text","old_version":"0.35.0","new_version":"0.36.0","repository_url":"https://github.com/golang/text"},{"name":"google.golang.org/api","old_version":"0.259.0","new_version":"0.276.0","repository_url":"https://github.com/googleapis/google-api-go-client"},{"name":"google.golang.org/grpc","old_version":"1.79.3","new_version":"1.80.0","repository_url":"https://github.com/grpc/grpc-go"},{"name":"helm.sh/helm/v3","old_version":"3.19.5","new_version":"3.20.2","repository_url":"https://github.com/helm/helm"},{"name":"k8s.io/api","old_version":"0.34.3","new_version":"0.35.2","repository_url":"https://github.com/kubernetes/api"},{"name":"k8s.io/apiextensions-apiserver","old_version":"0.34.3","new_version":"0.35.2","repository_url":"https://github.com/kubernetes/apiextensions-apiserver"},{"name":"k8s.io/apimachinery","old_version":"0.34.3","new_version":"0.35.2","repository_url":"https://github.com/kubernetes/apimachinery"},{"name":"k8s.io/apiserver","old_version":"0.34.3","new_version":"0.35.2","repository_url":"https://github.com/kubernetes/apiserver"},{"name":"k8s.io/cli-runtime","old_version":"0.34.3","new_version":"0.35.1","repository_url":"https://github.com/kubernetes/cli-runtime"},{"name":"k8s.io/client-go","old_version":"0.34.3","new_version":"0.35.2","repository_url":"https://github.com/kubernetes/client-go"},{"name":"k8s.io/klog/v2","old_version":"2.130.1","new_version":"2.140.0","repository_url":"https://github.com/kubernetes/klog"},{"name":"k8s.io/utils","old_version":"0.0.0-20250604170112-4c0f3b243397","new_version":"0.0.0-20251002143259-bc988d571ff4","repository_url":"https://github.com/kubernetes/utils"},{"name":"sigs.k8s.io/controller-runtime","old_version":"0.22.4","new_version":"0.23.3","repository_url":"https://github.com/kubernetes-sigs/controller-runtime"}],"path":null,"ecosystem":"go"},"body":"Bumps the go-minor group with 27 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| code.gitea.io/sdk/gitea | `0.22.1` | `0.24.1` |\n| [github.com/Azure/azure-sdk-for-go/sdk/azcore](https://github.com/Azure/azure-sdk-for-go) | `1.20.0` | `1.21.1` |\n| [github.com/aws/aws-sdk-go-v2/service/ecr](https://github.com/aws/aws-sdk-go-v2) | `1.55.4` | `1.57.1` |\n| [github.com/bmatcuk/doublestar/v4](https://github.com/bmatcuk/doublestar) | `4.9.2` | `4.10.0` |\n| [github.com/coreos/go-oidc/v3](https://github.com/coreos/go-oidc) | `3.17.0` | `3.18.0` |\n| [github.com/fluxcd/pkg/kustomize](https://github.com/fluxcd/pkg) | `1.24.0` | `1.31.0` |\n| [github.com/gin-gonic/gin](https://github.com/gin-gonic/gin) | `1.11.0` | `1.12.0` |\n| [github.com/google/go-containerregistry](https://github.com/google/go-containerregistry) | `0.20.7` | `0.21.5` |\n| [github.com/jferrl/go-githubauth](https://github.com/jferrl/go-githubauth) | `1.5.1` | `1.6.0` |\n| [github.com/pelletier/go-toml/v2](https://github.com/pelletier/go-toml) | `2.2.4` | `2.3.0` |\n| [gitlab.com/gitlab-org/api/client-go](https://gitlab.com/gitlab-org/api/client-go) | `1.13.0` | `1.46.0` |\n| [golang.org/x/crypto](https://github.com/golang/crypto) | `0.49.0` | `0.50.0` |\n| [golang.org/x/net](https://github.com/golang/net) | `0.52.0` | `0.53.0` |\n| [golang.org/x/oauth2](https://github.com/golang/oauth2) | `0.34.0` | `0.36.0` |\n| [golang.org/x/text](https://github.com/golang/text) | `0.35.0` | `0.36.0` |\n| [google.golang.org/api](https://github.com/googleapis/google-api-go-client) | `0.259.0` | `0.276.0` |\n| [google.golang.org/grpc](https://github.com/grpc/grpc-go) | `1.79.3` | `1.80.0` |\n| [helm.sh/helm/v3](https://github.com/helm/helm) | `3.19.5` | `3.20.2` |\n| [k8s.io/api](https://github.com/kubernetes/api) | `0.34.3` | `0.35.2` |\n| [k8s.io/apiextensions-apiserver](https://github.com/kubernetes/apiextensions-apiserver) | `0.34.3` | `0.35.2` |\n| [k8s.io/apimachinery](https://github.com/kubernetes/apimachinery) | `0.34.3` | `0.35.2` |\n| [k8s.io/apiserver](https://github.com/kubernetes/apiserver) | `0.34.3` | `0.35.2` |\n| [k8s.io/cli-runtime](https://github.com/kubernetes/cli-runtime) | `0.34.3` | `0.35.1` |\n| [k8s.io/client-go](https://github.com/kubernetes/client-go) | `0.34.3` | `0.35.2` |\n| [k8s.io/klog/v2](https://github.com/kubernetes/klog) | `2.130.1` | `2.140.0` |\n| [k8s.io/utils](https://github.com/kubernetes/utils) | `0.0.0-20250604170112-4c0f3b243397` | `0.0.0-20251002143259-bc988d571ff4` |\n| [sigs.k8s.io/controller-runtime](https://github.com/kubernetes-sigs/controller-runtime) | `0.22.4` | `0.23.3` |\n\nUpdates `code.gitea.io/sdk/gitea` from 0.22.1 to 0.24.1\n\nUpdates `github.com/Azure/azure-sdk-for-go/sdk/azcore` from 1.20.0 to 1.21.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Azure/azure-sdk-for-go/releases\"\u003egithub.com/Azure/azure-sdk-for-go/sdk/azcore's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003esdk/azcore/v1.21.1\u003c/h2\u003e\n\u003ch2\u003e1.21.1 (2026-04-16)\u003c/h2\u003e\n\u003ch3\u003eBugs Fixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an issue in \u003ccode\u003eResponseError.Error()\u003c/code\u003e where the request URL path was being logged unescaped.\u003c/li\u003e\n\u003cli\u003eRedact query parameters when logging errors.\u003c/li\u003e\n\u003cli\u003eFor \u003ccode\u003eruntime.JoinPaths\u003c/code\u003e, don't add a slash between root and paths when \u003ccode\u003epaths\u003c/code\u003e starts with \u003ccode\u003e?\u003c/code\u003e (query string).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgraded to Go 1.25.0.\u003c/li\u003e\n\u003cli\u003eUpgraded dependencies.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003esdk/azcore/v1.21.0\u003c/h2\u003e\n\u003ch2\u003e1.21.0 (2026-01-12)\u003c/h2\u003e\n\u003ch3\u003eFeatures Added\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eruntime/datetime\u003c/code\u003e package which provides specialized time type wrappers for serializing and deserializing\ntime values in various formats used by Azure services.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAligned \u003ccode\u003ecloud.AzureGovernment\u003c/code\u003e and \u003ccode\u003ecloud.AzureChina\u003c/code\u003e audience values with Azure CLI\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-go/commit/63e4ba18204b0df554e330df8f85662e653e67ab\"\u003e\u003ccode\u003e63e4ba1\u003c/code\u003e\u003c/a\u003e Bump release date for azcore (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-go/issues/26613\"\u003e#26613\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-go/commit/fa0312174d17ff4cb7cb0118fa80de07409841c2\"\u003e\u003ccode\u003efa03121\u003c/code\u003e\u003c/a\u003e remove bypass local dns (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-go/issues/26609\"\u003e#26609\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-go/commit/c47f9a60dd1e9be6943ff0d6a5666a0ac09f6cfa\"\u003e\u003ccode\u003ec47f9a6\u003c/code\u003e\u003c/a\u003e Sync eng/common directory with azure-sdk-tools for PR 15153 (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-go/issues/26607\"\u003e#26607\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-go/commit/88b8b5b38ecebb929a2e302df054fed1d68618b8\"\u003e\u003ccode\u003e88b8b5b\u003c/code\u003e\u003c/a\u003e Changelog for v2.2.0 (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-go/issues/26567\"\u003e#26567\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-go/commit/72ca19ae2b8b4514c4f48a5ff33495b03c08afd0\"\u003e\u003ccode\u003e72ca19a\u003c/code\u003e\u003c/a\u003e Storage STG 101 (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-go/issues/26568\"\u003e#26568\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-go/commit/b64baf56c6b168d258b2a0678290ac5f9ab97938\"\u003e\u003ccode\u003eb64baf5\u003c/code\u003e\u003c/a\u003e Sync .github directory with azure-sdk-tools repository (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-go/issues/26600\"\u003e#26600\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-go/commit/ecd64dd6500a04da22107925c3ba9fbe8e636f2c\"\u003e\u003ccode\u003eecd64dd\u003c/code\u003e\u003c/a\u003e Prep azcore@v1.21.1 for release (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-go/issues/26596\"\u003e#26596\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-go/commit/1d02f204d0146ffd7d13d5585bf3766e53c32cc5\"\u003e\u003ccode\u003e1d02f20\u003c/code\u003e\u003c/a\u003e Update copilot code review instructions and migration breaking change mitigat...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-go/commit/f6e9ce3212cc9d654d349778f19065eb5d849197\"\u003e\u003ccode\u003ef6e9ce3\u003c/code\u003e\u003c/a\u003e Sync eng/common directory with azure-sdk-tools for PR 14973 (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-go/issues/26531\"\u003e#26531\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-go/commit/d5a3baf11e0b743a4009efb8e84cbaee335fc0eb\"\u003e\u003ccode\u003ed5a3baf\u003c/code\u003e\u003c/a\u003e Update CODEOWNERS to remove one owner from Custom Providers (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-go/issues/26588\"\u003e#26588\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Azure/azure-sdk-for-go/compare/sdk/azcore/v1.20.0...sdk/azcore/v1.21.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/aws/aws-sdk-go-v2/service/ecr` from 1.55.4 to 1.57.1\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-go-v2/commit/4509a600408280c8dcdbc6825ba750cf1628423d\"\u003e\u003ccode\u003e4509a60\u003c/code\u003e\u003c/a\u003e Release 2024-06-28\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-go-v2/commit/0c61504d74dd81214542aae8a68993166935fa2a\"\u003e\u003ccode\u003e0c61504\u003c/code\u003e\u003c/a\u003e Regenerated Clients\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-go-v2/commit/7ca59bf2c0fc11f80a59f7f0e5c7f4d7805444e3\"\u003e\u003ccode\u003e7ca59bf\u003c/code\u003e\u003c/a\u003e Update SDK's smithy-go dependency to v1.20.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-go-v2/commit/fe1af5ba9947870b221f0c17b92e4f6d48e318c9\"\u003e\u003ccode\u003efe1af5b\u003c/code\u003e\u003c/a\u003e Update endpoints model\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-go-v2/commit/b76404f69b8b6b2e398f9fd3f4759e36e3407353\"\u003e\u003ccode\u003eb76404f\u003c/code\u003e\u003c/a\u003e Update API model\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-go-v2/commit/8ca412df63bb420ae20bf4ae198b8ea57e2aacf6\"\u003e\u003ccode\u003e8ca412d\u003c/code\u003e\u003c/a\u003e Release 2024-06-27\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-go-v2/commit/6505a148d0d4e3a624fa5fb10c7fc4a226c9257f\"\u003e\u003ccode\u003e6505a14\u003c/code\u003e\u003c/a\u003e Regenerated Clients\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-go-v2/commit/66e5439ffbb921f031bae700e78ecea6b48b3517\"\u003e\u003ccode\u003e66e5439\u003c/code\u003e\u003c/a\u003e Update endpoints model\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-go-v2/commit/590c9dbbfd52c9f93a2997bcca309c362d7f90e1\"\u003e\u003ccode\u003e590c9db\u003c/code\u003e\u003c/a\u003e Update API model\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-go-v2/commit/7c25c211744bdcff47a7203a7a894b1241f9da50\"\u003e\u003ccode\u003e7c25c21\u003c/code\u003e\u003c/a\u003e Release 2024-06-26\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/aws/aws-sdk-go-v2/compare/service/ecr/v1.55.4...service/s3/v1.57.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/bmatcuk/doublestar/v4` from 4.9.2 to 4.10.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/bmatcuk/doublestar/releases\"\u003egithub.com/bmatcuk/doublestar/v4's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eAdded WithNoHidden option\u003c/h2\u003e\n\u003cp\u003eAdded support for a \u003ccode\u003eWithNoHidden\u003c/code\u003e option to ignore hidden files in patterns that might unintentionally match them. For example, a \u003ccode\u003e.config\u003c/code\u003e directory would not be matched by \u003ccode\u003e*\u003c/code\u003e or recursed into by \u003ccode\u003e**\u003c/code\u003e, but \u003cem\u003ewould\u003c/em\u003e be matched by \u003ccode\u003e.*\u003c/code\u003e or recursed by \u003ccode\u003e.config/**\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eThanks to \u003ca href=\"https://github.com/lukasngl\"\u003e\u003ccode\u003e@​lukasngl\u003c/code\u003e\u003c/a\u003e for the initial PR and idea!\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efeat: add WithNoHidden option to skip hidden files by \u003ca href=\"https://github.com/lukasngl\"\u003e\u003ccode\u003e@​lukasngl\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/bmatcuk/doublestar/pull/109\"\u003ebmatcuk/doublestar#109\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lukasngl\"\u003e\u003ccode\u003e@​lukasngl\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/bmatcuk/doublestar/pull/109\"\u003ebmatcuk/doublestar#109\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/bmatcuk/doublestar/compare/v4.9.2...v4.10.0\"\u003ehttps://github.com/bmatcuk/doublestar/compare/v4.9.2...v4.10.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bmatcuk/doublestar/commit/a9ad9e0ef4d6b7e4443090e9a7201d847a881711\"\u003e\u003ccode\u003ea9ad9e0\u003c/code\u003e\u003c/a\u003e allow starting test manually\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bmatcuk/doublestar/commit/9987c0c624376f84f44515adca73ddcdfdcdf453\"\u003e\u003ccode\u003e9987c0c\u003c/code\u003e\u003c/a\u003e update docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bmatcuk/doublestar/commit/d3b2184d103391fcd0fcca6590c16367310eee65\"\u003e\u003ccode\u003ed3b2184\u003c/code\u003e\u003c/a\u003e windows support for WithNoHidden; better tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bmatcuk/doublestar/commit/5d6a6cd76ba3e45482d13140f332be36451f5a48\"\u003e\u003ccode\u003e5d6a6cd\u003c/code\u003e\u003c/a\u003e Merge branch 'lukasngl-feat/no-hidden'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bmatcuk/doublestar/commit/e8319d206e9dab8d51d41e662811cdfb9af72b24\"\u003e\u003ccode\u003ee8319d2\u003c/code\u003e\u003c/a\u003e run tests when a branch/tag is created\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bmatcuk/doublestar/commit/614b331133390c7682c227740c51ff65dea2de65\"\u003e\u003ccode\u003e614b331\u003c/code\u003e\u003c/a\u003e run tests when a branch/tag is created\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bmatcuk/doublestar/commit/df2e03fb0b91b726e0366c0d9ba1c5e580e2d0c9\"\u003e\u003ccode\u003edf2e03f\u003c/code\u003e\u003c/a\u003e feat: add WithNoHidden option to skip hidden files\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/bmatcuk/doublestar/compare/v4.9.2...v4.10.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/coreos/go-oidc/v3` from 3.17.0 to 3.18.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/coreos/go-oidc/releases\"\u003egithub.com/coreos/go-oidc/v3's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.18.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e.github: configure dependabot by \u003ca href=\"https://github.com/ericchiang\"\u003e\u003ccode\u003e@​ericchiang\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/coreos/go-oidc/pull/477\"\u003ecoreos/go-oidc#477\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e.github: update go versions in CI by \u003ca href=\"https://github.com/ericchiang\"\u003e\u003ccode\u003e@​ericchiang\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/coreos/go-oidc/pull/480\"\u003ecoreos/go-oidc#480\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump golang.org/x/oauth2 from 0.28.0 to 0.36.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/coreos/go-oidc/pull/478\"\u003ecoreos/go-oidc#478\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump github.com/go-jose/go-jose/v4 from 4.1.3 to 4.1.4 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/coreos/go-oidc/pull/479\"\u003ecoreos/go-oidc#479\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/coreos/go-oidc/compare/v3.17.0...v3.18.0\"\u003ehttps://github.com/coreos/go-oidc/compare/v3.17.0...v3.18.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coreos/go-oidc/commit/da6b3bfca8af72414ee0e6e8746585ff5d206003\"\u003e\u003ccode\u003eda6b3bf\u003c/code\u003e\u003c/a\u003e build(deps): bump github.com/go-jose/go-jose/v4 from 4.1.3 to 4.1.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coreos/go-oidc/commit/7f80694215d5eb5b28f851f35845439b1e1e9e5d\"\u003e\u003ccode\u003e7f80694\u003c/code\u003e\u003c/a\u003e build(deps): bump golang.org/x/oauth2 from 0.28.0 to 0.36.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coreos/go-oidc/commit/7271de57587bb756318f9819796ba846b1ba875a\"\u003e\u003ccode\u003e7271de5\u003c/code\u003e\u003c/a\u003e .github: update go versions in CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coreos/go-oidc/commit/3ccf20fdc4afab7c64881a108d6f4c17a4ecc24d\"\u003e\u003ccode\u003e3ccf20f\u003c/code\u003e\u003c/a\u003e .github: configure dependabot\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/coreos/go-oidc/compare/v3.17.0...v3.18.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/fluxcd/pkg/kustomize` from 1.24.0 to 1.31.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fluxcd/pkg/commit/1bfcca47168cb6d2d7dfdc5b35d8b379a773976d\"\u003e\u003ccode\u003e1bfcca4\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/fluxcd/pkg/issues/1184\"\u003e#1184\u003c/a\u003e from fluxcd/release-main\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fluxcd/pkg/commit/29717cf12f2287d4af942bfa28b15425a28f15b7\"\u003e\u003ccode\u003e29717cf\u003c/code\u003e\u003c/a\u003e Prepare for release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fluxcd/pkg/commit/56b4f164d7c70a4e419f508db29727e468648204\"\u003e\u003ccode\u003e56b4f16\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/fluxcd/pkg/issues/1183\"\u003e#1183\u003c/a\u003e from fluxcd/cel-api-group\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fluxcd/pkg/commit/6b6497f0bf6c7d7252f35c66e2de8ad6d5b478b1\"\u003e\u003ccode\u003e6b6497f\u003c/code\u003e\u003c/a\u003e runtime/cel: allow empty kind in status reader\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fluxcd/pkg/commit/8f83548109570226fefc580b954b6d83e948b1e8\"\u003e\u003ccode\u003e8f83548\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/fluxcd/pkg/issues/1180\"\u003e#1180\u003c/a\u003e from fluxcd/release-main\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fluxcd/pkg/commit/9b58a01df04b801a0569d4ca0e5d0dcb9f534b35\"\u003e\u003ccode\u003e9b58a01\u003c/code\u003e\u003c/a\u003e Prepare for release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fluxcd/pkg/commit/31385e2a96dc8639124e7e61418a38a49073c691\"\u003e\u003ccode\u003e31385e2\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/fluxcd/pkg/issues/1179\"\u003e#1179\u003c/a\u003e from fluxcd/go-git-5.18\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fluxcd/pkg/commit/d527b349de65e94327158a12ba054db60a3256d0\"\u003e\u003ccode\u003ed527b34\u003c/code\u003e\u003c/a\u003e Upgrade go-git to v5.18\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fluxcd/pkg/commit/edb5072051e73f78ee5e26d50bc45972e1009934\"\u003e\u003ccode\u003eedb5072\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/fluxcd/pkg/issues/1178\"\u003e#1178\u003c/a\u003e from fluxcd/cleanup-aws-eni\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fluxcd/pkg/commit/d7014c457a86606ca629dbf1a7a06113b322a028\"\u003e\u003ccode\u003ed7014c4\u003c/code\u003e\u003c/a\u003e tests/intergration: cleanup AWS ENIs\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/fluxcd/pkg/compare/apis/meta/v1.24.0...kustomize/v1.31.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/gin-gonic/gin` from 1.11.0 to 1.12.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/gin-gonic/gin/releases\"\u003egithub.com/gin-gonic/gin's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.12.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e192ac89eefc1c30f7c97ae48a9ffb1c6f1c8c8bc: feat(binding): add support for encoding.UnmarshalText in uri/query binding (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4203\"\u003e#4203\u003c/a\u003e) (\u003ca href=\"https://github.com/takanuva15\"\u003e\u003ccode\u003e@​takanuva15\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e53410d2e07054369e0960fbe2eed97e1b9966f12: feat(context): add GetError and GetErrorSlice methods for error retrieval (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4502\"\u003e#4502\u003c/a\u003e) (\u003ca href=\"https://github.com/raju-mechatronics\"\u003e\u003ccode\u003e@​raju-mechatronics\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eacc55e049e33b401e810dbd8c0d6dcb6b3ba2b05: feat(context): add Protocol Buffers support to content negotiation (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4423\"\u003e#4423\u003c/a\u003e) (\u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e38e765119241d990705169bedb5002a29ae0cbd1: feat(context): implemented Delete method (\u003ca href=\"https://github.com/Spyder01\"\u003e\u003ccode\u003e@​Spyder01\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e771dcc6476d7bc6abb9ec0235ecefa4d38fe6fb0: feat(gin): add option to use escaped path (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4420\"\u003e#4420\u003c/a\u003e) (\u003ca href=\"https://github.com/ldesauw\"\u003e\u003ccode\u003e@​ldesauw\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e4dec17afdff48e8018c83618fbbe69fceeb2b41d: feat(logger): color latency (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4146\"\u003e#4146\u003c/a\u003e) (\u003ca href=\"https://github.com/wsyqn6\"\u003e\u003ccode\u003e@​wsyqn6\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ed7776de7d444935ea4385999711bd6331a98fecb: feat(render): add bson protocol (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4145\"\u003e#4145\u003c/a\u003e) (\u003ca href=\"https://github.com/laurentcau\"\u003e\u003ccode\u003e@​laurentcau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eb917b14ff9d189f16a7492be79d123a47806ee19: fix(binding): empty value error (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/2169\"\u003e#2169\u003c/a\u003e) (\u003ca href=\"https://github.com/guonaihong\"\u003e\u003ccode\u003e@​guonaihong\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ec3d1092b3b48addf6f9cd00fe274ec3bd14650eb: fix(binding): improve empty slice/array handling in form binding (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4380\"\u003e#4380\u003c/a\u003e) (\u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e9914178584e42458ff7d23891463a880f58c9d86: fix(context): ClientIP handling for multiple X-Forwarded-For header values (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4472\"\u003e#4472\u003c/a\u003e) (\u003ca href=\"https://github.com/Nurysso\"\u003e\u003ccode\u003e@​Nurysso\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e2a794cd0b0faa7d829291375b27a3467ea972b0d: fix(debug): version mismatch (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4403\"\u003e#4403\u003c/a\u003e) (\u003ca href=\"https://github.com/zeek0x\"\u003e\u003ccode\u003e@​zeek0x\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ec3d5a28ed6d3849da820195b6774d212bcc038a9: fix(gin): close os.File in RunFd to prevent resource leak (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4422\"\u003e#4422\u003c/a\u003e) (\u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e5fad976b372e381312f8de69f0969f1284d229d3: fix(gin): literal colon routes not working with engine.Handler() (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4415\"\u003e#4415\u003c/a\u003e) (\u003ca href=\"https://github.com/pawannn\"\u003e\u003ccode\u003e@​pawannn\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e63dd3e60cab89c27fb66bce1423bd268d52abad1: fix(recover): suppress http.ErrAbortHandler in recover (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4336\"\u003e#4336\u003c/a\u003e) (\u003ca href=\"https://github.com/MondayCha\"\u003e\u003ccode\u003e@​MondayCha\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e5c00df8afadd06cc5be530dde00fe6d9fa4a2e4a: fix(render): write content length in Data.Render (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4206\"\u003e#4206\u003c/a\u003e) (\u003ca href=\"https://github.com/dengaleev\"\u003e\u003ccode\u003e@​dengaleev\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e234a6d4c00cb77af9852aca0b8289745d5529b4b: fix(response): refine hijack behavior for response lifecycle (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4373\"\u003e#4373\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e472d086af2acd924cb4b9d7be0525f7d790f69bc: fix(tree): panic in findCaseInsensitivePathRec with RedirectFixedPath (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4535\"\u003e#4535\u003c/a\u003e) (\u003ca href=\"https://github.com/veeceey\"\u003e\u003ccode\u003e@​veeceey\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e8e07d37c63e5536eb25f4af4c91eabeee4011fba: fix: Correct typos, improve documentation clarity, and remove dead code (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4511\"\u003e#4511\u003c/a\u003e) (\u003ca href=\"https://github.com/mahanadh\"\u003e\u003ccode\u003e@​mahanadh\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eba093d19477b896ac89a7fc3246af23d290b8e26: chore(binding): upgrade bson dependency to mongo-driver v2 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4549\"\u003e#4549\u003c/a\u003e) (\u003ca href=\"https://github.com/BobDu\"\u003e\u003ccode\u003e@​BobDu\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eb2b489dbf4826c2c630717a77fd5e42774625410: chore(context): always trust xff headers from unix socket (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/3359\"\u003e#3359\u003c/a\u003e) (\u003ca href=\"https://github.com/WeidiDeng\"\u003e\u003ccode\u003e@​WeidiDeng\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eecb3f7b5e2f3915bf1db240ed5eee572f8dbea36: chore(deps): upgrade golang.org/x/crypto to v0.45.0 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4449\"\u003e#4449\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eaf6e8b70b8261bb0c99ad094fe552ab92991620a: chore(deps): upgrade quic-go to v0.57.1 (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edb309081bc5c137b2aa15701ef53f7f19788da25: chore(logger): allow skipping query string output (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4547\"\u003e#4547\u003c/a\u003e) (\u003ca href=\"https://github.com/USA-RedDragon\"\u003e\u003ccode\u003e@​USA-RedDragon\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e26c3a628655cad2388380cb8102d6ce7d4875f3b: chore(response): prevent Flush() panic when \u003ccode\u003ehttp.Flusher\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4479\"\u003e#4479\u003c/a\u003e) (\u003ca href=\"https://github.com/Twacqwq\"\u003e\u003ccode\u003e@​Twacqwq\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e5dd833f1f26de0eb30eae47b17e05ced2482dc41: chore: bump minimum Go version to 1.24 and update workflows (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4388\"\u003e#4388\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRefactor\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e39858a0859c914bd26948fa950477e11bd8d3823: refactor(binding): use maps.Copy for cleaner map handling (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4352\"\u003e#4352\u003c/a\u003e) (\u003ca href=\"https://github.com/russcoss\"\u003e\u003ccode\u003e@​russcoss\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ec0048f645ee945c4db30593afdea10123e2c30a6: refactor(context): omit the return value names (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4395\"\u003e#4395\u003c/a\u003e) (\u003ca href=\"https://github.com/wanghaolong613\"\u003e\u003ccode\u003e@​wanghaolong613\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e915e4c90d28ec4cffc6eb146e208ab5a65eac772: refactor(context): replace hardcoded localhost IPs with constants (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4481\"\u003e#4481\u003c/a\u003e) (\u003ca href=\"https://github.com/pauloappbr\"\u003e\u003ccode\u003e@​pauloappbr\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e414de60574449457f3192a7a1d5528940db2836d: refactor(context): using maps.Clone (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4333\"\u003e#4333\u003c/a\u003e) (\u003ca href=\"https://github.com/cuiweixie\"\u003e\u003ccode\u003e@​cuiweixie\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e59e9d4a794f12c4f9a6c7bed441b9644e5f6d99b: refactor(ginS): use sync.OnceValue to simplify engine function (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4314\"\u003e#4314\u003c/a\u003e) (\u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e3ab698dc5110af1977d57226e4995c57dd34c233: refactor(recovery): smart error comparison (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4142\"\u003e#4142\u003c/a\u003e) (\u003ca href=\"https://github.com/zeek0x\"\u003e\u003ccode\u003e@​zeek0x\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ed1a15347b1e45a8ee816193d3578a93bfd73b70f: refactor(utils): move util functions to utils.go (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4467\"\u003e#4467\u003c/a\u003e) (\u003ca href=\"https://github.com/zeek0x\"\u003e\u003ccode\u003e@​zeek0x\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ee3118cc378d263454098924ebbde7e8d1dd2e904: refactor: for loop can be modernized using range over int (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4392\"\u003e#4392\u003c/a\u003e) (\u003ca href=\"https://github.com/wanghaolong613\"\u003e\u003ccode\u003e@​wanghaolong613\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e488f8c3ffa579a8d19beb2bae95ff8ef36b3d53f: refactor: replace magic numbers with named constants in bodyAllowedForStatus (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4529\"\u003e#4529\u003c/a\u003e) (\u003ca href=\"https://github.com/veeceey\"\u003e\u003ccode\u003e@​veeceey\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e9968c4bf9d5a99edc3eee2c068a4c9160ece8915: refactor: use b.Loop() to simplify the code and improve performance (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4389\"\u003e#4389\u003c/a\u003e) (\u003ca href=\"https://github.com/reddaisyy\"\u003e\u003ccode\u003e@​reddaisyy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ea85ef5ce4d0cda8834c59c855068ed48b51192d1: refactor: use b.Loop() to simplify the code and improve performance (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4432\"\u003e#4432\u003c/a\u003e) (\u003ca href=\"https://github.com/efcking\"\u003e\u003ccode\u003e@​efcking\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBuild process updates\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e61b67de522a189b568aced4c5c16917c558e3387: ci(bot): increase frequency and group updates for dependencies (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4367\"\u003e#4367\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efb27ef26c2fdfe25344b4c039d8a53551f9e912c: ci(lint): refactor test assertions and linter configuration (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4436\"\u003e#4436\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e93ff771e6dbf10e432864b30f3719ac5c84a4d4a: ci(sec): improve type safety and server organization in HTTP middleware (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4437\"\u003e#4437\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ee88fc8927a52b74f55bec0351604a56ac0aa1c51: ci(sec): schedule Trivy security scans to run daily at midnight UTC (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4439\"\u003e#4439\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e5e5ff3ace496a31b138b0820136a146bfb5de0ef: ci: replace vulnerability scanning workflow with Trivy integration (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4421\"\u003e#4421\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e00900fb3e1ea9dde33985a0e4f6afec793d5e786: ci: update CI workflows and standardize Trivy config quotes (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4531\"\u003e#4531\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eae3f524974fc4f55d18c9e7fae4614503c015226: ci: update Go version support to 1.25+ across CI and docs (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4550\"\u003e#4550\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/gin-gonic/gin/blob/master/CHANGELOG.md\"\u003egithub.com/gin-gonic/gin's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eGin v1.12.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat(render): add bson protocol (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4145\"\u003e#4145\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(context): add GetError and GetErrorSlice methods for error retrieval (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4502\"\u003e#4502\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(binding): add support for encoding.UnmarshalText in uri/query binding (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4203\"\u003e#4203\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(gin): add option to use escaped path (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4420\"\u003e#4420\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(context): add Protocol Buffers support to content negotiation (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4423\"\u003e#4423\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(context): implemented Delete method (\u003ca href=\"https://github.com/gin-gonic/gin/commit/38e7651\"\u003e#38e7651\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(logger): color latency (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4146\"\u003e#4146\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eperf(tree): reduce allocations in findCaseInsensitivePath (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4417\"\u003e#4417\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eperf(recovery): optimize line reading in stack function (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4466\"\u003e#4466\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eperf(path): replace regex with custom functions in redirectTrailingSlash (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4414\"\u003e#4414\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eperf(tree): optimize path parsing using strings.Count (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4246\"\u003e#4246\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(logger): allow skipping query string output (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4547\"\u003e#4547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(context): always trust xff headers from unix socket (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/3359\"\u003e#3359\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(response): prevent Flush() panic when the underlying ResponseWriter does not implement \u003ccode\u003ehttp.Flusher\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4479\"\u003e#4479\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(recovery): smart error comparison (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4142\"\u003e#4142\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(context): replace hardcoded localhost IPs with constants (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4481\"\u003e#4481\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(utils): move util functions to utils.go (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4467\"\u003e#4467\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(binding): use maps.Copy for cleaner map handling (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4352\"\u003e#4352\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(context): using maps.Clone (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4333\"\u003e#4333\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(ginS): use sync.OnceValue to simplify engine function (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4314\"\u003e#4314\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor: replace magic numbers with named constants in bodyAllowedForStatus (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4529\"\u003e#4529\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor: for loop can be modernized using range over int (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4392\"\u003e#4392\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(tree): panic in findCaseInsensitivePathRec with RedirectFixedPath (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4535\"\u003e#4535\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(render): write content length in Data.Render (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4206\"\u003e#4206\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(context): ClientIP handling for multiple X-Forwarded-For header values (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4472\"\u003e#4472\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(binding): empty value error (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/2169\"\u003e#2169\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(recover): suppress http.ErrAbortHandler in recover (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4336\"\u003e#4336\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(gin): literal colon routes not working with engine.Handler() (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4415\"\u003e#4415\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(gin): close os.File in RunFd to prevent resource leak (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4422\"\u003e#4422\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(response): refine hijack behavior for response lifecycle (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4373\"\u003e#4373\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(binding): improve empty slice/array handling in form binding (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4380\"\u003e#4380\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(debug): version mismatch (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4403\"\u003e#4403\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: correct typos, improve documentation clarity, and remove dead code (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4511\"\u003e#4511\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBuild process updates / CI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eci: update Go version support to 1.25+ across CI and docs (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4550\"\u003e#4550\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(binding): upgrade bson dependency to mongo-driver v2 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4549\"\u003e#4549\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/73726dc606796a025971fe451f0aa6f1b9b847f6\"\u003e\u003ccode\u003e73726dc\u003c/code\u003e\u003c/a\u003e docs: update documentation to reflect Go version changes (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4552\"\u003e#4552\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/e292e5caa777bce70b66fe08c94cbe9cef3e2ec9\"\u003e\u003ccode\u003ee292e5c\u003c/code\u003e\u003c/a\u003e docs: document and finalize Gin v1.12.0 release (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4551\"\u003e#4551\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/ae3f524974fc4f55d18c9e7fae4614503c015226\"\u003e\u003ccode\u003eae3f524\u003c/code\u003e\u003c/a\u003e ci: update Go version support to 1.25+ across CI and docs (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4550\"\u003e#4550\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/38534e2bf98a06e1f62d6b24384e90b5f78699bf\"\u003e\u003ccode\u003e38534e2\u003c/code\u003e\u003c/a\u003e chore(deps): bump golang.org/x/net from 0.50.0 to 0.51.0 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4548\"\u003e#4548\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/472d086af2acd924cb4b9d7be0525f7d790f69bc\"\u003e\u003ccode\u003e472d086\u003c/code\u003e\u003c/a\u003e fix(tree): panic in findCaseInsensitivePathRec with RedirectFixedPath (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4535\"\u003e#4535\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/fb2583442c4d9bccb75e6d26f1aa6e7c01950db6\"\u003e\u003ccode\u003efb25834\u003c/code\u003e\u003c/a\u003e test(context): use http.StatusContinue constant instead of magic number 100 (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/6f1d5fe3cdb171a08928c3c9dd3fbcfc9ee1b521\"\u003e\u003ccode\u003e6f1d5fe\u003c/code\u003e\u003c/a\u003e test(render): add comprehensive error handling tests (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4541\"\u003e#4541\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/5c00df8afadd06cc5be530dde00fe6d9fa4a2e4a\"\u003e\u003ccode\u003e5c00df8\u003c/code\u003e\u003c/a\u003e fix(render): write content length in Data.Render (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4206\"\u003e#4206\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/db309081bc5c137b2aa15701ef53f7f19788da25\"\u003e\u003ccode\u003edb30908\u003c/code\u003e\u003c/a\u003e chore(logger): allow skipping query string output (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4547\"\u003e#4547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/ba093d19477b896ac89a7fc3246af23d290b8e26\"\u003e\u003ccode\u003eba093d1\u003c/code\u003e\u003c/a\u003e chore(binding): upgrade bson dependency to mongo-driver v2 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4549\"\u003e#4549\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/gin-gonic/gin/compare/v1.11.0...v1.12.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/google/go-containerregistry` from 0.20.7 to 0.21.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/google/go-containerregistry/releases\"\u003egithub.com/google/go-containerregistry's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.21.5\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump docker/cli v29.4.0, moby/api v1.54.1, moby/client v0.4.0 by \u003ca href=\"https://github.com/thaJeztah\"\u003e\u003ccode\u003e@​thaJeztah\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2254\"\u003egoogle/go-containerregistry#2254\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eupdate to Go 1.26.2 by \u003ca href=\"https://github.com/thaJeztah\"\u003e\u003ccode\u003e@​thaJeztah\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2255\"\u003egoogle/go-containerregistry#2255\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump aws-actions/configure-aws-credentials from 6.0.0 to 6.1.0 in the actions group across 1 directory by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2257\"\u003egoogle/go-containerregistry#2257\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump golang.org/x/tools from 0.43.0 to 0.44.0 in the go-deps group across 1 directory by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2260\"\u003egoogle/go-containerregistry#2260\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/google/go-containerregistry/compare/v0.21.4...v0.21.5\"\u003ehttps://github.com/google/go-containerregistry/compare/v0.21.4...v0.21.5\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.21.4\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ego.mod: do not make a viral minimum go version by \u003ca href=\"https://github.com/howardjohn\"\u003e\u003ccode\u003e@​howardjohn\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2237\"\u003egoogle/go-containerregistry#2237\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAvoid pruning absolute links from extracted and flattened images by \u003ca href=\"https://github.com/Subserial\"\u003e\u003ccode\u003e@​Subserial\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2241\"\u003egoogle/go-containerregistry#2241\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump the go-deps group across 3 directories with 5 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2245\"\u003egoogle/go-containerregistry#2245\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: update to go1.25.8, and use separate .go-version file by \u003ca href=\"https://github.com/thaJeztah\"\u003e\u003ccode\u003e@​thaJeztah\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2246\"\u003egoogle/go-containerregistry#2246\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump CI go version to 1.26.1 by \u003ca href=\"https://github.com/Subserial\"\u003e\u003ccode\u003e@​Subserial\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2242\"\u003egoogle/go-containerregistry#2242\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump codecov/codecov-action from 5.5.2 to 5.5.3 in the actions group by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2240\"\u003egoogle/go-containerregistry#2240\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efork distribution client v3 auth-challenge as an internal package (squashed) by \u003ca href=\"https://github.com/thaJeztah\"\u003e\u003ccode\u003e@​thaJeztah\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2248\"\u003egoogle/go-containerregistry#2248\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etransport: validate Bearer realm URL to prevent SSRF by \u003ca href=\"https://github.com/evilgensec\"\u003e\u003ccode\u003e@​evilgensec\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2243\"\u003egoogle/go-containerregistry#2243\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erevert path traversal and symlink escape from \u003ca href=\"https://redirect.github.com/google/go-containerregistry/issues/2227\"\u003e#2227\u003c/a\u003e by \u003ca href=\"https://github.com/Subserial\"\u003e\u003ccode\u003e@​Subserial\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2250\"\u003egoogle/go-containerregistry#2250\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix pkg/v1/google/auth tests for arm64  by \u003ca href=\"https://github.com/Subserial\"\u003e\u003ccode\u003e@​Subserial\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2085\"\u003egoogle/go-containerregistry#2085\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003egoreleaser: Update goreleaser config and GH action by \u003ca href=\"https://github.com/Subserial\"\u003e\u003ccode\u003e@​Subserial\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2253\"\u003egoogle/go-containerregistry#2253\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/evilgensec\"\u003e\u003ccode\u003e@​evilgensec\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2243\"\u003egoogle/go-containerregistry#2243\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/google/go-containerregistry/compare/v0.21.3...v0.21.4\"\u003ehttps://github.com/google/go-containerregistry/compare/v0.21.3...v0.21.4\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.21.3\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdds local file support to the \u003ccode\u003ecrane index\u003c/code\u003e subcommand  by \u003ca href=\"https://github.com/edwardthiele\"\u003e\u003ccode\u003e@​edwardthiele\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2223\"\u003egoogle/go-containerregistry#2223\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003emigrate to github.com/moby/moby modules by \u003ca href=\"https://github.com/thaJeztah\"\u003e\u003ccode\u003e@​thaJeztah\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2228\"\u003egoogle/go-containerregistry#2228\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump the go-deps group across 4 directories with 7 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2233\"\u003egoogle/go-containerregistry#2233\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump goreleaser/goreleaser-action from 6.4.0 to 7.0.0 in the actions group by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2220\"\u003egoogle/go-containerregistry#2220\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003emutate: reject path traversal and symlink escape in Extract by \u003ca href=\"https://github.com/KevinZhao\"\u003e\u003ccode\u003e@​KevinZhao\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2227\"\u003egoogle/go-containerregistry#2227\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etarball: detect symlink cycles in extractFileFromTar by \u003ca href=\"https://github.com/vnykmshr\"\u003e\u003ccode\u003e@​vnykmshr\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2232\"\u003egoogle/go-containerregistry#2232\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebump golang to 1.25.7 by \u003ca href=\"https://github.com/Subserial\"\u003e\u003ccode\u003e@​Subserial\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2236\"\u003egoogle/go-containerregistry#2236\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/edwardthiele\"\u003e\u003ccode\u003e@​edwardthiele\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2223\"\u003egoogle/go-containerregistry#2223\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/thaJeztah\"\u003e\u003ccode\u003e@​thaJeztah\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2228\"\u003egoogle/go-containerregistry#2228\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/KevinZhao\"\u003e\u003ccode\u003e@​KevinZhao\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2227\"\u003egoogle/go-containerregistry#2227\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vnykmshr\"\u003e\u003ccode\u003e@​vnykmshr\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2232\"\u003egoogle/go-containerregistry#2232\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/google/go-containerregistry/compare/v0.21.2...v0.21.3\"\u003ehttps://github.com/google/go-containerregistry/compare/v0.21.2...v0.21.3\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.21.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBetter handle redirects to https in ping by \u003ca href=\"https://github.com/jonjohnsonjr\"\u003e\u003ccode\u003e@​jonjohnsonjr\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/go-containerregistry/pull/2225\"\u003egoogle/go-containerregistry#2225\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/go-containerregistry/commit/5b80281da727dae218e1697ab8529b631b9efa64\"\u003e\u003ccode\u003e5b80281\u003c/code\u003e\u003c/a\u003e build(deps): bump golang.org/x/tools from 0.43.0 to 0.44.0 in the go-deps gro...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/go-containerregistry/commit/b99bca24a8df1bd88afc1d299d4c0ebba0555cf8\"\u003e\u003ccode\u003eb99bca2\u003c/code\u003e\u003c/a\u003e build(deps): bump aws-actions/configure-aws-credentials (\u003ca href=\"https://redirect.github.com/google/go-containerregistry/issues/2257\"\u003e#2257\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/go-containerregistry/commit/f8be1d442e6fc85c791e4aa50155aa8806ca8312\"\u003e\u003ccode\u003ef8be1d4\u003c/code\u003e\u003c/a\u003e update to Go 1.26.2 (\u003ca href=\"https://redirect.github.com/google/go-containerregistry/issues/2255\"\u003e#2255\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/go-containerregistry/commit/87ad88b4a000e418add5c1bb4ae1da908cbc3b85\"\u003e\u003ccode\u003e87ad88b\u003c/code\u003e\u003c/a\u003e Bump docker/cli v29.4.0, moby/api v1.54.1, moby/client v0.4.0 (\u003ca href=\"https://redirect.github.com/google/go-containerregistry/issues/2254\"\u003e#2254\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/go-containerregistry/commit/e8813dd0a00e799459cae01d8a4659b9be2fd871\"\u003e\u003ccode\u003ee8813dd\u003c/code\u003e\u003c/a\u003e goreleaser: Update goreleaser config and GH action for releases (\u003ca href=\"https://redirect.github.com/google/go-containerregistry/issues/2253\"\u003e#2253\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/go-containerregistry/commit/e90447d319233b94dcdc75a24246ccbee6d1e72a\"\u003e\u003ccode\u003ee90447d\u003c/code\u003e\u003c/a\u003e replace gcloud in binary calls in pkg/v1/google tests (\u003ca href=\"https://redirect.github.com/google/go-containerregistry/issues/2085\"\u003e#2085\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/go-containerregistry/commit/0d0368c2a5fa524c4765a6c0b7df4ff6d6951471\"\u003e\u003ccode\u003e0d0368c\u003c/code\u003e\u003c/a\u003e revert path traversal and symlink escape changes (\u003ca href=\"https://redirect.github.com/google/go-containerregistry/issues/2250\"\u003e#2250\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/go-containerregistry/commit/a2f47d4202de443f68e8bafa95ddd41407327168\"\u003e\u003ccode\u003ea2f47d4\u003c/code\u003e\u003c/a\u003e transport: validate Bearer realm URL to prevent SSRF (\u003ca href=\"https://redirect.github.com/google/go-containerregistry/issues/2243\"\u003e#2243\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/go-containerregistry/commit/19a36cd8c44dd465a84f9d6ffea3009023f73660\"\u003e\u003ccode\u003e19a36cd\u003c/code\u003e\u003c/a\u003e fork distribution client v3 auth-challenge as an internal package (squashed) ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/go-containerregistry/commit/c612a9b20a4c533454b7fa8b39a8c8139065f0b1\"\u003e\u003ccode\u003ec612a9b\u003c/code\u003e\u003c/a\u003e Bump codecov/codecov-action from 5.5.2 to 5.5.3 in the actions group (\u003ca href=\"https://redirect.github.com/google/go-containerregistry/issues/2240\"\u003e#2240\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/google/go-containerregistry/compare/v0.20.7...v0.21.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/jferrl/go-githubauth` from 1.5.1 to 1.6.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jferrl/go-githubauth/releases\"\u003egithub.com/jferrl/go-githubauth's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.6.0\u003c/h2\u003e\n\u003ch2\u003e✨ Features\u003c/h2\u003e\n\u003ch3\u003eExternal key store support for GitHub App JWTs\u003c/h3\u003e\n\u003cp\u003eAdded \u003ccode\u003eNewApplicationTokenSourceFromSigner\u003c/code\u003e which accepts any \u003ccode\u003ecrypto.Signer\u003c/code\u003e with an RSA public key. Enables signing via AWS KMS, GCP KMS, Azure Key Vault, HashiCorp Vault Transit, PKCS#11 HSMs, or ssh-agent — the private key never touches process memory. Validates at construction that the signer's public key is \u003ccode\u003e*rsa.PublicKey\u003c/code\u003e (GitHub requires RS256).\u003c/p\u003e\n\u003cpre lang=\"go\"\u003e\u003ccode\u003esigner, _ := kms.NewSigner(ctx, keyID) // any crypto.Signer backed by RSA\r\nts, err := githubauth.NewApplicationTokenSourceFromSigner(appID, signer)\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch3\u003eProactive token refresh with configurable skew\u003c/h3\u003e\n\u003cp\u003eNew \u003ccode\u003eReuseTokenSourceWithSkew\u003c/code\u003e refreshes cached tokens when \u003ccode\u003etime.Until(exp) \u0026lt;= skew\u003c/code\u003e instead of waiting for expiry to pass. Closes the in-flight 401 window where a request starts shortly before expiry and reaches GitHub already expired.\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003eNewApplicationTokenSource\u003c/code\u003e and \u003ccode\u003eNewInstallationTokenSource\u003c/code\u003e now wrap with \u003ccode\u003eDefaultExpirySkew\u003c/code\u003e (30s); tune via \u003ccode\u003eWithExpirySkew\u003c/code\u003e / \u003ccode\u003eWithInstallationExpirySkew\u003c/code\u003e. Zero/negative skew delegates to \u003ccode\u003eoauth2.ReuseTokenSource\u003c/code\u003e verbatim for backwards compatibility.\u003c/p\u003e\n\u003ch3\u003eAutomatic retry on installation token throttling\u003c/h3\u003e\n\u003cp\u003e\u003ccode\u003ecreateInstallationToken\u003c/code\u003e now performs a single automatic retry when GitHub returns \u003ccode\u003e429\u003c/code\u003e, or \u003ccode\u003e403\u003c/code\u003e with \u003ccode\u003eRetry-After\u003c/code\u003e / \u003ccode\u003eX-RateLimit-Reset\u003c/code\u003e headers. Sleep honors context cancellation and is capped at 60s. Terminal throttle errors wrap \u003ccode\u003eErrRateLimited\u003c/code\u003e for \u003ccode\u003eerrors.Is\u003c/code\u003e branching. Opt out via \u003ccode\u003eWithRetryOnThrottle(false)\u003c/code\u003e.\u003c/p\u003e\n\u003ch3\u003eNew \u003ccode\u003ewebhook\u003c/code\u003e subpackage\u003c/h3\u003e\n\u003cp\u003eAdded a \u003ccode\u003ewebhook\u003c/code\u003e package for verifying GitHub webhook deliveries using constant-time HMAC-SHA256:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eVerify(secret, body, signature)\u003c/code\u003e with sentinel errors (\u003ccode\u003eErrMissingSignature\u003c/code\u003e, \u003ccode\u003eErrInvalidSignatureFormat\u003c/code\u003e, \u003ccode\u003eErrSignatureMismatch\u003c/code\u003e) wrapped for \u003ccode\u003eerrors.Is\u003c/code\u003e / \u003ccode\u003eerrors.As\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eMiddleware(secret, opts...)\u003c/code\u003e \u003ccode\u003enet/http\u003c/code\u003e middleware with body restoration, 25 MiB default cap, and 401/413 short-circuits.\u003c/li\u003e\n\u003cli\u003eFunctional options \u003ccode\u003eWithMaxPayloadSize\u003c/code\u003e and \u003ccode\u003eWithErrorHandler\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eSuitable for direct use in queue, Lambda, or Cloud Run consumers.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cpre lang=\"go\"\u003e\u003ccode\u003ehttp.Handle(\u0026quot;/webhook\u0026quot;, webhook.Middleware(secret)(handler))\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003e📦 Dependencies\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump \u003ccode\u003egolang.org/x/oauth2\u003c/code\u003e from 0.34.0 → 0.36.0\u003c/li\u003e\n\u003cli\u003eBump \u003ccode\u003ecodecov/codecov-action\u003c/code\u003e 5 → 6\u003c/li\u003e\n\u003cli\u003eBump \u003ccode\u003estyfle/cancel-workflow-action\u003c/code\u003e 0.13.0 → 0.13.1\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e⚠️ Breaking / Behavior Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eMinimum Go version is now 1.25\u003c/strong\u003e (transitively required by \u003ccode\u003egolang.org/x/oauth2\u003c/code\u003e v0.36.0). README previously claimed 1.21; the actual floor is now enforced.\u003c/li\u003e\n\u003cli\u003eToken sources refresh \u003cstrong\u003e30s before expiry\u003c/strong\u003e by default. Set skew to \u003ccode\u003e0\u003c/code\u003e via \u003ccode\u003eWithExpirySkew(0)\u003c/code\u003e / \u003ccode\u003eWithInstallationExpirySkew(0)\u003c/code\u003e to restore prior behavior.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/jferrl/go-githubauth/compare/v1.5.1...v1.6.0\"\u003ehttps://github.com/jferrl/go-githubauth/compare/v1.5.1...v1.6.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jferrl/go-githubauth/blob/main/CHANGELOG.md\"\u003egithub.com/jferrl/go-githubauth's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eChangelog\u003c/h1\u003e\n\u003cp\u003eAll notable changes to this project will be documented in this file.\u003c/p\u003e\n\u003cp\u003eThe format is based on \u003ca href=\"https://keepachangelog.com/en/1.0.0/\"\u003eKeep a Changelog\u003c/a\u003e,\nand this project adheres to \u003ca href=\"https://semver.org/spec/v2.0.0.html\"\u003eSemantic Versioning\u003c/a\u003e.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jferrl/go-githubauth/commit/dc730e4071a0c44e348e1339a34ed39a5656a802\"\u003e\u003ccode\u003edc730e4\u003c/code\u003e\u003c/a\u003e ✨ feat(auth): retry installation token fetches on rate limit\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jferrl/go-githubauth/commit/599f97f423e2319e61ec5d3a6f04afc8eacd2d4b\"\u003e\u003ccode\u003e599f97f\u003c/code\u003e\u003c/a\u003e ✨ feat(auth): proactive token refresh with configurable skew\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jferrl/go-githubauth/commit/a6a8b1bb415877df992e75e3ab926abe256406e6\"\u003e\u003ccode\u003ea6a8b1b\u003c/code\u003e\u003c/a\u003e ✨ feat(auth): add crypto.Signer-backed JWT token source\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jferrl/go-githubauth/commit/e6ea8945b7dc09f1d51002d13a5e36784010f75e\"\u003e\u003ccode\u003ee6ea894\u003c/code\u003e\u003c/a\u003e ✨ feat(webhook): add GitHub webhook signature verification\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jferrl/go-githubauth/commit/ec35ab14e015d8b9a3c76737bb6a8fe531957bd0\"\u003e\u003ccode\u003eec35ab1\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/jferrl/go-githubauth/issues/45\"\u003e#45\u003c/a\u003e from jferrl/dependabot/github_actions/codecov/codecov-...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jferrl/go-githubauth/commit/6b16b502ecdd7218a5c85b4783a5d2f8948d642b\"\u003e\u003ccode\u003e6b16b50\u003c/code\u003e\u003c/a\u003e chore(deps): bump codecov/codecov-action from 5 to 6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jferrl/go-githubauth/commit/401bfce601e2abd072b67d19901baca6c2bf3c09\"\u003e\u003ccode\u003e401bfce\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/jferrl/go-githubauth/issues/44\"\u003e#44\u003c/a\u003e from jferrl/dependabot/github_actions/styfle/cancel-wo...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jferrl/go-githubauth/commit/8bb16907a27087e04b4a334a8cab529bce822363\"\u003e\u003ccode\u003e8bb1690\u003c/code\u003e\u003c/a\u003e chore(deps): bump styfle/cancel-workflow-action from 0.13.0 to 0.13.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jferrl/go-githubauth/commit/134b27b16b980f988b0b56bd11369b0b6c603451\"\u003e\u003ccode\u003e134b27b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/jferrl/go-githubauth/issues/43\"\u003e#43\u003c/a\u003e from jferrl/dependabot/go_modules/golang.org/x/oauth2-...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jferrl/go-githubauth/commit/724c86a57433cc7eb0f233c8aae2bb57de5a694e\"\u003e\u003ccode\u003e724c86a\u003c/code\u003e\u003c/a\u003e chore(deps): bump golang.org/x/oauth2 from 0.35.0 to 0.36.0\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jferrl/go-githubauth/compare/v1.5.1...v1.6.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/pelletier/go-toml/v2` from 2.2.4 to 2.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pelletier/go-toml/releases\"\u003egithub.com/pelletier/go-toml/v2's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.3.0\u003c/h2\u003e\n\u003cp\u003eThis is the first release built largely with the help of AI coding agents. Highlights include the complete removal of the unsafe package. go-toml is now fully safe Go code, with a geomean overhead of only ~1.4% vs v2.2.4 and zero additional allocations on benchmarks. This release also adds omitzero struct tag support, improves UnmarshalText/Unmarshaler handling for tables and array tables, and fixes several bugs including nil pointer marshaling, leap second handling, and datetime unmarshaling panics.\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eWhat's new\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003emarshal: don't escape quotes unnecessarily by \u003ca href=\"https://github.com/virtuald\"\u003e\u003ccode\u003e@​virtuald\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pelletier/go-toml/pull/991\"\u003epelletier/go-toml#991\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eomitzero\u003c/code\u003e tag support by \u003ca href=\"https://github.com/NathanBaulch\"\u003e\u003ccode\u003e@​NathanBaulch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pelletier/go-toml/pull/998\"\u003epelletier/go-toml#998\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport custom IsZero() methods with omitzero tag by \u003ca href=\"https://github.com/pelletier\"\u003e\u003ccode\u003e@​pelletier\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pelletier/go-toml/pull/1020\"\u003epelletier/go-toml#1020\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUnmarshalText fallbacks to struct unmarshaling for tables and arrays by \u003ca href=\"https://github.com/pelletier\"\u003e\u003ccode\u003e@​pelletier\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pelletier/go-toml/pull/1026\"\u003epelletier/go-toml#1026\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[unstable] Support Unmarshaler interface for tables and array tables by \u003ca href=\"https://github.com/pelletier\"\u003e\u003ccode\u003e@​pelletier\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pelletier/go-toml/pull/1027\"\u003epelletier/go-toml#1027\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed bugs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd missing UnmarshalTOML call by \u003ca href=\"https://github.com/pelletier\"\u003e\u003ccode\u003e@​pelletier\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pelletier/go-toml/pull/996\"\u003epelletier/go-toml#996\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHandle array table into an empty slice by \u003ca href=\"https://github.com/pelletier\"\u003e\u003ccode\u003e@​pelletier\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pelletier/go-toml/pull/997\"\u003epelletier/go-toml#997\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUnwrap strict errors by \u003ca href=\"https://github.com/bersace\"\u003e\u003ccode\u003e@​bersace\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pelletier/go-toml/pull/1012\"\u003epelletier/go-toml#1012\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix leap second handling found by fuzz by \u003ca href=\"https://github.com/pelletier\"\u003e\u003ccode\u003e@​pelletier\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pelletier/go-toml/pull/1019\"\u003epelletier/go-toml#1019\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix nil pointer map values not being marshaled by \u003ca href=\"https://github.com/pelletier\"\u003e\u003ccode\u003e@​pelletier\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pelletier/go-toml/pull/1025\"\u003epelletier/go-toml#1025\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix panic when unmarshaling datetime values to incompatible types (\u003ca href=\"https://redirect.github.com/pelletier/go-toml/issues/1028\"\u003e#1028\u003c/a\u003e) by \u003ca href=\"https://github.com/pelletier\"\u003e\u003ccode\u003e@​pelletier\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pelletier/go-toml/pull/1029\"\u003epelletier/go-toml#1029\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix parser error pointing to wrong line at EOF without trailing newline by \u003ca href=\"https://github.com/pelletier\"\u003e\u003ccode\u003e@​pelletier\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pelletier/go-toml/pull/1041\"\u003epelletier/go-toml#1041\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImprove Unmarshaling README by \u003ca href=\"https://github.com/heckelson\"\u003e\u003ccode\u003e@​heckelson\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pelletier/go-toml/pull/1016\"\u003epelletier/go-toml#1016\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCreate AGENTS.md guidelines file by \u003ca href=\"https://github.com/pelletier\"\u003e\u003ccode\u003e@​pelletier\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pelletier/go-toml/pull/1017\"\u003epelletier/go-toml#1017\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUnsafe package removal by \u003ca href=\"https://github.com/pelletier\"\u003e\u003ccode\u003e@​pelletier\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pelletier/go-toml/pull/1021\"\u003epelletier/go-toml#1021\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump CI and test scripts to Go 1.26 by \u003ca href=\"https://github.com/pelletier\"\u003e\u003ccode\u003e@​pelletier\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pelletier/go-toml/pull/1030\"\u003epelletier/go-toml#1030\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/virtuald\"\u003e\u003ccode\u003e@​virtuald\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pelletier/go-toml/pull/991\"\u003epelletier/go-toml#991\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/NathanBaulch\"\u003e\u003ccode\u003e@​NathanBaulch\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pelletier/go-toml/pull/999\"\u003epelletier/go-toml#999\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bersace\"\u003e\u003ccode\u003e@​bersace\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pelletier/go-toml/pull/1012\"\u003epelletier/go-toml#1012\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/flyn-org\"\u003e\u003ccode\u003e@​flyn-org\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pelletier/go-toml/pull/1013\"\u003epelletier/go-toml#1013\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/heckelson\"\u003e\u003ccode\u003e@​heckelson\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pelletier/go-toml/pull/1016\"\u003epelletier/go-toml#1016\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pelletier/go-toml/compare/v2.2.4...v2.3.0\"\u003ehttps://github.com/pelletier/go-toml/compare/v2.2.4...v2.3.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pelletier/go-toml/commit/f36a3ece9e3adf0efaf9f9bd3591c3001f17602b\"\u003e\u003ccode\u003ef36a3ec\u003c/code\u003e\u003c/a\u003e Reduce marshal and unmarshal overhead (\u003ca href=\"https://redirect.github.com/pelletier/go-toml/issues/1044\"\u003e#1044\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pelletier/go-toml/commit/77f3862df44d71c6eab9a7f4b30154046a9c3c62\"\u003e\u003ccode\u003e77f3862\u003c/code\u003e\u003c/a\u003e Fix benchmark script replacing internal package imports (\u003ca href=\"https://redirect.github.com/pelletier/go-toml/issues/1042\"\u003e#1042\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pelletier/go-toml/commit/16b1ef5508d99a35131b454a80e05a784d0f61fe\"\u003e\u003ccode\u003e16b1ef5\u003c/code\u003e\u003c/a\u003e Fix parser error pointing to wrong line when last line has no trailing newlin...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pelletier/go-toml/commit/e14bde7c1d0e055cc26b8348f7a08ba0c7af1cdb\"\u003e\u003ccode\u003ee14bde7\u003c/code\u003e\u003c/a\u003e build(deps): bump docker/login-action from 3 to 4 (\u003ca href=\"https://redirect.github.com/pelletier/go-toml/issues/1039\"\u003e#1039\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pelletier/go-toml/commit/4b1ff01eb3bdc32f3610d5715da3d9e1d03a2d8c\"\u003e\u003ccode\u003e4b1ff01\u003c/code\u003e\u003c/a\u003e build(deps): bump docker/setup-buildx-action from 3 to 4 (\u003ca href=\"https://redirect.github.com/pelletier/go-toml/issues/1040\"\u003e#1040\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pelletier/go-toml/commit/048a25f0f2360787e267ac3025c7f74a9aa3a3c9\"\u003e\u003ccode\u003e048a25f\u003c/code\u003e\u003c/a\u003e Go 1.26 (\u003ca href=\"https://redirect.github.com/pelletier/go-toml/issues/1030\"\u003e#1030\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pelletier/go-toml/commit/b3575580f98d71a957f5ff4e05b39d959aee1957\"\u003e\u003ccode\u003eb357558\u003c/code\u003e\u003c/a\u003e build(deps): bump goreleaser/goreleaser-action from 6 to 7 (\u003ca href=\"https://redirect.github.com/pelletier/go-toml/issues/1035\"\u003e#1035\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pelletier/go-toml/commit/a0be52f4c1d9cd997580d9d8962628ad7a18b32d\"\u003e\u003ccode\u003ea0be52f\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/upload-artifact from 6 to 7 (\u003ca href=\"https://redirect.github.com/pelletier/go-toml/issues/1036\"\u003e#1036\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pelletier/go-toml/commit/316bfc66a4af619a1b0b8f844659b533992bde40\"\u003e\u003ccode\u003e316bfc6\u003c/code\u003e\u003c/a\u003e Support Unmarshaler interface for tables and array tables (\u003ca href=\"https://redirect.github.com/pelletier/go-toml/issues/1027\"\u003e#1027\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pelletier/go-toml/commit/2edc61f17159e4fde0f26098841160013015430b\"\u003e\u003ccode\u003e2edc61f\u003c/code\u003e\u003c/a\u003e Fix panic when unmarshaling datetime values to incompatible types (\u003ca href=\"https://redirect.github.com/pelletier/go-toml/issues/1028\"\u003e#1028\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/pelletier/go-toml/issues/1\"\u003e#1\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pelletier/go-toml/compare/v2.2.4...v2.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `gitlab.com/gitlab-org/api/client-go` from 1.13.0 to 1.46.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://gitlab.com/gitlab-org/api/client-go/blob/main/CHANGELOG.md\"\u003egitlab.com/gitlab-org/api/client-go's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.46.0\u003c/h2\u003e\n\u003ch3\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate urls and add missing (\u003ca href=\"https://gitlab.com/gitlab-org/api/client-go/-/merge_requests/2785\"\u003e!2785\u003c/a\u003e) by \u003ca href=\"https://gitlab.com/mohamedmongy96\"\u003eMohamed Mongy\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e\u003ca href=\"https://gitlab.com/gitlab-org/api/client-go/compare/v1.45.0...v1.46.0\"\u003e1.46.0\u003c/a\u003e (2026-03-01)\u003c/h1\u003e\n\u003ch2\u003e1.45.0\u003c/h2\u003e\n\u003ch3\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd LockMembershipsToSAML support to Application Settings (\u003ca href=\"https://gitlab.com/gitlab-org/api/client-go/-/merge_requests/2791\"\u003e!2791\u003c/a\u003e) by \u003ca href=\"https://gitlab.com/mohamedmongy96\"\u003eMohamed Mongy\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🔄 Other Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003etest(integration): Use epic IID instead of ID in \u003ccode\u003eDeleteEpic\u003c/code\u003e cleanup. (\u003ca href=\"https://gitlab.com/gitlab-org/api/client-go/-/merge_requests/2794\"\u003e!2794\u003c/a\u003e) by \u003ca href=\"https://gitlab.com/fforster\"\u003eFlorian Forster\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e\u003ca href=\"https://gitlab.com/gitlab-org/api/client-go/compare/v1.44.0...v1.45.0\"\u003e1.45.0\u003c/a\u003e (2026-02-27)\u003c/h1\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003etest:\u003c/strong\u003e Use epic IID instead of ID in \u003ccode\u003eDeleteEpic\u003c/code\u003e cleanup. (\u003ca href=\"https://gitlab.com/gitlab-org/api/client-go/commit/49dea0587894cd75d5962e69080974fccedde406\"\u003e49dea05\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.44.0\u003c/h2\u003e\n\u003ch3\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImplement runner controller instance-level runner scope support (\u003ca href=\"https://gitlab.com/gitlab-org/api/client-go/-/merge_requests/2765\"\u003e!2765\u003c/a\u003e) by \u003ca href=\"https://gitlab.com/timofurrer\"\u003eTimo Furrer\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🔄 Other Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore(deps): update module github.com/graph-gophers/graphql-go to v1.9.0 (\u003ca href=\"https://gitlab.com/gitlab-org/api/client-go/-/merge_requests/2789\"\u003e!2789\u003c/a\u003e) by \u003ca href=\"https://gitlab.com/gitlab-dependency-update-bot\"\u003eGitLab Dependency Bot\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e\u003ca href=\"https://gitlab.com/gitlab-org/api/client-go/compare/v1.43.0...v1.44.0\"\u003e1.44.0\u003c/a\u003e (2026-02-26)\u003c/h1\u003e\n\u003ch2\u003e1.43.0\u003c/h2\u003e\n\u003ch3\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat(pagination): Add \u003ccode\u003eScanAndCollectN\u003c/code\u003e to collect at most \u003cem\u003en\u003c/em\u003e results. (\u003ca href=\"https://gitlab.com/gitlab-org/api/client-go/-/merge_requests/2788\"\u003e!2788\u003c/a\u003e) by \u003ca href=\"https://gitlab.com/fforster\"\u003eFlorian Forster\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://gitlab.com/gitlab-org/api/client-go/commit/da7b8a72a07b41ac257b538fac02a6aaa49047fc\"\u003e\u003ccode\u003eda7b8a7\u003c/code\u003e\u003c/a\u003e chore(release): 1.46.0 [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://gitlab.com/gitlab-org/api/client-go/commit/072590b6d71610f6148328c5e0c27de4c7e1fdda\"\u003e\u003ccode\u003e072590b\u003c/code\u003e\u003c/a\u003e Merge branch 'Update_Urls_and_add-missing' into 'main'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://gitlab.com/gitlab-org/api/client-go/commit/8b634616608deae4019c3d7a421c6809b5cf231d\"\u003e\u003ccode\u003e8b63461\u003c/code\u003e\u003c/a\u003e Update urls and add missing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://gitlab.com/gitlab-org/api/client-go/commit/0abd5cedc3b377211cee5ce084c80e9d744c18a5\"\u003e\u003ccode\u003e0abd5ce\u003c/code\u003e\u003c/a\u003e chore(release): 1.45.0 [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://gitlab.com/gitlab-org/api/client-go/commit/6f5a6dac70026af0c25c240ba64c761451222757\"\u003e\u003ccode\u003e6f5a6da\u003c/code\u003e\u003c/a\u003e Merge branch 'issue_\u003ca href=\"https://gitlab.com/gitlab-org/api/client-go/issues/2237\"\u003e#2237\u003c/a\u003e' into 'main'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://gitlab.com/gitlab-org/api/client-go/commit/06094f9180bc37218e6e8bf0d613b6bdcb726e64\"\u003e\u003ccode\u003e06094f9\u003c/code\u003e\u003c/a\u003e Add LockMembershipsToSAML support to Application Settings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://gitlab.com/gitlab-org/api/client-go/commit/37ff76ba4d9296b8475e9f3e11bea86ad1cb4c5b\"\u003e\u003ccode\u003e37ff76b\u003c/code\u003e\u003c/a\u003e Merge branch 'fforster/epic-cleanup' into 'main...\n\n_Description has been truncated_","html_url":"https://github.com/akuity/kargo/pull/6174","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/akuity%2Fkargo/issues/6174","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/6174/packages"}},{"old_version":"1.9.1","new_version":"1.12.0","update_type":"minor","path":null,"pr_created_at":"2026-04-23T13:35:24.000Z","version_change":"1.9.1 → 1.12.0","issue":{"uuid":"4316332567","node_id":"PR_kwDOSKk7Fs7U_n5k","number":2,"state":"closed","title":"feat(deps): bump the gomod-deps group with 13 updates","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-04-23T22:25:33.000Z","author_association":null,"state_reason":null,"created_at":"2026-04-23T13:35:24.000Z","updated_at":"2026-04-23T22:25:41.000Z","time_to_close":31809,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"feat(deps): bump","group_name":"gomod-deps","update_count":13,"packages":[{"name":"github.com/gin-gonic/gin","old_version":"1.9.1","new_version":"1.12.0","repository_url":"https://github.com/gin-gonic/gin"},{"name":"github.com/golang-jwt/jwt/v4","old_version":"4.5.0","new_version":"4.5.2","repository_url":"https://github.com/golang-jwt/jwt"},{"name":"github.com/google/uuid","old_version":"1.3.1","new_version":"1.6.0","repository_url":"https://github.com/google/uuid"},{"name":"google.golang.org/grpc","old_version":"1.58.0","new_version":"1.80.0","repository_url":"https://github.com/grpc/grpc-go"},{"name":"google.golang.org/protobuf","old_version":"1.31.0","new_version":"1.36.11"},{"name":"gorm.io/driver/mysql","old_version":"1.5.1","new_version":"1.6.0","repository_url":"https://github.com/go-gorm/mysql"},{"name":"gorm.io/gorm","old_version":"1.25.4","new_version":"1.30.0","repository_url":"https://github.com/go-gorm/gorm"},{"name":"github.com/alibabacloud-go/tea","old_version":"1.2.1","new_version":"1.4.0","repository_url":"https://github.com/alibabacloud-go/tea"},{"name":"github.com/go-sql-driver/mysql","old_version":"1.7.1","new_version":"1.8.1","repository_url":"https://github.com/go-sql-driver/mysql"},{"name":"github.com/go-zookeeper/zk","old_version":"1.0.3","new_version":"1.0.4","repository_url":"https://github.com/go-zookeeper/zk"},{"name":"github.com/redis/go-redis/v9","old_version":"9.1.0","new_version":"9.18.0","repository_url":"https://github.com/redis/go-redis"},{"name":"github.com/xuri/excelize/v2","old_version":"2.8.0","new_version":"2.10.1","repository_url":"https://github.com/xuri/excelize"},{"name":"go.mongodb.org/mongo-driver","old_version":"1.12.0","new_version":"1.17.9","repository_url":"https://github.com/mongodb/mongo-go-driver"}],"path":null,"ecosystem":"go"},"body":"Bumps the gomod-deps group with 13 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [github.com/gin-gonic/gin](https://github.com/gin-gonic/gin) | `1.9.1` | `1.12.0` |\n| [github.com/golang-jwt/jwt/v4](https://github.com/golang-jwt/jwt) | `4.5.0` | `4.5.2` |\n| [github.com/google/uuid](https://github.com/google/uuid) | `1.3.1` | `1.6.0` |\n| [google.golang.org/grpc](https://github.com/grpc/grpc-go) | `1.58.0` | `1.80.0` |\n| google.golang.org/protobuf | `1.31.0` | `1.36.11` |\n| [gorm.io/driver/mysql](https://github.com/go-gorm/mysql) | `1.5.1` | `1.6.0` |\n| [gorm.io/gorm](https://github.com/go-gorm/gorm) | `1.25.4` | `1.30.0` |\n| [github.com/alibabacloud-go/tea](https://github.com/alibabacloud-go/tea) | `1.2.1` | `1.4.0` |\n| [github.com/go-sql-driver/mysql](https://github.com/go-sql-driver/mysql) | `1.7.1` | `1.8.1` |\n| [github.com/go-zookeeper/zk](https://github.com/go-zookeeper/zk) | `1.0.3` | `1.0.4` |\n| [github.com/redis/go-redis/v9](https://github.com/redis/go-redis) | `9.1.0` | `9.18.0` |\n| [github.com/xuri/excelize/v2](https://github.com/xuri/excelize) | `2.8.0` | `2.10.1` |\n| [go.mongodb.org/mongo-driver](https://github.com/mongodb/mongo-go-driver) | `1.12.0` | `1.17.9` |\n\nUpdates `github.com/gin-gonic/gin` from 1.9.1 to 1.12.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/gin-gonic/gin/releases\"\u003egithub.com/gin-gonic/gin's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.12.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e192ac89eefc1c30f7c97ae48a9ffb1c6f1c8c8bc: feat(binding): add support for encoding.UnmarshalText in uri/query binding (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4203\"\u003e#4203\u003c/a\u003e) (\u003ca href=\"https://github.com/takanuva15\"\u003e\u003ccode\u003e@​takanuva15\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e53410d2e07054369e0960fbe2eed97e1b9966f12: feat(context): add GetError and GetErrorSlice methods for error retrieval (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4502\"\u003e#4502\u003c/a\u003e) (\u003ca href=\"https://github.com/raju-mechatronics\"\u003e\u003ccode\u003e@​raju-mechatronics\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eacc55e049e33b401e810dbd8c0d6dcb6b3ba2b05: feat(context): add Protocol Buffers support to content negotiation (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4423\"\u003e#4423\u003c/a\u003e) (\u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e38e765119241d990705169bedb5002a29ae0cbd1: feat(context): implemented Delete method (\u003ca href=\"https://github.com/Spyder01\"\u003e\u003ccode\u003e@​Spyder01\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e771dcc6476d7bc6abb9ec0235ecefa4d38fe6fb0: feat(gin): add option to use escaped path (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4420\"\u003e#4420\u003c/a\u003e) (\u003ca href=\"https://github.com/ldesauw\"\u003e\u003ccode\u003e@​ldesauw\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e4dec17afdff48e8018c83618fbbe69fceeb2b41d: feat(logger): color latency (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4146\"\u003e#4146\u003c/a\u003e) (\u003ca href=\"https://github.com/wsyqn6\"\u003e\u003ccode\u003e@​wsyqn6\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ed7776de7d444935ea4385999711bd6331a98fecb: feat(render): add bson protocol (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4145\"\u003e#4145\u003c/a\u003e) (\u003ca href=\"https://github.com/laurentcau\"\u003e\u003ccode\u003e@​laurentcau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eb917b14ff9d189f16a7492be79d123a47806ee19: fix(binding): empty value error (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/2169\"\u003e#2169\u003c/a\u003e) (\u003ca href=\"https://github.com/guonaihong\"\u003e\u003ccode\u003e@​guonaihong\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ec3d1092b3b48addf6f9cd00fe274ec3bd14650eb: fix(binding): improve empty slice/array handling in form binding (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4380\"\u003e#4380\u003c/a\u003e) (\u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e9914178584e42458ff7d23891463a880f58c9d86: fix(context): ClientIP handling for multiple X-Forwarded-For header values (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4472\"\u003e#4472\u003c/a\u003e) (\u003ca href=\"https://github.com/Nurysso\"\u003e\u003ccode\u003e@​Nurysso\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e2a794cd0b0faa7d829291375b27a3467ea972b0d: fix(debug): version mismatch (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4403\"\u003e#4403\u003c/a\u003e) (\u003ca href=\"https://github.com/zeek0x\"\u003e\u003ccode\u003e@​zeek0x\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ec3d5a28ed6d3849da820195b6774d212bcc038a9: fix(gin): close os.File in RunFd to prevent resource leak (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4422\"\u003e#4422\u003c/a\u003e) (\u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e5fad976b372e381312f8de69f0969f1284d229d3: fix(gin): literal colon routes not working with engine.Handler() (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4415\"\u003e#4415\u003c/a\u003e) (\u003ca href=\"https://github.com/pawannn\"\u003e\u003ccode\u003e@​pawannn\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e63dd3e60cab89c27fb66bce1423bd268d52abad1: fix(recover): suppress http.ErrAbortHandler in recover (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4336\"\u003e#4336\u003c/a\u003e) (\u003ca href=\"https://github.com/MondayCha\"\u003e\u003ccode\u003e@​MondayCha\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e5c00df8afadd06cc5be530dde00fe6d9fa4a2e4a: fix(render): write content length in Data.Render (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4206\"\u003e#4206\u003c/a\u003e) (\u003ca href=\"https://github.com/dengaleev\"\u003e\u003ccode\u003e@​dengaleev\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e234a6d4c00cb77af9852aca0b8289745d5529b4b: fix(response): refine hijack behavior for response lifecycle (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4373\"\u003e#4373\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e472d086af2acd924cb4b9d7be0525f7d790f69bc: fix(tree): panic in findCaseInsensitivePathRec with RedirectFixedPath (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4535\"\u003e#4535\u003c/a\u003e) (\u003ca href=\"https://github.com/veeceey\"\u003e\u003ccode\u003e@​veeceey\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e8e07d37c63e5536eb25f4af4c91eabeee4011fba: fix: Correct typos, improve documentation clarity, and remove dead code (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4511\"\u003e#4511\u003c/a\u003e) (\u003ca href=\"https://github.com/mahanadh\"\u003e\u003ccode\u003e@​mahanadh\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eba093d19477b896ac89a7fc3246af23d290b8e26: chore(binding): upgrade bson dependency to mongo-driver v2 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4549\"\u003e#4549\u003c/a\u003e) (\u003ca href=\"https://github.com/BobDu\"\u003e\u003ccode\u003e@​BobDu\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eb2b489dbf4826c2c630717a77fd5e42774625410: chore(context): always trust xff headers from unix socket (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/3359\"\u003e#3359\u003c/a\u003e) (\u003ca href=\"https://github.com/WeidiDeng\"\u003e\u003ccode\u003e@​WeidiDeng\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eecb3f7b5e2f3915bf1db240ed5eee572f8dbea36: chore(deps): upgrade golang.org/x/crypto to v0.45.0 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4449\"\u003e#4449\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eaf6e8b70b8261bb0c99ad094fe552ab92991620a: chore(deps): upgrade quic-go to v0.57.1 (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edb309081bc5c137b2aa15701ef53f7f19788da25: chore(logger): allow skipping query string output (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4547\"\u003e#4547\u003c/a\u003e) (\u003ca href=\"https://github.com/USA-RedDragon\"\u003e\u003ccode\u003e@​USA-RedDragon\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e26c3a628655cad2388380cb8102d6ce7d4875f3b: chore(response): prevent Flush() panic when \u003ccode\u003ehttp.Flusher\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4479\"\u003e#4479\u003c/a\u003e) (\u003ca href=\"https://github.com/Twacqwq\"\u003e\u003ccode\u003e@​Twacqwq\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e5dd833f1f26de0eb30eae47b17e05ced2482dc41: chore: bump minimum Go version to 1.24 and update workflows (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4388\"\u003e#4388\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRefactor\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e39858a0859c914bd26948fa950477e11bd8d3823: refactor(binding): use maps.Copy for cleaner map handling (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4352\"\u003e#4352\u003c/a\u003e) (\u003ca href=\"https://github.com/russcoss\"\u003e\u003ccode\u003e@​russcoss\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ec0048f645ee945c4db30593afdea10123e2c30a6: refactor(context): omit the return value names (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4395\"\u003e#4395\u003c/a\u003e) (\u003ca href=\"https://github.com/wanghaolong613\"\u003e\u003ccode\u003e@​wanghaolong613\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e915e4c90d28ec4cffc6eb146e208ab5a65eac772: refactor(context): replace hardcoded localhost IPs with constants (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4481\"\u003e#4481\u003c/a\u003e) (\u003ca href=\"https://github.com/pauloappbr\"\u003e\u003ccode\u003e@​pauloappbr\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e414de60574449457f3192a7a1d5528940db2836d: refactor(context): using maps.Clone (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4333\"\u003e#4333\u003c/a\u003e) (\u003ca href=\"https://github.com/cuiweixie\"\u003e\u003ccode\u003e@​cuiweixie\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e59e9d4a794f12c4f9a6c7bed441b9644e5f6d99b: refactor(ginS): use sync.OnceValue to simplify engine function (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4314\"\u003e#4314\u003c/a\u003e) (\u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e3ab698dc5110af1977d57226e4995c57dd34c233: refactor(recovery): smart error comparison (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4142\"\u003e#4142\u003c/a\u003e) (\u003ca href=\"https://github.com/zeek0x\"\u003e\u003ccode\u003e@​zeek0x\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ed1a15347b1e45a8ee816193d3578a93bfd73b70f: refactor(utils): move util functions to utils.go (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4467\"\u003e#4467\u003c/a\u003e) (\u003ca href=\"https://github.com/zeek0x\"\u003e\u003ccode\u003e@​zeek0x\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ee3118cc378d263454098924ebbde7e8d1dd2e904: refactor: for loop can be modernized using range over int (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4392\"\u003e#4392\u003c/a\u003e) (\u003ca href=\"https://github.com/wanghaolong613\"\u003e\u003ccode\u003e@​wanghaolong613\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e488f8c3ffa579a8d19beb2bae95ff8ef36b3d53f: refactor: replace magic numbers with named constants in bodyAllowedForStatus (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4529\"\u003e#4529\u003c/a\u003e) (\u003ca href=\"https://github.com/veeceey\"\u003e\u003ccode\u003e@​veeceey\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e9968c4bf9d5a99edc3eee2c068a4c9160ece8915: refactor: use b.Loop() to simplify the code and improve performance (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4389\"\u003e#4389\u003c/a\u003e) (\u003ca href=\"https://github.com/reddaisyy\"\u003e\u003ccode\u003e@​reddaisyy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ea85ef5ce4d0cda8834c59c855068ed48b51192d1: refactor: use b.Loop() to simplify the code and improve performance (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4432\"\u003e#4432\u003c/a\u003e) (\u003ca href=\"https://github.com/efcking\"\u003e\u003ccode\u003e@​efcking\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBuild process updates\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e61b67de522a189b568aced4c5c16917c558e3387: ci(bot): increase frequency and group updates for dependencies (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4367\"\u003e#4367\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efb27ef26c2fdfe25344b4c039d8a53551f9e912c: ci(lint): refactor test assertions and linter configuration (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4436\"\u003e#4436\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e93ff771e6dbf10e432864b30f3719ac5c84a4d4a: ci(sec): improve type safety and server organization in HTTP middleware (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4437\"\u003e#4437\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ee88fc8927a52b74f55bec0351604a56ac0aa1c51: ci(sec): schedule Trivy security scans to run daily at midnight UTC (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4439\"\u003e#4439\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e5e5ff3ace496a31b138b0820136a146bfb5de0ef: ci: replace vulnerability scanning workflow with Trivy integration (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4421\"\u003e#4421\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e00900fb3e1ea9dde33985a0e4f6afec793d5e786: ci: update CI workflows and standardize Trivy config quotes (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4531\"\u003e#4531\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eae3f524974fc4f55d18c9e7fae4614503c015226: ci: update Go version support to 1.25+ across CI and docs (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4550\"\u003e#4550\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/gin-gonic/gin/blob/master/CHANGELOG.md\"\u003egithub.com/gin-gonic/gin's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eGin v1.12.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat(render): add bson protocol (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4145\"\u003e#4145\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(context): add GetError and GetErrorSlice methods for error retrieval (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4502\"\u003e#4502\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(binding): add support for encoding.UnmarshalText in uri/query binding (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4203\"\u003e#4203\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(gin): add option to use escaped path (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4420\"\u003e#4420\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(context): add Protocol Buffers support to content negotiation (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4423\"\u003e#4423\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(context): implemented Delete method (\u003ca href=\"https://github.com/gin-gonic/gin/commit/38e7651\"\u003e#38e7651\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(logger): color latency (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4146\"\u003e#4146\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eperf(tree): reduce allocations in findCaseInsensitivePath (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4417\"\u003e#4417\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eperf(recovery): optimize line reading in stack function (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4466\"\u003e#4466\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eperf(path): replace regex with custom functions in redirectTrailingSlash (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4414\"\u003e#4414\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eperf(tree): optimize path parsing using strings.Count (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4246\"\u003e#4246\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(logger): allow skipping query string output (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4547\"\u003e#4547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(context): always trust xff headers from unix socket (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/3359\"\u003e#3359\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(response): prevent Flush() panic when the underlying ResponseWriter does not implement \u003ccode\u003ehttp.Flusher\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4479\"\u003e#4479\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(recovery): smart error comparison (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4142\"\u003e#4142\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(context): replace hardcoded localhost IPs with constants (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4481\"\u003e#4481\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(utils): move util functions to utils.go (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4467\"\u003e#4467\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(binding): use maps.Copy for cleaner map handling (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4352\"\u003e#4352\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(context): using maps.Clone (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4333\"\u003e#4333\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(ginS): use sync.OnceValue to simplify engine function (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4314\"\u003e#4314\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor: replace magic numbers with named constants in bodyAllowedForStatus (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4529\"\u003e#4529\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor: for loop can be modernized using range over int (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4392\"\u003e#4392\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(tree): panic in findCaseInsensitivePathRec with RedirectFixedPath (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4535\"\u003e#4535\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(render): write content length in Data.Render (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4206\"\u003e#4206\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(context): ClientIP handling for multiple X-Forwarded-For header values (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4472\"\u003e#4472\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(binding): empty value error (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/2169\"\u003e#2169\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(recover): suppress http.ErrAbortHandler in recover (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4336\"\u003e#4336\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(gin): literal colon routes not working with engine.Handler() (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4415\"\u003e#4415\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(gin): close os.File in RunFd to prevent resource leak (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4422\"\u003e#4422\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(response): refine hijack behavior for response lifecycle (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4373\"\u003e#4373\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(binding): improve empty slice/array handling in form binding (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4380\"\u003e#4380\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(debug): version mismatch (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4403\"\u003e#4403\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: correct typos, improve documentation clarity, and remove dead code (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4511\"\u003e#4511\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBuild process updates / CI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eci: update Go version support to 1.25+ across CI and docs (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4550\"\u003e#4550\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(binding): upgrade bson dependency to mongo-driver v2 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4549\"\u003e#4549\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eGin v1.11.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/73726dc606796a025971fe451f0aa6f1b9b847f6\"\u003e\u003ccode\u003e73726dc\u003c/code\u003e\u003c/a\u003e docs: update documentation to reflect Go version changes (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4552\"\u003e#4552\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/e292e5caa777bce70b66fe08c94cbe9cef3e2ec9\"\u003e\u003ccode\u003ee292e5c\u003c/code\u003e\u003c/a\u003e docs: document and finalize Gin v1.12.0 release (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4551\"\u003e#4551\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/ae3f524974fc4f55d18c9e7fae4614503c015226\"\u003e\u003ccode\u003eae3f524\u003c/code\u003e\u003c/a\u003e ci: update Go version support to 1.25+ across CI and docs (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4550\"\u003e#4550\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/38534e2bf98a06e1f62d6b24384e90b5f78699bf\"\u003e\u003ccode\u003e38534e2\u003c/code\u003e\u003c/a\u003e chore(deps): bump golang.org/x/net from 0.50.0 to 0.51.0 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4548\"\u003e#4548\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/472d086af2acd924cb4b9d7be0525f7d790f69bc\"\u003e\u003ccode\u003e472d086\u003c/code\u003e\u003c/a\u003e fix(tree): panic in findCaseInsensitivePathRec with RedirectFixedPath (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4535\"\u003e#4535\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/fb2583442c4d9bccb75e6d26f1aa6e7c01950db6\"\u003e\u003ccode\u003efb25834\u003c/code\u003e\u003c/a\u003e test(context): use http.StatusContinue constant instead of magic number 100 (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/6f1d5fe3cdb171a08928c3c9dd3fbcfc9ee1b521\"\u003e\u003ccode\u003e6f1d5fe\u003c/code\u003e\u003c/a\u003e test(render): add comprehensive error handling tests (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4541\"\u003e#4541\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/5c00df8afadd06cc5be530dde00fe6d9fa4a2e4a\"\u003e\u003ccode\u003e5c00df8\u003c/code\u003e\u003c/a\u003e fix(render): write content length in Data.Render (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4206\"\u003e#4206\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/db309081bc5c137b2aa15701ef53f7f19788da25\"\u003e\u003ccode\u003edb30908\u003c/code\u003e\u003c/a\u003e chore(logger): allow skipping query string output (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4547\"\u003e#4547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/ba093d19477b896ac89a7fc3246af23d290b8e26\"\u003e\u003ccode\u003eba093d1\u003c/code\u003e\u003c/a\u003e chore(binding): upgrade bson dependency to mongo-driver v2 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4549\"\u003e#4549\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/gin-gonic/gin/compare/v1.9.1...v1.12.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/golang-jwt/jwt/v4` from 4.5.0 to 4.5.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/golang-jwt/jwt/releases\"\u003egithub.com/golang-jwt/jwt/v4's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.5.2\u003c/h2\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/golang-jwt/jwt/security/advisories/GHSA-mh63-6h87-95cp\"\u003ehttps://github.com/golang-jwt/jwt/security/advisories/GHSA-mh63-6h87-95cp\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/golang-jwt/jwt/compare/v4.5.1...v4.5.2\"\u003ehttps://github.com/golang-jwt/jwt/compare/v4.5.1...v4.5.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.5.1\u003c/h2\u003e\n\u003ch1\u003eSecurity\u003c/h1\u003e\n\u003cp\u003eUnclear documentation of the error behavior in \u003ccode\u003eParseWithClaims\u003c/code\u003e in \u0026lt;= 4.5.0 could lead to situation where users are potentially not checking errors in the way they should be. Especially, if a token is both expired and invalid, the errors returned by \u003ccode\u003eParseWithClaims\u003c/code\u003e return both error codes. If users only check for the \u003ccode\u003ejwt.ErrTokenExpired \u003c/code\u003e using \u003ccode\u003eerror.Is\u003c/code\u003e, they will ignore the embedded \u003ccode\u003ejwt.ErrTokenSignatureInvalid\u003c/code\u003e and thus potentially accept invalid tokens.\u003c/p\u003e\n\u003cp\u003eThis issue was documented in \u003ca href=\"https://github.com/golang-jwt/jwt/security/advisories/GHSA-29wx-vh33-7x7r\"\u003ehttps://github.com/golang-jwt/jwt/security/advisories/GHSA-29wx-vh33-7x7r\u003c/a\u003e and fixed in this release.\u003c/p\u003e\n\u003cp\u003eNote: \u003ccode\u003ev5\u003c/code\u003e was not affected by this issue. So upgrading to this release version is also recommended.\u003c/p\u003e\n\u003ch1\u003eWhat's Changed\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eBack-ported error-handling logic in \u003ccode\u003eParseWithClaims\u003c/code\u003e from \u003ccode\u003ev5\u003c/code\u003e branch. This fixes \u003ca href=\"https://github.com/golang-jwt/jwt/security/advisories/GHSA-29wx-vh33-7x7r\"\u003ehttps://github.com/golang-jwt/jwt/security/advisories/GHSA-29wx-vh33-7x7r\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/golang-jwt/jwt/compare/v4.5.0...v4.5.1\"\u003ehttps://github.com/golang-jwt/jwt/compare/v4.5.0...v4.5.1\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/golang-jwt/jwt/commit/2f0e9add62078527821828c76865661aa7718a84\"\u003e\u003ccode\u003e2f0e9ad\u003c/code\u003e\u003c/a\u003e Backporting 0951d18 to v4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/golang-jwt/jwt/commit/7b1c1c00a171c6c79bbdb40e4ce7d197060c1c2c\"\u003e\u003ccode\u003e7b1c1c0\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/golang-jwt/jwt/compare/v4.5.0...v4.5.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/google/uuid` from 1.3.1 to 1.6.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/google/uuid/releases\"\u003egithub.com/google/uuid's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.6.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/google/uuid/compare/v1.5.0...v1.6.0\"\u003e1.6.0\u003c/a\u003e (2024-01-16)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd Max UUID constant (\u003ca href=\"https://redirect.github.com/google/uuid/issues/149\"\u003e#149\u003c/a\u003e) (\u003ca href=\"https://github.com/google/uuid/commit/c58770eb495f55fe2ced6284f93c5158a62e53e3\"\u003ec58770e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix typo in version 7 uuid documentation (\u003ca href=\"https://redirect.github.com/google/uuid/issues/153\"\u003e#153\u003c/a\u003e) (\u003ca href=\"https://github.com/google/uuid/commit/016b199544692f745ffc8867b914129ecb47ef06\"\u003e016b199\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMonotonicity in UUIDv7 (\u003ca href=\"https://redirect.github.com/google/uuid/issues/150\"\u003e#150\u003c/a\u003e) (\u003ca href=\"https://github.com/google/uuid/commit/a2b2b32373ff0b1a312b7fdf6d38a977099698a6\"\u003ea2b2b32\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.5.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/google/uuid/compare/v1.4.0...v1.5.0\"\u003e1.5.0\u003c/a\u003e (2023-12-12)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eValidate UUID without creating new UUID (\u003ca href=\"https://redirect.github.com/google/uuid/issues/141\"\u003e#141\u003c/a\u003e) (\u003ca href=\"https://github.com/google/uuid/commit/9ee7366e66c9ad96bab89139418a713dc584ae29\"\u003e9ee7366\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.4.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/google/uuid/compare/v1.3.1...v1.4.0\"\u003e1.4.0\u003c/a\u003e (2023-10-26)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUUIDs slice type with Strings() convenience method (\u003ca href=\"https://redirect.github.com/google/uuid/issues/133\"\u003e#133\u003c/a\u003e) (\u003ca href=\"https://github.com/google/uuid/commit/cd5fbbdd02f3e3467ac18940e07e062be1f864b4\"\u003ecd5fbbd\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eClarify that Parse's job is to parse but not necessarily validate strings. (Documents current behavior)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/google/uuid/blob/master/CHANGELOG.md\"\u003egithub.com/google/uuid's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/google/uuid/compare/v1.5.0...v1.6.0\"\u003e1.6.0\u003c/a\u003e (2024-01-16)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd Max UUID constant (\u003ca href=\"https://redirect.github.com/google/uuid/issues/149\"\u003e#149\u003c/a\u003e) (\u003ca href=\"https://github.com/google/uuid/commit/c58770eb495f55fe2ced6284f93c5158a62e53e3\"\u003ec58770e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix typo in version 7 uuid documentation (\u003ca href=\"https://redirect.github.com/google/uuid/issues/153\"\u003e#153\u003c/a\u003e) (\u003ca href=\"https://github.com/google/uuid/commit/016b199544692f745ffc8867b914129ecb47ef06\"\u003e016b199\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMonotonicity in UUIDv7 (\u003ca href=\"https://redirect.github.com/google/uuid/issues/150\"\u003e#150\u003c/a\u003e) (\u003ca href=\"https://github.com/google/uuid/commit/a2b2b32373ff0b1a312b7fdf6d38a977099698a6\"\u003ea2b2b32\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/google/uuid/compare/v1.4.0...v1.5.0\"\u003e1.5.0\u003c/a\u003e (2023-12-12)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eValidate UUID without creating new UUID (\u003ca href=\"https://redirect.github.com/google/uuid/issues/141\"\u003e#141\u003c/a\u003e) (\u003ca href=\"https://github.com/google/uuid/commit/9ee7366e66c9ad96bab89139418a713dc584ae29\"\u003e9ee7366\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/google/uuid/compare/v1.3.1...v1.4.0\"\u003e1.4.0\u003c/a\u003e (2023-10-26)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUUIDs slice type with Strings() convenience method (\u003ca href=\"https://redirect.github.com/google/uuid/issues/133\"\u003e#133\u003c/a\u003e) (\u003ca href=\"https://github.com/google/uuid/commit/cd5fbbdd02f3e3467ac18940e07e062be1f864b4\"\u003ecd5fbbd\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eClarify that Parse's job is to parse but not necessarily validate strings. (Documents current behavior)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/uuid/commit/0f11ee6918f41a04c201eceeadf612a377bc7fbc\"\u003e\u003ccode\u003e0f11ee6\u003c/code\u003e\u003c/a\u003e chore(master): release 1.6.0 (\u003ca href=\"https://redirect.github.com/google/uuid/issues/151\"\u003e#151\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/uuid/commit/16939dafc37a38d2743810a8bdf60fdad6a0f3a3\"\u003e\u003ccode\u003e16939da\u003c/code\u003e\u003c/a\u003e chore(tests):  add strict monotonicity test case for uuid v7. (\u003ca href=\"https://redirect.github.com/google/uuid/issues/154\"\u003e#154\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/uuid/commit/016b199544692f745ffc8867b914129ecb47ef06\"\u003e\u003ccode\u003e016b199\u003c/code\u003e\u003c/a\u003e fix: fix typo in version 7 uuid documentation (\u003ca href=\"https://redirect.github.com/google/uuid/issues/153\"\u003e#153\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/uuid/commit/1d8b6ea0990d688105843a9a67b1d07222350502\"\u003e\u003ccode\u003e1d8b6ea\u003c/code\u003e\u003c/a\u003e ci: set token permissions to github workflows (\u003ca href=\"https://redirect.github.com/google/uuid/issues/143\"\u003e#143\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/uuid/commit/a2b2b32373ff0b1a312b7fdf6d38a977099698a6\"\u003e\u003ccode\u003ea2b2b32\u003c/code\u003e\u003c/a\u003e fix: Monotonicity in UUIDv7 (\u003ca href=\"https://redirect.github.com/google/uuid/issues/150\"\u003e#150\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/uuid/commit/c58770eb495f55fe2ced6284f93c5158a62e53e3\"\u003e\u003ccode\u003ec58770e\u003c/code\u003e\u003c/a\u003e feat: add Max UUID constant (\u003ca href=\"https://redirect.github.com/google/uuid/issues/149\"\u003e#149\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/uuid/commit/4d47f8eb066f43cfaedd728a543479d9c9dfa8f6\"\u003e\u003ccode\u003e4d47f8e\u003c/code\u003e\u003c/a\u003e chore(master): release 1.5.0 (\u003ca href=\"https://redirect.github.com/google/uuid/issues/145\"\u003e#145\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/uuid/commit/9ee7366e66c9ad96bab89139418a713dc584ae29\"\u003e\u003ccode\u003e9ee7366\u003c/code\u003e\u003c/a\u003e feat: Validate UUID without creating new UUID (\u003ca href=\"https://redirect.github.com/google/uuid/issues/141\"\u003e#141\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/uuid/commit/b35aa6a595277504b1ec94c520d4091ec050b9d5\"\u003e\u003ccode\u003eb35aa6a\u003c/code\u003e\u003c/a\u003e add uuid version 6 and 7 (\u003ca href=\"https://redirect.github.com/google/uuid/issues/139\"\u003e#139\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/uuid/commit/8de8764e294f072b7a2f1a209e88fdcdb1ebc875\"\u003e\u003ccode\u003e8de8764\u003c/code\u003e\u003c/a\u003e chore(master): release 1.4.0 (\u003ca href=\"https://redirect.github.com/google/uuid/issues/134\"\u003e#134\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/google/uuid/compare/v1.3.1...v1.6.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `google.golang.org/grpc` from 1.58.0 to 1.80.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/grpc/grpc-go/releases\"\u003egoogle.golang.org/grpc's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease 1.80.0\u003c/h2\u003e\n\u003ch1\u003eBehavior Changes\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003ebalancer: log a warning if a balancer is registered with uppercase letters, as balancer names should be lowercase. In a future release, balancer names will be treated as case-insensitive; see \u003ca href=\"https://redirect.github.com/grpc/grpc-go/issues/5288\"\u003e#5288\u003c/a\u003e for details. (\u003ca href=\"https://redirect.github.com/grpc/grpc-go/issues/8837\"\u003e#8837\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003exds: update resource error handling and re-resolution logic (\u003ca href=\"https://redirect.github.com/grpc/grpc-go/issues/8907\"\u003e#8907\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003eRe-resolve all \u003ccode\u003eLOGICAL_DNS\u003c/code\u003e clusters simultaneously when re-resolution is requested.\u003c/li\u003e\n\u003cli\u003eFail all in-flight RPCs immediately upon receipt of listener or route resource errors, instead of allowing them to complete.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eBug Fixes\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003exds: support the LB policy configured in \u003ccode\u003eLOGICAL_DNS\u003c/code\u003e cluster resources instead of defaulting to \u003ccode\u003epick_first\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/grpc/grpc-go/issues/8733\"\u003e#8733\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ecredentials/tls: perform per-RPC authority validation against the leaf certificate instead of the entire peer certificate chain. (\u003ca href=\"https://redirect.github.com/grpc/grpc-go/issues/8831\"\u003e#8831\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003exds: enabling A76 ring hash endpoint keys no longer causes EDS resources with invalid proxy metadata to be NACKed when HTTP CONNECT (gRFC A86) is disabled. (\u003ca href=\"https://redirect.github.com/grpc/grpc-go/issues/8875\"\u003e#8875\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003exds: validate that the sum of endpoint weights in a locality does not exceed the maximum \u003ccode\u003euint32\u003c/code\u003e value. (\u003ca href=\"https://redirect.github.com/grpc/grpc-go/issues/8899\"\u003e#8899\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003eSpecial Thanks: \u003ca href=\"https://github.com/RAVEYUS\"\u003e\u003ccode\u003e@​RAVEYUS\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003exds: fix incorrect proto field access in the weighted round robin (WRR) configuration where \u003ccode\u003eblackout_period\u003c/code\u003e was used instead of \u003ccode\u003eweight_expiration_period\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/grpc/grpc-go/issues/8915\"\u003e#8915\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003eSpecial Thanks: \u003ca href=\"https://github.com/gregbarasch\"\u003e\u003ccode\u003e@​gregbarasch\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003exds/rbac: handle addresses with ports in IP matchers. (\u003ca href=\"https://redirect.github.com/grpc/grpc-go/issues/8990\"\u003e#8990\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eNew Features\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eringhash: enable gRFC A76 (endpoint hash keys and request hash headers) by default. (\u003ca href=\"https://redirect.github.com/grpc/grpc-go/issues/8922\"\u003e#8922\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003ePerformance Improvements\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003ecredentials/alts: pool write buffers to reduce memory allocations and usage. (\u003ca href=\"https://redirect.github.com/grpc/grpc-go/issues/8919\"\u003e#8919\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003egrpc: enable the use of pooled write buffers for buffering HTTP/2 frame writes by default. This reduces memory usage when connections are idle. Use the \u003ca href=\"https://pkg.go.dev/google.golang.org/grpc#WithSharedWriteBuffer\"\u003eWithSharedWriteBuffer\u003c/a\u003e dial option or the \u003ca href=\"https://pkg.go.dev/google.golang.org/grpc#SharedWriteBuffer\"\u003eSharedWriteBuffer\u003c/a\u003e server option to disable this feature. (\u003ca href=\"https://redirect.github.com/grpc/grpc-go/issues/8957\"\u003e#8957\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003exds/priority: stop caching child LB policies removed from the configuration. This will help reduce memory and cpu usage when localities are constantly switching between priorities. (\u003ca href=\"https://redirect.github.com/grpc/grpc-go/issues/8997\"\u003e#8997\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003emem: add a faster tiered buffer pool; use the experimental \u003ca href=\"https://pkg.go.dev/google.golang.org/grpc/mem@master#NewBinaryTieredBufferPool\"\u003emem.NewBinaryTieredBufferPool\u003c/a\u003e function to create such pools. (\u003ca href=\"https://redirect.github.com/grpc/grpc-go/issues/8775\"\u003e#8775\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRelease 1.79.3\u003c/h2\u003e\n\u003ch1\u003eSecurity\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eserver: fix an authorization bypass where malformed :path headers (missing the leading slash) could bypass path-based restricted \u0026quot;deny\u0026quot; rules in interceptors like \u003ccode\u003egrpc/authz\u003c/code\u003e. Any request with a non-canonical path is now immediately rejected with an \u003ccode\u003eUnimplemented\u003c/code\u003e error. (\u003ca href=\"https://redirect.github.com/grpc/grpc-go/issues/8981\"\u003e#8981\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRelease 1.79.2\u003c/h2\u003e\n\u003ch1\u003eBug Fixes\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003estats: Prevent redundant error logging in health/ORCA producers by skipping stats/tracing processing when no stats handler is configured. (\u003ca href=\"https://redirect.github.com/grpc/grpc-go/pull/8874\"\u003egrpc/grpc-go#8874\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRelease 1.79.1\u003c/h2\u003e\n\u003ch1\u003eBug Fixes\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003egrpc: Remove the \u003ccode\u003e-dev\u003c/code\u003e suffix from the User-Agent header. (\u003ca href=\"https://redirect.github.com/grpc/grpc-go/pull/8902\"\u003egrpc/grpc-go#8902\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRelease 1.79.0\u003c/h2\u003e\n\u003ch1\u003eAPI Changes\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003emem: Add experimental API \u003ccode\u003eSetDefaultBufferPool\u003c/code\u003e to change the default buffer pool. (\u003ca href=\"https://redirect.github.com/grpc/grpc-go/issues/8806\"\u003e#8806\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003eSpecial Thanks: \u003ca href=\"https://github.com/vanja-p\"\u003e\u003ccode\u003e@​vanja-p\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eexperimental/stats: Update \u003ccode\u003eMetricsRecorder\u003c/code\u003e to require embedding the new \u003ccode\u003eUnimplementedMetricsRecorder\u003c/code\u003e (a no-op struct) in all implementations for forward compatibility. (\u003ca href=\"https://redirect.github.com/grpc/grpc-go/issues/8780\"\u003e#8780\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/grpc/grpc-go/commit/397e45edaa68f8763773bbaaf539cf7894169cd2\"\u003e\u003ccode\u003e397e45e\u003c/code\u003e\u003c/a\u003e Change version to 1.80.0 (\u003ca href=\"https://redirect.github.com/grpc/grpc-go/issues/8948\"\u003e#8948\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/grpc/grpc-go/commit/64ebf0a600005838970e6ba1eb0a9e46e528ed73\"\u003e\u003ccode\u003e64ebf0a\u003c/code\u003e\u003c/a\u003e Cherry-pick \u003ca href=\"https://redirect.github.com/grpc/grpc-go/issues/8997\"\u003e#8997\u003c/a\u003e to v1.80.x (\u003ca href=\"https://redirect.github.com/grpc/grpc-go/issues/9027\"\u003e#9027\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/grpc/grpc-go/commit/e45ed241865981b6973cdd0dd69571456d570282\"\u003e\u003ccode\u003ee45ed24\u003c/code\u003e\u003c/a\u003e xds/rbac: add additional handling for addresses with ports (\u003ca href=\"https://redirect.github.com/grpc/grpc-go/issues/8990\"\u003e#8990\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/grpc/grpc-go/issues/9022\"\u003e#9022\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/grpc/grpc-go/commit/c78d26e03e129f5cb357b757037fcded2333b74e\"\u003e\u003ccode\u003ec78d26e\u003c/code\u003e\u003c/a\u003e Cherry-pick \u003ca href=\"https://redirect.github.com/grpc/grpc-go/issues/8957\"\u003e#8957\u003c/a\u003e to v1.80.x (\u003ca href=\"https://redirect.github.com/grpc/grpc-go/issues/9007\"\u003e#9007\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/grpc/grpc-go/commit/bd7cd3c1abbd27fb751275a58886444d52103482\"\u003e\u003ccode\u003ebd7cd3c\u003c/code\u003e\u003c/a\u003e grpc: enforce strict path checking for incoming requests on the server (\u003ca href=\"https://redirect.github.com/grpc/grpc-go/issues/8987\"\u003e#8987\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/grpc/grpc-go/commit/b6597b3d328c1ed6b003f9a23b942af7148352ca\"\u003e\u003ccode\u003eb6597b3\u003c/code\u003e\u003c/a\u003e xds/clusterimpl: use xdsConfig for updates and remove redundant fields from L...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/grpc/grpc-go/commit/1d4fa8a7b772553e82137b059ad4a8f632a1c522\"\u003e\u003ccode\u003e1d4fa8a\u003c/code\u003e\u003c/a\u003e xds: change cdsbalancer to use update from dependency manager (\u003ca href=\"https://redirect.github.com/grpc/grpc-go/issues/8907\"\u003e#8907\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/grpc/grpc-go/commit/8f47d364511c8eb0517b47e1a39f13a1370c6a10\"\u003e\u003ccode\u003e8f47d36\u003c/code\u003e\u003c/a\u003e attributes: Replace internal map with linked list (\u003ca href=\"https://redirect.github.com/grpc/grpc-go/issues/8933\"\u003e#8933\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/grpc/grpc-go/commit/22e1ee8085952b4bdadf2928c187d665f6daff99\"\u003e\u003ccode\u003e22e1ee8\u003c/code\u003e\u003c/a\u003e xds: add panic recovery in xdsclient resource unmarshalling. (\u003ca href=\"https://redirect.github.com/grpc/grpc-go/issues/8895\"\u003e#8895\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/grpc/grpc-go/commit/7136e99ee323c26984174eb3cec85c201fef9946\"\u003e\u003ccode\u003e7136e99\u003c/code\u003e\u003c/a\u003e credentials/alts: Pool write buffers (\u003ca href=\"https://redirect.github.com/grpc/grpc-go/issues/8919\"\u003e#8919\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/grpc/grpc-go/compare/v1.58.0...v1.80.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `google.golang.org/protobuf` from 1.31.0 to 1.36.11\n\nUpdates `gorm.io/driver/mysql` from 1.5.1 to 1.6.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/go-gorm/mysql/commit/d744156745998478ffa3c5395c3336ae6f0b0c0c\"\u003e\u003ccode\u003ed744156\u003c/code\u003e\u003c/a\u003e Don't overwrite existing clause builders\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/go-gorm/mysql/commit/f0a26459a30b6dcf05383840f9c6bc6992764fcd\"\u003e\u003ccode\u003ef0a2645\u003c/code\u003e\u003c/a\u003e build(deps): bump gorm.io/gorm from 1.25.11 to 1.30.0 (\u003ca href=\"https://redirect.github.com/go-gorm/mysql/issues/172\"\u003e#172\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/go-gorm/mysql/commit/d81572929ad34f62154d5187b7b436a67e29e3f9\"\u003e\u003ccode\u003ed815729\u003c/code\u003e\u003c/a\u003e Fix creating unique index on non-unique field (\u003ca href=\"https://redirect.github.com/go-gorm/mysql/issues/168\"\u003e#168\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/go-gorm/mysql/commit/449c37a0089d2396d67220f1a04e25032b2d3dba\"\u003e\u003ccode\u003e449c37a\u003c/code\u003e\u003c/a\u003e Updated the go version to 1.18. (\u003ca href=\"https://redirect.github.com/go-gorm/mysql/issues/159\"\u003e#159\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/go-gorm/mysql/commit/c829f6e3d7f916190f9ab96fc75ffdd89188bd39\"\u003e\u003ccode\u003ec829f6e\u003c/code\u003e\u003c/a\u003e Fixed missing database name with table name. (\u003ca href=\"https://redirect.github.com/go-gorm/mysql/issues/153\"\u003e#153\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/go-gorm/mysql/commit/361eb5f8915096ec10db6d0325d9a3ddcf86f962\"\u003e\u003ccode\u003e361eb5f\u003c/code\u003e\u003c/a\u003e define default driver name constant (\u003ca href=\"https://redirect.github.com/go-gorm/mysql/issues/155\"\u003e#155\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/go-gorm/mysql/commit/9d1b8d6223195000eff181349ae24ed28dbd9c52\"\u003e\u003ccode\u003e9d1b8d6\u003c/code\u003e\u003c/a\u003e Fix insert id order for mariadb\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/go-gorm/mysql/commit/d848c693dc02414a8dbd80648f93146258d35525\"\u003e\u003ccode\u003ed848c69\u003c/code\u003e\u003c/a\u003e Fix set time field's precision to 0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/go-gorm/mysql/commit/e724f924732928c2dcb1151cdcd05e48bad1cd24\"\u003e\u003ccode\u003ee724f92\u003c/code\u003e\u003c/a\u003e only trim paired single-quotes for column.DefaultValue (\u003ca href=\"https://redirect.github.com/go-gorm/mysql/issues/143\"\u003e#143\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/go-gorm/mysql/commit/739f97b32c7708a7c49d3fd57d78a22885efdf05\"\u003e\u003ccode\u003e739f97b\u003c/code\u003e\u003c/a\u003e feat: map mysql error 1451 to gorm error (\u003ca href=\"https://redirect.github.com/go-gorm/mysql/issues/145\"\u003e#145\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/go-gorm/mysql/compare/v1.5.1...v1.6.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `gorm.io/gorm` from 1.25.4 to 1.30.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/go-gorm/gorm/releases\"\u003egorm.io/gorm's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease v1.30.0\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e(WIP) Implement Generics API \u003ca href=\"https://github.com/jinzhu\"\u003e\u003ccode\u003e@​jinzhu\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/go-gorm/gorm/issues/7424\"\u003e#7424\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eperf(schema): avoid redundant strings.ToLower call \u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/go-gorm/gorm/issues/7464\"\u003e#7464\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: return init dialector error \u003ca href=\"https://github.com/codingplz\"\u003e\u003ccode\u003e@​codingplz\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/go-gorm/gorm/issues/7379\"\u003e#7379\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eperf: break early on match failure in ParseConstraint \u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/go-gorm/gorm/issues/7402\"\u003e#7402\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat: error message show field name \u003ca href=\"https://github.com/pi12138\"\u003e\u003ccode\u003e@​pi12138\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/go-gorm/gorm/issues/7452\"\u003e#7452\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eperf: use strings.IndexByte to replace strings.Index \u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/go-gorm/gorm/issues/7454\"\u003e#7454\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eperf: use strings.Cut to replace strings.SplitN \u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/go-gorm/gorm/issues/7455\"\u003e#7455\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRelease v1.26.1\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: int type variable defaultMaxSize overflows in 32-bit environment \u003ca href=\"https://github.com/iTanken\"\u003e\u003ccode\u003e@​iTanken\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/go-gorm/gorm/issues/7439\"\u003e#7439\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRelease v1.26.0\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePreparestmt use LRU Map instead default map \u003ca href=\"https://github.com/Yaccc\"\u003e\u003ccode\u003e@​Yaccc\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/go-gorm/gorm/issues/7435\"\u003e#7435\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003euse golangci replace reviewdog \u003ca href=\"https://github.com/jinzhu\"\u003e\u003ccode\u003e@​jinzhu\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/go-gorm/gorm/issues/7426\"\u003e#7426\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etest: mssql ci \u003ca href=\"https://github.com/a631807682\"\u003e\u003ccode\u003e@​a631807682\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/go-gorm/gorm/issues/7388\"\u003e#7388\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix deprecated reflect.PtrTo reflect.PointerTo usage \u003ca href=\"https://github.com/Aman-Shitta\"\u003e\u003ccode\u003e@​Aman-Shitta\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/go-gorm/gorm/issues/7366\"\u003e#7366\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix concurrent map writes \u003ca href=\"https://redirect.github.com/go-gorm/gorm/issues/7297\"\u003e#7297\u003c/a\u003e \u003ca href=\"https://github.com/Ponywka\"\u003e\u003ccode\u003e@​Ponywka\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/go-gorm/gorm/issues/7298\"\u003e#7298\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: update copyright year \u003ca href=\"https://github.com/maxktz\"\u003e\u003ccode\u003e@​maxktz\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/go-gorm/gorm/issues/7332\"\u003e#7332\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnhance db.Scan with ParamsFilter - Issue 7336 - Suggestion \u003ca href=\"https://github.com/evyaffe\"\u003e\u003ccode\u003e@​evyaffe\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/go-gorm/gorm/issues/7337\"\u003e#7337\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed Empty Returning Clause Merge Edge Case \u003ca href=\"https://github.com/aviyam181199\"\u003e\u003ccode\u003e@​aviyam181199\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/go-gorm/gorm/issues/7339\"\u003e#7339\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat:Capitalize the priority field of IndexOption（\u003ca href=\"https://redirect.github.com/go-gorm/gorm/issues/7331%EF%BC%89\"\u003ego-gorm/gorm#7331\u003c/a\u003e \u003ca href=\"https://github.com/nowindexman\"\u003e\u003ccode\u003e@​nowindexman\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/go-gorm/gorm/issues/7342\"\u003e#7342\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: deterministic index ordering when migrating \u003ca href=\"https://github.com/bamo\"\u003e\u003ccode\u003e@​bamo\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/go-gorm/gorm/issues/7208\"\u003e#7208\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003euse map look-up for indexes \u003ca href=\"https://github.com/abbyssoul\"\u003e\u003ccode\u003e@​abbyssoul\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/go-gorm/gorm/issues/7242\"\u003e#7242\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/go-gorm/gorm/issues/6372\"\u003e#6372\u003c/a\u003e Fixed nullable constraint bug for columns during auto migration \u003ca href=\"https://github.com/wookie0\"\u003e\u003ccode\u003e@​wookie0\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/go-gorm/gorm/issues/7269\"\u003e#7269\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCreate CODE_OF_CONDUCT.md \u003ca href=\"https://github.com/omidfth\"\u003e\u003ccode\u003e@​omidfth\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/go-gorm/gorm/issues/7240\"\u003e#7240\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnhance Release Process: Implement Automated Release Management and Notes Generation \u003ca href=\"https://github.com/YidiDev\"\u003e\u003ccode\u003e@​YidiDev\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/go-gorm/gorm/issues/7224\"\u003e#7224\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor: improve logging for unimplemented ErrorTranslator in TranlateError config enabled \u003ca href=\"https://github.com/Invidam\"\u003e\u003ccode\u003e@​Invidam\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/go-gorm/gorm/issues/7225\"\u003e#7225\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd GitHub Actions workflow to automate release creation on tagged pushes \u003ca href=\"https://github.com/YidiDev\"\u003e\u003ccode\u003e@​YidiDev\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/go-gorm/gorm/issues/7209\"\u003e#7209\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse official SQL Server docker image for tests \u003ca href=\"https://github.com/omkar-foss\"\u003e\u003ccode\u003e@​omkar-foss\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/go-gorm/gorm/issues/7205\"\u003e#7205\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat: Modernize Docker Compose File \u003ca href=\"https://github.com/isso-719\"\u003e\u003ccode\u003e@​isso-719\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/go-gorm/gorm/issues/7086\"\u003e#7086\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGenerate unique savepoint names for nested transactions \u003ca href=\"https://github.com/phroggyy\"\u003e\u003ccode\u003e@​phroggyy\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/go-gorm/gorm/issues/7174\"\u003e#7174\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: AfterQuery using safer right trim while clearing from clause's j… \u003ca href=\"https://github.com/bhowmik-abhijeet\"\u003e\u003ccode\u003e@​bhowmik-abhijeet\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/go-gorm/gorm/issues/7153\"\u003e#7153\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix memory leaks in PrepareStatementDB \u003ca href=\"https://github.com/ivila\"\u003e\u003ccode\u003e@​ivila\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/go-gorm/gorm/issues/7142\"\u003e#7142\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eci: Add PostgreSQL 14 and 15 to GitHub Actions matrix \u003ca href=\"https://github.com/enomotodev\"\u003e\u003ccode\u003e@​enomotodev\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/go-gorm/gorm/issues/7081\"\u003e#7081\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat: add MapColumns method \u003ca href=\"https://github.com/molon\"\u003e\u003ccode\u003e@​molon\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/go-gorm/gorm/issues/6901\"\u003e#6901\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd DB level propagation for the Unscoped flag \u003ca href=\"https://github.com/sprataa\"\u003e\u003ccode\u003e@​sprataa\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/go-gorm/gorm/issues/7007\"\u003e#7007\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(scan): update Scan function to reset structs to zero values for each scan \u003ca href=\"https://github.com/Waldeedle\"\u003e\u003ccode\u003e@​Waldeedle\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/go-gorm/gorm/issues/7061\"\u003e#7061\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: use reflect.Append when preloading nested associations instead of making a slice with fixed size \u003ca href=\"https://github.com/emilienkofman\"\u003e\u003ccode\u003e@​emilienkofman\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/go-gorm/gorm/issues/7014\"\u003e#7014\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix association replace non-addressable panic \u003ca href=\"https://github.com/SergeiSadov\"\u003e\u003ccode\u003e@​SergeiSadov\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/go-gorm/gorm/issues/7012\"\u003e#7012\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: \u003ccode\u003eunsupported data\u003c/code\u003e on nested joins with preloads \u003ca href=\"https://github.com/N-Schaef\"\u003e\u003ccode\u003e@​N-Schaef\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/go-gorm/gorm/issues/6957\"\u003e#6957\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: AfterQuery should clear FROM Clause's Joins rather than the Stat… \u003ca href=\"https://github.com/liov\"\u003e\u003ccode\u003e@​liov\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/go-gorm/gorm/issues/7027\"\u003e#7027\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat: chainable order support clause.OrderBy \u003ca href=\"https://github.com/supergem3000\"\u003e\u003ccode\u003e@​supergem3000\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/go-gorm/gorm/issues/7054\"\u003e#7054\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: strings.Title -\u0026gt; cases.Title bcs strings.Title library is deprecated \u003ca href=\"https://github.com/ryuji-cre8ive\"\u003e\u003ccode\u003e@​ryuji-cre8ive\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/go-gorm/gorm/issues/6999\"\u003e#6999\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/go-gorm/gorm/commit/c44405a25b0fb15c20265e672b8632b8774793ca\"\u003e\u003ccode\u003ec44405a\u003c/code\u003e\u003c/a\u003e Implement Generics API (\u003ca href=\"https://redirect.github.com/go-gorm/gorm/issues/7424\"\u003e#7424\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/go-gorm/gorm/commit/751c1d6b45245843405c87d8b4b94e26c26b1ba8\"\u003e\u003ccode\u003e751c1d6\u003c/code\u003e\u003c/a\u003e perf(schema): avoid redundant strings.ToLower call (\u003ca href=\"https://redirect.github.com/go-gorm/gorm/issues/7464\"\u003e#7464\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/go-gorm/gorm/commit/8e7ab46c1b865386bbb8f5322d64880ee5ce6f40\"\u003e\u003ccode\u003e8e7ab46\u003c/code\u003e\u003c/a\u003e fix: return init dialector error (\u003ca href=\"https://redirect.github.com/go-gorm/gorm/issues/7379\"\u003e#7379\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/go-gorm/gorm/commit/e3037e4ef0394faf118cf926fd03283995d6da1f\"\u003e\u003ccode\u003ee3037e4\u003c/code\u003e\u003c/a\u003e perf: break early on match failure in ParseConstraint (\u003ca href=\"https://redirect.github.com/go-gorm/gorm/issues/7402\"\u003e#7402\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/go-gorm/gorm/commit/12043304197c54237d430825e90adc50d63ef383\"\u003e\u003ccode\u003e1204330\u003c/code\u003e\u003c/a\u003e feat: error message show field name (\u003ca href=\"https://redirect.github.com/go-gorm/gorm/issues/7452\"\u003e#7452\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/go-gorm/gorm/commit/9703eb775f203e916759bfa51af6724b05ff04ba\"\u003e\u003ccode\u003e9703eb7\u003c/code\u003e\u003c/a\u003e perf: use strings.IndexByte to replace strings.Index (\u003ca href=\"https://redirect.github.com/go-gorm/gorm/issues/7454\"\u003e#7454\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/go-gorm/gorm/commit/1c966e0d25a6cdedbb7d599eae0cd060a0572ddf\"\u003e\u003ccode\u003e1c966e0\u003c/code\u003e\u003c/a\u003e perf: use strings.Cut to replace strings.SplitN (\u003ca href=\"https://redirect.github.com/go-gorm/gorm/issues/7455\"\u003e#7455\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/go-gorm/gorm/commit/e5b867e785039199800f0549c60fe688dc0304d2\"\u003e\u003ccode\u003ee5b867e\u003c/code\u003e\u003c/a\u003e remove unnecessary session-level configuration for prepared statements\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/go-gorm/gorm/commit/8c4e8e2d2a63ef019048bd988a2016948605920b\"\u003e\u003ccode\u003e8c4e8e2\u003c/code\u003e\u003c/a\u003e fix: int type variable defaultMaxSize overflows in 32-bit environment (\u003ca href=\"https://redirect.github.com/go-gorm/gorm/issues/7439\"\u003e#7439\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/go-gorm/gorm/commit/a827495be126f896c0f744043410642d70bbac1b\"\u003e\u003ccode\u003ea827495\u003c/code\u003e\u003c/a\u003e Preparestmt use LRU Map instead default map (\u003ca href=\"https://redirect.github.com/go-gorm/gorm/issues/7435\"\u003e#7435\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/go-gorm/gorm/compare/v1.25.4...v1.30.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/alibabacloud-go/tea` from 1.2.1 to 1.4.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/alibabacloud-go/tea/releases\"\u003egithub.com/alibabacloud-go/tea's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease V1.4.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: improve DNS robustness and refine timeout logic by \u003ca href=\"https://github.com/yndu13\"\u003e\u003ccode\u003e@​yndu13\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/alibabacloud-go/tea/pull/156\"\u003ealibabacloud-go/tea#156\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/alibabacloud-go/tea/compare/v1.3.14...v1.4.0\"\u003ehttps://github.com/alibabacloud-go/tea/compare/v1.3.14...v1.4.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eRelease V1.3.14\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/alibabacloud-go/tea/compare/v1.3.13...v1.3.14\"\u003ehttps://github.com/alibabacloud-go/tea/compare/v1.3.13...v1.3.14\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eRelease V1.3.13\u003c/h2\u003e\n\u003cp\u003eNo release notes provided.\u003c/p\u003e\n\u003ch2\u003eRelease V1.3.12\u003c/h2\u003e\n\u003cp\u003eNo release notes provided.\u003c/p\u003e\n\u003ch2\u003eRelease V1.3.11\u003c/h2\u003e\n\u003cp\u003eNo release notes provided.\u003c/p\u003e\n\u003ch2\u003eRelease V1.3.10\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eadd ctx\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRelease V1.3.9\u003c/h2\u003e\n\u003cp\u003eNo release notes provided.\u003c/p\u003e\n\u003ch2\u003eRelease V1.3.8\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd runtime retry options\u003c/li\u003e\n\u003cli\u003eFixed the default judge logic\u003c/li\u003e\n\u003cli\u003eFixed the ToMap\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRelease V1.3.7\u003c/h2\u003e\n\u003cp\u003eNo release notes provided.\u003c/p\u003e\n\u003ch2\u003eRelease V1.3.6\u003c/h2\u003e\n\u003cp\u003eNo release notes provided.\u003c/p\u003e\n\u003ch2\u003eRelease V1.3.5\u003c/h2\u003e\n\u003cp\u003eNo release notes provided.\u003c/p\u003e\n\u003ch2\u003eRelease V1.3.4\u003c/h2\u003e\n\u003cp\u003eNo release notes provided.\u003c/p\u003e\n\u003ch2\u003eRelease V1.3.3\u003c/h2\u003e\n\u003cp\u003eNo release notes provided.\u003c/p\u003e\n\u003ch2\u003eRlease v1.3.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix the ReadAsSSE  as stream.go\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRelease V1.3.1\u003c/h2\u003e\n\u003cp\u003eNo release notes provided.\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/alibabacloud-go/tea/commit/75efc7f189245ec38ad3f70d4d7b33cc33a5b30e\"\u003e\u003ccode\u003e75efc7f\u003c/code\u003e\u003c/a\u003e fix: improve DNS robustness and refine timeout logic\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/alibabacloud-go/tea/commit/af5f206bd88bf380d708f564538fa014c2ebf735\"\u003e\u003ccode\u003eaf5f206\u003c/code\u003e\u003c/a\u003e fix socks5 proxy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/alibabacloud-go/tea/commit/5c6eb77b428385d921d0490f213a4e67b733d677\"\u003e\u003ccode\u003e5c6eb77\u003c/code\u003e\u003c/a\u003e support IdleTimeout\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/alibabacloud-go/tea/commit/0f6d084c670376a72c70a61be3c4386bc20d0523\"\u003e\u003ccode\u003e0f6d084\u003c/code\u003e\u003c/a\u003e fix validate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/alibabacloud-go/tea/commit/df04276c089ef0ff4c730e0aba953fe401784474\"\u003e\u003ccode\u003edf04276\u003c/code\u003e\u003c/a\u003e add ReadAsSSEWithContext\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/alibabacloud-go/tea/commit/622f315135c6c502debc759361b608f3e21f15e8\"\u003e\u003ccode\u003e622f315\u003c/code\u003e\u003c/a\u003e fix sse\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/alibabacloud-go/tea/commit/31de98dc535c2f3ef45a9fd4a8d6b66dbfb95ea7\"\u003e\u003ccode\u003e31de98d\u003c/code\u003e\u003c/a\u003e add context\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/alibabacloud-go/tea/commit/f93724f86573b11eb172a0919ec41b4266bd9a15\"\u003e\u003ccode\u003ef93724f\u003c/code\u003e\u003c/a\u003e fix the stringify\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/alibabacloud-go/tea/commit/fdbb29ef15b84a40d6dbc4b5717d81b9156fd159\"\u003e\u003ccode\u003efdbb29e\u003c/code\u003e\u003c/a\u003e fix the toMap when input is basic map\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/alibabacloud-go/tea/commit/a4d8c8f7f5cfe0b27275d6b4c3bab2907385d4c4\"\u003e\u003ccode\u003ea4d8c8f\u003c/code\u003e\u003c/a\u003e fix default condition\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/alibabacloud-go/tea/compare/v1.2.1...v1.4.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/go-sql-driver/mysql` from 1.7.1 to 1.8.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/go-sql-driver/mysql/releases\"\u003egithub.com/go-sql-driver/mysql's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.8.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cp\u003eBugfixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003efix race condition when context is canceled in \u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/pull/1562\"\u003e#1562\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/pull/1570\"\u003e#1570\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/go-sql-driver/mysql/compare/v1.8.0...v1.8.1\"\u003ehttps://github.com/go-sql-driver/mysql/compare/v1.8.0...v1.8.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.8.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch2\u003eMajor changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eUse \u003ccode\u003eSET NAMES charset COLLATE collation\u003c/code\u003e. by \u003ca href=\"https://github.com/methane\"\u003e\u003ccode\u003e@​methane\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/pull/1437\"\u003ego-sql-driver/mysql#1437\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eOlder go-mysql-driver used \u003ccode\u003ecollation_id\u003c/code\u003e in the handshake packet. But it caused collation mismatch in some situation.\u003c/li\u003e\n\u003cli\u003eIf you don't specify charset nor collation, go-mysql-driver sends \u003ccode\u003eSET NAMES utf8mb4\u003c/code\u003e for new connection. This uses server's default collation for utf8mb4.\u003c/li\u003e\n\u003cli\u003eIf you specify charset, go-mysql-driver sends \u003ccode\u003eSET NAMES \u0026lt;charset\u0026gt;\u003c/code\u003e. This uses the server's default collation for \u003ccode\u003e\u0026lt;charset\u0026gt;\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eIf you specify collation and/or charset, go-mysql-driver sends \u003ccode\u003eSET NAMES charset COLLATE collation\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003ePathEscape dbname in DSN. by \u003ca href=\"https://github.com/methane\"\u003e\u003ccode\u003e@​methane\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/pull/1432\"\u003ego-sql-driver/mysql#1432\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThis is backward incompatible in rare case. Check your DSN.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDrop Go 1.13-17 support by \u003ca href=\"https://github.com/methane\"\u003e\u003ccode\u003e@​methane\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/pull/1420\"\u003ego-sql-driver/mysql#1420\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUse Go 1.18+\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eParse numbers on text protocol too by \u003ca href=\"https://github.com/methane\"\u003e\u003ccode\u003e@​methane\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/pull/1452\"\u003ego-sql-driver/mysql#1452\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eWhen text protocol is used, go-mysql-driver passed bare \u003ccode\u003e[]byte\u003c/code\u003e to database/sql for avoid unnecessary allocation and conversion.\u003c/li\u003e\n\u003cli\u003eIf user specified \u003ccode\u003e*any\u003c/code\u003e to \u003ccode\u003eScan()\u003c/code\u003e, database/sql passed the \u003ccode\u003e[]byte\u003c/code\u003e into the target variabe.\u003c/li\u003e\n\u003cli\u003eThis confused users because most user doesn't know when text/binary protocol used.\u003c/li\u003e\n\u003cli\u003ego-mysql-driver 1.8 converts integer/float values into int64/double even in text protocol. This doesn't increase allocation compared to \u003ccode\u003e[]byte\u003c/code\u003e and conversion cost is negilible.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eNew options start using the Functional Option Pattern to avoid increasing technical debt in the Config object. Future version may introduce Functional Option for existing options, but not for now.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eMake TimeTruncate functional option by \u003ca href=\"https://github.com/methane\"\u003e\u003ccode\u003e@​methane\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/pull/1552\"\u003ego-sql-driver/mysql#1552\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd BeforeConnect callback to configuration object by \u003ca href=\"https://github.com/ItalyPaleAle\"\u003e\u003ccode\u003e@​ItalyPaleAle\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/pull/1469\"\u003ego-sql-driver/mysql#1469\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdding DeregisterDialContext to prevent memory leaks with dialers we don't need anymore by \u003ca href=\"https://github.com/jypelle\"\u003e\u003ccode\u003e@​jypelle\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/pull/1422\"\u003ego-sql-driver/mysql#1422\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake logger configurable per connection by \u003ca href=\"https://github.com/frozenbonito\"\u003e\u003ccode\u003e@​frozenbonito\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/pull/1408\"\u003ego-sql-driver/mysql#1408\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix ColumnType.DatabaseTypeName for mediumint unsigned by \u003ca href=\"https://github.com/evanelias\"\u003e\u003ccode\u003e@​evanelias\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/pull/1428\"\u003ego-sql-driver/mysql#1428\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd connection attributes by \u003ca href=\"https://github.com/Daemonxiao\"\u003e\u003ccode\u003e@​Daemonxiao\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/pull/1389\"\u003ego-sql-driver/mysql#1389\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStop \u003ccode\u003eColumnTypeScanType()\u003c/code\u003e from returning \u003ccode\u003esql.RawBytes\u003c/code\u003e by \u003ca href=\"https://github.com/methane\"\u003e\u003ccode\u003e@​methane\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/pull/1424\"\u003ego-sql-driver/mysql#1424\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eExec() now provides access to status of multiple statements. by \u003ca href=\"https://github.com/mherr-google\"\u003e\u003ccode\u003e@​mherr-google\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/pull/1309\"\u003ego-sql-driver/mysql#1309\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAllow to change (or disable) the default driver name for registration by \u003ca href=\"https://github.com/dolmen\"\u003e\u003ccode\u003e@​dolmen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/pull/1499\"\u003ego-sql-driver/mysql#1499\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/go-sql-driver/mysql/blob/master/CHANGELOG.md\"\u003egithub.com/go-sql-driver/mysql's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.8.1 (2024-03-26)\u003c/h2\u003e\n\u003cp\u003eBugfixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003efix race condition when context is canceled in \u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/pull/1562\"\u003e#1562\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/pull/1570\"\u003e#1570\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 1.8.0 (2024-03-09)\u003c/h2\u003e\n\u003cp\u003eMajor Changes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUse \u003ccode\u003eSET NAMES charset COLLATE collation\u003c/code\u003e. by \u003ca href=\"https://github.com/methane\"\u003e\u003ccode\u003e@​methane\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/pull/1437\"\u003e#1437\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003eOlder go-mysql-driver used \u003ccode\u003ecollation_id\u003c/code\u003e in the handshake packet. But it caused collation mismatch in some situation.\u003c/li\u003e\n\u003cli\u003eIf you don't specify charset nor collation, go-mysql-driver sends \u003ccode\u003eSET NAMES utf8mb4\u003c/code\u003e for new connection. This uses server's default collation for utf8mb4.\u003c/li\u003e\n\u003cli\u003eIf you specify charset, go-mysql-driver sends \u003ccode\u003eSET NAMES \u0026lt;charset\u0026gt;\u003c/code\u003e. This uses the server's default collation for \u003ccode\u003e\u0026lt;charset\u0026gt;\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eIf you specify collation and/or charset, go-mysql-driver sends \u003ccode\u003eSET NAMES charset COLLATE collation\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003ePathEscape dbname in DSN. by \u003ca href=\"https://github.com/methane\"\u003e\u003ccode\u003e@​methane\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/pull/1432\"\u003e#1432\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003eThis is backward incompatible in rare case. Check your DSN.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eDrop Go 1.13-17 support by \u003ca href=\"https://github.com/methane\"\u003e\u003ccode\u003e@​methane\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/pull/1420\"\u003e#1420\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003eUse Go 1.18+\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eParse numbers on text protocol too by \u003ca href=\"https://github.com/methane\"\u003e\u003ccode\u003e@​methane\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/pull/1452\"\u003e#1452\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003eWhen text protocol is used, go-mysql-driver passed bare \u003ccode\u003e[]byte\u003c/code\u003e to database/sql for avoid unnecessary allocation and conversion.\u003c/li\u003e\n\u003cli\u003eIf user specified \u003ccode\u003e*any\u003c/code\u003e to \u003ccode\u003eScan()\u003c/code\u003e, database/sql passed the \u003ccode\u003e[]byte\u003c/code\u003e into the target variable.\u003c/li\u003e\n\u003cli\u003eThis confused users because most user doesn't know when text/binary protocol used.\u003c/li\u003e\n\u003cli\u003ego-mysql-driver 1.8 converts integer/float values into int64/double even in text protocol. This doesn't increase allocation compared to \u003ccode\u003e[]byte\u003c/code\u003e and conversion cost is negatable.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eNew options start using the Functional Option Pattern to avoid increasing technical debt in the Config object. Future version may introduce Functional Option for existing options, but not for now.\n\u003cul\u003e\n\u003cli\u003eMake TimeTruncate functional option by \u003ca href=\"https://github.com/methane\"\u003e\u003ccode\u003e@​methane\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/pull/1552\"\u003e1552\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd BeforeConnect callback to configuration object by \u003ca href=\"https://github.com/ItalyPaleAle\"\u003e\u003ccode\u003e@​ItalyPaleAle\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/pull/1469\"\u003e#1469\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eOther changes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdding DeregisterDialContext to prevent memory leaks with dialers we don't need anymore by \u003ca href=\"https://github.com/jypelle\"\u003e\u003ccode\u003e@​jypelle\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/pull/1422\"\u003ego-sql-driver/mysql#1422\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake logger configurable per connection by \u003ca href=\"https://github.com/frozenbonito\"\u003e\u003ccode\u003e@​frozenbonito\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/pull/1408\"\u003ego-sql-driver/mysql#1408\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix ColumnType.DatabaseTypeName for mediumint unsigned by \u003ca href=\"https://github.com/evanelias\"\u003e\u003ccode\u003e@​evanelias\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/pull/1428\"\u003ego-sql-driver/mysql#1428\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd connection attributes by \u003ca href=\"https://github.com/Daemonxiao\"\u003e\u003ccode\u003e@​Daemonxiao\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/pull/1389\"\u003ego-sql-driver/mysql#1389\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStop \u003ccode\u003eColumnTypeScanType()\u003c/code\u003e from returning \u003ccode\u003esql.RawBytes\u003c/code\u003e by \u003ca href=\"https://github.com/methane\"\u003e\u003ccode\u003e@​methane\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/pull/1424\"\u003ego-sql-driver/mysql#1424\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eExec() now provides access to status of multiple statements. by \u003ca href=\"https://github.com/mherr-google\"\u003e\u003ccode\u003e@​mherr-google\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/pull/1309\"\u003ego-sql-driver/mysql#1309\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAllow to change (or disable) the default driver name for registration by \u003ca href=\"https://github.com/dolmen\"\u003e\u003ccode\u003e@​dolmen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/go-sql-driver/mysql/pull/1499\"\u003ego-sql-driver/mysql#1499\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd de...\n\n_Description has been truncated_","html_url":"https://github.com/laogui0088511-pixel/chat/pull/2","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/laogui0088511-pixel%2Fchat/issues/2","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/2/packages"}},{"old_version":"1.8.1","new_version":"1.12.0","update_type":"minor","path":null,"pr_created_at":"2026-04-22T17:17:34.000Z","version_change":"1.8.1 → 1.12.0","issue":{"uuid":"4310683330","node_id":"PR_kwDOC6xJac7UtQ-V","number":70,"state":"closed","title":"Bump github.com/gin-gonic/gin from 1.8.1 to 1.12.0","user":"dependabot[bot]","labels":["dependencies"],"assignees":[],"locked":false,"comments_count":4,"pull_request":true,"closed_at":"2026-04-25T18:34:30.000Z","author_association":null,"state_reason":null,"created_at":"2026-04-22T17:17:34.000Z","updated_at":"2026-04-25T18:34:39.000Z","time_to_close":263816,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"github.com/gin-gonic/gin","old_version":"1.8.1","new_version":"1.12.0","repository_url":"https://github.com/gin-gonic/gin"}],"path":null,"ecosystem":"go"},"body":"Bumps [github.com/gin-gonic/gin](https://github.com/gin-gonic/gin) from 1.8.1 to 1.12.0.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/gin-gonic/gin/releases\"\u003egithub.com/gin-gonic/gin's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.12.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e192ac89eefc1c30f7c97ae48a9ffb1c6f1c8c8bc: feat(binding): add support for encoding.UnmarshalText in uri/query binding (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4203\"\u003e#4203\u003c/a\u003e) (\u003ca href=\"https://github.com/takanuva15\"\u003e\u003ccode\u003e@​takanuva15\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e53410d2e07054369e0960fbe2eed97e1b9966f12: feat(context): add GetError and GetErrorSlice methods for error retrieval (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4502\"\u003e#4502\u003c/a\u003e) (\u003ca href=\"https://github.com/raju-mechatronics\"\u003e\u003ccode\u003e@​raju-mechatronics\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eacc55e049e33b401e810dbd8c0d6dcb6b3ba2b05: feat(context): add Protocol Buffers support to content negotiation (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4423\"\u003e#4423\u003c/a\u003e) (\u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e38e765119241d990705169bedb5002a29ae0cbd1: feat(context): implemented Delete method (\u003ca href=\"https://github.com/Spyder01\"\u003e\u003ccode\u003e@​Spyder01\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e771dcc6476d7bc6abb9ec0235ecefa4d38fe6fb0: feat(gin): add option to use escaped path (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4420\"\u003e#4420\u003c/a\u003e) (\u003ca href=\"https://github.com/ldesauw\"\u003e\u003ccode\u003e@​ldesauw\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e4dec17afdff48e8018c83618fbbe69fceeb2b41d: feat(logger): color latency (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4146\"\u003e#4146\u003c/a\u003e) (\u003ca href=\"https://github.com/wsyqn6\"\u003e\u003ccode\u003e@​wsyqn6\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ed7776de7d444935ea4385999711bd6331a98fecb: feat(render): add bson protocol (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4145\"\u003e#4145\u003c/a\u003e) (\u003ca href=\"https://github.com/laurentcau\"\u003e\u003ccode\u003e@​laurentcau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eb917b14ff9d189f16a7492be79d123a47806ee19: fix(binding): empty value error (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/2169\"\u003e#2169\u003c/a\u003e) (\u003ca href=\"https://github.com/guonaihong\"\u003e\u003ccode\u003e@​guonaihong\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ec3d1092b3b48addf6f9cd00fe274ec3bd14650eb: fix(binding): improve empty slice/array handling in form binding (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4380\"\u003e#4380\u003c/a\u003e) (\u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e9914178584e42458ff7d23891463a880f58c9d86: fix(context): ClientIP handling for multiple X-Forwarded-For header values (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4472\"\u003e#4472\u003c/a\u003e) (\u003ca href=\"https://github.com/Nurysso\"\u003e\u003ccode\u003e@​Nurysso\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e2a794cd0b0faa7d829291375b27a3467ea972b0d: fix(debug): version mismatch (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4403\"\u003e#4403\u003c/a\u003e) (\u003ca href=\"https://github.com/zeek0x\"\u003e\u003ccode\u003e@​zeek0x\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ec3d5a28ed6d3849da820195b6774d212bcc038a9: fix(gin): close os.File in RunFd to prevent resource leak (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4422\"\u003e#4422\u003c/a\u003e) (\u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e5fad976b372e381312f8de69f0969f1284d229d3: fix(gin): literal colon routes not working with engine.Handler() (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4415\"\u003e#4415\u003c/a\u003e) (\u003ca href=\"https://github.com/pawannn\"\u003e\u003ccode\u003e@​pawannn\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e63dd3e60cab89c27fb66bce1423bd268d52abad1: fix(recover): suppress http.ErrAbortHandler in recover (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4336\"\u003e#4336\u003c/a\u003e) (\u003ca href=\"https://github.com/MondayCha\"\u003e\u003ccode\u003e@​MondayCha\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e5c00df8afadd06cc5be530dde00fe6d9fa4a2e4a: fix(render): write content length in Data.Render (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4206\"\u003e#4206\u003c/a\u003e) (\u003ca href=\"https://github.com/dengaleev\"\u003e\u003ccode\u003e@​dengaleev\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e234a6d4c00cb77af9852aca0b8289745d5529b4b: fix(response): refine hijack behavior for response lifecycle (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4373\"\u003e#4373\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e472d086af2acd924cb4b9d7be0525f7d790f69bc: fix(tree): panic in findCaseInsensitivePathRec with RedirectFixedPath (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4535\"\u003e#4535\u003c/a\u003e) (\u003ca href=\"https://github.com/veeceey\"\u003e\u003ccode\u003e@​veeceey\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e8e07d37c63e5536eb25f4af4c91eabeee4011fba: fix: Correct typos, improve documentation clarity, and remove dead code (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4511\"\u003e#4511\u003c/a\u003e) (\u003ca href=\"https://github.com/mahanadh\"\u003e\u003ccode\u003e@​mahanadh\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eba093d19477b896ac89a7fc3246af23d290b8e26: chore(binding): upgrade bson dependency to mongo-driver v2 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4549\"\u003e#4549\u003c/a\u003e) (\u003ca href=\"https://github.com/BobDu\"\u003e\u003ccode\u003e@​BobDu\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eb2b489dbf4826c2c630717a77fd5e42774625410: chore(context): always trust xff headers from unix socket (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/3359\"\u003e#3359\u003c/a\u003e) (\u003ca href=\"https://github.com/WeidiDeng\"\u003e\u003ccode\u003e@​WeidiDeng\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eecb3f7b5e2f3915bf1db240ed5eee572f8dbea36: chore(deps): upgrade golang.org/x/crypto to v0.45.0 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4449\"\u003e#4449\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eaf6e8b70b8261bb0c99ad094fe552ab92991620a: chore(deps): upgrade quic-go to v0.57.1 (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edb309081bc5c137b2aa15701ef53f7f19788da25: chore(logger): allow skipping query string output (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4547\"\u003e#4547\u003c/a\u003e) (\u003ca href=\"https://github.com/USA-RedDragon\"\u003e\u003ccode\u003e@​USA-RedDragon\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e26c3a628655cad2388380cb8102d6ce7d4875f3b: chore(response): prevent Flush() panic when \u003ccode\u003ehttp.Flusher\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4479\"\u003e#4479\u003c/a\u003e) (\u003ca href=\"https://github.com/Twacqwq\"\u003e\u003ccode\u003e@​Twacqwq\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e5dd833f1f26de0eb30eae47b17e05ced2482dc41: chore: bump minimum Go version to 1.24 and update workflows (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4388\"\u003e#4388\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRefactor\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e39858a0859c914bd26948fa950477e11bd8d3823: refactor(binding): use maps.Copy for cleaner map handling (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4352\"\u003e#4352\u003c/a\u003e) (\u003ca href=\"https://github.com/russcoss\"\u003e\u003ccode\u003e@​russcoss\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ec0048f645ee945c4db30593afdea10123e2c30a6: refactor(context): omit the return value names (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4395\"\u003e#4395\u003c/a\u003e) (\u003ca href=\"https://github.com/wanghaolong613\"\u003e\u003ccode\u003e@​wanghaolong613\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e915e4c90d28ec4cffc6eb146e208ab5a65eac772: refactor(context): replace hardcoded localhost IPs with constants (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4481\"\u003e#4481\u003c/a\u003e) (\u003ca href=\"https://github.com/pauloappbr\"\u003e\u003ccode\u003e@​pauloappbr\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e414de60574449457f3192a7a1d5528940db2836d: refactor(context): using maps.Clone (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4333\"\u003e#4333\u003c/a\u003e) (\u003ca href=\"https://github.com/cuiweixie\"\u003e\u003ccode\u003e@​cuiweixie\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e59e9d4a794f12c4f9a6c7bed441b9644e5f6d99b: refactor(ginS): use sync.OnceValue to simplify engine function (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4314\"\u003e#4314\u003c/a\u003e) (\u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e3ab698dc5110af1977d57226e4995c57dd34c233: refactor(recovery): smart error comparison (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4142\"\u003e#4142\u003c/a\u003e) (\u003ca href=\"https://github.com/zeek0x\"\u003e\u003ccode\u003e@​zeek0x\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ed1a15347b1e45a8ee816193d3578a93bfd73b70f: refactor(utils): move util functions to utils.go (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4467\"\u003e#4467\u003c/a\u003e) (\u003ca href=\"https://github.com/zeek0x\"\u003e\u003ccode\u003e@​zeek0x\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ee3118cc378d263454098924ebbde7e8d1dd2e904: refactor: for loop can be modernized using range over int (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4392\"\u003e#4392\u003c/a\u003e) (\u003ca href=\"https://github.com/wanghaolong613\"\u003e\u003ccode\u003e@​wanghaolong613\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e488f8c3ffa579a8d19beb2bae95ff8ef36b3d53f: refactor: replace magic numbers with named constants in bodyAllowedForStatus (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4529\"\u003e#4529\u003c/a\u003e) (\u003ca href=\"https://github.com/veeceey\"\u003e\u003ccode\u003e@​veeceey\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e9968c4bf9d5a99edc3eee2c068a4c9160ece8915: refactor: use b.Loop() to simplify the code and improve performance (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4389\"\u003e#4389\u003c/a\u003e) (\u003ca href=\"https://github.com/reddaisyy\"\u003e\u003ccode\u003e@​reddaisyy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ea85ef5ce4d0cda8834c59c855068ed48b51192d1: refactor: use b.Loop() to simplify the code and improve performance (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4432\"\u003e#4432\u003c/a\u003e) (\u003ca href=\"https://github.com/efcking\"\u003e\u003ccode\u003e@​efcking\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBuild process updates\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e61b67de522a189b568aced4c5c16917c558e3387: ci(bot): increase frequency and group updates for dependencies (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4367\"\u003e#4367\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efb27ef26c2fdfe25344b4c039d8a53551f9e912c: ci(lint): refactor test assertions and linter configuration (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4436\"\u003e#4436\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e93ff771e6dbf10e432864b30f3719ac5c84a4d4a: ci(sec): improve type safety and server organization in HTTP middleware (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4437\"\u003e#4437\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ee88fc8927a52b74f55bec0351604a56ac0aa1c51: ci(sec): schedule Trivy security scans to run daily at midnight UTC (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4439\"\u003e#4439\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e5e5ff3ace496a31b138b0820136a146bfb5de0ef: ci: replace vulnerability scanning workflow with Trivy integration (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4421\"\u003e#4421\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e00900fb3e1ea9dde33985a0e4f6afec793d5e786: ci: update CI workflows and standardize Trivy config quotes (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4531\"\u003e#4531\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eae3f524974fc4f55d18c9e7fae4614503c015226: ci: update Go version support to 1.25+ across CI and docs (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4550\"\u003e#4550\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/gin-gonic/gin/blob/master/CHANGELOG.md\"\u003egithub.com/gin-gonic/gin's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eGin v1.12.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat(render): add bson protocol (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4145\"\u003e#4145\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(context): add GetError and GetErrorSlice methods for error retrieval (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4502\"\u003e#4502\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(binding): add support for encoding.UnmarshalText in uri/query binding (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4203\"\u003e#4203\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(gin): add option to use escaped path (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4420\"\u003e#4420\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(context): add Protocol Buffers support to content negotiation (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4423\"\u003e#4423\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(context): implemented Delete method (\u003ca href=\"https://github.com/gin-gonic/gin/commit/38e7651\"\u003e#38e7651\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(logger): color latency (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4146\"\u003e#4146\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eperf(tree): reduce allocations in findCaseInsensitivePath (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4417\"\u003e#4417\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eperf(recovery): optimize line reading in stack function (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4466\"\u003e#4466\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eperf(path): replace regex with custom functions in redirectTrailingSlash (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4414\"\u003e#4414\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eperf(tree): optimize path parsing using strings.Count (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4246\"\u003e#4246\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(logger): allow skipping query string output (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4547\"\u003e#4547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(context): always trust xff headers from unix socket (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/3359\"\u003e#3359\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(response): prevent Flush() panic when the underlying ResponseWriter does not implement \u003ccode\u003ehttp.Flusher\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4479\"\u003e#4479\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(recovery): smart error comparison (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4142\"\u003e#4142\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(context): replace hardcoded localhost IPs with constants (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4481\"\u003e#4481\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(utils): move util functions to utils.go (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4467\"\u003e#4467\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(binding): use maps.Copy for cleaner map handling (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4352\"\u003e#4352\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(context): using maps.Clone (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4333\"\u003e#4333\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(ginS): use sync.OnceValue to simplify engine function (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4314\"\u003e#4314\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor: replace magic numbers with named constants in bodyAllowedForStatus (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4529\"\u003e#4529\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor: for loop can be modernized using range over int (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4392\"\u003e#4392\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(tree): panic in findCaseInsensitivePathRec with RedirectFixedPath (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4535\"\u003e#4535\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(render): write content length in Data.Render (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4206\"\u003e#4206\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(context): ClientIP handling for multiple X-Forwarded-For header values (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4472\"\u003e#4472\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(binding): empty value error (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/2169\"\u003e#2169\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(recover): suppress http.ErrAbortHandler in recover (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4336\"\u003e#4336\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(gin): literal colon routes not working with engine.Handler() (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4415\"\u003e#4415\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(gin): close os.File in RunFd to prevent resource leak (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4422\"\u003e#4422\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(response): refine hijack behavior for response lifecycle (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4373\"\u003e#4373\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(binding): improve empty slice/array handling in form binding (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4380\"\u003e#4380\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(debug): version mismatch (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4403\"\u003e#4403\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: correct typos, improve documentation clarity, and remove dead code (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4511\"\u003e#4511\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBuild process updates / CI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eci: update Go version support to 1.25+ across CI and docs (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4550\"\u003e#4550\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(binding): upgrade bson dependency to mongo-driver v2 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4549\"\u003e#4549\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eGin v1.11.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/73726dc606796a025971fe451f0aa6f1b9b847f6\"\u003e\u003ccode\u003e73726dc\u003c/code\u003e\u003c/a\u003e docs: update documentation to reflect Go version changes (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4552\"\u003e#4552\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/e292e5caa777bce70b66fe08c94cbe9cef3e2ec9\"\u003e\u003ccode\u003ee292e5c\u003c/code\u003e\u003c/a\u003e docs: document and finalize Gin v1.12.0 release (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4551\"\u003e#4551\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/ae3f524974fc4f55d18c9e7fae4614503c015226\"\u003e\u003ccode\u003eae3f524\u003c/code\u003e\u003c/a\u003e ci: update Go version support to 1.25+ across CI and docs (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4550\"\u003e#4550\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/38534e2bf98a06e1f62d6b24384e90b5f78699bf\"\u003e\u003ccode\u003e38534e2\u003c/code\u003e\u003c/a\u003e chore(deps): bump golang.org/x/net from 0.50.0 to 0.51.0 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4548\"\u003e#4548\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/472d086af2acd924cb4b9d7be0525f7d790f69bc\"\u003e\u003ccode\u003e472d086\u003c/code\u003e\u003c/a\u003e fix(tree): panic in findCaseInsensitivePathRec with RedirectFixedPath (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4535\"\u003e#4535\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/fb2583442c4d9bccb75e6d26f1aa6e7c01950db6\"\u003e\u003ccode\u003efb25834\u003c/code\u003e\u003c/a\u003e test(context): use http.StatusContinue constant instead of magic number 100 (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/6f1d5fe3cdb171a08928c3c9dd3fbcfc9ee1b521\"\u003e\u003ccode\u003e6f1d5fe\u003c/code\u003e\u003c/a\u003e test(render): add comprehensive error handling tests (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4541\"\u003e#4541\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/5c00df8afadd06cc5be530dde00fe6d9fa4a2e4a\"\u003e\u003ccode\u003e5c00df8\u003c/code\u003e\u003c/a\u003e fix(render): write content length in Data.Render (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4206\"\u003e#4206\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/db309081bc5c137b2aa15701ef53f7f19788da25\"\u003e\u003ccode\u003edb30908\u003c/code\u003e\u003c/a\u003e chore(logger): allow skipping query string output (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4547\"\u003e#4547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/ba093d19477b896ac89a7fc3246af23d290b8e26\"\u003e\u003ccode\u003eba093d1\u003c/code\u003e\u003c/a\u003e chore(binding): upgrade bson dependency to mongo-driver v2 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4549\"\u003e#4549\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/gin-gonic/gin/compare/v1.8.1...v1.12.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n","html_url":"https://github.com/kodefluence/altair/pull/70","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/kodefluence%2Faltair/issues/70","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/70/packages"}},{"old_version":"1.9.1","new_version":"1.12.0","update_type":"minor","path":"/http/gin","pr_created_at":"2026-04-21T15:37:26.000Z","version_change":"1.9.1 → 1.12.0","issue":{"uuid":"4303704913","node_id":"PR_kwDOHWkejc7UWrdS","number":229,"state":"closed","title":"chore(deps): bump github.com/gin-gonic/gin from 1.9.1 to 1.12.0 in /http/gin","user":"dependabot[bot]","labels":["dependencies","go"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-04-21T22:44:33.000Z","author_association":null,"state_reason":null,"created_at":"2026-04-21T15:37:26.000Z","updated_at":"2026-04-21T22:44:43.000Z","time_to_close":25627,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)","packages":[{"name":"github.com/gin-gonic/gin","old_version":"1.9.1","new_version":"1.12.0","repository_url":"https://github.com/gin-gonic/gin"}],"path":"/http/gin","ecosystem":"go"},"body":"Bumps [github.com/gin-gonic/gin](https://github.com/gin-gonic/gin) from 1.9.1 to 1.12.0.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/gin-gonic/gin/releases\"\u003egithub.com/gin-gonic/gin's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.12.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e192ac89eefc1c30f7c97ae48a9ffb1c6f1c8c8bc: feat(binding): add support for encoding.UnmarshalText in uri/query binding (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4203\"\u003e#4203\u003c/a\u003e) (\u003ca href=\"https://github.com/takanuva15\"\u003e\u003ccode\u003e@​takanuva15\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e53410d2e07054369e0960fbe2eed97e1b9966f12: feat(context): add GetError and GetErrorSlice methods for error retrieval (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4502\"\u003e#4502\u003c/a\u003e) (\u003ca href=\"https://github.com/raju-mechatronics\"\u003e\u003ccode\u003e@​raju-mechatronics\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eacc55e049e33b401e810dbd8c0d6dcb6b3ba2b05: feat(context): add Protocol Buffers support to content negotiation (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4423\"\u003e#4423\u003c/a\u003e) (\u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e38e765119241d990705169bedb5002a29ae0cbd1: feat(context): implemented Delete method (\u003ca href=\"https://github.com/Spyder01\"\u003e\u003ccode\u003e@​Spyder01\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e771dcc6476d7bc6abb9ec0235ecefa4d38fe6fb0: feat(gin): add option to use escaped path (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4420\"\u003e#4420\u003c/a\u003e) (\u003ca href=\"https://github.com/ldesauw\"\u003e\u003ccode\u003e@​ldesauw\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e4dec17afdff48e8018c83618fbbe69fceeb2b41d: feat(logger): color latency (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4146\"\u003e#4146\u003c/a\u003e) (\u003ca href=\"https://github.com/wsyqn6\"\u003e\u003ccode\u003e@​wsyqn6\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ed7776de7d444935ea4385999711bd6331a98fecb: feat(render): add bson protocol (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4145\"\u003e#4145\u003c/a\u003e) (\u003ca href=\"https://github.com/laurentcau\"\u003e\u003ccode\u003e@​laurentcau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eb917b14ff9d189f16a7492be79d123a47806ee19: fix(binding): empty value error (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/2169\"\u003e#2169\u003c/a\u003e) (\u003ca href=\"https://github.com/guonaihong\"\u003e\u003ccode\u003e@​guonaihong\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ec3d1092b3b48addf6f9cd00fe274ec3bd14650eb: fix(binding): improve empty slice/array handling in form binding (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4380\"\u003e#4380\u003c/a\u003e) (\u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e9914178584e42458ff7d23891463a880f58c9d86: fix(context): ClientIP handling for multiple X-Forwarded-For header values (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4472\"\u003e#4472\u003c/a\u003e) (\u003ca href=\"https://github.com/Nurysso\"\u003e\u003ccode\u003e@​Nurysso\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e2a794cd0b0faa7d829291375b27a3467ea972b0d: fix(debug): version mismatch (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4403\"\u003e#4403\u003c/a\u003e) (\u003ca href=\"https://github.com/zeek0x\"\u003e\u003ccode\u003e@​zeek0x\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ec3d5a28ed6d3849da820195b6774d212bcc038a9: fix(gin): close os.File in RunFd to prevent resource leak (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4422\"\u003e#4422\u003c/a\u003e) (\u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e5fad976b372e381312f8de69f0969f1284d229d3: fix(gin): literal colon routes not working with engine.Handler() (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4415\"\u003e#4415\u003c/a\u003e) (\u003ca href=\"https://github.com/pawannn\"\u003e\u003ccode\u003e@​pawannn\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e63dd3e60cab89c27fb66bce1423bd268d52abad1: fix(recover): suppress http.ErrAbortHandler in recover (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4336\"\u003e#4336\u003c/a\u003e) (\u003ca href=\"https://github.com/MondayCha\"\u003e\u003ccode\u003e@​MondayCha\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e5c00df8afadd06cc5be530dde00fe6d9fa4a2e4a: fix(render): write content length in Data.Render (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4206\"\u003e#4206\u003c/a\u003e) (\u003ca href=\"https://github.com/dengaleev\"\u003e\u003ccode\u003e@​dengaleev\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e234a6d4c00cb77af9852aca0b8289745d5529b4b: fix(response): refine hijack behavior for response lifecycle (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4373\"\u003e#4373\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e472d086af2acd924cb4b9d7be0525f7d790f69bc: fix(tree): panic in findCaseInsensitivePathRec with RedirectFixedPath (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4535\"\u003e#4535\u003c/a\u003e) (\u003ca href=\"https://github.com/veeceey\"\u003e\u003ccode\u003e@​veeceey\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e8e07d37c63e5536eb25f4af4c91eabeee4011fba: fix: Correct typos, improve documentation clarity, and remove dead code (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4511\"\u003e#4511\u003c/a\u003e) (\u003ca href=\"https://github.com/mahanadh\"\u003e\u003ccode\u003e@​mahanadh\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eba093d19477b896ac89a7fc3246af23d290b8e26: chore(binding): upgrade bson dependency to mongo-driver v2 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4549\"\u003e#4549\u003c/a\u003e) (\u003ca href=\"https://github.com/BobDu\"\u003e\u003ccode\u003e@​BobDu\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eb2b489dbf4826c2c630717a77fd5e42774625410: chore(context): always trust xff headers from unix socket (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/3359\"\u003e#3359\u003c/a\u003e) (\u003ca href=\"https://github.com/WeidiDeng\"\u003e\u003ccode\u003e@​WeidiDeng\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eecb3f7b5e2f3915bf1db240ed5eee572f8dbea36: chore(deps): upgrade golang.org/x/crypto to v0.45.0 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4449\"\u003e#4449\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eaf6e8b70b8261bb0c99ad094fe552ab92991620a: chore(deps): upgrade quic-go to v0.57.1 (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edb309081bc5c137b2aa15701ef53f7f19788da25: chore(logger): allow skipping query string output (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4547\"\u003e#4547\u003c/a\u003e) (\u003ca href=\"https://github.com/USA-RedDragon\"\u003e\u003ccode\u003e@​USA-RedDragon\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e26c3a628655cad2388380cb8102d6ce7d4875f3b: chore(response): prevent Flush() panic when \u003ccode\u003ehttp.Flusher\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4479\"\u003e#4479\u003c/a\u003e) (\u003ca href=\"https://github.com/Twacqwq\"\u003e\u003ccode\u003e@​Twacqwq\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e5dd833f1f26de0eb30eae47b17e05ced2482dc41: chore: bump minimum Go version to 1.24 and update workflows (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4388\"\u003e#4388\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRefactor\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e39858a0859c914bd26948fa950477e11bd8d3823: refactor(binding): use maps.Copy for cleaner map handling (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4352\"\u003e#4352\u003c/a\u003e) (\u003ca href=\"https://github.com/russcoss\"\u003e\u003ccode\u003e@​russcoss\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ec0048f645ee945c4db30593afdea10123e2c30a6: refactor(context): omit the return value names (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4395\"\u003e#4395\u003c/a\u003e) (\u003ca href=\"https://github.com/wanghaolong613\"\u003e\u003ccode\u003e@​wanghaolong613\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e915e4c90d28ec4cffc6eb146e208ab5a65eac772: refactor(context): replace hardcoded localhost IPs with constants (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4481\"\u003e#4481\u003c/a\u003e) (\u003ca href=\"https://github.com/pauloappbr\"\u003e\u003ccode\u003e@​pauloappbr\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e414de60574449457f3192a7a1d5528940db2836d: refactor(context): using maps.Clone (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4333\"\u003e#4333\u003c/a\u003e) (\u003ca href=\"https://github.com/cuiweixie\"\u003e\u003ccode\u003e@​cuiweixie\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e59e9d4a794f12c4f9a6c7bed441b9644e5f6d99b: refactor(ginS): use sync.OnceValue to simplify engine function (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4314\"\u003e#4314\u003c/a\u003e) (\u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e3ab698dc5110af1977d57226e4995c57dd34c233: refactor(recovery): smart error comparison (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4142\"\u003e#4142\u003c/a\u003e) (\u003ca href=\"https://github.com/zeek0x\"\u003e\u003ccode\u003e@​zeek0x\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ed1a15347b1e45a8ee816193d3578a93bfd73b70f: refactor(utils): move util functions to utils.go (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4467\"\u003e#4467\u003c/a\u003e) (\u003ca href=\"https://github.com/zeek0x\"\u003e\u003ccode\u003e@​zeek0x\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ee3118cc378d263454098924ebbde7e8d1dd2e904: refactor: for loop can be modernized using range over int (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4392\"\u003e#4392\u003c/a\u003e) (\u003ca href=\"https://github.com/wanghaolong613\"\u003e\u003ccode\u003e@​wanghaolong613\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e488f8c3ffa579a8d19beb2bae95ff8ef36b3d53f: refactor: replace magic numbers with named constants in bodyAllowedForStatus (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4529\"\u003e#4529\u003c/a\u003e) (\u003ca href=\"https://github.com/veeceey\"\u003e\u003ccode\u003e@​veeceey\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e9968c4bf9d5a99edc3eee2c068a4c9160ece8915: refactor: use b.Loop() to simplify the code and improve performance (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4389\"\u003e#4389\u003c/a\u003e) (\u003ca href=\"https://github.com/reddaisyy\"\u003e\u003ccode\u003e@​reddaisyy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ea85ef5ce4d0cda8834c59c855068ed48b51192d1: refactor: use b.Loop() to simplify the code and improve performance (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4432\"\u003e#4432\u003c/a\u003e) (\u003ca href=\"https://github.com/efcking\"\u003e\u003ccode\u003e@​efcking\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBuild process updates\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e61b67de522a189b568aced4c5c16917c558e3387: ci(bot): increase frequency and group updates for dependencies (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4367\"\u003e#4367\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efb27ef26c2fdfe25344b4c039d8a53551f9e912c: ci(lint): refactor test assertions and linter configuration (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4436\"\u003e#4436\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e93ff771e6dbf10e432864b30f3719ac5c84a4d4a: ci(sec): improve type safety and server organization in HTTP middleware (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4437\"\u003e#4437\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ee88fc8927a52b74f55bec0351604a56ac0aa1c51: ci(sec): schedule Trivy security scans to run daily at midnight UTC (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4439\"\u003e#4439\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e5e5ff3ace496a31b138b0820136a146bfb5de0ef: ci: replace vulnerability scanning workflow with Trivy integration (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4421\"\u003e#4421\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e00900fb3e1ea9dde33985a0e4f6afec793d5e786: ci: update CI workflows and standardize Trivy config quotes (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4531\"\u003e#4531\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eae3f524974fc4f55d18c9e7fae4614503c015226: ci: update Go version support to 1.25+ across CI and docs (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4550\"\u003e#4550\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/gin-gonic/gin/blob/master/CHANGELOG.md\"\u003egithub.com/gin-gonic/gin's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eGin v1.12.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat(render): add bson protocol (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4145\"\u003e#4145\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(context): add GetError and GetErrorSlice methods for error retrieval (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4502\"\u003e#4502\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(binding): add support for encoding.UnmarshalText in uri/query binding (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4203\"\u003e#4203\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(gin): add option to use escaped path (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4420\"\u003e#4420\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(context): add Protocol Buffers support to content negotiation (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4423\"\u003e#4423\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(context): implemented Delete method (\u003ca href=\"https://github.com/gin-gonic/gin/commit/38e7651\"\u003e#38e7651\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(logger): color latency (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4146\"\u003e#4146\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eperf(tree): reduce allocations in findCaseInsensitivePath (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4417\"\u003e#4417\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eperf(recovery): optimize line reading in stack function (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4466\"\u003e#4466\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eperf(path): replace regex with custom functions in redirectTrailingSlash (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4414\"\u003e#4414\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eperf(tree): optimize path parsing using strings.Count (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4246\"\u003e#4246\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(logger): allow skipping query string output (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4547\"\u003e#4547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(context): always trust xff headers from unix socket (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/3359\"\u003e#3359\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(response): prevent Flush() panic when the underlying ResponseWriter does not implement \u003ccode\u003ehttp.Flusher\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4479\"\u003e#4479\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(recovery): smart error comparison (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4142\"\u003e#4142\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(context): replace hardcoded localhost IPs with constants (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4481\"\u003e#4481\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(utils): move util functions to utils.go (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4467\"\u003e#4467\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(binding): use maps.Copy for cleaner map handling (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4352\"\u003e#4352\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(context): using maps.Clone (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4333\"\u003e#4333\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(ginS): use sync.OnceValue to simplify engine function (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4314\"\u003e#4314\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor: replace magic numbers with named constants in bodyAllowedForStatus (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4529\"\u003e#4529\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor: for loop can be modernized using range over int (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4392\"\u003e#4392\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(tree): panic in findCaseInsensitivePathRec with RedirectFixedPath (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4535\"\u003e#4535\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(render): write content length in Data.Render (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4206\"\u003e#4206\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(context): ClientIP handling for multiple X-Forwarded-For header values (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4472\"\u003e#4472\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(binding): empty value error (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/2169\"\u003e#2169\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(recover): suppress http.ErrAbortHandler in recover (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4336\"\u003e#4336\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(gin): literal colon routes not working with engine.Handler() (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4415\"\u003e#4415\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(gin): close os.File in RunFd to prevent resource leak (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4422\"\u003e#4422\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(response): refine hijack behavior for response lifecycle (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4373\"\u003e#4373\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(binding): improve empty slice/array handling in form binding (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4380\"\u003e#4380\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(debug): version mismatch (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4403\"\u003e#4403\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: correct typos, improve documentation clarity, and remove dead code (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4511\"\u003e#4511\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBuild process updates / CI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eci: update Go version support to 1.25+ across CI and docs (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4550\"\u003e#4550\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(binding): upgrade bson dependency to mongo-driver v2 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4549\"\u003e#4549\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eGin v1.11.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/73726dc606796a025971fe451f0aa6f1b9b847f6\"\u003e\u003ccode\u003e73726dc\u003c/code\u003e\u003c/a\u003e docs: update documentation to reflect Go version changes (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4552\"\u003e#4552\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/e292e5caa777bce70b66fe08c94cbe9cef3e2ec9\"\u003e\u003ccode\u003ee292e5c\u003c/code\u003e\u003c/a\u003e docs: document and finalize Gin v1.12.0 release (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4551\"\u003e#4551\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/ae3f524974fc4f55d18c9e7fae4614503c015226\"\u003e\u003ccode\u003eae3f524\u003c/code\u003e\u003c/a\u003e ci: update Go version support to 1.25+ across CI and docs (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4550\"\u003e#4550\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/38534e2bf98a06e1f62d6b24384e90b5f78699bf\"\u003e\u003ccode\u003e38534e2\u003c/code\u003e\u003c/a\u003e chore(deps): bump golang.org/x/net from 0.50.0 to 0.51.0 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4548\"\u003e#4548\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/472d086af2acd924cb4b9d7be0525f7d790f69bc\"\u003e\u003ccode\u003e472d086\u003c/code\u003e\u003c/a\u003e fix(tree): panic in findCaseInsensitivePathRec with RedirectFixedPath (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4535\"\u003e#4535\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/fb2583442c4d9bccb75e6d26f1aa6e7c01950db6\"\u003e\u003ccode\u003efb25834\u003c/code\u003e\u003c/a\u003e test(context): use http.StatusContinue constant instead of magic number 100 (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/6f1d5fe3cdb171a08928c3c9dd3fbcfc9ee1b521\"\u003e\u003ccode\u003e6f1d5fe\u003c/code\u003e\u003c/a\u003e test(render): add comprehensive error handling tests (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4541\"\u003e#4541\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/5c00df8afadd06cc5be530dde00fe6d9fa4a2e4a\"\u003e\u003ccode\u003e5c00df8\u003c/code\u003e\u003c/a\u003e fix(render): write content length in Data.Render (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4206\"\u003e#4206\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/db309081bc5c137b2aa15701ef53f7f19788da25\"\u003e\u003ccode\u003edb30908\u003c/code\u003e\u003c/a\u003e chore(logger): allow skipping query string output (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4547\"\u003e#4547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/ba093d19477b896ac89a7fc3246af23d290b8e26\"\u003e\u003ccode\u003eba093d1\u003c/code\u003e\u003c/a\u003e chore(binding): upgrade bson dependency to mongo-driver v2 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4549\"\u003e#4549\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/gin-gonic/gin/compare/v1.9.1...v1.12.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/gin-gonic/gin\u0026package-manager=go_modules\u0026previous-version=1.9.1\u0026new-version=1.12.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/samber/do/pull/229","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/samber%2Fdo/issues/229","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/229/packages"}},{"old_version":"1.11.0","new_version":"1.12.0","update_type":"minor","path":null,"pr_created_at":"2026-04-20T10:27:12.000Z","version_change":"1.11.0 → 1.12.0","issue":{"uuid":"4294959674","node_id":"PR_kwDORIpJds7T6Pi2","number":75,"state":"closed","title":"chore(deps)(deps): bump the minor-patch group across 1 directory with 4 updates","user":"dependabot[bot]","labels":["dependencies"],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":"2026-05-11T14:22:22.000Z","author_association":null,"state_reason":null,"created_at":"2026-04-20T10:27:12.000Z","updated_at":"2026-05-11T14:22:24.000Z","time_to_close":1828510,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)(deps): bump","group_name":"minor-patch","update_count":4,"packages":[{"name":"github.com/gin-gonic/gin","old_version":"1.11.0","new_version":"1.12.0","repository_url":"https://github.com/gin-gonic/gin"},{"name":"github.com/jackc/pgx/v5","old_version":"5.8.0","new_version":"5.9.2","repository_url":"https://github.com/jackc/pgx"},{"name":"github.com/lib/pq","old_version":"1.11.2","new_version":"1.12.3","repository_url":"https://github.com/lib/pq"},{"name":"go.temporal.io/sdk","old_version":"1.40.0","new_version":"1.43.0","repository_url":"https://github.com/temporalio/sdk-go"}],"path":null,"ecosystem":"go"},"body":"Bumps the minor-patch group with 4 updates in the / directory: [github.com/gin-gonic/gin](https://github.com/gin-gonic/gin), [github.com/jackc/pgx/v5](https://github.com/jackc/pgx), [github.com/lib/pq](https://github.com/lib/pq) and [go.temporal.io/sdk](https://github.com/temporalio/sdk-go).\n\nUpdates `github.com/gin-gonic/gin` from 1.11.0 to 1.12.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/gin-gonic/gin/releases\"\u003egithub.com/gin-gonic/gin's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.12.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e192ac89eefc1c30f7c97ae48a9ffb1c6f1c8c8bc: feat(binding): add support for encoding.UnmarshalText in uri/query binding (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4203\"\u003e#4203\u003c/a\u003e) (\u003ca href=\"https://github.com/takanuva15\"\u003e\u003ccode\u003e@​takanuva15\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e53410d2e07054369e0960fbe2eed97e1b9966f12: feat(context): add GetError and GetErrorSlice methods for error retrieval (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4502\"\u003e#4502\u003c/a\u003e) (\u003ca href=\"https://github.com/raju-mechatronics\"\u003e\u003ccode\u003e@​raju-mechatronics\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eacc55e049e33b401e810dbd8c0d6dcb6b3ba2b05: feat(context): add Protocol Buffers support to content negotiation (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4423\"\u003e#4423\u003c/a\u003e) (\u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e38e765119241d990705169bedb5002a29ae0cbd1: feat(context): implemented Delete method (\u003ca href=\"https://github.com/Spyder01\"\u003e\u003ccode\u003e@​Spyder01\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e771dcc6476d7bc6abb9ec0235ecefa4d38fe6fb0: feat(gin): add option to use escaped path (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4420\"\u003e#4420\u003c/a\u003e) (\u003ca href=\"https://github.com/ldesauw\"\u003e\u003ccode\u003e@​ldesauw\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e4dec17afdff48e8018c83618fbbe69fceeb2b41d: feat(logger): color latency (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4146\"\u003e#4146\u003c/a\u003e) (\u003ca href=\"https://github.com/wsyqn6\"\u003e\u003ccode\u003e@​wsyqn6\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ed7776de7d444935ea4385999711bd6331a98fecb: feat(render): add bson protocol (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4145\"\u003e#4145\u003c/a\u003e) (\u003ca href=\"https://github.com/laurentcau\"\u003e\u003ccode\u003e@​laurentcau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eb917b14ff9d189f16a7492be79d123a47806ee19: fix(binding): empty value error (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/2169\"\u003e#2169\u003c/a\u003e) (\u003ca href=\"https://github.com/guonaihong\"\u003e\u003ccode\u003e@​guonaihong\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ec3d1092b3b48addf6f9cd00fe274ec3bd14650eb: fix(binding): improve empty slice/array handling in form binding (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4380\"\u003e#4380\u003c/a\u003e) (\u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e9914178584e42458ff7d23891463a880f58c9d86: fix(context): ClientIP handling for multiple X-Forwarded-For header values (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4472\"\u003e#4472\u003c/a\u003e) (\u003ca href=\"https://github.com/Nurysso\"\u003e\u003ccode\u003e@​Nurysso\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e2a794cd0b0faa7d829291375b27a3467ea972b0d: fix(debug): version mismatch (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4403\"\u003e#4403\u003c/a\u003e) (\u003ca href=\"https://github.com/zeek0x\"\u003e\u003ccode\u003e@​zeek0x\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ec3d5a28ed6d3849da820195b6774d212bcc038a9: fix(gin): close os.File in RunFd to prevent resource leak (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4422\"\u003e#4422\u003c/a\u003e) (\u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e5fad976b372e381312f8de69f0969f1284d229d3: fix(gin): literal colon routes not working with engine.Handler() (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4415\"\u003e#4415\u003c/a\u003e) (\u003ca href=\"https://github.com/pawannn\"\u003e\u003ccode\u003e@​pawannn\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e63dd3e60cab89c27fb66bce1423bd268d52abad1: fix(recover): suppress http.ErrAbortHandler in recover (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4336\"\u003e#4336\u003c/a\u003e) (\u003ca href=\"https://github.com/MondayCha\"\u003e\u003ccode\u003e@​MondayCha\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e5c00df8afadd06cc5be530dde00fe6d9fa4a2e4a: fix(render): write content length in Data.Render (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4206\"\u003e#4206\u003c/a\u003e) (\u003ca href=\"https://github.com/dengaleev\"\u003e\u003ccode\u003e@​dengaleev\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e234a6d4c00cb77af9852aca0b8289745d5529b4b: fix(response): refine hijack behavior for response lifecycle (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4373\"\u003e#4373\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e472d086af2acd924cb4b9d7be0525f7d790f69bc: fix(tree): panic in findCaseInsensitivePathRec with RedirectFixedPath (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4535\"\u003e#4535\u003c/a\u003e) (\u003ca href=\"https://github.com/veeceey\"\u003e\u003ccode\u003e@​veeceey\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e8e07d37c63e5536eb25f4af4c91eabeee4011fba: fix: Correct typos, improve documentation clarity, and remove dead code (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4511\"\u003e#4511\u003c/a\u003e) (\u003ca href=\"https://github.com/mahanadh\"\u003e\u003ccode\u003e@​mahanadh\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eba093d19477b896ac89a7fc3246af23d290b8e26: chore(binding): upgrade bson dependency to mongo-driver v2 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4549\"\u003e#4549\u003c/a\u003e) (\u003ca href=\"https://github.com/BobDu\"\u003e\u003ccode\u003e@​BobDu\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eb2b489dbf4826c2c630717a77fd5e42774625410: chore(context): always trust xff headers from unix socket (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/3359\"\u003e#3359\u003c/a\u003e) (\u003ca href=\"https://github.com/WeidiDeng\"\u003e\u003ccode\u003e@​WeidiDeng\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eecb3f7b5e2f3915bf1db240ed5eee572f8dbea36: chore(deps): upgrade golang.org/x/crypto to v0.45.0 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4449\"\u003e#4449\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eaf6e8b70b8261bb0c99ad094fe552ab92991620a: chore(deps): upgrade quic-go to v0.57.1 (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edb309081bc5c137b2aa15701ef53f7f19788da25: chore(logger): allow skipping query string output (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4547\"\u003e#4547\u003c/a\u003e) (\u003ca href=\"https://github.com/USA-RedDragon\"\u003e\u003ccode\u003e@​USA-RedDragon\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e26c3a628655cad2388380cb8102d6ce7d4875f3b: chore(response): prevent Flush() panic when \u003ccode\u003ehttp.Flusher\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4479\"\u003e#4479\u003c/a\u003e) (\u003ca href=\"https://github.com/Twacqwq\"\u003e\u003ccode\u003e@​Twacqwq\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e5dd833f1f26de0eb30eae47b17e05ced2482dc41: chore: bump minimum Go version to 1.24 and update workflows (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4388\"\u003e#4388\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRefactor\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e39858a0859c914bd26948fa950477e11bd8d3823: refactor(binding): use maps.Copy for cleaner map handling (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4352\"\u003e#4352\u003c/a\u003e) (\u003ca href=\"https://github.com/russcoss\"\u003e\u003ccode\u003e@​russcoss\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ec0048f645ee945c4db30593afdea10123e2c30a6: refactor(context): omit the return value names (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4395\"\u003e#4395\u003c/a\u003e) (\u003ca href=\"https://github.com/wanghaolong613\"\u003e\u003ccode\u003e@​wanghaolong613\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e915e4c90d28ec4cffc6eb146e208ab5a65eac772: refactor(context): replace hardcoded localhost IPs with constants (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4481\"\u003e#4481\u003c/a\u003e) (\u003ca href=\"https://github.com/pauloappbr\"\u003e\u003ccode\u003e@​pauloappbr\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e414de60574449457f3192a7a1d5528940db2836d: refactor(context): using maps.Clone (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4333\"\u003e#4333\u003c/a\u003e) (\u003ca href=\"https://github.com/cuiweixie\"\u003e\u003ccode\u003e@​cuiweixie\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e59e9d4a794f12c4f9a6c7bed441b9644e5f6d99b: refactor(ginS): use sync.OnceValue to simplify engine function (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4314\"\u003e#4314\u003c/a\u003e) (\u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e3ab698dc5110af1977d57226e4995c57dd34c233: refactor(recovery): smart error comparison (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4142\"\u003e#4142\u003c/a\u003e) (\u003ca href=\"https://github.com/zeek0x\"\u003e\u003ccode\u003e@​zeek0x\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ed1a15347b1e45a8ee816193d3578a93bfd73b70f: refactor(utils): move util functions to utils.go (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4467\"\u003e#4467\u003c/a\u003e) (\u003ca href=\"https://github.com/zeek0x\"\u003e\u003ccode\u003e@​zeek0x\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ee3118cc378d263454098924ebbde7e8d1dd2e904: refactor: for loop can be modernized using range over int (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4392\"\u003e#4392\u003c/a\u003e) (\u003ca href=\"https://github.com/wanghaolong613\"\u003e\u003ccode\u003e@​wanghaolong613\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e488f8c3ffa579a8d19beb2bae95ff8ef36b3d53f: refactor: replace magic numbers with named constants in bodyAllowedForStatus (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4529\"\u003e#4529\u003c/a\u003e) (\u003ca href=\"https://github.com/veeceey\"\u003e\u003ccode\u003e@​veeceey\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e9968c4bf9d5a99edc3eee2c068a4c9160ece8915: refactor: use b.Loop() to simplify the code and improve performance (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4389\"\u003e#4389\u003c/a\u003e) (\u003ca href=\"https://github.com/reddaisyy\"\u003e\u003ccode\u003e@​reddaisyy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ea85ef5ce4d0cda8834c59c855068ed48b51192d1: refactor: use b.Loop() to simplify the code and improve performance (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4432\"\u003e#4432\u003c/a\u003e) (\u003ca href=\"https://github.com/efcking\"\u003e\u003ccode\u003e@​efcking\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBuild process updates\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e61b67de522a189b568aced4c5c16917c558e3387: ci(bot): increase frequency and group updates for dependencies (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4367\"\u003e#4367\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efb27ef26c2fdfe25344b4c039d8a53551f9e912c: ci(lint): refactor test assertions and linter configuration (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4436\"\u003e#4436\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e93ff771e6dbf10e432864b30f3719ac5c84a4d4a: ci(sec): improve type safety and server organization in HTTP middleware (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4437\"\u003e#4437\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ee88fc8927a52b74f55bec0351604a56ac0aa1c51: ci(sec): schedule Trivy security scans to run daily at midnight UTC (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4439\"\u003e#4439\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e5e5ff3ace496a31b138b0820136a146bfb5de0ef: ci: replace vulnerability scanning workflow with Trivy integration (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4421\"\u003e#4421\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e00900fb3e1ea9dde33985a0e4f6afec793d5e786: ci: update CI workflows and standardize Trivy config quotes (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4531\"\u003e#4531\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eae3f524974fc4f55d18c9e7fae4614503c015226: ci: update Go version support to 1.25+ across CI and docs (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4550\"\u003e#4550\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/gin-gonic/gin/blob/master/CHANGELOG.md\"\u003egithub.com/gin-gonic/gin's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eGin v1.12.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat(render): add bson protocol (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4145\"\u003e#4145\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(context): add GetError and GetErrorSlice methods for error retrieval (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4502\"\u003e#4502\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(binding): add support for encoding.UnmarshalText in uri/query binding (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4203\"\u003e#4203\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(gin): add option to use escaped path (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4420\"\u003e#4420\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(context): add Protocol Buffers support to content negotiation (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4423\"\u003e#4423\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(context): implemented Delete method (\u003ca href=\"https://github.com/gin-gonic/gin/commit/38e7651\"\u003e#38e7651\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(logger): color latency (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4146\"\u003e#4146\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eperf(tree): reduce allocations in findCaseInsensitivePath (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4417\"\u003e#4417\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eperf(recovery): optimize line reading in stack function (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4466\"\u003e#4466\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eperf(path): replace regex with custom functions in redirectTrailingSlash (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4414\"\u003e#4414\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eperf(tree): optimize path parsing using strings.Count (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4246\"\u003e#4246\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(logger): allow skipping query string output (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4547\"\u003e#4547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(context): always trust xff headers from unix socket (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/3359\"\u003e#3359\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(response): prevent Flush() panic when the underlying ResponseWriter does not implement \u003ccode\u003ehttp.Flusher\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4479\"\u003e#4479\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(recovery): smart error comparison (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4142\"\u003e#4142\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(context): replace hardcoded localhost IPs with constants (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4481\"\u003e#4481\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(utils): move util functions to utils.go (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4467\"\u003e#4467\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(binding): use maps.Copy for cleaner map handling (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4352\"\u003e#4352\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(context): using maps.Clone (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4333\"\u003e#4333\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(ginS): use sync.OnceValue to simplify engine function (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4314\"\u003e#4314\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor: replace magic numbers with named constants in bodyAllowedForStatus (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4529\"\u003e#4529\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor: for loop can be modernized using range over int (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4392\"\u003e#4392\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(tree): panic in findCaseInsensitivePathRec with RedirectFixedPath (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4535\"\u003e#4535\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(render): write content length in Data.Render (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4206\"\u003e#4206\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(context): ClientIP handling for multiple X-Forwarded-For header values (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4472\"\u003e#4472\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(binding): empty value error (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/2169\"\u003e#2169\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(recover): suppress http.ErrAbortHandler in recover (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4336\"\u003e#4336\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(gin): literal colon routes not working with engine.Handler() (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4415\"\u003e#4415\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(gin): close os.File in RunFd to prevent resource leak (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4422\"\u003e#4422\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(response): refine hijack behavior for response lifecycle (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4373\"\u003e#4373\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(binding): improve empty slice/array handling in form binding (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4380\"\u003e#4380\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(debug): version mismatch (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4403\"\u003e#4403\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: correct typos, improve documentation clarity, and remove dead code (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4511\"\u003e#4511\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBuild process updates / CI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eci: update Go version support to 1.25+ across CI and docs (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4550\"\u003e#4550\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(binding): upgrade bson dependency to mongo-driver v2 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4549\"\u003e#4549\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/73726dc606796a025971fe451f0aa6f1b9b847f6\"\u003e\u003ccode\u003e73726dc\u003c/code\u003e\u003c/a\u003e docs: update documentation to reflect Go version changes (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4552\"\u003e#4552\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/e292e5caa777bce70b66fe08c94cbe9cef3e2ec9\"\u003e\u003ccode\u003ee292e5c\u003c/code\u003e\u003c/a\u003e docs: document and finalize Gin v1.12.0 release (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4551\"\u003e#4551\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/ae3f524974fc4f55d18c9e7fae4614503c015226\"\u003e\u003ccode\u003eae3f524\u003c/code\u003e\u003c/a\u003e ci: update Go version support to 1.25+ across CI and docs (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4550\"\u003e#4550\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/38534e2bf98a06e1f62d6b24384e90b5f78699bf\"\u003e\u003ccode\u003e38534e2\u003c/code\u003e\u003c/a\u003e chore(deps): bump golang.org/x/net from 0.50.0 to 0.51.0 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4548\"\u003e#4548\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/472d086af2acd924cb4b9d7be0525f7d790f69bc\"\u003e\u003ccode\u003e472d086\u003c/code\u003e\u003c/a\u003e fix(tree): panic in findCaseInsensitivePathRec with RedirectFixedPath (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4535\"\u003e#4535\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/fb2583442c4d9bccb75e6d26f1aa6e7c01950db6\"\u003e\u003ccode\u003efb25834\u003c/code\u003e\u003c/a\u003e test(context): use http.StatusContinue constant instead of magic number 100 (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/6f1d5fe3cdb171a08928c3c9dd3fbcfc9ee1b521\"\u003e\u003ccode\u003e6f1d5fe\u003c/code\u003e\u003c/a\u003e test(render): add comprehensive error handling tests (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4541\"\u003e#4541\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/5c00df8afadd06cc5be530dde00fe6d9fa4a2e4a\"\u003e\u003ccode\u003e5c00df8\u003c/code\u003e\u003c/a\u003e fix(render): write content length in Data.Render (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4206\"\u003e#4206\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/db309081bc5c137b2aa15701ef53f7f19788da25\"\u003e\u003ccode\u003edb30908\u003c/code\u003e\u003c/a\u003e chore(logger): allow skipping query string output (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4547\"\u003e#4547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/ba093d19477b896ac89a7fc3246af23d290b8e26\"\u003e\u003ccode\u003eba093d1\u003c/code\u003e\u003c/a\u003e chore(binding): upgrade bson dependency to mongo-driver v2 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4549\"\u003e#4549\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/gin-gonic/gin/compare/v1.11.0...v1.12.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/jackc/pgx/v5` from 5.8.0 to 5.9.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jackc/pgx/blob/master/CHANGELOG.md\"\u003egithub.com/jackc/pgx/v5's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e5.9.2 (April 18, 2026)\u003c/h1\u003e\n\u003cp\u003eFix SQL Injection via placeholder confusion with dollar quoted string literals (GHSA-j88v-2chj-qfwx)\u003c/p\u003e\n\u003cp\u003eSQL injection can occur when:\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003eThe non-default simple protocol is used.\u003c/li\u003e\n\u003cli\u003eA dollar quoted string literal is used in the SQL query.\u003c/li\u003e\n\u003cli\u003eThat query contains text that would be would be interpreted outside as a placeholder outside of a string literal.\u003c/li\u003e\n\u003cli\u003eThe value of that placeholder is controllable by the attacker.\u003c/li\u003e\n\u003c/ol\u003e\n\u003cp\u003ee.g.\u003c/p\u003e\n\u003cpre lang=\"go\"\u003e\u003ccode\u003eattackValue := `$tag$; drop table canary; --`\n_, err = tx.Exec(ctx, `select $tag$ $1 $tag$, $1`, pgx.QueryExecModeSimpleProtocol, attackValue)\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eThis is unlikely to occur outside of a contrived scenario.\u003c/p\u003e\n\u003ch1\u003e5.9.1 (March 22, 2026)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eFix: batch result format corruption when using cached prepared statements (reported by Dirkjan Bussink)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e5.9.0 (March 21, 2026)\u003c/h1\u003e\n\u003cp\u003eThis release includes a number of new features such as SCRAM-SHA-256-PLUS support, OAuth authentication support, and\nPostgreSQL protocol 3.2 support.\u003c/p\u003e\n\u003cp\u003eIt significantly reduces the amount of network traffic when using prepared statements (which are used automatically by\ndefault) by avoiding unnecessary Describe Portal messages. This also reduces local memory usage.\u003c/p\u003e\n\u003cp\u003eIt also includes multiple fixes for potential DoS due to panic or OOM if connected to a malicious server that sends\ndeliberately malformed messages.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRequire Go 1.25+\u003c/li\u003e\n\u003cli\u003eAdd SCRAM-SHA-256-PLUS support (Adam Brightwell)\u003c/li\u003e\n\u003cli\u003eAdd OAuth authentication support for PostgreSQL 18 (David Schneider)\u003c/li\u003e\n\u003cli\u003eAdd PostgreSQL protocol 3.2 support (Dirkjan Bussink)\u003c/li\u003e\n\u003cli\u003eAdd tsvector type support (Adam Brightwell)\u003c/li\u003e\n\u003cli\u003eSkip Describe Portal for cached prepared statements reducing network round trips\u003c/li\u003e\n\u003cli\u003eMake LoadTypes query easier to support on \u0026quot;postgres-like\u0026quot; servers (Jelte Fennema-Nio)\u003c/li\u003e\n\u003cli\u003eDefault empty user to current OS user matching libpq behavior (ShivangSrivastava)\u003c/li\u003e\n\u003cli\u003eOptimize LRU statement cache with custom linked list and node pooling (Mathias Bogaert)\u003c/li\u003e\n\u003cli\u003eOptimize date scanning by replacing regex with manual parsing (Mathias Bogaert)\u003c/li\u003e\n\u003cli\u003eOptimize pgio append/set functions with direct byte shifts (Mathias Bogaert)\u003c/li\u003e\n\u003cli\u003eMake RowsAffected faster (Abhishek Chanda)\u003c/li\u003e\n\u003cli\u003eFix: Pipeline.Close panic when server sends multiple FATAL errors (Varun Chawla)\u003c/li\u003e\n\u003cli\u003eFix: ContextWatcher goroutine leak (Hank Donnay)\u003c/li\u003e\n\u003cli\u003eFix: stdlib discard connections with open transactions in ResetSession (Jeremy Schneider)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jackc/pgx/commit/0aeabbcf11d859229c1f0b20e710d3596c76bf27\"\u003e\u003ccode\u003e0aeabbc\u003c/code\u003e\u003c/a\u003e Release v5.9.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jackc/pgx/commit/60644f84918a8af66d14a4b0d865d4edafd955da\"\u003e\u003ccode\u003e60644f8\u003c/code\u003e\u003c/a\u003e Fix SQL sanitizer bugs with dollar-quoted strings and placeholder overflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jackc/pgx/commit/a5680bc945aa7c6ebac2778d859ee7b4ba86db60\"\u003e\u003ccode\u003ea5680bc\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/jackc/pgx/issues/2531\"\u003e#2531\u003c/a\u003e from dolmen-go/godoc-add-links\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jackc/pgx/commit/e34e4524007062710c6a4fb9c8655b75a486b5cd\"\u003e\u003ccode\u003ee34e452\u003c/code\u003e\u003c/a\u003e doc: Add godoc links\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jackc/pgx/commit/08c9bb1f0d8fa6cc10ed8c713e68b1baa64dfe2c\"\u003e\u003ccode\u003e08c9bb1\u003c/code\u003e\u003c/a\u003e Fix Stringer types encoded as text instead of numeric value in composite fields\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jackc/pgx/commit/96b4dbdfd0458cb425bf8454d292a23978872cc8\"\u003e\u003ccode\u003e96b4dbd\u003c/code\u003e\u003c/a\u003e Remove unstable test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jackc/pgx/commit/acf88e0065682e8948696d26fa6438669c4cabee\"\u003e\u003ccode\u003eacf88e0\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/jackc/pgx/issues/2526\"\u003e#2526\u003c/a\u003e from abrightwell/abrightwell-min-proto\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jackc/pgx/commit/2f81f1fc03bef99593e92c64ad9cac954c00e8e6\"\u003e\u003ccode\u003e2f81f1f\u003c/code\u003e\u003c/a\u003e Update \u003ccode\u003emax_protocol_version\u003c/code\u003e and \u003ccode\u003emin_protocol_version\u003c/code\u003e defaults\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jackc/pgx/commit/4e4eaedb47b7b3cfba0a1b0a9e6a3f015764f046\"\u003e\u003ccode\u003e4e4eaed\u003c/code\u003e\u003c/a\u003e Release v5.9.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jackc/pgx/commit/62731882651a90348febb43b2119b5f8bd9272de\"\u003e\u003ccode\u003e6273188\u003c/code\u003e\u003c/a\u003e Fix batch result format corruption when using cached prepared statements\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jackc/pgx/compare/v5.8.0...v5.9.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/lib/pq` from 1.11.2 to 1.12.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/lib/pq/releases\"\u003egithub.com/lib/pq's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.12.3\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSend datestyle startup parameter, improving compatbility with database engines that use a different default datestyle such as EnterpriseDB (\u003ca href=\"https://redirect.github.com/lib/pq/issues/1312\"\u003e#1312\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/lib/pq/issues/1312\"\u003e#1312\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/lib/pq/pull/1312\"\u003elib/pq#1312\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.12.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eTreat io.ErrUnexpectedEOF as driver.ErrBadConn so database/sql discards the connection. Since v1.12.0 this could result in permanently broken connections, especially with CockroachDB which frequently sends partial messages (\u003ca href=\"https://redirect.github.com/lib/pq/issues/1299\"\u003e#1299\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/lib/pq/issues/1299\"\u003e#1299\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/lib/pq/pull/1299\"\u003elib/pq#1299\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.12.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eLook for pgpass file in ~/.pgpass instead of ~/.postgresql/pgpass (\u003ca href=\"https://redirect.github.com/lib/pq/issues/1300\"\u003e#1300\u003c/a\u003e).\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDon't clear password if directly set on pq.Config (\u003ca href=\"https://redirect.github.com/lib/pq/issues/1302\"\u003e#1302\u003c/a\u003e).\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/lib/pq/issues/1300\"\u003e#1300\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/lib/pq/pull/1300\"\u003elib/pq#1300\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/lib/pq/issues/1302\"\u003e#1302\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/lib/pq/pull/1302\"\u003elib/pq#1302\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.12.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eThe next release may change the default sslmode from \u003ccode\u003erequire\u003c/code\u003e to \u003ccode\u003eprefer\u003c/code\u003e. See \u003ca href=\"https://redirect.github.com/lib/pq/issues/1271\"\u003e#1271\u003c/a\u003e for details.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003eCopyIn()\u003c/code\u003e and \u003ccode\u003eCopyInToSchema()\u003c/code\u003e have been marked as deprecated. These are simple query builders and not needed for \u003ccode\u003eCOPY [..] FROM STDIN\u003c/code\u003e support (which is \u003cem\u003enot\u003c/em\u003e deprecated). (\u003ca href=\"https://redirect.github.com/lib/pq/issues/1279\"\u003e#1279\u003c/a\u003e)\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e// Old\r\ntx.Prepare(CopyIn(\u0026quot;temp\u0026quot;, \u0026quot;num\u0026quot;, \u0026quot;text\u0026quot;, \u0026quot;blob\u0026quot;, \u0026quot;nothing\u0026quot;))\r\n\u003cp\u003e// Replacement\ntx.Prepare(\u003ccode\u003ecopy temp (num, text, blob, nothing) from stdin\u003c/code\u003e)\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eSupport protocol 3.2, and the \u003ccode\u003emin_protocol_version\u003c/code\u003e and \u003ccode\u003emax_protocol_version\u003c/code\u003e DSN parameters (\u003ca href=\"https://redirect.github.com/lib/pq/issues/1258\"\u003e#1258\u003c/a\u003e).\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSupport \u003ccode\u003esslmode=prefer\u003c/code\u003e and \u003ccode\u003esslmode=allow\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/lib/pq/issues/1270\"\u003e#1270\u003c/a\u003e).\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSupport \u003ccode\u003essl_min_protocol_version\u003c/code\u003e and \u003ccode\u003essl_max_protocol_version\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/lib/pq/issues/1277\"\u003e#1277\u003c/a\u003e).\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSupport connection service file to load connection details (\u003ca href=\"https://redirect.github.com/lib/pq/issues/1285\"\u003e#1285\u003c/a\u003e).\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSupport \u003ccode\u003esslrootcert=system\u003c/code\u003e and use \u003ccode\u003e~/.postgresql/root.crt\u003c/code\u003e as the default value of sslrootcert (\u003ca href=\"https://redirect.github.com/lib/pq/issues/1280\"\u003e#1280\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/lib/pq/issues/1281\"\u003e#1281\u003c/a\u003e).\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd a new \u003ccode\u003epqerror\u003c/code\u003e package with PostgreSQL error codes (\u003ca href=\"https://redirect.github.com/lib/pq/issues/1275\"\u003e#1275\u003c/a\u003e).\u003c/p\u003e\n\u003cp\u003eFor example, to test if an error is a UNIQUE constraint violation:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eif pqErr, ok := errors.AsType[*pq.Error](https://github.com/lib/pq/blob/HEAD/err); ok \u0026amp;\u0026amp; pqErr.Code == pqerror.UniqueViolation {\r\n    log.Fatalf(\u0026quot;email %q already exsts\u0026quot;, email)\r\n}\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eTo make this a bit more convenient, it also adds a \u003ccode\u003epq.As()\u003c/code\u003e function:\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/lib/pq/blob/master/CHANGELOG.md\"\u003egithub.com/lib/pq's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.12.3 (2026-04-03)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSend datestyle startup parameter, improving compatbility with database engines\nthat use a different default datestyle such as EnterpriseDB (\u003ca href=\"https://redirect.github.com/lib/pq/issues/1312\"\u003e#1312\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/lib/pq/issues/1312\"\u003e#1312\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/lib/pq/pull/1312\"\u003elib/pq#1312\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.12.2 (2026-04-02)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eTreat io.ErrUnexpectedEOF as driver.ErrBadConn so database/sql discards the\nconnection. Since v1.12.0 this could result in permanently broken connections,\nespecially with CockroachDB which frequently sends partial messages (\u003ca href=\"https://redirect.github.com/lib/pq/issues/1299\"\u003e#1299\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/lib/pq/issues/1299\"\u003e#1299\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/lib/pq/pull/1299\"\u003elib/pq#1299\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.12.1 (2026-03-30)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eLook for pgpass file in ~/.pgpass instead of ~/.postgresql/pgpass (\u003ca href=\"https://redirect.github.com/lib/pq/issues/1300\"\u003e#1300\u003c/a\u003e).\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDon't clear password if directly set on pq.Config (\u003ca href=\"https://redirect.github.com/lib/pq/issues/1302\"\u003e#1302\u003c/a\u003e).\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/lib/pq/issues/1300\"\u003e#1300\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/lib/pq/pull/1300\"\u003elib/pq#1300\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/lib/pq/issues/1302\"\u003e#1302\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/lib/pq/pull/1302\"\u003elib/pq#1302\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.12.0 (2026-03-18)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eThe next release may change the default sslmode from \u003ccode\u003erequire\u003c/code\u003e to \u003ccode\u003eprefer\u003c/code\u003e.\nSee \u003ca href=\"https://redirect.github.com/lib/pq/issues/1271\"\u003e#1271\u003c/a\u003e for details.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003eCopyIn()\u003c/code\u003e and \u003ccode\u003eCopyInToSchema()\u003c/code\u003e have been marked as deprecated. These are\nsimple query builders and not needed for \u003ccode\u003eCOPY [..] FROM STDIN\u003c/code\u003e support (which\nis \u003cem\u003enot\u003c/em\u003e deprecated). (\u003ca href=\"https://redirect.github.com/lib/pq/issues/1279\"\u003e#1279\u003c/a\u003e)\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e// Old\ntx.Prepare(CopyIn(\u0026quot;temp\u0026quot;, \u0026quot;num\u0026quot;, \u0026quot;text\u0026quot;, \u0026quot;blob\u0026quot;, \u0026quot;nothing\u0026quot;))\n\u003cp\u003e// Replacement\ntx.Prepare(\u003ccode\u003ecopy temp (num, text, blob, nothing) from stdin\u003c/code\u003e)\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eSupport protocol 3.2, and the \u003ccode\u003emin_protocol_version\u003c/code\u003e and\n\u003ccode\u003emax_protocol_version\u003c/code\u003e DSN parameters (\u003ca href=\"https://redirect.github.com/lib/pq/issues/1258\"\u003e#1258\u003c/a\u003e).\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSupport \u003ccode\u003esslmode=prefer\u003c/code\u003e and \u003ccode\u003esslmode=allow\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/lib/pq/issues/1270\"\u003e#1270\u003c/a\u003e).\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSupport \u003ccode\u003essl_min_protocol_version\u003c/code\u003e and \u003ccode\u003essl_max_protocol_version\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/lib/pq/issues/1277\"\u003e#1277\u003c/a\u003e).\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lib/pq/commit/1f3e3d92865dd313b4e146968684d7e3836c76e8\"\u003e\u003ccode\u003e1f3e3d9\u003c/code\u003e\u003c/a\u003e Send datestyle as a startup parameter (\u003ca href=\"https://redirect.github.com/lib/pq/issues/1312\"\u003e#1312\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lib/pq/commit/32ba56b8f9c09575e3320f0043f4f0bdf0ad2009\"\u003e\u003ccode\u003e32ba56b\u003c/code\u003e\u003c/a\u003e Expand tests for multiple result sets\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lib/pq/commit/c2cfac15d5048670f784616c0c3dca56f97f49c0\"\u003e\u003ccode\u003ec2cfac1\u003c/code\u003e\u003c/a\u003e Release v1.12.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lib/pq/commit/859f10493799ae5b3fc3706bbef2ee48764dc787\"\u003e\u003ccode\u003e859f104\u003c/code\u003e\u003c/a\u003e Test CockroachDB\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lib/pq/commit/12e464c3afecfb945fc764001837c137fa764e37\"\u003e\u003ccode\u003e12e464c\u003c/code\u003e\u003c/a\u003e Allow multiple matches and regexps in pqtest.ErrorContains()\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lib/pq/commit/6d77ced41719616090c9e7eec2c313a18640bc3f\"\u003e\u003ccode\u003e6d77ced\u003c/code\u003e\u003c/a\u003e Treat io.ErrUnexpectedEOF as driver.ErrBadConn in handleError\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lib/pq/commit/71daecbc4522cf9cb6c399e19b910d22356ebb87\"\u003e\u003ccode\u003e71daecb\u003c/code\u003e\u003c/a\u003e Ensure transactions are closed in pqtest\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lib/pq/commit/8f448230b50d3c2f796fd20622daaf8ebe3d173c\"\u003e\u003ccode\u003e8f44823\u003c/code\u003e\u003c/a\u003e Set PGAPPNAME for tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lib/pq/commit/4af2196aa02298c23461f2baf538a0679b66a093\"\u003e\u003ccode\u003e4af2196\u003c/code\u003e\u003c/a\u003e Fix healthcheck\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lib/pq/commit/38a54e44b0a91e12314291c9102714e7f503ba98\"\u003e\u003ccode\u003e38a54e4\u003c/code\u003e\u003c/a\u003e Split out testdata/init a bit\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/lib/pq/compare/v1.11.2...v1.12.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `go.temporal.io/sdk` from 1.40.0 to 1.43.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/temporalio/sdk-go/releases\"\u003ego.temporal.io/sdk's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.43.0\u003c/h2\u003e\n\u003ch2\u003eHighlights\u003c/h2\u003e\n\u003ch3\u003e💥 Payload and Memo Size Validation (Experimental)\u003c/h3\u003e\n\u003cp\u003eWithin workers, if a payload exceeds the server limits, the worker will eagerly fail the current task instead of uploading the object with the too large payload or memo. This allows the task to be retried instead of entirely failing the workflow from within the server. Additional documentation on how to use this feature will be linked here when available.\u003c/p\u003e\n\u003ch3\u003eExternal Storage Updates (Experimental)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eStore and retrieval operations run concurrently with a default limit of 3 concurrent sequence visits per workflow task, thus shortening wall-class time for store and retrieval operations for each workflow task.\u003c/li\u003e\n\u003cli\u003eNew Codec Server payload HTTP handler to allow Temporal Web UI and CLI to encode, decode, and download externally stored payloads. Additional documentation on how to use this feature will be linked here when available.\u003c/li\u003e\n\u003cli\u003e💥 External storage event history format has been incompatibly changed from prerelease. New storage references are emitted in the new format starting with release. Support for the ability to retrieve references in the old format has been preserved. The prerelease format is deprecated and will be removed in a future release.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eS3 driver readmes by \u003ca href=\"https://github.com/jmaeagle99\"\u003e\u003ccode\u003e@​jmaeagle99\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/temporalio/sdk-go/pull/2281\"\u003etemporalio/sdk-go#2281\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eClarify Standalone Activities in S3 driver README by \u003ca href=\"https://github.com/drewhoskins-temporal\"\u003e\u003ccode\u003e@​drewhoskins-temporal\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/temporalio/sdk-go/pull/2287\"\u003etemporalio/sdk-go#2287\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove flag for cancelling worker polls on shutdown by \u003ca href=\"https://github.com/jmaeagle99\"\u003e\u003ccode\u003e@​jmaeagle99\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/temporalio/sdk-go/pull/2288\"\u003etemporalio/sdk-go#2288\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eExpose Nexus Endpoint in Nexus Info by \u003ca href=\"https://github.com/Quinn-With-Two-Ns\"\u003e\u003ccode\u003e@​Quinn-With-Two-Ns\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/temporalio/sdk-go/pull/2291\"\u003etemporalio/sdk-go#2291\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnable external storage concurrency by \u003ca href=\"https://github.com/jmaeagle99\"\u003e\u003ccode\u003e@​jmaeagle99\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/temporalio/sdk-go/pull/2294\"\u003etemporalio/sdk-go#2294\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: Update and pin all GHA actions by \u003ca href=\"https://github.com/mjameswh\"\u003e\u003ccode\u003e@​mjameswh\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/temporalio/sdk-go/pull/2297\"\u003etemporalio/sdk-go#2297\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eInternal: fix already-ready future chaining to properly complete dest… by \u003ca href=\"https://github.com/kritibehl\"\u003e\u003ccode\u003e@​kritibehl\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/temporalio/sdk-go/pull/2298\"\u003etemporalio/sdk-go#2298\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e:boom: Experimental: Payload limit validation by \u003ca href=\"https://github.com/jmaeagle99\"\u003e\u003ccode\u003e@​jmaeagle99\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/temporalio/sdk-go/pull/2255\"\u003etemporalio/sdk-go#2255\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDo not require resource tuner for heartbeat CPU/mem metrics by \u003ca href=\"https://github.com/Sushisource\"\u003e\u003ccode\u003e@​Sushisource\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/temporalio/sdk-go/pull/2301\"\u003etemporalio/sdk-go#2301\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMore TMPRL1104 logging details by \u003ca href=\"https://github.com/jmaeagle99\"\u003e\u003ccode\u003e@​jmaeagle99\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/temporalio/sdk-go/pull/2300\"\u003etemporalio/sdk-go#2300\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: pollerBalancer.balance checks own count deterministically on every iteration by \u003ca href=\"https://github.com/brucearctor\"\u003e\u003ccode\u003e@​brucearctor\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/temporalio/sdk-go/pull/2250\"\u003etemporalio/sdk-go#2250\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eExperimental: Payload HTTP Handler for Codecs and External Storage by \u003ca href=\"https://github.com/jmaeagle99\"\u003e\u003ccode\u003e@​jmaeagle99\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/temporalio/sdk-go/pull/2295\"\u003etemporalio/sdk-go#2295\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e💥 Experimental: Memo limit validation by \u003ca href=\"https://github.com/jmaeagle99\"\u003e\u003ccode\u003e@​jmaeagle99\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/temporalio/sdk-go/pull/2303\"\u003etemporalio/sdk-go#2303\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs(contributing): remove outdated info from CONTRIBUTING.md. by \u003ca href=\"https://github.com/cconstable\"\u003e\u003ccode\u003e@​cconstable\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/temporalio/sdk-go/pull/2306\"\u003etemporalio/sdk-go#2306\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd main branch to GitHub workflows by \u003ca href=\"https://github.com/jmaeagle99\"\u003e\u003ccode\u003e@​jmaeagle99\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/temporalio/sdk-go/pull/2308\"\u003etemporalio/sdk-go#2308\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePayload visit activity heartbeat by \u003ca href=\"https://github.com/jmaeagle99\"\u003e\u003ccode\u003e@​jmaeagle99\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/temporalio/sdk-go/pull/2312\"\u003etemporalio/sdk-go#2312\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSEC-1653: remediate missing-govulncheck-workflow by \u003ca href=\"https://github.com/picatz\"\u003e\u003ccode\u003e@​picatz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/temporalio/sdk-go/pull/2313\"\u003etemporalio/sdk-go#2313\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e:boom: Use ExternalStorageReference protobuf message for payload references by \u003ca href=\"https://github.com/jmaeagle99\"\u003e\u003ccode\u003e@​jmaeagle99\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/temporalio/sdk-go/pull/2311\"\u003etemporalio/sdk-go#2311\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate go.temporal.io/api to 1.62.11 by \u003ca href=\"https://github.com/jmaeagle99\"\u003e\u003ccode\u003e@​jmaeagle99\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/temporalio/sdk-go/pull/2310\"\u003etemporalio/sdk-go#2310\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate go.opentelemetry.io/otel to 1.41.0 by \u003ca href=\"https://github.com/jmaeagle99\"\u003e\u003ccode\u003e@​jmaeagle99\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/temporalio/sdk-go/pull/2317\"\u003etemporalio/sdk-go#2317\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse protojson marshaling for payload HTTP handler response by \u003ca href=\"https://github.com/jmaeagle99\"\u003e\u003ccode\u003e@​jmaeagle99\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/temporalio/sdk-go/pull/2315\"\u003etemporalio/sdk-go#2315\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Describe to S3 driver client by \u003ca href=\"https://github.com/jmaeagle99\"\u003e\u003ccode\u003e@​jmaeagle99\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/temporalio/sdk-go/pull/2316\"\u003etemporalio/sdk-go#2316\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSet task poller type for scalable task pollers by \u003ca href=\"https://github.com/kritibehl\"\u003e\u003ccode\u003e@​kritibehl\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/temporalio/sdk-go/pull/2248\"\u003etemporalio/sdk-go#2248\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eCONTINUE_AS_NEW_VERSIONING_BEHAVIOR_USE_RAMPING_VERSION\u003c/code\u003e by \u003ca href=\"https://github.com/THardy98\"\u003e\u003ccode\u003e@​THardy98\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/temporalio/sdk-go/pull/2319\"\u003etemporalio/sdk-go#2319\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/drewhoskins-temporal\"\u003e\u003ccode\u003e@​drewhoskins-temporal\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/temporalio/sdk-go/pull/2287\"\u003etemporalio/sdk-go#2287\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brucearctor\"\u003e\u003ccode\u003e@​brucearctor\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/temporalio/sdk-go/pull/2250\"\u003etemporalio/sdk-go#2250\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cconstable\"\u003e\u003ccode\u003e@​cconstable\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/temporalio/sdk-go/pull/2306\"\u003etemporalio/sdk-go#2306\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/temporalio/sdk-go/compare/v1.42.0...v1.43.0\"\u003ehttps://github.com/temporalio/sdk-go/compare/v1.42.0...v1.43.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.42.0\u003c/h2\u003e\n\u003ch2\u003eBreaking Changes\u003c/h2\u003e\n\u003ch3\u003e\u003cstrong\u003e💥\u003c/strong\u003e Minimum Go version updated to 1.24.0\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/temporalio/sdk-go/commit/8b9d2c2589cd0466c73089eb9e71c2e8491ff2e9\"\u003e\u003ccode\u003e8b9d2c2\u003c/code\u003e\u003c/a\u003e Release Go SDK v1.43.0 (\u003ca href=\"https://redirect.github.com/temporalio/sdk-go/issues/2320\"\u003e#2320\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/temporalio/sdk-go/commit/ebf4b2b8378494b150c7cc3c17c545de51a1e7c6\"\u003e\u003ccode\u003eebf4b2b\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003eCONTINUE_AS_NEW_VERSIONING_BEHAVIOR_USE_RAMPING_VERSION\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/temporalio/sdk-go/issues/2319\"\u003e#2319\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/temporalio/sdk-go/commit/35367242edb9e92be90825cd7653ab0046a660d1\"\u003e\u003ccode\u003e3536724\u003c/code\u003e\u003c/a\u003e Set task poller type for scalable task pollers (\u003ca href=\"https://redirect.github.com/temporalio/sdk-go/issues/2248\"\u003e#2248\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/temporalio/sdk-go/commit/149711acc26af7fe10bb9009330cb74c1a841016\"\u003e\u003ccode\u003e149711a\u003c/code\u003e\u003c/a\u003e Add Describe to S3 driver client (\u003ca href=\"https://redirect.github.com/temporalio/sdk-go/issues/2316\"\u003e#2316\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/temporalio/sdk-go/commit/a27c0b46ac55e6c69580b50edf88b0c86d7220b6\"\u003e\u003ccode\u003ea27c0b4\u003c/code\u003e\u003c/a\u003e Use protojson marshaling for payload HTTP handler response (\u003ca href=\"https://redirect.github.com/temporalio/sdk-go/issues/2315\"\u003e#2315\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/temporalio/sdk-go/commit/0cdb74ea16666b8a952aa7635a7e212f653d3dfe\"\u003e\u003ccode\u003e0cdb74e\u003c/code\u003e\u003c/a\u003e Update go.opentelemetry.io/otel to 1.41.0 (\u003ca href=\"https://redirect.github.com/temporalio/sdk-go/issues/2317\"\u003e#2317\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/temporalio/sdk-go/commit/38c6f517a2d52bad2ccee7c1311ec3907638b616\"\u003e\u003ccode\u003e38c6f51\u003c/code\u003e\u003c/a\u003e Update go.temporal.io/api to 1.62.11 (\u003ca href=\"https://redirect.github.com/temporalio/sdk-go/issues/2310\"\u003e#2310\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/temporalio/sdk-go/commit/2086ddb9034e42c31549ec8a06803ce875c96805\"\u003e\u003ccode\u003e2086ddb\u003c/code\u003e\u003c/a\u003e 💥 Use ExternalStorageReference proto for payload references (\u003ca href=\"https://redirect.github.com/temporalio/sdk-go/issues/2311\"\u003e#2311\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/temporalio/sdk-go/commit/9d32461522e830f181f0dfdeab715bdb3870ac40\"\u003e\u003ccode\u003e9d32461\u003c/code\u003e\u003c/a\u003e SEC-1653: fix missing-govulncheck-workflow (\u003ca href=\"https://redirect.github.com/temporalio/sdk-go/issues/2313\"\u003e#2313\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/temporalio/sdk-go/commit/ba200b88e609f7465a3ebc2aa13e13a2199f52b0\"\u003e\u003ccode\u003eba200b8\u003c/code\u003e\u003c/a\u003e Payload visit activity heartbeat (\u003ca href=\"https://redirect.github.com/temporalio/sdk-go/issues/2312\"\u003e#2312\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/temporalio/sdk-go/compare/v1.40.0...v1.43.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n","html_url":"https://github.com/hidatara-ds/evolipia-radar/pull/75","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/hidatara-ds%2Fevolipia-radar/issues/75","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/75/packages"}},{"old_version":"1.9.1","new_version":"1.12.0","update_type":"minor","path":"/services/QMServer","pr_created_at":"2026-04-18T10:58:08.000Z","version_change":"1.9.1 → 1.12.0","issue":{"uuid":"4287724927","node_id":"PR_kwDOSGAfc87TkZlO","number":71,"state":"open","title":"chore(deps): bump github.com/gin-gonic/gin from 1.9.1 to 1.12.0 in /services/QMServer","user":"dependabot[bot]","labels":["dependencies","go"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-04-18T10:58:08.000Z","updated_at":"2026-04-18T12:31:22.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)","packages":[{"name":"github.com/gin-gonic/gin","old_version":"1.9.1","new_version":"1.12.0","repository_url":"https://github.com/gin-gonic/gin"}],"path":"/services/QMServer","ecosystem":"go"},"body":"Bumps [github.com/gin-gonic/gin](https://github.com/gin-gonic/gin) from 1.9.1 to 1.12.0.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/gin-gonic/gin/releases\"\u003egithub.com/gin-gonic/gin's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.12.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e192ac89eefc1c30f7c97ae48a9ffb1c6f1c8c8bc: feat(binding): add support for encoding.UnmarshalText in uri/query binding (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4203\"\u003e#4203\u003c/a\u003e) (\u003ca href=\"https://github.com/takanuva15\"\u003e\u003ccode\u003e@​takanuva15\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e53410d2e07054369e0960fbe2eed97e1b9966f12: feat(context): add GetError and GetErrorSlice methods for error retrieval (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4502\"\u003e#4502\u003c/a\u003e) (\u003ca href=\"https://github.com/raju-mechatronics\"\u003e\u003ccode\u003e@​raju-mechatronics\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eacc55e049e33b401e810dbd8c0d6dcb6b3ba2b05: feat(context): add Protocol Buffers support to content negotiation (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4423\"\u003e#4423\u003c/a\u003e) (\u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e38e765119241d990705169bedb5002a29ae0cbd1: feat(context): implemented Delete method (\u003ca href=\"https://github.com/Spyder01\"\u003e\u003ccode\u003e@​Spyder01\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e771dcc6476d7bc6abb9ec0235ecefa4d38fe6fb0: feat(gin): add option to use escaped path (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4420\"\u003e#4420\u003c/a\u003e) (\u003ca href=\"https://github.com/ldesauw\"\u003e\u003ccode\u003e@​ldesauw\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e4dec17afdff48e8018c83618fbbe69fceeb2b41d: feat(logger): color latency (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4146\"\u003e#4146\u003c/a\u003e) (\u003ca href=\"https://github.com/wsyqn6\"\u003e\u003ccode\u003e@​wsyqn6\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ed7776de7d444935ea4385999711bd6331a98fecb: feat(render): add bson protocol (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4145\"\u003e#4145\u003c/a\u003e) (\u003ca href=\"https://github.com/laurentcau\"\u003e\u003ccode\u003e@​laurentcau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eb917b14ff9d189f16a7492be79d123a47806ee19: fix(binding): empty value error (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/2169\"\u003e#2169\u003c/a\u003e) (\u003ca href=\"https://github.com/guonaihong\"\u003e\u003ccode\u003e@​guonaihong\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ec3d1092b3b48addf6f9cd00fe274ec3bd14650eb: fix(binding): improve empty slice/array handling in form binding (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4380\"\u003e#4380\u003c/a\u003e) (\u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e9914178584e42458ff7d23891463a880f58c9d86: fix(context): ClientIP handling for multiple X-Forwarded-For header values (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4472\"\u003e#4472\u003c/a\u003e) (\u003ca href=\"https://github.com/Nurysso\"\u003e\u003ccode\u003e@​Nurysso\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e2a794cd0b0faa7d829291375b27a3467ea972b0d: fix(debug): version mismatch (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4403\"\u003e#4403\u003c/a\u003e) (\u003ca href=\"https://github.com/zeek0x\"\u003e\u003ccode\u003e@​zeek0x\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ec3d5a28ed6d3849da820195b6774d212bcc038a9: fix(gin): close os.File in RunFd to prevent resource leak (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4422\"\u003e#4422\u003c/a\u003e) (\u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e5fad976b372e381312f8de69f0969f1284d229d3: fix(gin): literal colon routes not working with engine.Handler() (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4415\"\u003e#4415\u003c/a\u003e) (\u003ca href=\"https://github.com/pawannn\"\u003e\u003ccode\u003e@​pawannn\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e63dd3e60cab89c27fb66bce1423bd268d52abad1: fix(recover): suppress http.ErrAbortHandler in recover (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4336\"\u003e#4336\u003c/a\u003e) (\u003ca href=\"https://github.com/MondayCha\"\u003e\u003ccode\u003e@​MondayCha\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e5c00df8afadd06cc5be530dde00fe6d9fa4a2e4a: fix(render): write content length in Data.Render (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4206\"\u003e#4206\u003c/a\u003e) (\u003ca href=\"https://github.com/dengaleev\"\u003e\u003ccode\u003e@​dengaleev\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e234a6d4c00cb77af9852aca0b8289745d5529b4b: fix(response): refine hijack behavior for response lifecycle (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4373\"\u003e#4373\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e472d086af2acd924cb4b9d7be0525f7d790f69bc: fix(tree): panic in findCaseInsensitivePathRec with RedirectFixedPath (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4535\"\u003e#4535\u003c/a\u003e) (\u003ca href=\"https://github.com/veeceey\"\u003e\u003ccode\u003e@​veeceey\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e8e07d37c63e5536eb25f4af4c91eabeee4011fba: fix: Correct typos, improve documentation clarity, and remove dead code (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4511\"\u003e#4511\u003c/a\u003e) (\u003ca href=\"https://github.com/mahanadh\"\u003e\u003ccode\u003e@​mahanadh\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eba093d19477b896ac89a7fc3246af23d290b8e26: chore(binding): upgrade bson dependency to mongo-driver v2 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4549\"\u003e#4549\u003c/a\u003e) (\u003ca href=\"https://github.com/BobDu\"\u003e\u003ccode\u003e@​BobDu\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eb2b489dbf4826c2c630717a77fd5e42774625410: chore(context): always trust xff headers from unix socket (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/3359\"\u003e#3359\u003c/a\u003e) (\u003ca href=\"https://github.com/WeidiDeng\"\u003e\u003ccode\u003e@​WeidiDeng\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eecb3f7b5e2f3915bf1db240ed5eee572f8dbea36: chore(deps): upgrade golang.org/x/crypto to v0.45.0 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4449\"\u003e#4449\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eaf6e8b70b8261bb0c99ad094fe552ab92991620a: chore(deps): upgrade quic-go to v0.57.1 (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edb309081bc5c137b2aa15701ef53f7f19788da25: chore(logger): allow skipping query string output (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4547\"\u003e#4547\u003c/a\u003e) (\u003ca href=\"https://github.com/USA-RedDragon\"\u003e\u003ccode\u003e@​USA-RedDragon\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e26c3a628655cad2388380cb8102d6ce7d4875f3b: chore(response): prevent Flush() panic when \u003ccode\u003ehttp.Flusher\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4479\"\u003e#4479\u003c/a\u003e) (\u003ca href=\"https://github.com/Twacqwq\"\u003e\u003ccode\u003e@​Twacqwq\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e5dd833f1f26de0eb30eae47b17e05ced2482dc41: chore: bump minimum Go version to 1.24 and update workflows (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4388\"\u003e#4388\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRefactor\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e39858a0859c914bd26948fa950477e11bd8d3823: refactor(binding): use maps.Copy for cleaner map handling (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4352\"\u003e#4352\u003c/a\u003e) (\u003ca href=\"https://github.com/russcoss\"\u003e\u003ccode\u003e@​russcoss\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ec0048f645ee945c4db30593afdea10123e2c30a6: refactor(context): omit the return value names (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4395\"\u003e#4395\u003c/a\u003e) (\u003ca href=\"https://github.com/wanghaolong613\"\u003e\u003ccode\u003e@​wanghaolong613\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e915e4c90d28ec4cffc6eb146e208ab5a65eac772: refactor(context): replace hardcoded localhost IPs with constants (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4481\"\u003e#4481\u003c/a\u003e) (\u003ca href=\"https://github.com/pauloappbr\"\u003e\u003ccode\u003e@​pauloappbr\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e414de60574449457f3192a7a1d5528940db2836d: refactor(context): using maps.Clone (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4333\"\u003e#4333\u003c/a\u003e) (\u003ca href=\"https://github.com/cuiweixie\"\u003e\u003ccode\u003e@​cuiweixie\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e59e9d4a794f12c4f9a6c7bed441b9644e5f6d99b: refactor(ginS): use sync.OnceValue to simplify engine function (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4314\"\u003e#4314\u003c/a\u003e) (\u003ca href=\"https://github.com/1911860538\"\u003e\u003ccode\u003e@​1911860538\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e3ab698dc5110af1977d57226e4995c57dd34c233: refactor(recovery): smart error comparison (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4142\"\u003e#4142\u003c/a\u003e) (\u003ca href=\"https://github.com/zeek0x\"\u003e\u003ccode\u003e@​zeek0x\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ed1a15347b1e45a8ee816193d3578a93bfd73b70f: refactor(utils): move util functions to utils.go (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4467\"\u003e#4467\u003c/a\u003e) (\u003ca href=\"https://github.com/zeek0x\"\u003e\u003ccode\u003e@​zeek0x\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ee3118cc378d263454098924ebbde7e8d1dd2e904: refactor: for loop can be modernized using range over int (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4392\"\u003e#4392\u003c/a\u003e) (\u003ca href=\"https://github.com/wanghaolong613\"\u003e\u003ccode\u003e@​wanghaolong613\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e488f8c3ffa579a8d19beb2bae95ff8ef36b3d53f: refactor: replace magic numbers with named constants in bodyAllowedForStatus (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4529\"\u003e#4529\u003c/a\u003e) (\u003ca href=\"https://github.com/veeceey\"\u003e\u003ccode\u003e@​veeceey\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e9968c4bf9d5a99edc3eee2c068a4c9160ece8915: refactor: use b.Loop() to simplify the code and improve performance (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4389\"\u003e#4389\u003c/a\u003e) (\u003ca href=\"https://github.com/reddaisyy\"\u003e\u003ccode\u003e@​reddaisyy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ea85ef5ce4d0cda8834c59c855068ed48b51192d1: refactor: use b.Loop() to simplify the code and improve performance (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4432\"\u003e#4432\u003c/a\u003e) (\u003ca href=\"https://github.com/efcking\"\u003e\u003ccode\u003e@​efcking\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBuild process updates\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e61b67de522a189b568aced4c5c16917c558e3387: ci(bot): increase frequency and group updates for dependencies (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4367\"\u003e#4367\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efb27ef26c2fdfe25344b4c039d8a53551f9e912c: ci(lint): refactor test assertions and linter configuration (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4436\"\u003e#4436\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e93ff771e6dbf10e432864b30f3719ac5c84a4d4a: ci(sec): improve type safety and server organization in HTTP middleware (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4437\"\u003e#4437\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ee88fc8927a52b74f55bec0351604a56ac0aa1c51: ci(sec): schedule Trivy security scans to run daily at midnight UTC (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4439\"\u003e#4439\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e5e5ff3ace496a31b138b0820136a146bfb5de0ef: ci: replace vulnerability scanning workflow with Trivy integration (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4421\"\u003e#4421\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e00900fb3e1ea9dde33985a0e4f6afec793d5e786: ci: update CI workflows and standardize Trivy config quotes (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4531\"\u003e#4531\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eae3f524974fc4f55d18c9e7fae4614503c015226: ci: update Go version support to 1.25+ across CI and docs (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4550\"\u003e#4550\u003c/a\u003e) (\u003ca href=\"https://github.com/appleboy\"\u003e\u003ccode\u003e@​appleboy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/gin-gonic/gin/blob/master/CHANGELOG.md\"\u003egithub.com/gin-gonic/gin's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eGin v1.12.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat(render): add bson protocol (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4145\"\u003e#4145\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(context): add GetError and GetErrorSlice methods for error retrieval (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4502\"\u003e#4502\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(binding): add support for encoding.UnmarshalText in uri/query binding (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4203\"\u003e#4203\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(gin): add option to use escaped path (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4420\"\u003e#4420\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(context): add Protocol Buffers support to content negotiation (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4423\"\u003e#4423\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(context): implemented Delete method (\u003ca href=\"https://github.com/gin-gonic/gin/commit/38e7651\"\u003e#38e7651\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(logger): color latency (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4146\"\u003e#4146\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eperf(tree): reduce allocations in findCaseInsensitivePath (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4417\"\u003e#4417\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eperf(recovery): optimize line reading in stack function (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4466\"\u003e#4466\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eperf(path): replace regex with custom functions in redirectTrailingSlash (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4414\"\u003e#4414\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eperf(tree): optimize path parsing using strings.Count (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4246\"\u003e#4246\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(logger): allow skipping query string output (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4547\"\u003e#4547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(context): always trust xff headers from unix socket (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/3359\"\u003e#3359\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(response): prevent Flush() panic when the underlying ResponseWriter does not implement \u003ccode\u003ehttp.Flusher\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4479\"\u003e#4479\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(recovery): smart error comparison (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4142\"\u003e#4142\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(context): replace hardcoded localhost IPs with constants (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4481\"\u003e#4481\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(utils): move util functions to utils.go (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4467\"\u003e#4467\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(binding): use maps.Copy for cleaner map handling (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4352\"\u003e#4352\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(context): using maps.Clone (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4333\"\u003e#4333\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(ginS): use sync.OnceValue to simplify engine function (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4314\"\u003e#4314\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor: replace magic numbers with named constants in bodyAllowedForStatus (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4529\"\u003e#4529\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor: for loop can be modernized using range over int (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4392\"\u003e#4392\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(tree): panic in findCaseInsensitivePathRec with RedirectFixedPath (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4535\"\u003e#4535\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(render): write content length in Data.Render (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4206\"\u003e#4206\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(context): ClientIP handling for multiple X-Forwarded-For header values (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4472\"\u003e#4472\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(binding): empty value error (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/2169\"\u003e#2169\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(recover): suppress http.ErrAbortHandler in recover (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4336\"\u003e#4336\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(gin): literal colon routes not working with engine.Handler() (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4415\"\u003e#4415\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(gin): close os.File in RunFd to prevent resource leak (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4422\"\u003e#4422\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(response): refine hijack behavior for response lifecycle (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4373\"\u003e#4373\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(binding): improve empty slice/array handling in form binding (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4380\"\u003e#4380\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(debug): version mismatch (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4403\"\u003e#4403\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: correct typos, improve documentation clarity, and remove dead code (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4511\"\u003e#4511\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBuild process updates / CI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eci: update Go version support to 1.25+ across CI and docs (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4550\"\u003e#4550\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(binding): upgrade bson dependency to mongo-driver v2 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/pull/4549\"\u003e#4549\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eGin v1.11.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/73726dc606796a025971fe451f0aa6f1b9b847f6\"\u003e\u003ccode\u003e73726dc\u003c/code\u003e\u003c/a\u003e docs: update documentation to reflect Go version changes (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4552\"\u003e#4552\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/e292e5caa777bce70b66fe08c94cbe9cef3e2ec9\"\u003e\u003ccode\u003ee292e5c\u003c/code\u003e\u003c/a\u003e docs: document and finalize Gin v1.12.0 release (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4551\"\u003e#4551\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/ae3f524974fc4f55d18c9e7fae4614503c015226\"\u003e\u003ccode\u003eae3f524\u003c/code\u003e\u003c/a\u003e ci: update Go version support to 1.25+ across CI and docs (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4550\"\u003e#4550\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/38534e2bf98a06e1f62d6b24384e90b5f78699bf\"\u003e\u003ccode\u003e38534e2\u003c/code\u003e\u003c/a\u003e chore(deps): bump golang.org/x/net from 0.50.0 to 0.51.0 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4548\"\u003e#4548\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/472d086af2acd924cb4b9d7be0525f7d790f69bc\"\u003e\u003ccode\u003e472d086\u003c/code\u003e\u003c/a\u003e fix(tree): panic in findCaseInsensitivePathRec with RedirectFixedPath (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4535\"\u003e#4535\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/fb2583442c4d9bccb75e6d26f1aa6e7c01950db6\"\u003e\u003ccode\u003efb25834\u003c/code\u003e\u003c/a\u003e test(context): use http.StatusContinue constant instead of magic number 100 (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/6f1d5fe3cdb171a08928c3c9dd3fbcfc9ee1b521\"\u003e\u003ccode\u003e6f1d5fe\u003c/code\u003e\u003c/a\u003e test(render): add comprehensive error handling tests (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4541\"\u003e#4541\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/5c00df8afadd06cc5be530dde00fe6d9fa4a2e4a\"\u003e\u003ccode\u003e5c00df8\u003c/code\u003e\u003c/a\u003e fix(render): write content length in Data.Render (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4206\"\u003e#4206\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/db309081bc5c137b2aa15701ef53f7f19788da25\"\u003e\u003ccode\u003edb30908\u003c/code\u003e\u003c/a\u003e chore(logger): allow skipping query string output (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4547\"\u003e#4547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gin-gonic/gin/commit/ba093d19477b896ac89a7fc3246af23d290b8e26\"\u003e\u003ccode\u003eba093d1\u003c/code\u003e\u003c/a\u003e chore(binding): upgrade bson dependency to mongo-driver v2 (\u003ca href=\"https://redirect.github.com/gin-gonic/gin/issues/4549\"\u003e#4549\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/gin-gonic/gin/compare/v1.9.1...v1.12.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n","html_url":"https://github.com/mindevis/qm-project/pull/71","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/mindevis%2Fqm-project/issues/71","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/71/packages"}}]}