{"id":3288,"name":"oauth2","ecosystem":"rubygems","repository_url":"https://github.com/oauth-xx/oauth2","issues_count":406,"created_at":"2025-06-06T16:30:10.294Z","updated_at":"2025-06-06T16:30:10.294Z","purl":"pkg:gem/oauth2","metadata":{"id":264338,"name":"oauth2","ecosystem":"rubygems","description":"Ruby wrapper for the OAuth 2.0 protocol","homepage":"https://oauth2.galtzo.com/","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/oauth-xx/oauth2","keywords_array":[],"namespace":null,"versions_count":66,"first_release_published_at":"2010-04-22T05:19:42.272Z","latest_release_published_at":"2025-05-31T22:18:21.782Z","latest_release_number":"2.0.12","last_synced_at":"2025-06-06T06:30:35.411Z","created_at":"2022-04-06T05:47:31.135Z","updated_at":"2025-06-06T06:32:03.218Z","registry_url":"https://rubygems.org/gems/oauth2","install_command":"gem install oauth2 -s https://rubygems.org","documentation_url":"http://www.rubydoc.info/gems/oauth2/","metadata":{"funding":"https://github.com/sponsors/pboling"},"repo_metadata":{"id":878990,"uuid":"622911","full_name":"oauth-xx/oauth2","owner":"oauth-xx","description":"A Ruby wrapper for the OAuth 2.0 protocol.","archived":false,"fork":false,"pushed_at":"2025-06-02T02:31:54.000Z","size":2410,"stargazers_count":2115,"open_issues_count":3,"forks_count":621,"subscribers_count":39,"default_branch":"main","last_synced_at":"2025-06-05T07:00:37.441Z","etag":null,"topics":["authentication","authorization","oauth2","oauth2-client","security"],"latest_commit_sha":null,"homepage":"https://oauth2.galtzo.com/","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"jedi4ever/veewee","license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/oauth-xx.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE.txt","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"buy_me_a_coffee":"pboling","community_bridge":null,"github":["pboling"],"issuehunt":"pboling","ko_fi":"pboling","liberapay":"pboling","open_collective":null,"patreon":"galtzo","polar":"pboling","thanks_dev":"u/gh/pboling","tidelift":"rubygems/oauth2"}},"created_at":"2010-04-22T05:17:38.000Z","updated_at":"2025-06-02T02:31:58.000Z","dependencies_parsed_at":"2024-06-19T02:49:56.970Z","dependency_job_id":"e113f7e2-3abd-4fc8-8773-6be39f55bb75","html_url":"https://github.com/oauth-xx/oauth2","commit_stats":{"total_commits":953,"total_committers":140,"mean_commits":6.807142857142857,"dds":0.70199370409234,"last_synced_commit":"1ae029a963ffa4d0e5daeea83206c38a5b883f0c"},"previous_names":["intridea/oauth2"],"tags_count":66,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oauth-xx%2Foauth2","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oauth-xx%2Foauth2/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oauth-xx%2Foauth2/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oauth-xx%2Foauth2/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/oauth-xx","download_url":"https://codeload.github.com/oauth-xx/oauth2/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oauth-xx%2Foauth2/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":258358872,"owners_count":22688521,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"},"owner_record":{"login":"oauth-xx","name":"oauth-xx","uuid":"40009","kind":"organization","description":"","email":null,"website":null,"location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/40009?v=4","repositories_count":5,"last_synced_at":"2024-03-25T19:32:31.633Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/oauth-xx","funding_links":[],"total_stars":2789,"followers":6,"following":0,"created_at":"2022-11-02T16:17:23.129Z","updated_at":"2024-03-25T19:32:33.351Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/oauth-xx","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/oauth-xx/repositories"},"tags":[{"name":"v2.0.10","sha":"97693b0a0cab3088ed31909bb15452f135494886","kind":"tag","published_at":"2025-05-17T00:12:29.000Z","download_url":"https://codeload.github.com/oauth-xx/oauth2/tar.gz/v2.0.10","html_url":"https://github.com/oauth-xx/oauth2/releases/tag/v2.0.10","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oauth-xx%2Foauth2/tags/v2.0.10","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oauth-xx%2Foauth2/tags/v2.0.10/manifests"},{"name":"v2.0.9","sha":"8c88ad2f309374599ac56cd253fb93e3ad81cf07","kind":"tag","published_at":"2022-09-16T05:07:35.000Z","download_url":"https://codeload.github.com/oauth-xx/oauth2/tar.gz/v2.0.9","html_url":"https://github.com/oauth-xx/oauth2/releases/tag/v2.0.9","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oauth-xx%2Foauth2/tags/v2.0.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oauth-xx%2Foauth2/tags/v2.0.9/manifests"},{"name":"v1.4.11","sha":"d41fb6e8feef3b0b0382dedc0ede82f5ca7854cd","kind":"tag","published_at":"2022-09-16T05:02:38.000Z","download_url":"https://codeload.github.com/oauth-xx/oauth2/tar.gz/v1.4.11","html_url":"https://github.com/oauth-xx/oauth2/releases/tag/v1.4.11","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oauth-xx%2Foauth2/tags/v1.4.11","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oauth-xx%2Foauth2/tags/v1.4.11/manifests"},{"name":"v2.0.8","sha":"d1989817de0e9222b71533e4443d80f86a922732","kind":"tag","published_at":"2022-09-01T02:09:26.000Z","download_url":"https://codeload.github.com/oauth-xx/oauth2/tar.gz/v2.0.8","html_url":"https://github.com/oauth-xx/oauth2/releases/tag/v2.0.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oauth-xx%2Foauth2/tags/v2.0.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oauth-xx%2Foauth2/tags/v2.0.8/manifests"},{"name":"v2.0.7","sha":"d499c582ae505c4cec53836a5cfef0e034b29f33","kind":"tag","published_at":"2022-08-22T11:15:35.000Z","download_url":"https://codeload.github.com/oauth-xx/oauth2/tar.gz/v2.0.7","html_url":"https://github.com/oauth-xx/oauth2/releases/tag/v2.0.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oauth-xx%2Foauth2/tags/v2.0.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oauth-xx%2Foauth2/tags/v2.0.7/manifests"},{"name":"v2.0.6","sha":"8df9452e01494e155d6e5de94829bc9f55c63a1d","kind":"tag","published_at":"2022-07-13T03:03:52.000Z","download_url":"https://codeload.github.com/oauth-xx/oauth2/tar.gz/v2.0.6","html_url":"https://github.com/oauth-xx/oauth2/releases/tag/v2.0.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oauth-xx%2Foauth2/tags/v2.0.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oauth-xx%2Foauth2/tags/v2.0.6/manifests"},{"name":"v2.0.5","sha":"924d5337f42a615797f3635206806ffaa202ef92","kind":"tag","published_at":"2022-07-07T13:27:23.000Z","download_url":"https://codeload.github.com/oauth-xx/oauth2/tar.gz/v2.0.5","html_url":"https://github.com/oauth-xx/oauth2/releases/tag/v2.0.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oauth-xx%2Foauth2/tags/v2.0.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oauth-xx%2Foauth2/tags/v2.0.5/manifests"},{"name":"v2.0.4","sha":"6aaaba23cb0d335985bc85e426731a6fd70820cb","kind":"tag","published_at":"2022-07-01T16:00:39.000Z","download_url":"https://codeload.github.com/oauth-xx/oauth2/tar.gz/v2.0.4","html_url":"https://github.com/oauth-xx/oauth2/releases/tag/v2.0.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oauth-xx%2Foauth2/tags/v2.0.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oauth-xx%2Foauth2/tags/v2.0.4/manifests"},{"name":"v1.4.10","sha":"12ee1f160125f6d12caf53659f63c50bd1aa793d","kind":"tag","published_at":"2022-07-01T15:42:28.000Z","download_url":"https://codeload.github.com/oauth-xx/oauth2/tar.gz/v1.4.10","html_url":"https://github.com/oauth-xx/oauth2/releases/tag/v1.4.10","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oauth-xx%2Foauth2/tags/v1.4.10","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oauth-xx%2Foauth2/tags/v1.4.10/manifests"},{"name":"v2.0.3","sha":"5da356219d8b09f04f211d110172c3d5400b4b9a","kind":"tag","published_at":"2022-06-28T00:54:25.000Z","download_url":"https://codeload.github.com/oauth-xx/oauth2/tar.gz/v2.0.3","html_url":"https://github.com/oauth-xx/oauth2/releases/tag/v2.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oauth-xx%2Foauth2/tags/v2.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oauth-xx%2Foauth2/tags/v2.0.3/manifests"},{"name":"v2.0.2","sha":"fd776022d32005282c9355a86e5cebff97221842","kind":"tag","published_at":"2022-06-24T14:32:53.000Z","download_url":"https://codeload.github.com/oauth-xx/oauth2/tar.gz/v2.0.2","html_url":"https://github.com/oauth-xx/oauth2/releases/tag/v2.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oauth-xx%2Foauth2/tags/v2.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oauth-xx%2Foauth2/tags/v2.0.2/manifests"},{"name":"v2.0.1","sha":"3fe2dc814fb8b58583b9a833b083606b9ba3ebb6","kind":"tag","published_at":"2022-06-22T15:25:58.000Z","download_url":"https://codeload.github.com/oauth-xx/oauth2/tar.gz/v2.0.1","html_url":"https://github.com/oauth-xx/oauth2/releases/tag/v2.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oauth-xx%2Foauth2/tags/v2.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oauth-xx%2Foauth2/tags/v2.0.1/manifests"},{"name":"v2.0.0","sha":"2313d090105079e91179825ca11ca699230026ac","kind":"tag","published_at":"2022-06-21T11:48:22.000Z","download_url":"https://codeload.github.com/oauth-xx/oauth2/tar.gz/v2.0.0","html_url":"https://github.com/oauth-xx/oauth2/releases/tag/v2.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oauth-xx%2Foauth2/tags/v2.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oauth-xx%2Foauth2/tags/v2.0.0/manifests"},{"name":"v2.0.0.rc3","sha":"23c4db5d47f0765488d9f5877aa696b64f543156","kind":"tag","published_at":"2022-06-20T23:52:53.000Z","download_url":"https://codeload.github.com/oauth-xx/oauth2/tar.gz/v2.0.0.rc3","html_url":"https://github.com/oauth-xx/oauth2/releases/tag/v2.0.0.rc3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oauth-xx%2Foauth2/tags/v2.0.0.rc3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oauth-xx%2Foauth2/tags/v2.0.0.rc3/manifests"},{"name":"v2.0.0.rc2","sha":"83db079975a63c7fa004f0c7af19ec811c160463","kind":"tag","published_at":"2022-06-12T15:41:23.000Z","download_url":"https://codeload.github.com/oauth-xx/oauth2/tar.gz/v2.0.0.rc2","html_url":"https://github.com/oauth-xx/oauth2/releases/tag/v2.0.0.rc2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oauth-xx%2Foauth2/tags/v2.0.0.rc2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oauth-xx%2Foauth2/tags/v2.0.0.rc2/manifests"},{"name":"v2.0.0.rc1","sha":"98602da1a627e98621d7641196751173728e9821","kind":"tag","published_at":"2022-06-10T18:11:49.000Z","download_url":"https://codeload.github.com/oauth-xx/oauth2/tar.gz/v2.0.0.rc1","html_url":"https://github.com/oauth-xx/oauth2/releases/tag/v2.0.0.rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oauth-xx%2Foauth2/tags/v2.0.0.rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oauth-xx%2Foauth2/tags/v2.0.0.rc1/manifests"},{"name":"v1.4.9","sha":"9105b39e08c4310a144519dafc392a7783876b70","kind":"tag","published_at":"2022-02-20T08:00:36.000Z","download_url":"https://codeload.github.com/oauth-xx/oauth2/tar.gz/v1.4.9","html_url":"https://github.com/oauth-xx/oauth2/releases/tag/v1.4.9","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oauth-xx%2Foauth2/tags/v1.4.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oauth-xx%2Foauth2/tags/v1.4.9/manifests"},{"name":"v1.4.8","sha":"934faa899c7731df627093f4d76139ab40380709","kind":"tag","published_at":"2022-02-18T07:04:30.000Z","download_url":"https://codeload.github.com/oauth-xx/oauth2/tar.gz/v1.4.8","html_url":"https://github.com/oauth-xx/oauth2/releases/tag/v1.4.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oauth-xx%2Foauth2/tags/v1.4.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oauth-xx%2Foauth2/tags/v1.4.8/manifests"},{"name":"v1.4.7","sha":"bd7cf62f7d92abb6d4cfd3db608bc0147dcb31cf","kind":"tag","published_at":"2021-03-19T03:52:35.000Z","download_url":"https://codeload.github.com/oauth-xx/oauth2/tar.gz/v1.4.7","html_url":"https://github.com/oauth-xx/oauth2/releases/tag/v1.4.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oauth-xx%2Foauth2/tags/v1.4.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oauth-xx%2Foauth2/tags/v1.4.7/manifests"},{"name":"v1.4.6","sha":"92544cf6fdd1cc93fbea67beec9de8dc9d1fe041","kind":"tag","published_at":"2021-03-19T02:35:34.000Z","download_url":"https://codeload.github.com/oauth-xx/oauth2/tar.gz/v1.4.6","html_url":"https://github.com/oauth-xx/oauth2/releases/tag/v1.4.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oauth-xx%2Foauth2/tags/v1.4.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oauth-xx%2Foauth2/tags/v1.4.6/manifests"},{"name":"v1.4.5","sha":"e395da8299cdef70138667656f68e2fbdc3d5402","kind":"tag","published_at":"2021-03-18T21:55:15.000Z","download_url":"https://codeload.github.com/oauth-xx/oauth2/tar.gz/v1.4.5","html_url":"https://github.com/oauth-xx/oauth2/releases/tag/v1.4.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oauth-xx%2Foauth2/tags/v1.4.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oauth-xx%2Foauth2/tags/v1.4.5/manifests"},{"name":"v1.4.4","sha":"cb8eca28ec8b831833199cb4e60014cfc0bc4ac0","kind":"tag","published_at":"2020-02-13T00:05:10.000Z","download_url":"https://codeload.github.com/oauth-xx/oauth2/tar.gz/v1.4.4","html_url":"https://github.com/oauth-xx/oauth2/releases/tag/v1.4.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oauth-xx%2Foauth2/tags/v1.4.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oauth-xx%2Foauth2/tags/v1.4.4/manifests"},{"name":"v1.4.3","sha":"6e4c179285ee9ba2516a6724b59289d7deefb0aa","kind":"tag","published_at":"2020-01-29T09:02:45.000Z","download_url":"https://codeload.github.com/oauth-xx/oauth2/tar.gz/v1.4.3","html_url":"https://github.com/oauth-xx/oauth2/releases/tag/v1.4.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oauth-xx%2Foauth2/tags/v1.4.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oauth-xx%2Foauth2/tags/v1.4.3/manifests"},{"name":"v1.4.2","sha":"889bced24bd398d1a3962c349c0ae0b1ca314185","kind":"tag","published_at":"2019-10-01T10:03:25.000Z","download_url":"https://codeload.github.com/oauth-xx/oauth2/tar.gz/v1.4.2","html_url":"https://github.com/oauth-xx/oauth2/releases/tag/v1.4.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oauth-xx%2Foauth2/tags/v1.4.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oauth-xx%2Foauth2/tags/v1.4.2/manifests"},{"name":"v1.4.1","sha":"04d762e9df511d81ba75dcc502d7697b2d25cafb","kind":"tag","published_at":"2018-10-13T08:52:54.000Z","download_url":"https://codeload.github.com/oauth-xx/oauth2/tar.gz/v1.4.1","html_url":"https://github.com/oauth-xx/oauth2/releases/tag/v1.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oauth-xx%2Foauth2/tags/v1.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oauth-xx%2Foauth2/tags/v1.4.1/manifests"},{"name":"v1.4.0","sha":"24acc34ced17745ec1972d1b9494f1d8778e300a","kind":"tag","published_at":"2017-06-09T18:23:17.000Z","download_url":"https://codeload.github.com/oauth-xx/oauth2/tar.gz/v1.4.0","html_url":"https://github.com/oauth-xx/oauth2/releases/tag/v1.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oauth-xx%2Foauth2/tags/v1.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oauth-xx%2Foauth2/tags/v1.4.0/manifests"},{"name":"v1.3.1","sha":"96daaf56765652a5ffc792f645f6b3a4a42ce9bb","kind":"tag","published_at":"2017-03-03T09:56:39.000Z","download_url":"https://codeload.github.com/oauth-xx/oauth2/tar.gz/v1.3.1","html_url":"https://github.com/oauth-xx/oauth2/releases/tag/v1.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oauth-xx%2Foauth2/tags/v1.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oauth-xx%2Foauth2/tags/v1.3.1/manifests"},{"name":"v1.3.0","sha":"ca311b450f94b22b9087bc8fb26abe4ad64763ee","kind":"tag","published_at":"2016-12-28T00:36:45.000Z","download_url":"https://codeload.github.com/oauth-xx/oauth2/tar.gz/v1.3.0","html_url":"https://github.com/oauth-xx/oauth2/releases/tag/v1.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oauth-xx%2Foauth2/tags/v1.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oauth-xx%2Foauth2/tags/v1.3.0/manifests"},{"name":"v1.2.0","sha":"fb502c755ed8801aa5d4575f18b86a9b7ecf9f5e","kind":"tag","published_at":"2016-07-01T02:00:55.000Z","download_url":"https://codeload.github.com/oauth-xx/oauth2/tar.gz/v1.2.0","html_url":"https://github.com/oauth-xx/oauth2/releases/tag/v1.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oauth-xx%2Foauth2/tags/v1.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oauth-xx%2Foauth2/tags/v1.2.0/manifests"},{"name":"v1.1.0","sha":"90262ae7ebb447da443b80df361ffcaa3a564343","kind":"tag","published_at":"2016-01-30T18:20:40.000Z","download_url":"https://codeload.github.com/oauth-xx/oauth2/tar.gz/v1.1.0","html_url":"https://github.com/oauth-xx/oauth2/releases/tag/v1.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oauth-xx%2Foauth2/tags/v1.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oauth-xx%2Foauth2/tags/v1.1.0/manifests"},{"name":"v1.0.0","sha":"3d621270f0a36006820003782dfad4e78fc7618f","kind":"tag","published_at":"2014-07-09T23:06:12.000Z","download_url":"https://codeload.github.com/oauth-xx/oauth2/tar.gz/v1.0.0","html_url":"https://github.com/oauth-xx/oauth2/releases/tag/v1.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oauth-xx%2Foauth2/tags/v1.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oauth-xx%2Foauth2/tags/v1.0.0/manifests"},{"name":"v0.9.4","sha":"277bd712becd9ff7c82f632179de0cf33a3a26ca","kind":"tag","published_at":"2014-05-24T01:13:40.000Z","download_url":"https://codeload.github.com/oauth-xx/oauth2/tar.gz/v0.9.4","html_url":"https://github.com/oauth-xx/oauth2/releases/tag/v0.9.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oauth-xx%2Foauth2/tags/v0.9.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oauth-xx%2Foauth2/tags/v0.9.4/manifests"},{"name":"v0.9.3","sha":"d3e5107e586733226fdbae803d1874a1666cc8a1","kind":"tag","published_at":"2014-01-16T05:14:30.000Z","download_url":"https://codeload.github.com/oauth-xx/oauth2/tar.gz/v0.9.3","html_url":"https://github.com/oauth-xx/oauth2/releases/tag/v0.9.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oauth-xx%2Foauth2/tags/v0.9.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oauth-xx%2Foauth2/tags/v0.9.3/manifests"},{"name":"v0.9.2","sha":"347fd4ba73e517d5d2f3a2b644c718bb22baf998","kind":"tag","published_at":"2013-06-30T09:25:35.000Z","download_url":"https://codeload.github.com/oauth-xx/oauth2/tar.gz/v0.9.2","html_url":"https://github.com/oauth-xx/oauth2/releases/tag/v0.9.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oauth-xx%2Foauth2/tags/v0.9.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oauth-xx%2Foauth2/tags/v0.9.2/manifests"},{"name":"v0.9.1","sha":"9ce380903c396782a92635ea856f91bdaaaa2e9d","kind":"tag","published_at":"2013-02-20T23:36:54.000Z","download_url":"https://codeload.github.com/oauth-xx/oauth2/tar.gz/v0.9.1","html_url":"https://github.com/oauth-xx/oauth2/releases/tag/v0.9.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oauth-xx%2Foauth2/tags/v0.9.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oauth-xx%2Foauth2/tags/v0.9.1/manifests"},{"name":"v0.8.1","sha":"9b5054c967a9f76e4fc59ddad93c135f3b1573ba","kind":"tag","published_at":"2013-02-20T23:36:04.000Z","download_url":"https://codeload.github.com/oauth-xx/oauth2/tar.gz/v0.8.1","html_url":"https://github.com/oauth-xx/oauth2/releases/tag/v0.8.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oauth-xx%2Foauth2/tags/v0.8.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oauth-xx%2Foauth2/tags/v0.8.1/manifests"},{"name":"v0.9.0","sha":"7fc6abaa15ecb95f67a2d0290fda36d8a7b2ade4","kind":"tag","published_at":"2013-02-10T15:39:42.000Z","download_url":"https://codeload.github.com/oauth-xx/oauth2/tar.gz/v0.9.0","html_url":"https://github.com/oauth-xx/oauth2/releases/tag/v0.9.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oauth-xx%2Foauth2/tags/v0.9.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oauth-xx%2Foauth2/tags/v0.9.0/manifests"},{"name":"v0.8.0","sha":"19540a737aab816fe838d150c9a401e694c58aa5","kind":"tag","published_at":"2012-07-01T01:22:41.000Z","download_url":"https://codeload.github.com/oauth-xx/oauth2/tar.gz/v0.8.0","html_url":"https://github.com/oauth-xx/oauth2/releases/tag/v0.8.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oauth-xx%2Foauth2/tags/v0.8.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oauth-xx%2Foauth2/tags/v0.8.0/manifests"},{"name":"v0.7.1","sha":"b19ae2fcbb713226fc38736af8650478c9d7963a","kind":"tag","published_at":"2012-04-27T02:42:37.000Z","download_url":"https://codeload.github.com/oauth-xx/oauth2/tar.gz/v0.7.1","html_url":"https://github.com/oauth-xx/oauth2/releases/tag/v0.7.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oauth-xx%2Foauth2/tags/v0.7.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oauth-xx%2Foauth2/tags/v0.7.1/manifests"},{"name":"v0.7.0","sha":"4cbd55439beeca9495ceee0267e036aeed379e07","kind":"tag","published_at":"2012-04-24T10:55:03.000Z","download_url":"https://codeload.github.com/oauth-xx/oauth2/tar.gz/v0.7.0","html_url":"https://github.com/oauth-xx/oauth2/releases/tag/v0.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oauth-xx%2Foauth2/tags/v0.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oauth-xx%2Foauth2/tags/v0.7.0/manifests"},{"name":"v0.6.1","sha":"68d5698b3677a88a4b27e613b342ba287543f2bc","kind":"tag","published_at":"2012-04-18T14:36:04.000Z","download_url":"https://codeload.github.com/oauth-xx/oauth2/tar.gz/v0.6.1","html_url":"https://github.com/oauth-xx/oauth2/releases/tag/v0.6.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oauth-xx%2Foauth2/tags/v0.6.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oauth-xx%2Foauth2/tags/v0.6.1/manifests"},{"name":"v0.6.0","sha":"095f1d923be21068f19508cb2c9a440127a01f71","kind":"tag","published_at":"2012-04-12T19:27:09.000Z","download_url":"https://codeload.github.com/oauth-xx/oauth2/tar.gz/v0.6.0","html_url":"https://github.com/oauth-xx/oauth2/releases/tag/v0.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oauth-xx%2Foauth2/tags/v0.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oauth-xx%2Foauth2/tags/v0.6.0/manifests"},{"name":"v0.5.2","sha":"e89210ac197350a25d88145eab72f0eefd551c96","kind":"tag","published_at":"2012-01-04T08:34:09.000Z","download_url":"https://codeload.github.com/oauth-xx/oauth2/tar.gz/v0.5.2","html_url":"https://github.com/oauth-xx/oauth2/releases/tag/v0.5.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oauth-xx%2Foauth2/tags/v0.5.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oauth-xx%2Foauth2/tags/v0.5.2/manifests"},{"name":"v0.5.1","sha":"1d33069a27e3f72d25211c428605b8efe2dd76b4","kind":"tag","published_at":"2011-09-26T22:33:56.000Z","download_url":"https://codeload.github.com/oauth-xx/oauth2/tar.gz/v0.5.1","html_url":"https://github.com/oauth-xx/oauth2/releases/tag/v0.5.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oauth-xx%2Foauth2/tags/v0.5.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oauth-xx%2Foauth2/tags/v0.5.1/manifests"},{"name":"v0.5.0","sha":"0c50e78dd72ed2e348fad719d589d49219070e62","kind":"tag","published_at":"2011-07-29T19:47:17.000Z","download_url":"https://codeload.github.com/oauth-xx/oauth2/tar.gz/v0.5.0","html_url":"https://github.com/oauth-xx/oauth2/releases/tag/v0.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oauth-xx%2Foauth2/tags/v0.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oauth-xx%2Foauth2/tags/v0.5.0/manifests"},{"name":"v0.5.0.rc2","sha":"11322b3961a765124d7c0b5620ecf23823a85603","kind":"tag","published_at":"2011-07-21T22:24:34.000Z","download_url":"https://codeload.github.com/oauth-xx/oauth2/tar.gz/v0.5.0.rc2","html_url":"https://github.com/oauth-xx/oauth2/releases/tag/v0.5.0.rc2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oauth-xx%2Foauth2/tags/v0.5.0.rc2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oauth-xx%2Foauth2/tags/v0.5.0.rc2/manifests"},{"name":"v0.5.0.rc1","sha":"2d35cfaa03c14c05dd1347b02b53587b5e29e0ad","kind":"tag","published_at":"2011-06-27T16:32:34.000Z","download_url":"https://codeload.github.com/oauth-xx/oauth2/tar.gz/v0.5.0.rc1","html_url":"https://github.com/oauth-xx/oauth2/releases/tag/v0.5.0.rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oauth-xx%2Foauth2/tags/v0.5.0.rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oauth-xx%2Foauth2/tags/v0.5.0.rc1/manifests"},{"name":"v0.4.1","sha":"7c47bcaeac146a42a7d48beb9fdf250189e53492","kind":"tag","published_at":"2011-04-22T07:47:51.000Z","download_url":"https://codeload.github.com/oauth-xx/oauth2/tar.gz/v0.4.1","html_url":"https://github.com/oauth-xx/oauth2/releases/tag/v0.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oauth-xx%2Foauth2/tags/v0.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oauth-xx%2Foauth2/tags/v0.4.1/manifests"},{"name":"v0.4.0","sha":"03f4efb927afd42c9fbd9da6ed029dd797539e58","kind":"tag","published_at":"2011-04-20T07:09:56.000Z","download_url":"https://codeload.github.com/oauth-xx/oauth2/tar.gz/v0.4.0","html_url":"https://github.com/oauth-xx/oauth2/releases/tag/v0.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oauth-xx%2Foauth2/tags/v0.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oauth-xx%2Foauth2/tags/v0.4.0/manifests"},{"name":"v0.3.0","sha":"b789eed6af5e6202373049925f543c1feefe4206","kind":"tag","published_at":"2011-04-08T08:45:10.000Z","download_url":"https://codeload.github.com/oauth-xx/oauth2/tar.gz/v0.3.0","html_url":"https://github.com/oauth-xx/oauth2/releases/tag/v0.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oauth-xx%2Foauth2/tags/v0.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oauth-xx%2Foauth2/tags/v0.3.0/manifests"},{"name":"v0.2.0","sha":"822f527e1db66400ade48c042591413ea1ef939a","kind":"tag","published_at":"2011-04-01T15:54:54.000Z","download_url":"https://codeload.github.com/oauth-xx/oauth2/tar.gz/v0.2.0","html_url":"https://github.com/oauth-xx/oauth2/releases/tag/v0.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oauth-xx%2Foauth2/tags/v0.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oauth-xx%2Foauth2/tags/v0.2.0/manifests"},{"name":"v0.1.1","sha":"49770b350f5de871181b6a6e86b5eebd9c7cf101","kind":"commit","published_at":"2011-01-12T21:44:22.000Z","download_url":"https://codeload.github.com/oauth-xx/oauth2/tar.gz/v0.1.1","html_url":"https://github.com/oauth-xx/oauth2/releases/tag/v0.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oauth-xx%2Foauth2/tags/v0.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oauth-xx%2Foauth2/tags/v0.1.1/manifests"},{"name":"v0.1.0","sha":"17a618976b1df8b5898486cadfd0e9ac43966caf","kind":"tag","published_at":"2010-10-13T07:10:39.000Z","download_url":"https://codeload.github.com/oauth-xx/oauth2/tar.gz/v0.1.0","html_url":"https://github.com/oauth-xx/oauth2/releases/tag/v0.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oauth-xx%2Foauth2/tags/v0.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oauth-xx%2Foauth2/tags/v0.1.0/manifests"},{"name":"v0.0.13","sha":"326261a644fc63fb9bc95faa76b4084874468ebf","kind":"commit","published_at":"2010-08-17T20:10:36.000Z","download_url":"https://codeload.github.com/oauth-xx/oauth2/tar.gz/v0.0.13","html_url":"https://github.com/oauth-xx/oauth2/releases/tag/v0.0.13","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oauth-xx%2Foauth2/tags/v0.0.13","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oauth-xx%2Foauth2/tags/v0.0.13/manifests"},{"name":"v0.0.12","sha":"94d58a24e62a1729a8e7fd28c6af34500eb36646","kind":"commit","published_at":"2010-08-17T19:58:24.000Z","download_url":"https://codeload.github.com/oauth-xx/oauth2/tar.gz/v0.0.12","html_url":"https://github.com/oauth-xx/oauth2/releases/tag/v0.0.12","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oauth-xx%2Foauth2/tags/v0.0.12","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oauth-xx%2Foauth2/tags/v0.0.12/manifests"},{"name":"v0.0.11","sha":"e802246588e70cdaf2e43c77434563b204894996","kind":"commit","published_at":"2010-08-17T19:24:16.000Z","download_url":"https://codeload.github.com/oauth-xx/oauth2/tar.gz/v0.0.11","html_url":"https://github.com/oauth-xx/oauth2/releases/tag/v0.0.11","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oauth-xx%2Foauth2/tags/v0.0.11","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oauth-xx%2Foauth2/tags/v0.0.11/manifests"},{"name":"v0.0.10","sha":"d471df72c2ccaa98610f1c57f68234d01c6f645d","kind":"commit","published_at":"2010-06-19T15:03:47.000Z","download_url":"https://codeload.github.com/oauth-xx/oauth2/tar.gz/v0.0.10","html_url":"https://github.com/oauth-xx/oauth2/releases/tag/v0.0.10","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oauth-xx%2Foauth2/tags/v0.0.10","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oauth-xx%2Foauth2/tags/v0.0.10/manifests"},{"name":"v0.0.9","sha":"8c383cd73cd41ecc3d02277bcecba0d7408f25d0","kind":"commit","published_at":"2010-06-18T16:31:21.000Z","download_url":"https://codeload.github.com/oauth-xx/oauth2/tar.gz/v0.0.9","html_url":"https://github.com/oauth-xx/oauth2/releases/tag/v0.0.9","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oauth-xx%2Foauth2/tags/v0.0.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oauth-xx%2Foauth2/tags/v0.0.9/manifests"},{"name":"v0.0.8","sha":"3b7ccb50996138615e12759aae7050108f82d25b","kind":"commit","published_at":"2010-04-27T18:05:12.000Z","download_url":"https://codeload.github.com/oauth-xx/oauth2/tar.gz/v0.0.8","html_url":"https://github.com/oauth-xx/oauth2/releases/tag/v0.0.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oauth-xx%2Foauth2/tags/v0.0.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oauth-xx%2Foauth2/tags/v0.0.8/manifests"},{"name":"v0.0.7","sha":"c5f6d0e228caa496acdd38ef8e98986cb663ad5e","kind":"commit","published_at":"2010-04-27T16:22:44.000Z","download_url":"https://codeload.github.com/oauth-xx/oauth2/tar.gz/v0.0.7","html_url":"https://github.com/oauth-xx/oauth2/releases/tag/v0.0.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oauth-xx%2Foauth2/tags/v0.0.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oauth-xx%2Foauth2/tags/v0.0.7/manifests"},{"name":"v0.0.6","sha":"d67e48f09dce93665cd563c677e1af47e76ae096","kind":"commit","published_at":"2010-04-25T15:12:04.000Z","download_url":"https://codeload.github.com/oauth-xx/oauth2/tar.gz/v0.0.6","html_url":"https://github.com/oauth-xx/oauth2/releases/tag/v0.0.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oauth-xx%2Foauth2/tags/v0.0.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oauth-xx%2Foauth2/tags/v0.0.6/manifests"},{"name":"v0.0.5","sha":"6311eedda64dfe61a77f2c3c9baad84a40fac4fe","kind":"commit","published_at":"2010-04-24T00:01:13.000Z","download_url":"https://codeload.github.com/oauth-xx/oauth2/tar.gz/v0.0.5","html_url":"https://github.com/oauth-xx/oauth2/releases/tag/v0.0.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oauth-xx%2Foauth2/tags/v0.0.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oauth-xx%2Foauth2/tags/v0.0.5/manifests"},{"name":"v0.0.4","sha":"d6b329283004958e9679c4a1044bbce646d96335","kind":"commit","published_at":"2010-04-22T18:37:06.000Z","download_url":"https://codeload.github.com/oauth-xx/oauth2/tar.gz/v0.0.4","html_url":"https://github.com/oauth-xx/oauth2/releases/tag/v0.0.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oauth-xx%2Foauth2/tags/v0.0.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oauth-xx%2Foauth2/tags/v0.0.4/manifests"},{"name":"v0.0.3","sha":"ad1bc5307a2d6821763c585a5a7067292216e7b5","kind":"commit","published_at":"2010-04-22T18:32:10.000Z","download_url":"https://codeload.github.com/oauth-xx/oauth2/tar.gz/v0.0.3","html_url":"https://github.com/oauth-xx/oauth2/releases/tag/v0.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oauth-xx%2Foauth2/tags/v0.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oauth-xx%2Foauth2/tags/v0.0.3/manifests"},{"name":"v0.0.2","sha":"d5ac16287238f8b71b066ec95bce858486a67736","kind":"commit","published_at":"2010-04-22T05:24:44.000Z","download_url":"https://codeload.github.com/oauth-xx/oauth2/tar.gz/v0.0.2","html_url":"https://github.com/oauth-xx/oauth2/releases/tag/v0.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oauth-xx%2Foauth2/tags/v0.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oauth-xx%2Foauth2/tags/v0.0.2/manifests"},{"name":"v0.0.1","sha":"157c33e734cb7f975f25c25e904f10df0327a2e3","kind":"commit","published_at":"2010-04-22T05:19:33.000Z","download_url":"https://codeload.github.com/oauth-xx/oauth2/tar.gz/v0.0.1","html_url":"https://github.com/oauth-xx/oauth2/releases/tag/v0.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oauth-xx%2Foauth2/tags/v0.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oauth-xx%2Foauth2/tags/v0.0.1/manifests"}]},"repo_metadata_updated_at":"2025-06-06T06:32:03.218Z","dependent_packages_count":533,"downloads":219222951,"downloads_period":"total","dependent_repos_count":59498,"rankings":{"downloads":0.10091323691751876,"dependent_repos_count":0.14384317748463998,"dependent_packages_count":0.08585988113424248,"stargazers_count":14.058161706493014,"forks_count":8.715892998516965,"docker_downloads_count":0.19848128366097614,"average":3.8838587140345595},"purl":"pkg:gem/oauth2","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/rubygems/oauth2","docker_dependents_count":575,"docker_downloads_count":619817949,"usage_url":"https://repos.ecosyste.ms/usage/rubygems/oauth2","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/rubygems/oauth2/dependencies","status":null,"funding_links":["https://github.com/sponsors/pboling","https://buymeacoffee.com/pboling","https://issuehunt.io/r/pboling","https://ko-fi.com/pboling","https://liberapay.com/pboling","https://patreon.com/galtzo","https://polar.sh/pboling","https://thanks.dev/u/gh/pboling","https://tidelift.com/funding/github/rubygems/oauth2"],"critical":true,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/oauth2/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/oauth2/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/oauth2/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/oauth2/related_packages","maintainers":[{"uuid":"284","login":"sferik","name":null,"email":null,"url":null,"packages_count":59,"html_url":"https://rubygems.org/profiles/sferik","role":null,"created_at":"2022-11-09T09:43:16.770Z","updated_at":"2022-11-09T09:43:16.770Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers/sferik/packages"},{"uuid":"509","login":"pboling","name":null,"email":null,"url":null,"packages_count":87,"html_url":"https://rubygems.org/profiles/pboling","role":null,"created_at":"2022-11-09T09:43:16.818Z","updated_at":"2022-11-09T09:43:16.818Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers/pboling/packages"},{"uuid":"223","login":"mbleigh","name":null,"email":null,"url":null,"packages_count":50,"html_url":"https://rubygems.org/profiles/mbleigh","role":null,"created_at":"2022-11-09T09:43:16.727Z","updated_at":"2022-11-09T09:43:16.727Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers/mbleigh/packages"}],"registry":{"name":"rubygems.org","url":"https://rubygems.org","ecosystem":"rubygems","default":true,"packages_count":198115,"maintainers_count":66429,"namespaces_count":0,"keywords_count":17799,"github":"rubygems","metadata":{"funded_packages_count":7045},"icon_url":"https://github.com/rubygems.png","created_at":"2022-04-04T15:19:23.446Z","updated_at":"2025-06-06T05:59:27.395Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/namespaces"}},"unique_repositories_count":77,"unique_repositories_count_past_30_days":5,"recent_issues":[{"uuid":"4613299319","node_id":"PR_kwDORvDTvM7j7FmC","number":31,"state":"closed","title":"Bump oauth2 from 2.0.18 to 2.0.22","user":"dependabot[bot]","labels":["dependencies","ruby"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-06-15T13:35:29.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-08T13:28:34.000Z","updated_at":"2026-06-15T13:35:31.000Z","time_to_close":605215,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"oauth2","old_version":"2.0.18","new_version":"2.0.22","repository_url":"https://github.com/ruby-oauth/oauth2"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps [oauth2](https://github.com/ruby-oauth/oauth2) from 2.0.18 to 2.0.22.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby-oauth/oauth2/releases\"\u003eoauth2's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.0.22\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/compare/v2.0.21...v2.0.22\"\u003e2.0.22\u003c/a\u003e - 2026-06-07\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eTAG: \u003ca href=\"https://github.com/ruby-oauth/oauth2/releases/tag/v2.0.22\"\u003ev2.0.22\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCOVERAGE: 100.00% -- 542/542 lines in 15 files\u003c/li\u003e\n\u003cli\u003eBRANCH COVERAGE: 100.00% -- 180/180 branches in 15 files\u003c/li\u003e\n\u003cli\u003e88.35% documented\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRaised generated development tooling floors to \u003ccode\u003ekettle-dev\u003c/code\u003e \u0026gt;= 2.1.1 and\n\u003ccode\u003eversion_gem\u003c/code\u003e \u0026gt;= 1.1.11.\u003c/li\u003e\n\u003cli\u003eRaised the runtime dependency floor for \u003ccode\u003esnaky_hash\u003c/code\u003e to \u003ccode\u003e\u0026gt;= 2.0.5\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[GHSA-pp92-crg2-gfv9] Prevent protocol-relative redirect \u003ccode\u003eLocation\u003c/code\u003e values from changing request authority, and strip \u003ccode\u003eAuthorization\u003c/code\u003e headers from cross-origin redirects.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eOfficial Discord 👉️ \u003ca href=\"https://discord.gg/3qme4XHNKN\"\u003e\u003cimg src=\"https://img.shields.io/discord/1373797679469170758?style=flat\" alt=\"Live Chat on Discord\" /\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eMany paths lead to being a sponsor or a backer of this project. Are you on such a path?\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://opencollective.com/ruby-oauth#backer\"\u003e\u003cimg src=\"https://opencollective.com/ruby-oauth/backers/badge.svg?style=flat\" alt=\"OpenCollective Backers\" /\u003e\u003c/a\u003e \u003ca href=\"https://opencollective.com/ruby-oauth#sponsor\"\u003e\u003cimg src=\"https://opencollective.com/ruby-oauth/sponsors/badge.svg?style=flat\" alt=\"OpenCollective Sponsors\" /\u003e\u003c/a\u003e \u003ca href=\"https://github.com/sponsors/pboling\"\u003e\u003cimg src=\"https://img.shields.io/badge/Sponsor_Me!-pboling.svg?style=social\u0026amp;logo=github\" alt=\"Sponsor Me on Github\" /\u003e\u003c/a\u003e \u003ca href=\"https://liberapay.com/pboling/donate\"\u003e\u003cimg src=\"https://img.shields.io/liberapay/goal/pboling.svg?logo=liberapay\u0026amp;color=a51611\u0026amp;style=flat\" alt=\"Liberapay Goal Progress\" /\u003e\u003c/a\u003e \u003ca href=\"https://www.paypal.com/paypalme/peterboling\"\u003e\u003cimg src=\"https://img.shields.io/badge/donate-paypal-a51611.svg?style=flat\u0026amp;logo=paypal\" alt=\"Donate on PayPal\" /\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://www.buymeacoffee.com/pboling\"\u003e\u003cimg src=\"https://img.shields.io/badge/buy_me_a_coffee-%E2%9C%93-a51611.svg?style=flat\" alt=\"Buy me a coffee\" /\u003e\u003c/a\u003e \u003ca href=\"https://polar.sh/pboling\"\u003e\u003cimg src=\"https://img.shields.io/badge/polar-donate-a51611.svg?style=flat\" alt=\"Donate on Polar\" /\u003e\u003c/a\u003e \u003ca href=\"https://ko-fi.com/pboling\"\u003e\u003cimg src=\"https://img.shields.io/badge/ko--fi-%E2%9C%93-a51611.svg?style=flat\" alt=\"Donate to my FLOSS efforts at ko-fi.com\" /\u003e\u003c/a\u003e \u003ca href=\"https://patreon.com/galtzo\"\u003e\u003cimg src=\"https://img.shields.io/badge/patreon-donate-a51611.svg?style=flat\" alt=\"Donate to my FLOSS efforts using Patreon\" /\u003e\u003c/a\u003e\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\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby-oauth/oauth2/blob/main/CHANGELOG.md\"\u003eoauth2's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[2.0.22] - 2026-06-07\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eTAG: [v2.0.22][2.0.22t]\u003c/li\u003e\n\u003cli\u003eCOVERAGE: 100.00% -- 542/542 lines in 15 files\u003c/li\u003e\n\u003cli\u003eBRANCH COVERAGE: 100.00% -- 180/180 branches in 15 files\u003c/li\u003e\n\u003cli\u003e88.35% documented\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRaised generated development tooling floors to \u003ccode\u003ekettle-dev\u003c/code\u003e \u0026gt;= 2.1.1 and\n\u003ccode\u003eversion_gem\u003c/code\u003e \u0026gt;= 1.1.11.\u003c/li\u003e\n\u003cli\u003eRaised the runtime dependency floor for \u003ccode\u003esnaky_hash\u003c/code\u003e to \u003ccode\u003e\u0026gt;= 2.0.5\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[GHSA-pp92-crg2-gfv9] Prevent protocol-relative redirect \u003ccode\u003eLocation\u003c/code\u003e values from changing request authority, and strip \u003ccode\u003eAuthorization\u003c/code\u003e headers from cross-origin redirects.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[2.0.21] - 2026-06-06\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eTAG: [v2.0.21][2.0.21t]\u003c/li\u003e\n\u003cli\u003eCOVERAGE: 100.00% -- 525/525 lines in 15 files\u003c/li\u003e\n\u003cli\u003eBRANCH COVERAGE: 100.00% -- 174/174 branches in 15 files\u003c/li\u003e\n\u003cli\u003e88.35% documented\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/730\"\u003egh!730\u003c/a\u003e - Alternatives section to README by \u003ca href=\"https://github.com/jonathangrinstead\"\u003e\u003ccode\u003e@​jonathangrinstead\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdates to alternatives section - by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cul\u003e\n\u003cli\u003eAdded conditional \u003ccode\u003eappraisal2-rubocop\u003c/code\u003e Appraisal root loading on modern Ruby\nso generated Appraisal gemfiles are normalized during generation - by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRaised generated \u003ccode\u003eversion_gem\u003c/code\u003e dependency floor to \u003ccode\u003eversion_gem\u003c/code\u003e \u0026gt;= 1.1.10 - by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRaised the runtime dependency floor for \u003ccode\u003eauth-sanitizer\u003c/code\u003e to \u003ccode\u003e\u0026gt;= 0.2.1\u003c/code\u003e - by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRefreshed generated package metadata, support documentation, CI workflows,\nand development dependency floors from the current kettle-jem template - by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocumented the current per-version Ruby, JRuby, and TruffleRuby CI matrix in\ngenerated README badges and compatibility tables - by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemoved the post-install message from the gemspec to keep installs quieter - by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRefreshed generated README support badges so Ruby 2.3 is listed as\nsupported but untested - by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRefreshed generated project metadata from the current kettle-jem template - by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRaised development tooling floors to \u003ccode\u003ekettle-dev\u003c/code\u003e \u0026gt;= 2.1.0 and\n\u003ccode\u003eappraisal2\u003c/code\u003e \u0026gt;= 3.1.1 for Appraisal2's split generate/install/update\ncommand semantics.\u003c/li\u003e\n\u003cli\u003eRefreshed generated Appraisal and CI templates to appraisal2-rubocop 0.2.0 - by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\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/ruby-oauth/oauth2/commit/551f434a81912763fb5a8e240cd00a6532e26970\"\u003e\u003ccode\u003e551f434\u003c/code\u003e\u003c/a\u003e 🔖 Prepare release v2.0.22\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/849e7e5e1f867c2d05c05428922aed12bc6439cb\"\u003e\u003ccode\u003e849e7e5\u003c/code\u003e\u003c/a\u003e 🧪 Strengthen redirect security specs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/442c1609858ebaecbac5eab77f4511bc81ed7383\"\u003e\u003ccode\u003e442c160\u003c/code\u003e\u003c/a\u003e 📝 Reference GHSA in security changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/f6fed86ddf4295c47f38df61ee37066b62a13ef2\"\u003e\u003ccode\u003ef6fed86\u003c/code\u003e\u003c/a\u003e ⬆️ Raise snaky_hash floor\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/26bfeda3d8c0b34d6a51bfa30b7a8bf1b5f3b0f6\"\u003e\u003ccode\u003e26bfeda\u003c/code\u003e\u003c/a\u003e 🔧 Refresh kettle-jem templates\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/0f0a474f1b38453e119e660c2daca742d4378ce9\"\u003e\u003ccode\u003e0f0a474\u003c/code\u003e\u003c/a\u003e Fix credential leakage on redirects\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/1118527f311a23d06feede403b88b8f6bd2a4eed\"\u003e\u003ccode\u003e1118527\u003c/code\u003e\u003c/a\u003e 🔒️ Checksums for v2.0.21\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/3f4154985fc0ab9b2b3fd0b085fa132fdc8bd8b4\"\u003e\u003ccode\u003e3f41549\u003c/code\u003e\u003c/a\u003e 🔖 Prepare release v2.0.21\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/3311b5b6b39c57c062a071356a55bcb826207e54\"\u003e\u003ccode\u003e3311b5b\u003c/code\u003e\u003c/a\u003e Raise auth-sanitizer floor to 0.2.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/5659d892c3dcb4266c682f1565d0266d0b321503\"\u003e\u003ccode\u003e5659d89\u003c/code\u003e\u003c/a\u003e 🔖 Prepare release v2.0.21\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby-oauth/oauth2/compare/v2.0.18...v2.0.22\"\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=oauth2\u0026package-manager=bundler\u0026previous-version=2.0.18\u0026new-version=2.0.22)](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/jacetimm/Homework-Planner/pull/31","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/jacetimm%2FHomework-Planner/issues/31","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/31/packages"},{"uuid":"4537188249","node_id":"PR_kwDOJAseVs7gETmQ","number":1781,"state":"open","title":"Chore(deps): Bump the bundler group with 9 updates","user":"dependabot[bot]","labels":["dependencies","ruby"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-28T02:22:18.000Z","updated_at":"2026-05-28T02:22:42.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Chore(deps): Bump","group_name":"bundler","update_count":9,"packages":[{"name":"aws-sdk-s3","old_version":"1.222.0","new_version":"1.223.0","repository_url":"https://github.com/aws/aws-sdk-ruby"},{"name":"oauth2","old_version":"2.0.18","new_version":"2.0.20","repository_url":"https://github.com/ruby-oauth/oauth2"},{"name":"aws-partitions","old_version":"1.1252.0","new_version":"1.1253.0","repository_url":"https://github.com/aws/aws-sdk-ruby"},{"name":"aws-sdk-core","old_version":"3.247.0","new_version":"3.249.0","repository_url":"https://github.com/aws/aws-sdk-ruby"},{"name":"aws-sdk-kms","old_version":"1.127.0","new_version":"1.128.0","repository_url":"https://github.com/aws/aws-sdk-ruby"},{"name":"faraday-net_http","old_version":"3.4.2","new_version":"3.4.3","repository_url":"https://github.com/lostisland/faraday-net_http"},{"name":"marcel","old_version":"1.1.0","new_version":"1.2.1","repository_url":"https://github.com/rails/marcel"},{"name":"openid_connect","old_version":"2.3.1","new_version":"2.4.0","repository_url":"https://github.com/nov/openid_connect"},{"name":"snaky_hash","old_version":"2.0.3","new_version":"2.0.4","repository_url":"https://github.com/ruby-oauth/snaky_hash"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps the bundler group with 9 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [aws-sdk-s3](https://github.com/aws/aws-sdk-ruby) | `1.222.0` | `1.223.0` |\n| [oauth2](https://github.com/ruby-oauth/oauth2) | `2.0.18` | `2.0.20` |\n| [aws-partitions](https://github.com/aws/aws-sdk-ruby) | `1.1252.0` | `1.1253.0` |\n| [aws-sdk-core](https://github.com/aws/aws-sdk-ruby) | `3.247.0` | `3.249.0` |\n| [aws-sdk-kms](https://github.com/aws/aws-sdk-ruby) | `1.127.0` | `1.128.0` |\n| [faraday-net_http](https://github.com/lostisland/faraday-net_http) | `3.4.2` | `3.4.3` |\n| [marcel](https://github.com/rails/marcel) | `1.1.0` | `1.2.1` |\n| [openid_connect](https://github.com/nov/openid_connect) | `2.3.1` | `2.4.0` |\n| [snaky_hash](https://github.com/ruby-oauth/snaky_hash) | `2.0.3` | `2.0.4` |\n\nUpdates `aws-sdk-s3` from 1.222.0 to 1.223.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/aws/aws-sdk-ruby/blob/version-3/gems/aws-sdk-s3/CHANGELOG.md\"\u003eaws-sdk-s3's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.223.0 (2026-05-19)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Code Generated Changes, see \u003ccode\u003e./build_tools\u003c/code\u003e or \u003ccode\u003eaws-sdk-core\u003c/code\u003e's CHANGELOG.md for details.\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\u003eSee full diff in \u003ca href=\"https://github.com/aws/aws-sdk-ruby/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `oauth2` from 2.0.18 to 2.0.20\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby-oauth/oauth2/releases\"\u003eoauth2's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.0.20\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/compare/v2.0.19...v2.0.20\"\u003e2.0.20\u003c/a\u003e - 2026-05-20\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eTAG: \u003ca href=\"https://github.com/ruby-oauth/oauth2/releases/tag/v2.0.20\"\u003ev2.0.20\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCOVERAGE: 99.62% -- 525/527 lines in 15 files\u003c/li\u003e\n\u003cli\u003eBRANCH COVERAGE: 98.88% -- 176/178 branches in 15 files\u003c/li\u003e\n\u003cli\u003e88.35% documented\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eOAuth2::VERSION (Traditional Constant Location)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eauth-sanitizer v0.1.3\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/721\"\u003egh!721\u003c/a\u003e Load \u003ccode\u003eauth-sanitizer\u003c/code\u003e through an internal isolated loader so requiring \u003ccode\u003eoauth2\u003c/code\u003e does not add top-level \u003ccode\u003eAuth\u003c/code\u003e or \u003ccode\u003eAuthSanitizer\u003c/code\u003e constants that may collide with downstream applications by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cp\u003eOfficial Discord 👉️ [![Live Chat on Discord][✉️discord-invite-img]][✉️discord-invite]\u003c/p\u003e\n\u003cp\u003eMany paths lead to being a sponsor or a backer of this project. Are you on such a path?\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://opencollective.com/ruby-oauth#backer\"\u003e\u003cimg src=\"https://opencollective.com/ruby-oauth/backers/badge.svg?style=flat\" alt=\"OpenCollective Backers\" /\u003e\u003c/a\u003e \u003ca href=\"https://opencollective.com/ruby-oauth#sponsor\"\u003e\u003cimg src=\"https://opencollective.com/ruby-oauth/sponsors/badge.svg?style=flat\" alt=\"OpenCollective Sponsors\" /\u003e\u003c/a\u003e \u003ca href=\"https://github.com/sponsors/pboling\"\u003e\u003cimg src=\"https://img.shields.io/badge/Sponsor_Me!-pboling.svg?style=social\u0026amp;logo=github\" alt=\"Sponsor Me on Github\" /\u003e\u003c/a\u003e \u003ca href=\"https://liberapay.com/pboling/donate\"\u003e\u003cimg src=\"https://img.shields.io/liberapay/goal/pboling.svg?logo=liberapay\u0026amp;color=a51611\u0026amp;style=flat\" alt=\"Liberapay Goal Progress\" /\u003e\u003c/a\u003e [![Donate on PayPal][🖇paypal-img]][🖇paypal]\u003c/p\u003e\n\u003cp\u003e[\u003cimg src=\"https://img.shields.io/badge/buy_me_a_coffee-%E2%9C%93-a51611.svg?style=flat\" alt=\"Buy me a coffee\" /\u003e][🖇buyme] \u003ca href=\"https://polar.sh/pboling\"\u003e\u003cimg src=\"https://img.shields.io/badge/polar-donate-a51611.svg?style=flat\" alt=\"Donate on Polar\" /\u003e\u003c/a\u003e \u003ca href=\"https://ko-fi.com/O5O86SNP4\"\u003e\u003cimg src=\"https://img.shields.io/badge/ko--fi-%E2%9C%93-a51611.svg?style=flat\" alt=\"Donate to my FLOSS efforts at ko-fi.com\" /\u003e\u003c/a\u003e \u003ca href=\"https://patreon.com/galtzo\"\u003e\u003cimg src=\"https://img.shields.io/badge/patreon-donate-a51611.svg?style=flat\" alt=\"Donate to my FLOSS efforts using Patreon\" /\u003e\u003c/a\u003e\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\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby-oauth/oauth2/blob/main/CHANGELOG.md\"\u003eoauth2's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[2.0.20] - 2026-05-20\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eTAG: [v2.0.20][2.0.20t]\u003c/li\u003e\n\u003cli\u003eCOVERAGE: 99.62% -- 525/527 lines in 15 files\u003c/li\u003e\n\u003cli\u003eBRANCH COVERAGE: 98.88% -- 176/178 branches in 15 files\u003c/li\u003e\n\u003cli\u003e88.35% documented\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eOAuth2::VERSION (Traditional Constant Location)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eauth-sanitizer v0.1.3\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/721\"\u003egh!721\u003c/a\u003e Load \u003ccode\u003eauth-sanitizer\u003c/code\u003e through an internal isolated loader so requiring \u003ccode\u003eoauth2\u003c/code\u003e does not add top-level \u003ccode\u003eAuth\u003c/code\u003e or \u003ccode\u003eAuthSanitizer\u003c/code\u003e constants that may collide with downstream applications by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003ch2\u003e[2.0.19] - 2026-05-15\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eTAG: [v2.0.19][2.0.19t]\u003c/li\u003e\n\u003cli\u003eCOVERAGE: 100.00% -- 515/515 lines in 14 files\u003c/li\u003e\n\u003cli\u003eBRANCH COVERAGE: 100.00% -- 174/174 branches in 14 files\u003c/li\u003e\n\u003cli\u003e89.11% documented\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/707\"\u003egh!707\u003c/a\u003e Add \u003ccode\u003eOAuth2.config[:filtered_label]\u003c/code\u003e to configure the placeholder used for filtered sensitive values in inspected objects and debug logging output by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/707\"\u003egh!707\u003c/a\u003e Add \u003ccode\u003eOAuth2.config[:filtered_debug_keys]\u003c/code\u003e to configure which key names have their values redacted from debug logging output by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/707\"\u003egh!707\u003c/a\u003e Make inspect-time and debug-log filters snapshot their configuration at initialization time rather than tracking later config changes by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[gh!714][gh!714]Refactor sensitive-value filtering to use \u003ccode\u003eauth-sanitizer\u003c/code\u003e while preserving \u003ccode\u003eOAuth2::FilteredAttributes\u003c/code\u003e as a permanent API alias by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRemoved\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove the internal \u003ccode\u003eOAuth2::ThingFilter\u003c/code\u003e and \u003ccode\u003eOAuth2::SanitizedLogger\u003c/code\u003e implementations now provided by \u003ccode\u003eauth-sanitizer\u003c/code\u003e by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/707\"\u003egh!707\u003c/a\u003e Redact sensitive values from debug logging output, including Authorization headers and common token/secret fields in headers, query strings, form bodies, and JSON payloads by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003eNOTE: debug logging has always been, and remains, opt-in. It is turned off by default.\u003c/li\u003e\n\u003c/ul\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/ruby-oauth/oauth2/commit/e2d509705db6091c8d5f27c31e29c58e39e51c7c\"\u003e\u003ccode\u003ee2d5097\u003c/code\u003e\u003c/a\u003e 🔧 :nocov: for unreachable error states\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/30650b2e1cb743e3263181e8b8a32c57ef33b9fb\"\u003e\u003ccode\u003e30650b2\u003c/code\u003e\u003c/a\u003e 🔖 Prepare release v2.0.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/23f2855f1b0053a38b6b5df00c870d83db761c31\"\u003e\u003ccode\u003e23f2855\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/issues/721\"\u003e#721\u003c/a\u003e from ruby-oauth/fix/top-level-namespace-pollution\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/5e4c98831ecb68ec446fcc99be0af40e6e68490c\"\u003e\u003ccode\u003e5e4c988\u003c/code\u003e\u003c/a\u003e Fix RuboCop Gradual offenses\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/89397f699bd6903c5ac3a9927d1743984a946dc5\"\u003e\u003ccode\u003e89397f6\u003c/code\u003e\u003c/a\u003e Constrain auth-sanitizer loader lookup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/8e71e19890fe486d7d260eb29ec67eb5ac1e75d0\"\u003e\u003ccode\u003e8e71e19\u003c/code\u003e\u003c/a\u003e 📝 CHANGELOG.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/6082a21c5628b270953dc9edb0af57dafb36e194\"\u003e\u003ccode\u003e6082a21\u003c/code\u003e\u003c/a\u003e ⬆️ snaky_hash, faraday-net_http, zeitwerk, bundler-audit\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/350da4214e9285fd88e21a9859d049dc8e954a25\"\u003e\u003ccode\u003e350da42\u003c/code\u003e\u003c/a\u003e Avoid auth-sanitizer top-level namespaces\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/0bc19030c2226ab16fc237b547e95d90ed8fa2e9\"\u003e\u003ccode\u003e0bc1903\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/issues/719\"\u003e#719\u003c/a\u003e from step-security-bot/chore/GHA-182236-stepsecurity-...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/148d716337a530494895091fe3b4359a410212a5\"\u003e\u003ccode\u003e148d716\u003c/code\u003e\u003c/a\u003e Switch pre-commit hook to rubocop_gradual\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby-oauth/oauth2/compare/v2.0.18...v2.0.20\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `aws-partitions` from 1.1252.0 to 1.1253.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/aws/aws-sdk-ruby/blob/version-3/gems/aws-partitions/CHANGELOG.md\"\u003eaws-partitions's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.1253.0 (2026-05-22)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Updated the partitions source data that determines the AWS service regions and endpoints.\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\u003eSee full diff in \u003ca href=\"https://github.com/aws/aws-sdk-ruby/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `aws-sdk-core` from 3.247.0 to 3.249.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/aws/aws-sdk-ruby/blob/version-3/gems/aws-sdk-core/CHANGELOG.md\"\u003eaws-sdk-core's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.249.0 (2026-05-22)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Adding new BDD representation of endpoint ruleset\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.248.0 (2026-05-21)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFeature - Updated Aws::STS::Client with the latest API changes.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFeature - Updated Aws::SSOOIDC::Client with the latest API changes.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFeature - Updated Aws::SSO::Client with the latest API changes.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFeature - Updated Aws::Signin::Client with the latest API changes.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFeature - Add \u003ccode\u003eAWS_NEW_RETRIES_2026\u003c/code\u003e environment variable to opt-in to updated \u003ccode\u003estandard\u003c/code\u003e retry mode with reduced backoff intervals.\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\u003eSee full diff in \u003ca href=\"https://github.com/aws/aws-sdk-ruby/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `aws-sdk-kms` from 1.127.0 to 1.128.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/aws/aws-sdk-ruby/blob/version-3/gems/aws-sdk-kms/CHANGELOG.md\"\u003eaws-sdk-kms's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.128.0 (2026-05-21)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Code Generated Changes, see \u003ccode\u003e./build_tools\u003c/code\u003e or \u003ccode\u003eaws-sdk-core\u003c/code\u003e's CHANGELOG.md for details.\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\u003eSee full diff in \u003ca href=\"https://github.com/aws/aws-sdk-ruby/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `faraday-net_http` from 3.4.2 to 3.4.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/lostisland/faraday-net_http/releases\"\u003efaraday-net_http's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.4.3\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\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/lostisland/faraday-net_http/pull/54\"\u003elostisland/faraday-net_http#54\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAlways dup body before mutating it by \u003ca href=\"https://github.com/byroot\"\u003e\u003ccode\u003e@​byroot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lostisland/faraday-net_http/pull/56\"\u003elostisland/faraday-net_http#56\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/byroot\"\u003e\u003ccode\u003e@​byroot\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/lostisland/faraday-net_http/pull/56\"\u003elostisland/faraday-net_http#56\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/lostisland/faraday-net_http/compare/v3.4.2...v3.4.3\"\u003ehttps://github.com/lostisland/faraday-net_http/compare/v3.4.2...v3.4.3\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/lostisland/faraday-net_http/commit/1a6f2505c876de3c7d4f0e420951664d26958196\"\u003e\u003ccode\u003e1a6f250\u003c/code\u003e\u003c/a\u003e Version bump to 3.4.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lostisland/faraday-net_http/commit/4bcd6262dd0d902b15b4b6285932eda517d7586a\"\u003e\u003ccode\u003e4bcd626\u003c/code\u003e\u003c/a\u003e Always dup body before mutating it (\u003ca href=\"https://redirect.github.com/lostisland/faraday-net_http/issues/56\"\u003e#56\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lostisland/faraday-net_http/commit/5ee17ed98e41ad038c9b16ccf8ecf08bd1735568\"\u003e\u003ccode\u003e5ee17ed\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 5 to 6 (\u003ca href=\"https://redirect.github.com/lostisland/faraday-net_http/issues/54\"\u003e#54\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/lostisland/faraday-net_http/compare/v3.4.2...v3.4.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `marcel` from 1.1.0 to 1.2.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/marcel/releases\"\u003emarcel's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.2.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRevert BMP images type to just \u003ccode\u003eimage/bmp\u003c/code\u003e instead of \u003ccode\u003eimage/bmp;format=compressed\u003c/code\u003e.\nThe later is more precise, but cause backward compatibility issues with Active Storage.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/rails/marcel/compare/v1.2.0...v1.2.1\"\u003ehttps://github.com/rails/marcel/compare/v1.2.0...v1.2.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.2.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eStop mutating source IO state during magic-byte detection by \u003ca href=\"https://github.com/andreaslillebo\"\u003e\u003ccode\u003e@​andreaslillebo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/143\"\u003erails/marcel#143\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eimprove SVG detection by \u003ca href=\"https://github.com/alexanderadam\"\u003e\u003ccode\u003e@​alexanderadam\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/129\"\u003erails/marcel#129\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eimprove HTML detection by \u003ca href=\"https://github.com/alexanderadam\"\u003e\u003ccode\u003e@​alexanderadam\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/130\"\u003erails/marcel#130\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eadd fixture for BOM CSV by \u003ca href=\"https://github.com/alexanderadam\"\u003e\u003ccode\u003e@​alexanderadam\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/134\"\u003erails/marcel#134\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eadd unicode string support by \u003ca href=\"https://github.com/alexanderadam\"\u003e\u003ccode\u003e@​alexanderadam\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/138\"\u003erails/marcel#138\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for Sony RAW image format magic detection by \u003ca href=\"https://github.com/bogdan\"\u003e\u003ccode\u003e@​bogdan\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/142\"\u003erails/marcel#142\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for .gpx files by \u003ca href=\"https://github.com/trekdemo\"\u003e\u003ccode\u003e@​trekdemo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/113\"\u003erails/marcel#113\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eadd \u003ccode\u003etika.xml\u003c/code\u003e regex support by \u003ca href=\"https://github.com/alexanderadam\"\u003e\u003ccode\u003e@​alexanderadam\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/132\"\u003erails/marcel#132\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eadd pkcs8 detection by \u003ca href=\"https://github.com/alexanderadam\"\u003e\u003ccode\u003e@​alexanderadam\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/133\"\u003erails/marcel#133\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd hprof fixture and fix trailing space bug by \u003ca href=\"https://github.com/alexanderadam\"\u003e\u003ccode\u003e@​alexanderadam\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/136\"\u003erails/marcel#136\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/andreaslillebo\"\u003e\u003ccode\u003e@​andreaslillebo\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/143\"\u003erails/marcel#143\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/alexanderadam\"\u003e\u003ccode\u003e@​alexanderadam\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/129\"\u003erails/marcel#129\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bogdan\"\u003e\u003ccode\u003e@​bogdan\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/142\"\u003erails/marcel#142\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/trekdemo\"\u003e\u003ccode\u003e@​trekdemo\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/113\"\u003erails/marcel#113\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/rails/marcel/compare/v1.1.1...v1.2.0\"\u003ehttps://github.com/rails/marcel/compare/v1.1.1...v1.2.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.1.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix Ruby 3.4 frozen string literal warnings with StringIO by \u003ca href=\"https://github.com/andynu\"\u003e\u003ccode\u003e@​andynu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/140\"\u003erails/marcel#140\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/andynu\"\u003e\u003ccode\u003e@​andynu\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/140\"\u003erails/marcel#140\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/rails/marcel/compare/v1.1.0...v1.1.1\"\u003ehttps://github.com/rails/marcel/compare/v1.1.0...v1.1.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/rails/marcel/commit/b0625d3f0358deb3fb2cba20b26a1c39f09f62ea\"\u003e\u003ccode\u003eb0625d3\u003c/code\u003e\u003c/a\u003e Release 1.2.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/65a6a56de6f4b19e641ca35e8f8d792de5f52445\"\u003e\u003ccode\u003e65a6a56\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/marcel/issues/148\"\u003e#148\u003c/a\u003e from rails/bmp-raw-type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/f065e38c5b633c4a1dcbad5d957d5602d6a25387\"\u003e\u003ccode\u003ef065e38\u003c/code\u003e\u003c/a\u003e Release 1.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/8bf7690671bf41c634ac0233e3d8f40ed689a611\"\u003e\u003ccode\u003e8bf7690\u003c/code\u003e\u003c/a\u003e Prefer audio/ogg instead of audio/opus\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/5d740354c292b9d91460b5b3bde92080a96164cd\"\u003e\u003ccode\u003e5d74035\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/marcel/issues/136\"\u003e#136\u003c/a\u003e from alexanderadam/fix/remove_trailing_mime_type_spac...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/17549db6c960674cccbe1bf697729d0d0a40daab\"\u003e\u003ccode\u003e17549db\u003c/code\u003e\u003c/a\u003e Add hprof to allowed regexp types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/5cab19b633b5665b78d12db43cbe44601fac72a3\"\u003e\u003ccode\u003e5cab19b\u003c/code\u003e\u003c/a\u003e Always run generate_tables.rb\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/9f9833c32014c7a39f9434074bde5248ee805003\"\u003e\u003ccode\u003e9f9833c\u003c/code\u003e\u003c/a\u003e Remove trailign type name in all tables\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/5a3fbac116d9d8cc7b1b0eb9200328ba882addeb\"\u003e\u003ccode\u003e5a3fbac\u003c/code\u003e\u003c/a\u003e remove trailing mime type spaces \u0026amp; hprof fixture\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/9f11bea9c73cf0f9039da7c3ae4dc9d4c3dd6be4\"\u003e\u003ccode\u003e9f11bea\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/marcel/issues/133\"\u003e#133\u003c/a\u003e from alexanderadam/fix/p8_detection_issue_90\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/marcel/compare/v1.1.0...v1.2.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `openid_connect` from 2.3.1 to 2.4.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/nov/openid_connect/releases\"\u003eopenid_connect's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.4.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eadded link to documentation in the README by \u003ca href=\"https://github.com/guarenty\"\u003e\u003ccode\u003e@​guarenty\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/nov/openid_connect/pull/101\"\u003enov/openid_connect#101\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd POST support and custom headers to userinfo! by \u003ca href=\"https://github.com/arianf\"\u003e\u003ccode\u003e@​arianf\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/nov/openid_connect/pull/111\"\u003enov/openid_connect#111\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/guarenty\"\u003e\u003ccode\u003e@​guarenty\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/nov/openid_connect/pull/101\"\u003enov/openid_connect#101\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arianf\"\u003e\u003ccode\u003e@​arianf\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/nov/openid_connect/pull/111\"\u003enov/openid_connect#111\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/nov/openid_connect/compare/v2.3.1...v2.4.0\"\u003ehttps://github.com/nov/openid_connect/compare/v2.3.1...v2.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/nov/openid_connect/commit/e5936a18c69771d359310f067028f0fd811a8892\"\u003e\u003ccode\u003ee5936a1\u003c/code\u003e\u003c/a\u003e v2.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nov/openid_connect/commit/ea20e9c7e7ad40bcf5d4cea48d8ef497832756b6\"\u003e\u003ccode\u003eea20e9c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/nov/openid_connect/issues/111\"\u003e#111\u003c/a\u003e from arianf/post-userinfo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nov/openid_connect/commit/fe320ff56189da36f7246d07ddbaaccd40bf0417\"\u003e\u003ccode\u003efe320ff\u003c/code\u003e\u003c/a\u003e add POST support and custom headers to userinfo!\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nov/openid_connect/commit/18afb4a35a9cc48c0a912bb54331f77c6b22d20e\"\u003e\u003ccode\u003e18afb4a\u003c/code\u003e\u003c/a\u003e CI against 4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nov/openid_connect/commit/10a2deb21c086dd730526b1e097d3c3d19743500\"\u003e\u003ccode\u003e10a2deb\u003c/code\u003e\u003c/a\u003e update test targets\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nov/openid_connect/commit/fce82228d174bc92f6de94a67eac78077a1d250a\"\u003e\u003ccode\u003efce8222\u003c/code\u003e\u003c/a\u003e fix broken spec\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nov/openid_connect/commit/fc3c7eed9bd450e5675e65d62ecb3973ccdeeb0d\"\u003e\u003ccode\u003efc3c7ee\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/nov/openid_connect/issues/101\"\u003e#101\u003c/a\u003e from guarenty/main\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nov/openid_connect/commit/17d90bcd2c7a67677d9a387ced695c90de2e367f\"\u003e\u003ccode\u003e17d90bc\u003c/code\u003e\u003c/a\u003e Update README.rdoc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nov/openid_connect/commit/a0f6d1a55fbe4f300b9a53debfbb359c096c2069\"\u003e\u003ccode\u003ea0f6d1a\u003c/code\u003e\u003c/a\u003e add link to documentation in README.rdoc\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/nov/openid_connect/compare/v2.3.1...v2.4.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `snaky_hash` from 2.0.3 to 2.0.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby-oauth/snaky_hash/releases\"\u003esnaky_hash's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.0.4\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/ruby-oauth/snaky_hash/compare/v2.0.3...v2.0.4\"\u003e2.0.4\u003c/a\u003e - 2026-05-16\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eTAG: \u003ca href=\"https://github.com/ruby-oauth/snaky_hash/releases/tag/v2.0.4\"\u003ev2.0.4\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCOVERAGE: 100.00% -- 133/133 lines in 7 files\u003c/li\u003e\n\u003cli\u003eBRANCH COVERAGE: 100.00% -- 38/38 branches in 7 files\u003c/li\u003e\n\u003cli\u003e100.00% documented\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eIncident Response Plan in IRP.md\u003c/li\u003e\n\u003cli\u003eSnakyHash::VERSION (Traditional Constant Location)\u003c/li\u003e\n\u003cli\u003ekettle-dev \u0026amp; kettle-test dev harnesses\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eContributor Conenant updated to version 2.1\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSpecs\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/ruby-oauth/snaky_hash/blob/main/CHANGELOG.md\"\u003esnaky_hash's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[2.0.4] - 2026-05-16\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eTAG: [v2.0.4][2.0.4t]\u003c/li\u003e\n\u003cli\u003eCOVERAGE: 100.00% -- 133/133 lines in 7 files\u003c/li\u003e\n\u003cli\u003eBRANCH COVERAGE: 100.00% -- 38/38 branches in 7 files\u003c/li\u003e\n\u003cli\u003e100.00% documented\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eIncident Response Plan in IRP.md\u003c/li\u003e\n\u003cli\u003eSnakyHash::VERSION (Traditional Constant Location)\u003c/li\u003e\n\u003cli\u003ekettle-dev \u0026amp; kettle-test dev harnesses\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eContributor Conenant updated to version 2.1\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSpecs\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/ruby-oauth/snaky_hash/commit/7b4250885ccd27bf3d91f481d446f33322686058\"\u003e\u003ccode\u003e7b42508\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby-oauth/snaky_hash/issues/8\"\u003e#8\u003c/a\u003e from ruby-oauth/dependabot/github_actions/marocchino/st...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/snaky_hash/commit/a97d4c53568e253bc563f50c524e5ff49a59da2e\"\u003e\u003ccode\u003ea97d4c5\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby-oauth/snaky_hash/issues/9\"\u003e#9\u003c/a\u003e from ruby-oauth/dependabot/github_actions/codecov/codec...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/snaky_hash/commit/2214e9801469a4bd8f004e9b1acb0082e5d1e0f8\"\u003e\u003ccode\u003e2214e98\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby-oauth/snaky_hash/issues/10\"\u003e#10\u003c/a\u003e from ruby-oauth/dependabot/github_actions/actions/depe...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/snaky_hash/commit/b0a09d8158df7878aa5c3c9c51da023e63fb9b50\"\u003e\u003ccode\u003eb0a09d8\u003c/code\u003e\u003c/a\u003e 🔖 Prepare release v2.0.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/snaky_hash/commit/d8aaf97016cd32498ae74b17e4063896d2448dcb\"\u003e\u003ccode\u003ed8aaf97\u003c/code\u003e\u003c/a\u003e ✅ Update specs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/snaky_hash/commit/88be176962625905b5234ec8f42f09023f0f2619\"\u003e\u003ccode\u003e88be176\u003c/code\u003e\u003c/a\u003e ➖ addressable (dev)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/snaky_hash/commit/69dd5a1bd23643acc8920a796ee6a64e7d739b7c\"\u003e\u003ccode\u003e69dd5a1\u003c/code\u003e\u003c/a\u003e 🔥 bin/bundle is dead\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/snaky_hash/commit/bb44430185e563fb348e266efd17d81c697f4278\"\u003e\u003ccode\u003ebb44430\u003c/code\u003e\u003c/a\u003e 🔧 Modernize gemspec\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/snaky_hash/commit/5a170abcf03ca2bd9546d2d26e02bc8377e13914\"\u003e\u003ccode\u003e5a170ab\u003c/code\u003e\u003c/a\u003e ➕ appraisal2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/snaky_hash/commit/eaa5304f7338d35509688fa4c543635daa4cd677\"\u003e\u003ccode\u003eeaa5304\u003c/code\u003e\u003c/a\u003e ⬆️ yard-junk v0.1.0\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby-oauth/snaky_hash/compare/v2.0.3...v2.0.4\"\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/ministryofjustice/laa-assure-hmrc-data/pull/1781","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/ministryofjustice%2Flaa-assure-hmrc-data/issues/1781","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1781/packages"},{"uuid":"4513815384","node_id":"PR_kwDOAe8r3c7e4epU","number":9611,"state":"open","title":"Bump oauth2 from 2.0.18 to 2.0.20","user":"dependabot[bot]","labels":["dependencies","ruby"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-25T02:20:44.000Z","updated_at":"2026-05-25T02:21:28.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"oauth2","old_version":"2.0.18","new_version":"2.0.20","repository_url":"https://github.com/ruby-oauth/oauth2"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps [oauth2](https://github.com/ruby-oauth/oauth2) from 2.0.18 to 2.0.20.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby-oauth/oauth2/releases\"\u003eoauth2's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.0.20\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/compare/v2.0.19...v2.0.20\"\u003e2.0.20\u003c/a\u003e - 2026-05-20\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eTAG: \u003ca href=\"https://github.com/ruby-oauth/oauth2/releases/tag/v2.0.20\"\u003ev2.0.20\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCOVERAGE: 99.62% -- 525/527 lines in 15 files\u003c/li\u003e\n\u003cli\u003eBRANCH COVERAGE: 98.88% -- 176/178 branches in 15 files\u003c/li\u003e\n\u003cli\u003e88.35% documented\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eOAuth2::VERSION (Traditional Constant Location)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eauth-sanitizer v0.1.3\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/721\"\u003egh!721\u003c/a\u003e Load \u003ccode\u003eauth-sanitizer\u003c/code\u003e through an internal isolated loader so requiring \u003ccode\u003eoauth2\u003c/code\u003e does not add top-level \u003ccode\u003eAuth\u003c/code\u003e or \u003ccode\u003eAuthSanitizer\u003c/code\u003e constants that may collide with downstream applications by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cp\u003eOfficial Discord 👉️ [![Live Chat on Discord][✉️discord-invite-img]][✉️discord-invite]\u003c/p\u003e\n\u003cp\u003eMany paths lead to being a sponsor or a backer of this project. Are you on such a path?\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://opencollective.com/ruby-oauth#backer\"\u003e\u003cimg src=\"https://opencollective.com/ruby-oauth/backers/badge.svg?style=flat\" alt=\"OpenCollective Backers\" /\u003e\u003c/a\u003e \u003ca href=\"https://opencollective.com/ruby-oauth#sponsor\"\u003e\u003cimg src=\"https://opencollective.com/ruby-oauth/sponsors/badge.svg?style=flat\" alt=\"OpenCollective Sponsors\" /\u003e\u003c/a\u003e \u003ca href=\"https://github.com/sponsors/pboling\"\u003e\u003cimg src=\"https://img.shields.io/badge/Sponsor_Me!-pboling.svg?style=social\u0026amp;logo=github\" alt=\"Sponsor Me on Github\" /\u003e\u003c/a\u003e \u003ca href=\"https://liberapay.com/pboling/donate\"\u003e\u003cimg src=\"https://img.shields.io/liberapay/goal/pboling.svg?logo=liberapay\u0026amp;color=a51611\u0026amp;style=flat\" alt=\"Liberapay Goal Progress\" /\u003e\u003c/a\u003e [![Donate on PayPal][🖇paypal-img]][🖇paypal]\u003c/p\u003e\n\u003cp\u003e[\u003cimg src=\"https://img.shields.io/badge/buy_me_a_coffee-%E2%9C%93-a51611.svg?style=flat\" alt=\"Buy me a coffee\" /\u003e][🖇buyme] \u003ca href=\"https://polar.sh/pboling\"\u003e\u003cimg src=\"https://img.shields.io/badge/polar-donate-a51611.svg?style=flat\" alt=\"Donate on Polar\" /\u003e\u003c/a\u003e \u003ca href=\"https://ko-fi.com/O5O86SNP4\"\u003e\u003cimg src=\"https://img.shields.io/badge/ko--fi-%E2%9C%93-a51611.svg?style=flat\" alt=\"Donate to my FLOSS efforts at ko-fi.com\" /\u003e\u003c/a\u003e \u003ca href=\"https://patreon.com/galtzo\"\u003e\u003cimg src=\"https://img.shields.io/badge/patreon-donate-a51611.svg?style=flat\" alt=\"Donate to my FLOSS efforts using Patreon\" /\u003e\u003c/a\u003e\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\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby-oauth/oauth2/blob/main/CHANGELOG.md\"\u003eoauth2's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[2.0.20] - 2026-05-20\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eTAG: [v2.0.20][2.0.20t]\u003c/li\u003e\n\u003cli\u003eCOVERAGE: 99.62% -- 525/527 lines in 15 files\u003c/li\u003e\n\u003cli\u003eBRANCH COVERAGE: 98.88% -- 176/178 branches in 15 files\u003c/li\u003e\n\u003cli\u003e88.35% documented\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eOAuth2::VERSION (Traditional Constant Location)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eauth-sanitizer v0.1.3\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/721\"\u003egh!721\u003c/a\u003e Load \u003ccode\u003eauth-sanitizer\u003c/code\u003e through an internal isolated loader so requiring \u003ccode\u003eoauth2\u003c/code\u003e does not add top-level \u003ccode\u003eAuth\u003c/code\u003e or \u003ccode\u003eAuthSanitizer\u003c/code\u003e constants that may collide with downstream applications by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003ch2\u003e[2.0.19] - 2026-05-15\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eTAG: [v2.0.19][2.0.19t]\u003c/li\u003e\n\u003cli\u003eCOVERAGE: 100.00% -- 515/515 lines in 14 files\u003c/li\u003e\n\u003cli\u003eBRANCH COVERAGE: 100.00% -- 174/174 branches in 14 files\u003c/li\u003e\n\u003cli\u003e89.11% documented\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/707\"\u003egh!707\u003c/a\u003e Add \u003ccode\u003eOAuth2.config[:filtered_label]\u003c/code\u003e to configure the placeholder used for filtered sensitive values in inspected objects and debug logging output by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/707\"\u003egh!707\u003c/a\u003e Add \u003ccode\u003eOAuth2.config[:filtered_debug_keys]\u003c/code\u003e to configure which key names have their values redacted from debug logging output by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/707\"\u003egh!707\u003c/a\u003e Make inspect-time and debug-log filters snapshot their configuration at initialization time rather than tracking later config changes by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[gh!714][gh!714]Refactor sensitive-value filtering to use \u003ccode\u003eauth-sanitizer\u003c/code\u003e while preserving \u003ccode\u003eOAuth2::FilteredAttributes\u003c/code\u003e as a permanent API alias by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRemoved\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove the internal \u003ccode\u003eOAuth2::ThingFilter\u003c/code\u003e and \u003ccode\u003eOAuth2::SanitizedLogger\u003c/code\u003e implementations now provided by \u003ccode\u003eauth-sanitizer\u003c/code\u003e by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/707\"\u003egh!707\u003c/a\u003e Redact sensitive values from debug logging output, including Authorization headers and common token/secret fields in headers, query strings, form bodies, and JSON payloads by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003eNOTE: debug logging has always been, and remains, opt-in. It is turned off by default.\u003c/li\u003e\n\u003c/ul\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/ruby-oauth/oauth2/commit/e2d509705db6091c8d5f27c31e29c58e39e51c7c\"\u003e\u003ccode\u003ee2d5097\u003c/code\u003e\u003c/a\u003e 🔧 :nocov: for unreachable error states\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/30650b2e1cb743e3263181e8b8a32c57ef33b9fb\"\u003e\u003ccode\u003e30650b2\u003c/code\u003e\u003c/a\u003e 🔖 Prepare release v2.0.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/23f2855f1b0053a38b6b5df00c870d83db761c31\"\u003e\u003ccode\u003e23f2855\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/issues/721\"\u003e#721\u003c/a\u003e from ruby-oauth/fix/top-level-namespace-pollution\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/5e4c98831ecb68ec446fcc99be0af40e6e68490c\"\u003e\u003ccode\u003e5e4c988\u003c/code\u003e\u003c/a\u003e Fix RuboCop Gradual offenses\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/89397f699bd6903c5ac3a9927d1743984a946dc5\"\u003e\u003ccode\u003e89397f6\u003c/code\u003e\u003c/a\u003e Constrain auth-sanitizer loader lookup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/8e71e19890fe486d7d260eb29ec67eb5ac1e75d0\"\u003e\u003ccode\u003e8e71e19\u003c/code\u003e\u003c/a\u003e 📝 CHANGELOG.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/6082a21c5628b270953dc9edb0af57dafb36e194\"\u003e\u003ccode\u003e6082a21\u003c/code\u003e\u003c/a\u003e ⬆️ snaky_hash, faraday-net_http, zeitwerk, bundler-audit\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/350da4214e9285fd88e21a9859d049dc8e954a25\"\u003e\u003ccode\u003e350da42\u003c/code\u003e\u003c/a\u003e Avoid auth-sanitizer top-level namespaces\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/0bc19030c2226ab16fc237b547e95d90ed8fa2e9\"\u003e\u003ccode\u003e0bc1903\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/issues/719\"\u003e#719\u003c/a\u003e from step-security-bot/chore/GHA-182236-stepsecurity-...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/148d716337a530494895091fe3b4359a410212a5\"\u003e\u003ccode\u003e148d716\u003c/code\u003e\u003c/a\u003e Switch pre-commit hook to rubocop_gradual\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby-oauth/oauth2/compare/v2.0.18...v2.0.20\"\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=oauth2\u0026package-manager=bundler\u0026previous-version=2.0.18\u0026new-version=2.0.20)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nYou can trigger a rebase of this PR 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/ministryofjustice/Claim-for-Crown-Court-Defence/pull/9611","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/ministryofjustice%2FClaim-for-Crown-Court-Defence/issues/9611","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/9611/packages"},{"uuid":"4490928045","node_id":"PR_kwDOR-g9jc7dwA1J","number":64,"state":"open","title":"Bump oauth2 from 2.0.18 to 2.0.20","user":"dependabot[bot]","labels":["dependencies","ruby"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-21T01:11:47.000Z","updated_at":"2026-05-21T01:12:30.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"oauth2","old_version":"2.0.18","new_version":"2.0.20","repository_url":"https://github.com/ruby-oauth/oauth2"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps [oauth2](https://github.com/ruby-oauth/oauth2) from 2.0.18 to 2.0.20.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby-oauth/oauth2/releases\"\u003eoauth2's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.0.20\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/compare/v2.0.19...v2.0.20\"\u003e2.0.20\u003c/a\u003e - 2026-05-20\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eTAG: \u003ca href=\"https://github.com/ruby-oauth/oauth2/releases/tag/v2.0.20\"\u003ev2.0.20\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCOVERAGE: 99.62% -- 525/527 lines in 15 files\u003c/li\u003e\n\u003cli\u003eBRANCH COVERAGE: 98.88% -- 176/178 branches in 15 files\u003c/li\u003e\n\u003cli\u003e88.35% documented\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eOAuth2::VERSION (Traditional Constant Location)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eauth-sanitizer v0.1.3\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/721\"\u003egh!721\u003c/a\u003e Load \u003ccode\u003eauth-sanitizer\u003c/code\u003e through an internal isolated loader so requiring \u003ccode\u003eoauth2\u003c/code\u003e does not add top-level \u003ccode\u003eAuth\u003c/code\u003e or \u003ccode\u003eAuthSanitizer\u003c/code\u003e constants that may collide with downstream applications by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cp\u003eOfficial Discord 👉️ [![Live Chat on Discord][✉️discord-invite-img]][✉️discord-invite]\u003c/p\u003e\n\u003cp\u003eMany paths lead to being a sponsor or a backer of this project. Are you on such a path?\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://opencollective.com/ruby-oauth#backer\"\u003e\u003cimg src=\"https://opencollective.com/ruby-oauth/backers/badge.svg?style=flat\" alt=\"OpenCollective Backers\" /\u003e\u003c/a\u003e \u003ca href=\"https://opencollective.com/ruby-oauth#sponsor\"\u003e\u003cimg src=\"https://opencollective.com/ruby-oauth/sponsors/badge.svg?style=flat\" alt=\"OpenCollective Sponsors\" /\u003e\u003c/a\u003e \u003ca href=\"https://github.com/sponsors/pboling\"\u003e\u003cimg src=\"https://img.shields.io/badge/Sponsor_Me!-pboling.svg?style=social\u0026amp;logo=github\" alt=\"Sponsor Me on Github\" /\u003e\u003c/a\u003e \u003ca href=\"https://liberapay.com/pboling/donate\"\u003e\u003cimg src=\"https://img.shields.io/liberapay/goal/pboling.svg?logo=liberapay\u0026amp;color=a51611\u0026amp;style=flat\" alt=\"Liberapay Goal Progress\" /\u003e\u003c/a\u003e [![Donate on PayPal][🖇paypal-img]][🖇paypal]\u003c/p\u003e\n\u003cp\u003e[\u003cimg src=\"https://img.shields.io/badge/buy_me_a_coffee-%E2%9C%93-a51611.svg?style=flat\" alt=\"Buy me a coffee\" /\u003e][🖇buyme] \u003ca href=\"https://polar.sh/pboling\"\u003e\u003cimg src=\"https://img.shields.io/badge/polar-donate-a51611.svg?style=flat\" alt=\"Donate on Polar\" /\u003e\u003c/a\u003e \u003ca href=\"https://ko-fi.com/O5O86SNP4\"\u003e\u003cimg src=\"https://img.shields.io/badge/ko--fi-%E2%9C%93-a51611.svg?style=flat\" alt=\"Donate to my FLOSS efforts at ko-fi.com\" /\u003e\u003c/a\u003e \u003ca href=\"https://patreon.com/galtzo\"\u003e\u003cimg src=\"https://img.shields.io/badge/patreon-donate-a51611.svg?style=flat\" alt=\"Donate to my FLOSS efforts using Patreon\" /\u003e\u003c/a\u003e\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\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby-oauth/oauth2/blob/main/CHANGELOG.md\"\u003eoauth2's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[2.0.20] - 2026-05-20\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eTAG: [v2.0.20][2.0.20t]\u003c/li\u003e\n\u003cli\u003eCOVERAGE: 99.62% -- 525/527 lines in 15 files\u003c/li\u003e\n\u003cli\u003eBRANCH COVERAGE: 98.88% -- 176/178 branches in 15 files\u003c/li\u003e\n\u003cli\u003e88.35% documented\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eOAuth2::VERSION (Traditional Constant Location)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eauth-sanitizer v0.1.3\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/721\"\u003egh!721\u003c/a\u003e Load \u003ccode\u003eauth-sanitizer\u003c/code\u003e through an internal isolated loader so requiring \u003ccode\u003eoauth2\u003c/code\u003e does not add top-level \u003ccode\u003eAuth\u003c/code\u003e or \u003ccode\u003eAuthSanitizer\u003c/code\u003e constants that may collide with downstream applications by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003ch2\u003e[2.0.19] - 2026-05-15\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eTAG: [v2.0.19][2.0.19t]\u003c/li\u003e\n\u003cli\u003eCOVERAGE: 100.00% -- 515/515 lines in 14 files\u003c/li\u003e\n\u003cli\u003eBRANCH COVERAGE: 100.00% -- 174/174 branches in 14 files\u003c/li\u003e\n\u003cli\u003e89.11% documented\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/707\"\u003egh!707\u003c/a\u003e Add \u003ccode\u003eOAuth2.config[:filtered_label]\u003c/code\u003e to configure the placeholder used for filtered sensitive values in inspected objects and debug logging output by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/707\"\u003egh!707\u003c/a\u003e Add \u003ccode\u003eOAuth2.config[:filtered_debug_keys]\u003c/code\u003e to configure which key names have their values redacted from debug logging output by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/707\"\u003egh!707\u003c/a\u003e Make inspect-time and debug-log filters snapshot their configuration at initialization time rather than tracking later config changes by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[gh!714][gh!714]Refactor sensitive-value filtering to use \u003ccode\u003eauth-sanitizer\u003c/code\u003e while preserving \u003ccode\u003eOAuth2::FilteredAttributes\u003c/code\u003e as a permanent API alias by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRemoved\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove the internal \u003ccode\u003eOAuth2::ThingFilter\u003c/code\u003e and \u003ccode\u003eOAuth2::SanitizedLogger\u003c/code\u003e implementations now provided by \u003ccode\u003eauth-sanitizer\u003c/code\u003e by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/707\"\u003egh!707\u003c/a\u003e Redact sensitive values from debug logging output, including Authorization headers and common token/secret fields in headers, query strings, form bodies, and JSON payloads by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003eNOTE: debug logging has always been, and remains, opt-in. It is turned off by default.\u003c/li\u003e\n\u003c/ul\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/ruby-oauth/oauth2/commit/e2d509705db6091c8d5f27c31e29c58e39e51c7c\"\u003e\u003ccode\u003ee2d5097\u003c/code\u003e\u003c/a\u003e 🔧 :nocov: for unreachable error states\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/30650b2e1cb743e3263181e8b8a32c57ef33b9fb\"\u003e\u003ccode\u003e30650b2\u003c/code\u003e\u003c/a\u003e 🔖 Prepare release v2.0.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/23f2855f1b0053a38b6b5df00c870d83db761c31\"\u003e\u003ccode\u003e23f2855\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/issues/721\"\u003e#721\u003c/a\u003e from ruby-oauth/fix/top-level-namespace-pollution\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/5e4c98831ecb68ec446fcc99be0af40e6e68490c\"\u003e\u003ccode\u003e5e4c988\u003c/code\u003e\u003c/a\u003e Fix RuboCop Gradual offenses\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/89397f699bd6903c5ac3a9927d1743984a946dc5\"\u003e\u003ccode\u003e89397f6\u003c/code\u003e\u003c/a\u003e Constrain auth-sanitizer loader lookup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/8e71e19890fe486d7d260eb29ec67eb5ac1e75d0\"\u003e\u003ccode\u003e8e71e19\u003c/code\u003e\u003c/a\u003e 📝 CHANGELOG.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/6082a21c5628b270953dc9edb0af57dafb36e194\"\u003e\u003ccode\u003e6082a21\u003c/code\u003e\u003c/a\u003e ⬆️ snaky_hash, faraday-net_http, zeitwerk, bundler-audit\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/350da4214e9285fd88e21a9859d049dc8e954a25\"\u003e\u003ccode\u003e350da42\u003c/code\u003e\u003c/a\u003e Avoid auth-sanitizer top-level namespaces\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/0bc19030c2226ab16fc237b547e95d90ed8fa2e9\"\u003e\u003ccode\u003e0bc1903\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/issues/719\"\u003e#719\u003c/a\u003e from step-security-bot/chore/GHA-182236-stepsecurity-...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/148d716337a530494895091fe3b4359a410212a5\"\u003e\u003ccode\u003e148d716\u003c/code\u003e\u003c/a\u003e Switch pre-commit hook to rubocop_gradual\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby-oauth/oauth2/compare/v2.0.18...v2.0.20\"\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=oauth2\u0026package-manager=bundler\u0026previous-version=2.0.18\u0026new-version=2.0.20)](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/ruby-benchmark/errbit/pull/64","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-benchmark%2Ferrbit/issues/64","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/64/packages"},{"uuid":"4483956025","node_id":"PR_kwDODdTws87dZdx6","number":3229,"state":"open","title":"Bump the bundler group across 1 directory with 120 updates","user":"dependabot[bot]","labels":["dependencies","ruby"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-20T06:57:52.000Z","updated_at":"2026-05-27T04:33:34.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"bundler","update_count":120,"packages":[{"name":"bootsnap","old_version":"1.18.6","new_version":"1.24.5","repository_url":"https://github.com/rails/bootsnap"},{"name":"devise","old_version":"4.9.4","new_version":"5.0.4","repository_url":"https://github.com/heartcombo/devise"},{"name":"govuk-components","old_version":"5.11.3","new_version":"6.2.0","repository_url":"https://github.com/x-govuk/govuk-components"},{"name":"govuk_design_system_formbuilder","old_version":"5.11.0","new_version":"6.1.0","repository_url":"https://github.com/x-govuk/govuk-form-builder"},{"name":"haml-rails","old_version":"2.1.0","new_version":"3.0.0","repository_url":"https://github.com/haml/haml-rails"},{"name":"oauth2","old_version":"2.0.17","new_version":"2.0.20","repository_url":"https://github.com/ruby-oauth/oauth2"},{"name":"omniauth-rails_csrf_protection","old_version":"1.0.2","new_version":"2.0.1","repository_url":"https://github.com/cookpad/omniauth-rails_csrf_protection"},{"name":"pg","old_version":"1.6.2","new_version":"1.6.3","repository_url":"https://github.com/ged/ruby-pg"},{"name":"prometheus_exporter","old_version":"2.3.0","new_version":"2.3.1","repository_url":"https://github.com/discourse/prometheus_exporter"},{"name":"puma","old_version":"7.0.4","new_version":"8.0.2","repository_url":"https://github.com/puma/puma"},{"name":"rails","old_version":"8.0.3","new_version":"8.1.3","repository_url":"https://github.com/rails/rails"},{"name":"sentry-rails","old_version":"5.27.1","new_version":"6.5.0","repository_url":"https://github.com/getsentry/sentry-ruby"},{"name":"sentry-sidekiq","old_version":"5.27.1","new_version":"6.5.0","repository_url":"https://github.com/getsentry/sentry-ruby"},{"name":"haml_lint","old_version":"0.66.0","new_version":"0.73.0","repository_url":"https://github.com/sds/haml-lint"},{"name":"rubocop","old_version":"1.80.2","new_version":"1.86.2","repository_url":"https://github.com/rubocop/rubocop"},{"name":"dotenv-rails","old_version":"3.1.8","new_version":"3.2.0","repository_url":"https://github.com/bkeepers/dotenv"},{"name":"pry-byebug","old_version":"3.11.0","new_version":"3.12.0","repository_url":"https://github.com/deivid-rodriguez/pry-byebug"},{"name":"sidekiq","old_version":"8.0.7","new_version":"8.1.5","repository_url":"https://github.com/sidekiq/sidekiq"},{"name":"turbo-rails","old_version":"2.0.16","new_version":"2.0.23","repository_url":"https://github.com/hotwired/turbo-rails"},{"name":"axe-core-rspec","old_version":"4.10.3","new_version":"4.11.3","repository_url":"https://github.com/dequelabs/axe-core-gems"},{"name":"brakeman","old_version":"7.1.0","new_version":"8.0.4","repository_url":"https://github.com/presidentbeef/brakeman"},{"name":"i18n-tasks","old_version":"1.0.15","new_version":"1.1.2","repository_url":"https://github.com/glebm/i18n-tasks"},{"name":"rspec-rails","old_version":"8.0.2","new_version":"8.0.4","repository_url":"https://github.com/rspec/rspec-rails"},{"name":"rubocop-capybara","old_version":"2.22.1","new_version":"2.23.0","repository_url":"https://github.com/rubocop/rubocop-capybara"},{"name":"rubocop-factory_bot","old_version":"2.27.1","new_version":"2.28.0","repository_url":"https://github.com/rubocop/rubocop-factory_bot"},{"name":"rubocop-performance","old_version":"1.26.0","new_version":"1.26.1","repository_url":"https://github.com/rubocop/rubocop-performance"},{"name":"rubocop-rails","old_version":"2.33.3","new_version":"2.35.3","repository_url":"https://github.com/rubocop/rubocop-rails"},{"name":"rubocop-rspec","old_version":"3.7.0","new_version":"3.9.0","repository_url":"https://github.com/rubocop/rubocop-rspec"},{"name":"rubocop-rspec_rails","old_version":"2.31.0","new_version":"2.32.0","repository_url":"https://github.com/rubocop/rubocop-rspec_rails"},{"name":"selenium-webdriver","old_version":"4.35.0","new_version":"4.44.0","repository_url":"https://github.com/SeleniumHQ/selenium"},{"name":"shoulda-matchers","old_version":"6.5.0","new_version":"7.0.1","repository_url":"https://github.com/thoughtbot/shoulda-matchers"},{"name":"vcr","old_version":"6.3.1","new_version":"6.4.0","repository_url":"https://github.com/vcr/vcr"},{"name":"webmock","old_version":"3.25.1","new_version":"3.26.2","repository_url":"https://github.com/bblimke/webmock"},{"name":"faker","old_version":"3.5.2","new_version":"3.8.0","repository_url":"https://github.com/faker-ruby/faker"},{"name":"pry","old_version":"0.15.2","new_version":"0.16.0","repository_url":"https://github.com/pry/pry"},{"name":"listen","old_version":"3.9.0","new_version":"3.10.0","repository_url":"https://github.com/guard/listen"},{"name":"spring","old_version":"4.4.0","new_version":"4.6.0","repository_url":"https://github.com/rails/spring"},{"name":"web-console","old_version":"4.2.1","new_version":"4.3.0","repository_url":"https://github.com/rails/web-console"},{"name":"net-imap","old_version":"0.5.10","new_version":"0.6.4","repository_url":"https://github.com/ruby/net-imap"},{"name":"factory_bot","old_version":"6.5.5","new_version":"6.6.0","repository_url":"https://github.com/thoughtbot/factory_bot"},{"name":"faraday-follow_redirects","old_version":"0.3.0","new_version":"0.5.0","repository_url":"https://github.com/tisba/faraday-follow-redirects"},{"name":"json-jwt","old_version":"1.16.7","new_version":"1.17.0","repository_url":"https://github.com/nov/json-jwt"},{"name":"openid_connect","old_version":"2.3.1","new_version":"2.4.0","repository_url":"https://github.com/nov/openid_connect"},{"name":"rspec","old_version":"3.13.1","new_version":"3.13.2","repository_url":"https://github.com/rspec/rspec"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps the bundler group with 44 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [bootsnap](https://github.com/rails/bootsnap) | `1.18.6` | `1.24.5` |\n| [devise](https://github.com/heartcombo/devise) | `4.9.4` | `5.0.4` |\n| [govuk-components](https://github.com/x-govuk/govuk-components) | `5.11.3` | `6.2.0` |\n| [govuk_design_system_formbuilder](https://github.com/x-govuk/govuk-form-builder) | `5.11.0` | `6.1.0` |\n| [haml-rails](https://github.com/haml/haml-rails) | `2.1.0` | `3.0.0` |\n| [oauth2](https://github.com/ruby-oauth/oauth2) | `2.0.17` | `2.0.20` |\n| [omniauth-rails_csrf_protection](https://github.com/cookpad/omniauth-rails_csrf_protection) | `1.0.2` | `2.0.1` |\n| [pg](https://github.com/ged/ruby-pg) | `1.6.2` | `1.6.3` |\n| [prometheus_exporter](https://github.com/discourse/prometheus_exporter) | `2.3.0` | `2.3.1` |\n| [puma](https://github.com/puma/puma) | `7.0.4` | `8.0.2` |\n| [rails](https://github.com/rails/rails) | `8.0.3` | `8.1.3` |\n| [sentry-rails](https://github.com/getsentry/sentry-ruby) | `5.27.1` | `6.5.0` |\n| [sentry-sidekiq](https://github.com/getsentry/sentry-ruby) | `5.27.1` | `6.5.0` |\n| [haml_lint](https://github.com/sds/haml-lint) | `0.66.0` | `0.73.0` |\n| [rubocop](https://github.com/rubocop/rubocop) | `1.80.2` | `1.86.2` |\n| [dotenv-rails](https://github.com/bkeepers/dotenv) | `3.1.8` | `3.2.0` |\n| [pry-byebug](https://github.com/deivid-rodriguez/pry-byebug) | `3.11.0` | `3.12.0` |\n| [sidekiq](https://github.com/sidekiq/sidekiq) | `8.0.7` | `8.1.5` |\n| [turbo-rails](https://github.com/hotwired/turbo-rails) | `2.0.16` | `2.0.23` |\n| [axe-core-rspec](https://github.com/dequelabs/axe-core-gems) | `4.10.3` | `4.11.3` |\n| [brakeman](https://github.com/presidentbeef/brakeman) | `7.1.0` | `8.0.4` |\n| [i18n-tasks](https://github.com/glebm/i18n-tasks) | `1.0.15` | `1.1.2` |\n| [rspec-rails](https://github.com/rspec/rspec-rails) | `8.0.2` | `8.0.4` |\n| [rubocop-capybara](https://github.com/rubocop/rubocop-capybara) | `2.22.1` | `2.23.0` |\n| [rubocop-factory_bot](https://github.com/rubocop/rubocop-factory_bot) | `2.27.1` | `2.28.0` |\n| [rubocop-performance](https://github.com/rubocop/rubocop-performance) | `1.26.0` | `1.26.1` |\n| [rubocop-rails](https://github.com/rubocop/rubocop-rails) | `2.33.3` | `2.35.3` |\n| [rubocop-rspec](https://github.com/rubocop/rubocop-rspec) | `3.7.0` | `3.9.0` |\n| [rubocop-rspec_rails](https://github.com/rubocop/rubocop-rspec_rails) | `2.31.0` | `2.32.0` |\n| [selenium-webdriver](https://github.com/SeleniumHQ/selenium) | `4.35.0` | `4.44.0` |\n| [shoulda-matchers](https://github.com/thoughtbot/shoulda-matchers) | `6.5.0` | `7.0.1` |\n| [vcr](https://github.com/vcr/vcr) | `6.3.1` | `6.4.0` |\n| [webmock](https://github.com/bblimke/webmock) | `3.25.1` | `3.26.2` |\n| [faker](https://github.com/faker-ruby/faker) | `3.5.2` | `3.8.0` |\n| [pry](https://github.com/pry/pry) | `0.15.2` | `0.16.0` |\n| [listen](https://github.com/guard/listen) | `3.9.0` | `3.10.0` |\n| [spring](https://github.com/rails/spring) | `4.4.0` | `4.6.0` |\n| [web-console](https://github.com/rails/web-console) | `4.2.1` | `4.3.0` |\n| [net-imap](https://github.com/ruby/net-imap) | `0.5.10` | `0.6.4` |\n| [factory_bot](https://github.com/thoughtbot/factory_bot) | `6.5.5` | `6.6.0` |\n| [faraday-follow_redirects](https://github.com/tisba/faraday-follow-redirects) | `0.3.0` | `0.5.0` |\n| [json-jwt](https://github.com/nov/json-jwt) | `1.16.7` | `1.17.0` |\n| [openid_connect](https://github.com/nov/openid_connect) | `2.3.1` | `2.4.0` |\n| [rspec](https://github.com/rspec/rspec) | `3.13.1` | `3.13.2` |\n\n\nUpdates `bootsnap` from 1.18.6 to 1.24.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/bootsnap/releases\"\u003ebootsnap's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.24.4\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix several compatibility issues with Ruby \u003ccode\u003e4.0.4\u003c/code\u003e, particularly the \u003ccode\u003eshould not compile with coverage\u003c/code\u003e error. See \u003ca href=\"https://redirect.github.com/rails/bootsnap/issues/547\"\u003e#547\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eBootsnap.enable_frozen_string_literal\u003c/code\u003e to work even when coverage is enabled. Unfortunately only possible on Ruby \u003ccode\u003e4.0.4+\u003c/code\u003e.\nOn older rubies if coverage is enabled a warning will be issued and the feature won't work.\u003c/li\u003e\n\u003cli\u003eReduced cache files header size from 64 to 32 bytes, and got rid of the random padding element.\u003c/li\u003e\n\u003cli\u003eAvoid leaking a private method in \u003ccode\u003eObject\u003c/code\u003e when testing for Parse.y bugs.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/rails/bootsnap/compare/v1.24.3...v1.24.4\"\u003ehttps://github.com/rails/bootsnap/compare/v1.24.3...v1.24.4\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.24.3\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix the \u003ccode\u003e1.24.2\u003c/code\u003e workaround to parse Ruby files with UTF-8 even when the \u003ccode\u003eLANG\u003c/code\u003e environment variable\nis unset or set to \u003ccode\u003eC\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/rails/bootsnap/compare/v1.24.2...v1.24.3\"\u003ehttps://github.com/rails/bootsnap/compare/v1.24.2...v1.24.3\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.24.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eWorkaround two Ruby bugs in \u003ccode\u003eRubyVM::InstructionSequence.compile_file\u003c/code\u003e, that were causing\nfiles to be loaded with the old Ruby parser instead of Prism, causing issues with some pattern matching syntax.\nRef: \u003ca href=\"https://bugs.ruby-lang.org/issues/22023\"\u003ehttps://bugs.ruby-lang.org/issues/22023\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/rails/bootsnap/compare/v1.24.1...v1.24.2\"\u003ehttps://github.com/rails/bootsnap/compare/v1.24.1...v1.24.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.24.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix encoding of Ruby source files loaded when \u003ccode\u003eBOOTSNAP_READONLY\u003c/code\u003e is set.\nFiles would incorectly be loaded in \u003ccode\u003eASCII-8BIT\u003c/code\u003e causing literal strings outside\nthe pure ASCII range to have \u003ccode\u003eASCII-8BIT\u003c/code\u003e encoding instead of \u003ccode\u003eUTF-8\u003c/code\u003e.\nThis bug was introduced in \u003ccode\u003e1.24.0\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/rails/bootsnap/compare/v1.24.0...v1.24.1\"\u003ehttps://github.com/rails/bootsnap/compare/v1.24.0...v1.24.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.24.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded a hook API to customize Ruby compilation.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/rails/bootsnap/compare/v1.23.0...v1.24.0\"\u003ehttps://github.com/rails/bootsnap/compare/v1.23.0...v1.24.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.23.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRequire Ruby 2.7.\u003c/li\u003e\n\u003cli\u003eFix support for absolute paths in \u003ccode\u003eBOOTSNAP_IGNORE_DIRECTORIES\u003c/code\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/rails/bootsnap/blob/main/CHANGELOG.md\"\u003ebootsnap's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e1.24.5\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eNo longer load the config file by default when setup is done manually. This is so cli applications like homebrew\ndon't mistakenly load another app's boostnap config.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e1.24.4\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eFix several compatibility issues with Ruby \u003ccode\u003e4.0.4\u003c/code\u003e, particularly the \u003ccode\u003eshould not compile with coverage\u003c/code\u003e error. See \u003ca href=\"https://redirect.github.com/rails/bootsnap/issues/547\"\u003e#547\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eBootsnap.enable_frozen_string_literal\u003c/code\u003e to work even when coverage is enabled. Unfortunately only possible on Ruby \u003ccode\u003e4.0.4+\u003c/code\u003e.\nOn older rubies if coverage is enabled a warning will be issued and the feature won't work.\u003c/li\u003e\n\u003cli\u003eReduced cache files header size from 64 to 32 bytes, and got rid of the random padding element.\u003c/li\u003e\n\u003cli\u003eAvoid leaking a private method in \u003ccode\u003eObject\u003c/code\u003e when testing for Parse.y bugs.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e1.24.3\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eFix the \u003ccode\u003e1.24.2\u003c/code\u003e workaround to parse Ruby files with UTF-8 even when the \u003ccode\u003eLANG\u003c/code\u003e environment variable\nis unset or set to \u003ccode\u003eC\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e1.24.2\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eWorkaround two Ruby bugs in \u003ccode\u003eRubyVM::InstructionSequence.compile_file\u003c/code\u003e, that were causing\nfiles to be loaded with the old Ruby parser instead of Prism, causing issues with some pattern matching syntax.\nRef: \u003ca href=\"https://bugs.ruby-lang.org/issues/22023\"\u003ehttps://bugs.ruby-lang.org/issues/22023\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e1.24.1\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eFix encoding of Ruby source files loaded when \u003ccode\u003eBOOTSNAP_READONLY\u003c/code\u003e is set.\nFiles would incorectly be loaded in \u003ccode\u003eASCII-8BIT\u003c/code\u003e causing literal strings outside\nthe pure ASCII range to have \u003ccode\u003eASCII-8BIT\u003c/code\u003e encoding instead of \u003ccode\u003eUTF-8\u003c/code\u003e.\nThis bug was introduced in \u003ccode\u003e1.24.0\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e1.24.0\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eAdded a hook API to customize Ruby compilation.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e1.23.0\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eRequire Ruby 2.7.\u003c/li\u003e\n\u003cli\u003eFix support for absolute paths in \u003ccode\u003eBOOTSNAP_IGNORE_DIRECTORIES\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e1.22.0\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eBetter fix for the \u003ccode\u003eopendir\u003c/code\u003e crash.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003ebootsnap/rake\u003c/code\u003e for cleaning the bootsnap cache as part of \u003ccode\u003erake clobber\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e1.21.1\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003ePrevent a Ruby crash while scanning load path if \u003ccode\u003eopendir\u003c/code\u003e fails without setting \u003ccode\u003eerrno\u003c/code\u003e.\nAccording to the C spec this should not happen, but according to user reports, it did.\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/rails/bootsnap/commit/d6ca0505280dbba4b18625793a529acd8c8f07e3\"\u003e\u003ccode\u003ed6ca050\u003c/code\u003e\u003c/a\u003e Release 1.24.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/579aa0e3bf0b11ceb102a9042e63c32f573dcffb\"\u003e\u003ccode\u003e579aa0e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/bootsnap/issues/552\"\u003e#552\u003c/a\u003e from byroot/fix-bootsnap-config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/2884e8908f4c1b20a32c83189de23c5d5b04998a\"\u003e\u003ccode\u003e2884e89\u003c/code\u003e\u003c/a\u003e Only load config file is directed to by \u003ccode\u003e.setup\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/103a92bc6fd05c7c97abfd048c8fc5cb0bd05757\"\u003e\u003ccode\u003e103a92b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/bootsnap/issues/551\"\u003e#551\u003c/a\u003e from byroot/enable-fstr-global\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/33c927dc61e8ea868f1dcc681df5275d173b71fb\"\u003e\u003ccode\u003e33c927d\u003c/code\u003e\u003c/a\u003e Update compiler options when global options change\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/122db7fdaea8a05fd54a8d23df8946bed43d9f54\"\u003e\u003ccode\u003e122db7f\u003c/code\u003e\u003c/a\u003e Simplify \u003ccode\u003eenable_frozen_string_literal(app_only: false)\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/0d8a0a64cd1f302a4cbb29088fff7847ef9852c8\"\u003e\u003ccode\u003e0d8a0a6\u003c/code\u003e\u003c/a\u003e Release 1.24.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/6ccc5ebda794afe4e2b36be677640b4f7b6a03ac\"\u003e\u003ccode\u003e6ccc5eb\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/bootsnap/issues/550\"\u003e#550\u003c/a\u003e from byroot/fstr-and-coverage\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/86e95864f89067159dadb8be68b656ae1a5f38ea\"\u003e\u003ccode\u003e86e9586\u003c/code\u003e\u003c/a\u003e Make \u003ccode\u003eBootsnap.enable_frozen_string_literal\u003c/code\u003e work even with coverage on\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/36c22246259452d163986565f7a946154f742da7\"\u003e\u003ccode\u003e36c2224\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/bootsnap/issues/549\"\u003e#549\u003c/a\u003e from byroot/integration-tests\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/bootsnap/compare/v1.18.6...v1.24.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `devise` from 4.9.4 to 5.0.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/heartcombo/devise/releases\"\u003edevise's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev5.0.4\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/heartcombo/devise/blob/v5.0.4/CHANGELOG.md#504---2026-05-08\"\u003ehttps://github.com/heartcombo/devise/blob/v5.0.4/CHANGELOG.md#504---2026-05-08\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev5.0.3\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/heartcombo/devise/blob/v5.0.3/CHANGELOG.md#503---2026-03-16\"\u003ehttps://github.com/heartcombo/devise/blob/v5.0.3/CHANGELOG.md#503---2026-03-16\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev5.0.2\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/heartcombo/devise/blob/v5.0.2/CHANGELOG.md#502---2026-02-18\"\u003ehttps://github.com/heartcombo/devise/blob/v5.0.2/CHANGELOG.md#502---2026-02-18\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev5.0.1\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/heartcombo/devise/blob/v5.0.1/CHANGELOG.md#501---2026-02-13\"\u003ehttps://github.com/heartcombo/devise/blob/v5.0.1/CHANGELOG.md#501---2026-02-13\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev5.0.0\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/heartcombo/devise/blob/v5.0.0/CHANGELOG.md#500---2026-01-23\"\u003ehttps://github.com/heartcombo/devise/blob/v5.0.0/CHANGELOG.md#500---2026-01-23\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev5.0.0.rc\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/heartcombo/devise/blob/v5.0.0.rc/CHANGELOG.md#500rc---2025-12-31\"\u003ehttps://github.com/heartcombo/devise/blob/v5.0.0.rc/CHANGELOG.md#500rc---2025-12-31\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/heartcombo/devise/blob/main/CHANGELOG.md\"\u003edevise's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch3\u003e5.0.4 - 2026-05-08\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003esecurity fixes\n\u003cul\u003e\n\u003cli\u003eFix open redirect in \u003ccode\u003eFailureApp\u003c/code\u003e via unvalidated \u003ccode\u003eReferer\u003c/code\u003e header on non-GET session timeout. CVE-2026-40295 \u003ca href=\"https://github.com/heartcombo/devise/security/advisories/GHSA-jp94-3292-c3xv\"\u003eGHSA-jp94-3292-c3xv\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e5.0.3 - 2026-03-16\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003esecurity fixes\n\u003cul\u003e\n\u003cli\u003eFix race condition vulnerability on confirmable \u0026quot;change email\u0026quot; which would allow confirming an email they don't own CVE-2026-32700 \u003ca href=\"https://github.com/heartcombo/devise/security/advisories/GHSA-57hq-95w6-v4fc\"\u003eGHSA-57hq-95w6-v4fc\u003c/a\u003e \u003ca href=\"https://redirect.github.com/heartcombo/devise/pull/5783\"\u003e#5783\u003c/a\u003e \u003ca href=\"https://redirect.github.com/heartcombo/devise/pull/5784\"\u003e#5784\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e5.0.2 - 2026-02-18\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eenhancements\n\u003cul\u003e\n\u003cli\u003eAllow resource class scopes to override the global configuration for \u003ccode\u003esign_in_after_change_password\u003c/code\u003e behaviour. \u003ca href=\"https://redirect.github.com/heartcombo/devise/pull/5825\"\u003e#5825\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cem\u003eNote\u003c/em\u003e: some users ran into an issue with this change because \u003ccode\u003eRegistrationsController\u003c/code\u003e now relies on a setting from the \u003ccode\u003e:registerable\u003c/code\u003e module. These users were configuring their own routes pointing to the \u003ccode\u003eRegistrationsController\u003c/code\u003e for resource edit/update actions mostly, without relying on the other registration actions (e.g. user sign up.), so they omitted \u003ccode\u003e:registerable\u003c/code\u003e from the model declaration. While using just a portion of the controller functionality is a valid use for \u003ccode\u003e:registerable\u003c/code\u003e (or any module really), the module must still be declared in the model, much like the other modules must be declared if you plan on using just a portion of their behavior. Please check \u003ca href=\"https://redirect.github.com/heartcombo/devise/pull/5828#issuecomment-3926822788\"\u003ethis issue\u003c/a\u003e for more info.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003esign_in_after_reset_password?\u003c/code\u003e check hook to passwords controller, to allow it to be customized by users. \u003ca href=\"https://redirect.github.com/heartcombo/devise/pull/5826\"\u003e#5826\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e5.0.1 - 2026-02-13\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ebug fixes\n\u003cul\u003e\n\u003cli\u003eFix translation issue with German \u003ccode\u003eE-Mail\u003c/code\u003e on invalid authentication messages caused by previous fix for incorrect grammar \u003ca href=\"https://redirect.github.com/heartcombo/devise/pull/5822\"\u003e#5822\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e5.0.0 - 2026-01-23\u003c/h3\u003e\n\u003cp\u003eno changes\u003c/p\u003e\n\u003ch3\u003e5.0.0.rc - 2025-12-31\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ebreaking changes\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eDrop support to Ruby \u0026lt; 2.7\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDrop support to Rails \u0026lt; 7.0\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove deprecated \u003ccode\u003e:bypass\u003c/code\u003e option from \u003ccode\u003esign_in\u003c/code\u003e helper, use \u003ccode\u003ebypass_sign_in\u003c/code\u003e instead. \u003ca href=\"https://redirect.github.com/heartcombo/devise/pull/5803\"\u003e#5803\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove deprecated \u003ccode\u003edevise_error_messages!\u003c/code\u003e helper, use \u003ccode\u003erender \u0026quot;devise/shared/error_messages\u0026quot;, resource: resource\u003c/code\u003e instead. \u003ca href=\"https://redirect.github.com/heartcombo/devise/pull/5803\"\u003e#5803\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove deprecated \u003ccode\u003escope\u003c/code\u003e second argument from \u003ccode\u003esign_in(resource, :admin)\u003c/code\u003e controller test helper, use \u003ccode\u003esign_in(resource, scope: :admin)\u003c/code\u003e instead. \u003ca href=\"https://redirect.github.com/heartcombo/devise/pull/5803\"\u003e#5803\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove deprecated \u003ccode\u003eDevise::TestHelpers\u003c/code\u003e, use \u003ccode\u003eDevise::Test::ControllerHelpers\u003c/code\u003e instead. \u003ca href=\"https://redirect.github.com/heartcombo/devise/pull/5803\"\u003e#5803\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove deprecated \u003ccode\u003eDevise::Models::Authenticatable::BLACKLIST_FOR_SERIALIZATION\u003c/code\u003e \u003ca href=\"https://redirect.github.com/heartcombo/devise/pull/5598\"\u003e#5598\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove deprecated \u003ccode\u003eDevise.activerecord51?\u003c/code\u003e method.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove \u003ccode\u003eSecretKeyFinder\u003c/code\u003e and use \u003ccode\u003eapp.secret_key_base\u003c/code\u003e as the default secret key for \u003ccode\u003eDevise.secret_key\u003c/code\u003e if a custom \u003ccode\u003eDevise.secret_key\u003c/code\u003e is not provided.\u003c/p\u003e\n\u003cp\u003eThis is potentially a breaking change because Devise previously used the following order to find a secret key:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eapp.credentials.secret_key_base \u0026gt; app.secrets.secret_key_base \u0026gt; application.config.secret_key_base \u0026gt; application.secret_key_base\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eNow, it always uses \u003ccode\u003eapplication.secret_key_base\u003c/code\u003e. Make sure you're using the same secret key after the upgrade; otherwise, previously generated tokens for \u003ccode\u003erecoverable\u003c/code\u003e, \u003ccode\u003elockable\u003c/code\u003e, and \u003ccode\u003econfirmable\u003c/code\u003e will be invalid.\n\u003ca href=\"https://redirect.github.com/heartcombo/devise/pull/5645\"\u003e#5645\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eChange password instructions button label on devise view from \u003ccode\u003eSend me reset password instructions\u003c/code\u003e to \u003ccode\u003eSend me password reset instructions\u003c/code\u003e \u003ca href=\"https://redirect.github.com/heartcombo/devise/pull/5515\"\u003e#5515\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eChange \u003ccode\u003e\u0026lt;br\u0026gt;\u003c/code\u003e tags separating form elements to wrapping them in \u003ccode\u003e\u0026lt;p\u0026gt;\u003c/code\u003e tags \u003ca href=\"https://redirect.github.com/heartcombo/devise/pull/5494\"\u003e#5494\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eReplace \u003ccode\u003e[data-turbo-cache=false]\u003c/code\u003e with \u003ccode\u003e[data-turbo-temporary]\u003c/code\u003e on \u003ccode\u003edevise/shared/error_messages\u003c/code\u003e partial. This has been \u003ca href=\"https://github.com/hotwired/turbo/releases/tag/v7.3.0\"\u003edeprecated by Turbo since v7.3.0 (released on Mar 1, 2023)\u003c/a\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\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/heartcombo/devise/commit/9ea459de9aec5f1217ad738c58e0d23fb9f5beaa\"\u003e\u003ccode\u003e9ea459d\u003c/code\u003e\u003c/a\u003e Release v5.0.4 with sec fix for timeoutable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/heartcombo/devise/commit/025fe2124f9928766fc46520e999633b598d0360\"\u003e\u003ccode\u003e025fe21\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/heartcombo/devise/commit/7ca7ed9c174525a4d36167441b35af4a0991b6af\"\u003e\u003ccode\u003e7ca7ed9\u003c/code\u003e\u003c/a\u003e Add GHSA link to the v5.0.3 sec fix changelog entry [ci skip]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/heartcombo/devise/commit/605de86174c26b9f5b2618470249db2c225327d4\"\u003e\u003ccode\u003e605de86\u003c/code\u003e\u003c/a\u003e Update links to https [ci skip]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/heartcombo/devise/commit/5e3a8bf3a01cc556185dbde47ecf3bb20c41b150\"\u003e\u003ccode\u003e5e3a8bf\u003c/code\u003e\u003c/a\u003e Bundle update\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/heartcombo/devise/commit/5d202775d75ccee8c36a9ed72062f627202e29e2\"\u003e\u003ccode\u003e5d20277\u003c/code\u003e\u003c/a\u003e Cleanup old Rails.version check for db migration path\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/heartcombo/devise/commit/4ffb0b7e88b627ac0575e475b279e0cc474b4ded\"\u003e\u003ccode\u003e4ffb0b7\u003c/code\u003e\u003c/a\u003e Fix Gemfile for Rails 7.2, incorrectly testing against 7.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/heartcombo/devise/commit/2f809205b2a9112767e68e1a5666c649a42609c6\"\u003e\u003ccode\u003e2f80920\u003c/code\u003e\u003c/a\u003e Release v5.0.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/heartcombo/devise/commit/53347074021b38590653b95523f9b7113e5dcfdc\"\u003e\u003ccode\u003e5334707\u003c/code\u003e\u003c/a\u003e Add CVE to changelog [ci skip]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/heartcombo/devise/commit/02527772bd9adbc3357d9c62fbc16e73e438121d\"\u003e\u003ccode\u003e0252777\u003c/code\u003e\u003c/a\u003e Fix race condition vulnerability, by ensuring the \u003ccode\u003eunconfirmed_email\u003c/code\u003e is alwa...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/heartcombo/devise/compare/v4.9.4...v5.0.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `govuk-components` from 5.11.3 to 6.2.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/x-govuk/govuk-components/releases\"\u003egovuk-components's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease version 6.2.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade to ViewComponent 4.9.0 \u003ca href=\"https://redirect.github.com/x-govuk/govuk-components/issues/639\"\u003e#639\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 6.1.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate supported Ruby, Rails and ViewComponent versions\u003c/li\u003e\n\u003cli\u003eSupport GOV.UK Design System version 6.1.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 6.0.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003esupport GOV.UK Design System version 6.0.0\u003c/li\u003e\n\u003cli\u003eremove the service name and navigation items from the header component \u003ca href=\"https://redirect.github.com/x-govuk/govuk-components/issues/626\"\u003e#626\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eupdate the govuk_tag colours (magenta replaces pink and teal replaces turquoise) \u003ca href=\"https://redirect.github.com/x-govuk/govuk-components/issues/624\"\u003e#624\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003esupport ViewComponent version 4.3\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eUpgrade notes\u003c/h2\u003e\n\u003cp\u003eThe service name and navigation items have been removed from the header. Instead, passing a block of HTML to the header will render it in the \u003ccode\u003e.govuk-header__container\u003c/code\u003e. You'll need to add your own styles to make things render in the right place. There are examples \u003ca href=\"https://govuk-components.x-govuk.org/components/header/#adding-more-content-to-the-header\"\u003ein the guide\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/DFE-Digital/register-early-career-teachers-public/pull/2327\"\u003ein this PR\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eVersion 6.0.0b1\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!CAUTION]\u003cbr /\u003e\nThe GOV.UK Header Component has changed significantly, \u003ca href=\"https://github.com/alphagov/govuk-frontend/releases/tag/v6.0.0-beta.1\"\u003esee the upstream release notes for more info\u003c/a\u003e.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003cul\u003e\n\u003cli\u003eSupport \u003ca href=\"https://github.com/alphagov/govuk-frontend/releases/tag/v6.0.0-rc.0\"\u003eGOV.UK frontend 6.0.0-rc0\u003c/a\u003e \u003ca href=\"https://redirect.github.com/x-govuk/govuk-components/issues/624\"\u003e#624\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove navigation items and service name from GOV.UK Header component \u003ca href=\"https://redirect.github.com/x-govuk/govuk-components/issues/626\"\u003e#626\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump ViewComponent support to 4.3 \u003ca href=\"https://redirect.github.com/x-govuk/govuk-components/issues/628\"\u003e#628\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 5.13.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix a bug in the service nav where \u003ccode\u003earia-current=\u0026quot;true\u0026quot;\u003c/code\u003e was showing where it shouldn't have been. Thanks \u003ca href=\"https://github.com/DavidBiddle\"\u003e\u003ccode\u003e@​DavidBiddle\u003c/code\u003e\u003c/a\u003e for diagnosing (\u003ca href=\"https://redirect.github.com/x-govuk/govuk-components/issues/621\"\u003e#621\u003c/a\u003e) and fixing (\u003ca href=\"https://redirect.github.com/x-govuk/govuk-components/issues/622\"\u003e#622\u003c/a\u003e) this :heart:\u003c/li\u003e\n\u003cli\u003eChange some links in the docs from netlify.app to x-govuk.org\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 5.13.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Rails 8.1. Thanks \u003ca href=\"https://github.com/thomasleese\"\u003e\u003ccode\u003e@​thomasleese\u003c/code\u003e\u003c/a\u003e. \u003ca href=\"https://redirect.github.com/x-govuk/govuk-components/issues/619\"\u003e#619\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to govuk-frontend 5.13.0\u003c/li\u003e\n\u003cli\u003eAdd Netlify link to the footer to qualify for Netlify's open source plan which we're using for the \u003ca href=\"https://govuk-components.x-govuk.org/\"\u003enew guide domain\u003c/a\u003e  ccb566fd4cd1ed5a8\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/x-govuk/govuk-components/commit/809b3f600955bd4ece674bf48d2d771316b26984\"\u003e\u003ccode\u003e809b3f6\u003c/code\u003e\u003c/a\u003e Release version 6.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/x-govuk/govuk-components/commit/eaa67a7450ce4073f7bdf4eb98e52da0505446d0\"\u003e\u003ccode\u003eeaa67a7\u003c/code\u003e\u003c/a\u003e Update dependency on view_component (\u003ca href=\"https://redirect.github.com/x-govuk/govuk-components/issues/639\"\u003e#639\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/x-govuk/govuk-components/commit/54a40cab35294db87c786dad1ff51cc496e6c0be\"\u003e\u003ccode\u003e54a40ca\u003c/code\u003e\u003c/a\u003e Update dependency on view_component\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/x-govuk/govuk-components/commit/d7ef30fd9e4e6417a956feb14b79997c099c74e9\"\u003e\u003ccode\u003ed7ef30f\u003c/code\u003e\u003c/a\u003e Update rubocop-govuk requirement from = 5.2.0 to = 5.2.1 (\u003ca href=\"https://redirect.github.com/x-govuk/govuk-components/issues/638\"\u003e#638\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/x-govuk/govuk-components/commit/a7d146ecdbd2f41e5a12460aacde76c7dbf3e4c9\"\u003e\u003ccode\u003ea7d146e\u003c/code\u003e\u003c/a\u003e Fix heredoc indentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/x-govuk/govuk-components/commit/c8af345df5348cad4cccf3b5f4dfca7619025b25\"\u003e\u003ccode\u003ec8af345\u003c/code\u003e\u003c/a\u003e Update rubocop-govuk requirement from = 5.2.0 to = 5.2.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/x-govuk/govuk-components/commit/8a8e3811011b03a0b313170b1beb6aa3ad26cd5f\"\u003e\u003ccode\u003e8a8e381\u003c/code\u003e\u003c/a\u003e Change slot example on view component page\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/x-govuk/govuk-components/commit/d0a5d8d2becbbee616a93c9160c457edc053f43d\"\u003e\u003ccode\u003ed0a5d8d\u003c/code\u003e\u003c/a\u003e Release version 6.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/x-govuk/govuk-components/commit/9b10ed070a94ea6bee9e477cb04da0bf8e987eb5\"\u003e\u003ccode\u003e9b10ed0\u003c/code\u003e\u003c/a\u003e Various version bumps (\u003ca href=\"https://redirect.github.com/x-govuk/govuk-components/issues/635\"\u003e#635\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/x-govuk/govuk-components/commit/9cfa5a8ab3477672b24aa2c5c0e3ffaf49b5e25f\"\u003e\u003ccode\u003e9cfa5a8\u003c/code\u003e\u003c/a\u003e Bump supported ViewComponent to 4.6.0\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/x-govuk/govuk-components/compare/v5.11.3...v6.2.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `govuk_design_system_formbuilder` from 5.11.0 to 6.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/x-govuk/govuk-form-builder/releases\"\u003egovuk_design_system_formbuilder's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 6.1.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade to govuk-frontend 6.1.0 \u003ca href=\"https://redirect.github.com/x-govuk/govuk-form-builder/issues/618\"\u003e#618\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport defining text options for file upload component \u003ca href=\"https://redirect.github.com/x-govuk/govuk-form-builder/issues/614\"\u003e#614\u003c/a\u003e, thank you \u003ca href=\"https://github.com/stephencdaly\"\u003e\u003ccode\u003e@​stephencdaly\u003c/code\u003e\u003c/a\u003e for contributing this\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 6.0.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport govuk-frontend 6.0.0 by \u003ca href=\"https://github.com/peteryates\"\u003e\u003ccode\u003e@​peteryates\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/x-govuk/govuk-form-builder/pull/601\"\u003ex-govuk/govuk-form-builder#601\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for Rails 8.1 by \u003ca href=\"https://github.com/benilovj\"\u003e\u003ccode\u003e@​benilovj\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/x-govuk/govuk-form-builder/pull/590\"\u003ex-govuk/govuk-form-builder#590\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003egovuk_time_field\u003c/code\u003e by \u003ca href=\"https://github.com/thomasleese\"\u003e\u003ccode\u003e@​thomasleese\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/x-govuk/govuk-form-builder/pull/599\"\u003ex-govuk/govuk-form-builder#599\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove \u003ccode\u003earia-describedby\u003c/code\u003e link between labels/legends and supplemental content by \u003ca href=\"https://github.com/peteryates\"\u003e\u003ccode\u003e@​peteryates\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/x-govuk/govuk-form-builder/pull/580\"\u003ex-govuk/govuk-form-builder#580\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport injecting content before and after inputs by \u003ca href=\"https://github.com/peteryates\"\u003e\u003ccode\u003e@​peteryates\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/x-govuk/govuk-form-builder/pull/598\"\u003ex-govuk/govuk-form-builder#598\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade Ruby and Rails versions by \u003ca href=\"https://github.com/peteryates\"\u003e\u003ccode\u003e@​peteryates\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/x-govuk/govuk-form-builder/pull/606\"\u003ex-govuk/govuk-form-builder#606\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate nanoc requirement from ~\u0026gt; 4.13.0 to ~\u0026gt; 4.14.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/x-govuk/govuk-form-builder/pull/597\"\u003ex-govuk/govuk-form-builder#597\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDeal with negative values when generating IDs by \u003ca href=\"https://github.com/peteryates\"\u003e\u003ccode\u003e@​peteryates\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/x-govuk/govuk-form-builder/pull/608\"\u003ex-govuk/govuk-form-builder#608\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 6.0.0b1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport govuk-frontend 6.0.0 by \u003ca href=\"https://github.com/peteryates\"\u003e\u003ccode\u003e@​peteryates\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/x-govuk/govuk-form-builder/pull/601\"\u003ex-govuk/govuk-form-builder#601\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for Rails 8.1 by \u003ca href=\"https://github.com/benilovj\"\u003e\u003ccode\u003e@​benilovj\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/x-govuk/govuk-form-builder/pull/590\"\u003ex-govuk/govuk-form-builder#590\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003egovuk_time_field\u003c/code\u003e by \u003ca href=\"https://github.com/thomasleese\"\u003e\u003ccode\u003e@​thomasleese\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/x-govuk/govuk-form-builder/pull/599\"\u003ex-govuk/govuk-form-builder#599\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove \u003ccode\u003earia-describedby\u003c/code\u003e link between labels/legends and supplemental content by \u003ca href=\"https://github.com/peteryates\"\u003e\u003ccode\u003e@​peteryates\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/x-govuk/govuk-form-builder/pull/580\"\u003ex-govuk/govuk-form-builder#580\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport injecting content before and after inputs by \u003ca href=\"https://github.com/peteryates\"\u003e\u003ccode\u003e@​peteryates\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/x-govuk/govuk-form-builder/pull/598\"\u003ex-govuk/govuk-form-builder#598\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade Ruby and Rails versions by \u003ca href=\"https://github.com/peteryates\"\u003e\u003ccode\u003e@​peteryates\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/x-govuk/govuk-form-builder/pull/606\"\u003ex-govuk/govuk-form-builder#606\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate nanoc requirement from ~\u0026gt; 4.13.0 to ~\u0026gt; 4.14.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/x-govuk/govuk-form-builder/pull/597\"\u003ex-govuk/govuk-form-builder#597\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDeal with negative values when generating IDs by \u003ca href=\"https://github.com/peteryates\"\u003e\u003ccode\u003e@​peteryates\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/x-govuk/govuk-form-builder/pull/608\"\u003ex-govuk/govuk-form-builder#608\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 5.13.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eupgrade to govuk-frontend 5.13.0 \u003ca href=\"https://redirect.github.com/x-govuk/govuk-form-builder/issues/586\"\u003e#586\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003evarious minor version bumps\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/x-govuk/govuk-form-builder/commit/5cbe8f6e79a805327b72f09ee191cd58f09587fc\"\u003e\u003ccode\u003e5cbe8f6\u003c/code\u003e\u003c/a\u003e Release version 6.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/x-govuk/govuk-form-builder/commit/3b721e9ba3e3cf1a685cb3dd3dbca3aeb9604150\"\u003e\u003ccode\u003e3b721e9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/x-govuk/govuk-form-builder/issues/618\"\u003e#618\u003c/a\u003e from x-govuk/govuk-frontend-6.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/x-govuk/govuk-form-builder/commit/1169b60d51f775aed34960bb636106efa2042ffd\"\u003e\u003ccode\u003e1169b60\u003c/code\u003e\u003c/a\u003e Update supported versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/x-govuk/govuk-form-builder/commit/81733638cc0ceace44e85b2fc9ef0393362bef01\"\u003e\u003ccode\u003e8173363\u003c/code\u003e\u003c/a\u003e Upgrade to govuk-frontend 6.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/x-govuk/govuk-form-builder/commit/c96270cb8cc861c40d0a6155355cbdfc8f9831eb\"\u003e\u003ccode\u003ec96270c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/x-govuk/govuk-form-builder/issues/617\"\u003e#617\u003c/a\u003e from x-govuk/fix-guide-build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/x-govuk/govuk-form-builder/commit/d6f4e390ac6f51b7120a3f3efa73669f74ed9f50\"\u003e\u003ccode\u003ed6f4e39\u003c/code\u003e\u003c/a\u003e Reqire 'active_model' in guide perosn class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/x-govuk/govuk-form-builder/commit/b156fe78df8f74dc1574b16449d0515a9ddcd174\"\u003e\u003ccode\u003eb156fe7\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/x-govuk/govuk-form-builder/issues/614\"\u003e#614\u003c/a\u003e from stephencdaly/add-options-to-file-upload-for-java...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/x-govuk/govuk-form-builder/commit/1c573ccc92b156684ee56a02329c7ca3bb3e7947\"\u003e\u003ccode\u003e1c573cc\u003c/code\u003e\u003c/a\u003e Add example to guide for setting custom text for file upload component\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/x-govuk/govuk-form-builder/commit/9ed0f9573b7f015f79ccbf9c67a9e5dd91c8ba58\"\u003e\u003ccode\u003e9ed0f95\u003c/code\u003e\u003c/a\u003e Support defining text options for file upload component\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/x-govuk/govuk-form-builder/commit/a12d0c63e346946540d5cb8af44128c04fc55f8e\"\u003e\u003ccode\u003ea12d0c6\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/x-govuk/govuk-form-builder/issues/611\"\u003e#611\u003c/a\u003e from x-govuk/dependabot/bundler/slim_lint-tw-0.34.0\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/x-govuk/govuk-form-builder/compare/v5.11.0...v6.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `haml-rails` from 2.1.0 to 3.0.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/haml/haml-rails/commit/6c7c8ca772b2c8d36b58278c2c09498385979f85\"\u003e\u003ccode\u003e6c7c8ca\u003c/code\u003e\u003c/a\u003e Version 3.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/haml/haml-rails/commit/e364abbc6a54f84b344c1ec846d683f927e1ae59\"\u003e\u003ccode\u003ee364abb\u003c/code\u003e\u003c/a\u003e Just use the newest one\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/haml/haml-rails/commit/30005dc31f9926dac33ba776389e9456e068b20f\"\u003e\u003ccode\u003e30005dc\u003c/code\u003e\u003c/a\u003e [CI] uses: actions/checkout@v5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/haml/haml-rails/commit/e639b11fe1571cdc1e8bb48143d13a63110e09e1\"\u003e\u003ccode\u003ee639b11\u003c/code\u003e\u003c/a\u003e Properly state the supported version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/haml/haml-rails/commit/3e1b70552ca28a42a4741d3bfd3cf7cf379c6486\"\u003e\u003ccode\u003e3e1b705\u003c/code\u003e\u003c/a\u003e frozen_string_literal: ❄️\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/haml/haml-rails/commit/2c51fd5848e6d36e36f831cf827578003525d08f\"\u003e\u003ccode\u003e2c51fd5\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/haml/haml-rails/issues/197\"\u003e#197\u003c/a\u003e from amatsuda/rails_versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/haml/haml-rails/commit/9f4703ddff0644ba52529c5cf41c1624829b16a7\"\u003e\u003ccode\u003e9f4703d\u003c/code\u003e\u003c/a\u003e Fall back to the newest templates by default\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/haml/haml-rails/commit/f0a9ff88ef682af3d6023e1d453ed978597abd72\"\u003e\u003ccode\u003ef0a9ff8\u003c/code\u003e\u003c/a\u003e Rails 5.1 scaffold templates\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/haml/haml-rails/commit/852cf01c9831ee09049f7b990a648d441c876093\"\u003e\u003ccode\u003e852cf01\u003c/code\u003e\u003c/a\u003e Rails 5.2 scaffold templates\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/haml/haml-rails/commit/8bb0351a85b83e81d1b27f18fdda17a77961c1af\"\u003e\u003ccode\u003e8bb0351\u003c/code\u003e\u003c/a\u003e Rails 6.0 scaffold templates\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/haml/haml-rails/compare/v2.1.0...v3.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `oauth2` from 2.0.17 to 2.0.20\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby-oauth/oauth2/releases\"\u003eoauth2's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.0.20\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/compare/v2.0.19...v2.0.20\"\u003e2.0.20\u003c/a\u003e - 2026-05-20\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eTAG: \u003ca href=\"https://github.com/ruby-oauth/oauth2/releases/tag/v2.0.20\"\u003ev2.0.20\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCOVERAGE: 99.62% -- 525/527 lines in 15 files\u003c/li\u003e\n\u003cli\u003eBRANCH COVERAGE: 98.88% -- 176/178 branches in 15 files\u003c/li\u003e\n\u003cli\u003e88.35% documented\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eOAuth2::VERSION (Traditional Constant Location)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eauth-sanitizer v0.1.3\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/721\"\u003egh!721\u003c/a\u003e Load \u003ccode\u003eauth-sanitizer\u003c/code\u003e through an internal isolated loader so requiring \u003ccode\u003eoauth2\u003c/code\u003e does not add top-level \u003ccode\u003eAuth\u003c/code\u003e or \u003ccode\u003eAuthSanitizer\u003c/code\u003e constants that may collide with downstream applications by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cp\u003eOfficial Discord 👉️ [![Live Chat on Discord][✉️discord-invite-img]][✉️discord-invite]\u003c/p\u003e\n\u003cp\u003eMany paths lead to being a sponsor or a backer of this project. Are you on such a path?\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://opencollective.com/ruby-oauth#backer\"\u003e\u003cimg src=\"https://opencollective.com/ruby-oauth/backers/badge.svg?style=flat\" alt=\"OpenCollective Backers\" /\u003e\u003c/a\u003e \u003ca href=\"https://opencollective.com/ruby-oauth#sponsor\"\u003e\u003cimg src=\"https://opencollective.com/ruby-oauth/sponsors/badge.svg?style=flat\" alt=\"OpenCollective Sponsors\" /\u003e\u003c/a\u003e \u003ca href=\"https://github.com/sponsors/pboling\"\u003e\u003cimg src=\"https://img.shields.io/badge/Sponsor_Me!-pboling.svg?style=social\u0026amp;logo=github\" alt=\"Sponsor Me on Github\" /\u003e\u003c/a\u003e \u003ca href=\"https://liberapay.com/pboling/donate\"\u003e\u003cimg src=\"https://img.shields.io/liberapay/goal/pboling.svg?logo=liberapay\u0026amp;color=a51611\u0026amp;style=flat\" alt=\"Liberapay Goal Progress\" /\u003e\u003c/a\u003e [![Donate on PayPal][🖇paypal-img]][🖇paypal]\u003c/p\u003e\n\u003cp\u003e[\u003cimg src=\"https://img.shields.io/badge/buy_me_a_coffee-%E2%9C%93-a51611.svg?style=flat\" alt=\"Buy me a coffee\" /\u003e][🖇buyme] \u003ca href=\"https://polar.sh/pboling\"\u003e\u003cimg src=\"https://img.shields.io/badge/polar-donate-a51611.svg?style=flat\" alt=\"Donate on Polar\" /\u003e\u003c/a\u003e \u003ca href=\"https://ko-fi.com/O5O86SNP4\"\u003e\u003cimg src=\"https://img.shields.io/badge/ko--fi-%E2%9C%93-a51611.svg?style=flat\" alt=\"Donate to my FLOSS efforts at ko-fi.com\" /\u003e\u003c/a\u003e \u003ca href=\"https://patreon.com/galtzo\"\u003e\u003cimg src=\"https://img.shields.io/badge/patreon-donate-a51611.svg?style=flat\" alt=\"Donate to my FLOSS efforts using Patreon\" /\u003e\u003c/a\u003e\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\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby-oauth/oauth2/blob/main/CHANGELOG.md\"\u003eoauth2's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[2.0.20] - 2026-05-20\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eTAG: [v2.0.20][2.0.20t]\u003c/li\u003e\n\u003cli\u003eCOVERAGE: 99.62% -- 525/527 lines in 15 files\u003c/li\u003e\n\u003cli\u003eBRANCH COVERAGE: 98.88% -- 176/178 branches in 15 files\u003c/li\u003e\n\u003cli\u003e88.35% documented\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eOAuth2::VERSION (Traditional Constant Location)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eauth-sanitizer v0.1.3\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/721\"\u003egh!721\u003c/a\u003e Load \u003ccode\u003eauth-sanitizer\u003c/code\u003e through an internal isolated loader so requiring \u003ccode\u003eoauth2\u003c/code\u003e does not add top-level \u003ccode\u003eAuth\u003c/code\u003e or \u003ccode\u003eAuthSanitizer\u003c/code\u003e constants that may collide with downstream applications by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003ch2\u003e[2.0.19] - 2026-05-15\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eTAG: [v2.0.19][2.0.19t]\u003c/li\u003e\n\u003cli\u003eCOVERAGE: 100.00% -- 515/515 lines in 14 files\u003c/li\u003e\n\u003cli\u003eBRANCH COVERAGE: 100.00% -- 174/174 branches in 14 files\u003c/li\u003e\n\u003cli\u003e89.11% documented\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/707\"\u003egh!707\u003c/a\u003e Add \u003ccode\u003eOAuth2.config[:filtered_label]\u003c/code\u003e to configure the placeholder used for filtered sensitive values in inspected objects and debug logging output by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/707\"\u003egh!707\u003c/a\u003e Add \u003ccode\u003eOAuth2.config[:filtered_debug_keys]\u003c/code\u003e to configure which key names have their values redacted from debug logging output by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/707\"\u003egh!707\u003c/a\u003e Make inspect-time and debug-log filters snapshot their configuration at initialization time rather than tracking later config changes by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[gh!714][gh!714]Refactor sensitive-value filtering to use \u003ccode\u003eauth-sanitizer\u003c/code\u003e while preserving \u003ccode\u003eOAuth2::FilteredAttributes\u003c/code\u003e as a permanent API alias by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRemoved\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove the internal \u003ccode\u003eOAuth2::ThingFilter\u003c/code\u003e and \u003ccode\u003eOAuth2::SanitizedLogger\u003c/code\u003e implementations now provided by \u003ccode\u003eauth-sanitizer\u003c/code\u003e by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/707\"\u003egh!707\u003c/a\u003e Redact sensitive values from debug logging output, including Authorization headers and common token/secret fields in headers, query strings, form bodies, and JSON payloads by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003eNOTE: debug logging has always been, and remains, opt-in. It is turned off by default.\u003c/li\u003e\n\u003c/ul\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/ruby-oauth/oauth2/commit/e2d509705db6091c8d5f27c31e29c58e39e51c7c\"\u003e\u003ccode\u003ee2d5097\u003c/code\u003e\u003c/a\u003e 🔧 :nocov: for unreachable error states\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/30650b2e1cb743e3263181e8b8a32c57ef33b9fb\"\u003e\u003ccode\u003e30650b2\u003c/code\u003e\u003c/a\u003e 🔖 Prepare release v2.0.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/23f2855f1b0053a38b6b5df00c870d83db761c31\"\u003e\u003ccode\u003e23f2855\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/issues/721\"\u003e#721\u003c/a\u003e from ruby-oauth/fix/top-level-namespace-pollution\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/5e4c98831ecb68ec446fcc99be0af40e6e68490c\"\u003e\u003ccode\u003e5e4c988\u003c/code\u003e\u003c/a\u003e Fix RuboCop Gradual offenses\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/89397f699bd6903c5ac3a9927d1743984a946dc5\"\u003e\u003ccode\u003e89397f6\u003c/code\u003e\u003c/a\u003e Constrain auth-sanitizer loader lookup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/8e71e19890fe486d7d260eb29ec67eb5ac1e75d0\"\u003e\u003ccode\u003e8e71e19\u003c/code\u003e\u003c/a\u003e 📝 CHANGELOG.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/6082a21c5628b270953dc9edb0af57dafb36e194\"\u003e\u003ccode\u003e6082a21\u003c/code\u003e\u003c/a\u003e ⬆️ snaky_hash, faraday-net_http, zeitwerk, bundler-audit\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/350da4214e9285fd88e21a9859d049dc8e954a25\"\u003e\u003ccode\u003e350da42\u003c/code\u003e\u003c/a\u003e Avoid auth-sanitizer top-level namespaces\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/0bc19030c2226ab16fc237b547e95d90ed8fa2e9\"\u003e\u003ccode\u003e0bc1903\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/issues/719\"\u003e#719\u003c/a\u003e from step-security-bot/chore/GHA-182236-stepsecurity-...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/148d716337a530494895091fe3b4359a410212a5\"\u003e\u003ccode\u003e148d716\u003c/code\u003e\u003c/a\u003e Switch pre-commit hook to rubocop_gradual\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby-oauth/oauth2/compare/v2.0.17...v2.0.20\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `omniauth-rails_csrf_protection` from 1.0.2 to 2.0.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/cookpad/omniauth-rails_csrf_protection/releases\"\u003eomniauth-rails_csrf_protection's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 2.0.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix an issue with configuration delegation in Rails \u0026lt; 8.1 (\u003ca href=\"https://redirect.github.com/cookpad/omniauth-rails_csrf_protection/issues/26\"\u003e#26\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003eFor more details, please see 1a0d39099957675f549e1f23c836f57b99b09a00.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 2.0.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eStop using deprecated \u003ccode\u003eActiveSupport::Configurable\u003c/code\u003e when this gem is running against Action Pack version 8.1 and later (\u003ca href=\"https://redirect.github.com/cookpad/omniauth-rails_csrf_protection/issues/23\"\u003e#23\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/cookpad/omniauth-rails_csrf_protection/issues/24\"\u003e#24\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/cookpad/omniauth-rails_csrf_protection/commit/c4f53d72e6a278c02f1a6d294c4f8004354ee0b7\"\u003e\u003ccode\u003ec4f53d7\u003c/code\u003e\u003c/a\u003e Bump to 2.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cookpad/omniauth-rails_csrf_protection/commit/1a0d39099957675f549e1f23c836f57b99b09a00\"\u003e\u003ccode\u003e1a0d390\u003c/code\u003e\u003c/a\u003e Fix an issue with configuration delegation in Rails \u0026lt; 8.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cookpad/omniauth-rails_csrf_protection/commit/bc315e1b09fbf6a363d5293067b42675f020fc4c\"\u003e\u003ccode\u003ebc315e1\u003c/code\u003e\u003c/a\u003e Properly silence Rails 8.0.x warning message in test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cookpad/omniauth-rails_csrf_protection/commit/23483750b4a0a803347e02778b975886ecb82875\"\u003e\u003ccode\u003e2348375\u003c/code\u003e\u003c/a\u003e Bump to 2.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cookpad/omniauth-rails_csrf_protection/commit/c283d1d159a292c5fce8ed1a2f5997f6bde209f5\"\u003e\u003ccode\u003ec283d1d\u003c/code\u003e\u003c/a\u003e Update README to add OmniAuth's built-in solution\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cookpad/omniauth-rails_csrf_protection/commit/2cf722bd7cc310009ee626cce28a7ea52b47f649\"\u003e\u003ccode\u003e2cf722b\u003c/code\u003e\u003c/a\u003e Add workaround for deprecated AS::Configurable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cookpad/omniauth-rails_csrf_protection/commit/431597eb44ff8ae0bf9802d1a1dc85ebb8d2cfa3\"\u003e\u003ccode\u003e431597e\u003c/code\u003e\u003c/a\u003e Silence \u003ccode\u003e#to_time\u003c/code\u003e warning in Rails 8.0.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cookpad/omniauth-rails_csrf_protection/commit/5e9c8a27b0ccac54ca3bec7f3b49d43ddefdc4d6\"\u003e\u003ccode\u003e5e9c8a2\u003c/code\u003e\u003c/a\u003e Print Ruby version in the test output\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cookpad/omniauth-rails_csrf_protection/commit/3e62c0572bf5c9796fff5fe197f07d5ed172a7c5\"\u003e\u003ccode\u003e3e62c05\u003c/code\u003e\u003c/a\u003e Remove unnecessary logger gem entry in Gemfile\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cookpad/omniauth-rails_csrf_protection/commit/f9810a5886d692312c6d015914fdad00cf7f41b2\"\u003e\u003ccode\u003ef9810a5\u003c/code\u003e\u003c/a\u003e Update build matrix and fix build errors\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/cookpad/omniauth-rails_csrf_protection/compare/v1.0.2...v2.0.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pg` from 1.6.2 to 1.6.3\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ged/ruby-pg/blob/master/CHANGELOG.md\"\u003epg's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.6.3 [2025-12-29] Lars Kanis \u003ca href=\"mailto:lars@greiz-reinsdorf.de\"\u003elars@greiz-reinsdorf.de\u003c/a\u003e\u003c/h2\u003e\n\u003cp\u003eAdded:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd binary gems for ruby-4.0, now providing ruby-3.0 to 4.0. \u003ca href=\"https://redirect.github.com/ged/ruby-pg/pull/682\"\u003e#682\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate fat binary gem to OpenSSL-3.6.0 and PostgreSQL-18.1.\u003c/li\u003e\n\u003cli\u003eImprove documentation of PG::Result and README. \u003ca href=\"https://redirect.github.com/ged/ruby-pg/pull/676\"\u003e#676\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate errorcodes to PostgreSQL-18.\u003c/li\u003e\n\u003cli\u003eUse \u003ccode\u003erb_hash_new_capa\u003c/code\u003e on Ruby-3.2+ . \u003ca href=\"https://redirect.github.com/ged/ruby-pg/pull/674\"\u003e#674\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDeny any server communication on a frozen PG::Connection . \u003ca href=\"https://redirect.github.com/ged/ruby-pg/pull/677\"\u003e#677\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix possible race condition in PG::Result in Ractor context. \u003ca href=\"https://redirect.github.com/ged/ruby-pg/pull/674\"\u003e#674\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eRemoved:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDrop binary gem support for platform \u003ccode\u003ex86-mingw32\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/ged/ruby-pg/pull/682\"\u003e#682\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDrop binary gems for ruby-2.7.\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/ged/ruby-pg/commit/d4539c25dcc89d47088e1423f8d1915c041920f5\"\u003e\u003ccode\u003ed4539c2\u003c/code\u003e\u003c/a\u003e Bump VERSION to pg-1.6.3 and add release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ged/ruby-pg/commit/720900dbb9d16aa855793146f15c3772e14f627a\"\u003e\u003ccode\u003e720900d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ged/ruby-pg/issues/682\"\u003e#682\u003c/a\u003e from larskanis/ruby-4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ged/ruby-pg/commit/f605b5937093884089109c8baa5fe268fc513eaf\"\u003e\u003ccode\u003ef605b59\u003c/code\u003e\u003c/a\u003e Remove x86-mingw32 from binary builds\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ged/ruby-pg/commit/5c690006ba158da70d73d939a233cf75ecdd30ef\"\u003e\u003ccode\u003e5c69000\u003c/code\u003e\u003c/a\u003e Update to ruby-4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ged/ruby-pg/commit/2acaf3d0f76334e056229efe260e1f558a8c6b42\"\u003e\u003ccode\u003e2acaf3d\u003c/code\u003e\u003c/a\u003e CI: workaround missing ruby-4.0 on Window\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ged/ruby-pg/commit/b500ded81127963603e1f724e82bed649c9ca8a1\"\u003e\u003ccode\u003eb500ded\u003c/code\u003e\u003c/a\u003e fix comment\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ged/ruby-pg/commit/bc3f2f8b1110e9bcb225d65554e1a7fc842d0506\"\u003e\u003ccode\u003ebc3f2f8\u003c/code\u003e\u003c/a\u003e CI: Macos-13 on Intel is deprecated\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ged/ruby-pg/commit/77667eb4313bd7b79356f402b0fa7fba409483b8\"\u003e\u003ccode\u003e77667eb\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ged/ruby-pg/issues/678\"\u003e#678\u003c/a\u003e from larskanis/ci-update\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ged/ruby-pg/commit/6e52ce504d05c5359d55f45d9580672103263b54\"\u003e\u003ccode\u003e6e52ce5\u003c/code\u003e\u003c/a\u003e CI: Update PostgreSQL on Macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ged/ruby-pg/commit/6d40f50e51a037022495fe6d98181435652464ff\"\u003e\u003ccode\u003e6d40f50\u003c/code\u003e\u003c/a\u003e CI: Print mkmf.log on failure on Macos\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ged/ruby-pg/compare/v1.6.2...v1.6.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `prometheus_exporter` from 2.3.0 to 2.3.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/discourse/prometheus_exporter/blob/main/CHANGELOG\"\u003eprometheus_exporter's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[2.3.1] - 2025-11-11\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFIX: get controller full path instead of controller name - Alex Platteeuw\u003c/li\u003e\n\u003cli\u003eFEATURE: Secure PrometheusExporter scraping with SSL - Nicolas Rodriquez\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/discourse/prometheus_exporter/commit/15e9d4783db8267fb3b0c48e5464ec4c1ae58c00\"\u003e\u003ccode\u003e15e9d47\u003c/code\u003e\u003c/a\u003e version bump (\u003ca href=\"https://redirect.github.com/discourse/prometheus_exporter/issues/358\"\u003e#358\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/discourse/prometheus_exporter/commit/4bd3817744bb5011aed6c669696ed957c23cd3fe\"\u003e\u003ccode\u003e4bd3817\u003c/code\u003e\u003c/a\u003e fix: get controller full path instead of controller name (\u003ca href=\"https://redirect.github.com/discourse/prometheus_exporter/issues/353\"\u003e#353\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/discourse/prometheus_exporter/commit/4bb4fa333386b166a745df92be5620b11be3872a\"\u003e\u003ccode\u003e4bb4fa3\u003c/code\u003e\u003c/a\u003e Secure PrometheusExporter scraping with SSL (\u003ca href=\"https://redirect.github.com/discourse/prometheus_exporter/issues/350\"\u003e#350\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/discourse/prometheus_exporter/commit/b10933453f0952cd17d143487c5adc8bb74b492a\"\u003e\u003ccode\u003eb109334\u003c/code\u003e\u003c/a\u003e Add connect_timeout: settings to PrometheusExporter::Client (\u003ca href=\"https://redirect.github.com/discourse/prometheus_exporter/issues/352\"\u003e#352\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/discourse/prometheus_exporter/compare/v2.3.0...v2.3.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `puma` from 7.0.4 to 8.0.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/puma/puma/releases\"\u003epuma's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev8.0.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBugfixes\n\u003cul\u003e\n\u003cli\u003eAnchor PROXY protocol v1 regex to string start and enforce max line length to prevent injection via crafted request bodies (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3944\"\u003e#3944\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eParse PROXY protocol header only on the first request per connection to prevent spoofing on keep-alive connections (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3944\"\u003e#3944\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eSecurity advisories\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/security/advisories/GHSA-qpgp-93vx-g8v8\"\u003eCVE-2026-47736 / GHSA-qpgp-93vx-g8v8\u003c/a\u003e: Puma PROXY Protocol v1 Parser Allows Remote Memory Exhaustion\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/security/advisories/GHSA-2vqw-3mp8-cgmx\"\u003eCVE-2026-47737 / GHSA-2vqw-3mp8-cgmx\u003c/a\u003e: Puma PROXY Protocol v1 Accepts Repeated Protocol Headers on Persistent Connections\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev8.0.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eBugfixes\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eprune_bundler\u003c/code\u003e stripping user-configured \u003ccode\u003eBUNDLE_*\u003c/code\u003e env vars (e.g. \u003ccode\u003eBUNDLE_WITHOUT\u003c/code\u003e) on re-exec, which caused workers to crash on boot (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3929\"\u003e#3929\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003ePerformance\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUse blocks for debug logging to avoid creating log messages when debug is disabled (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3920\"\u003e#3920\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDocs\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix incorrect hook names in gRPC docs (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3923\"\u003e#3923\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReword v8 upgrade guide IPv6 bullet for clarity (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3928\"\u003e#3928\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev8.0.0 - Into the Arena\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003eRead our \u003ca href=\"https://github.com/puma/puma/blob/main/docs/8.0-Upgrade.md\"\u003eVersion 8 Upgrade Guide.\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFeatures\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eenv[\u0026quot;puma.mark_as_io_bound\u0026quot;]\u003c/code\u003e API and \u003ccode\u003emax_io_threads\u003c/code\u003e config to allow IO-bound requests to exceed the thread pool max, enabling better handling of mixed workloads (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3816\"\u003e#3816\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/puma/puma/issues/3894\"\u003e#3894\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003esingle\u003c/code\u003e and \u003ccode\u003ecluster\u003c/code\u003e DSL hooks for mode-specific configuration (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3621\"\u003e#3621\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eon_force\u003c/code\u003e option to \u003ccode\u003eshutdown_debug\u003c/code\u003e to only dump thread backtraces on forced (non-graceful) shutdown (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3671\"\u003e#3671\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd API to dynamically update min and max thread counts at runtime via \u003ccode\u003eupdate_thread_pool_min_max\u003c/code\u003e and \u003ccode\u003eServerPluginControl\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3658\"\u003e#3658\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse SIGPWR for thread backtrace dumps on Linux/JRuby where SIGINFO is unavailable (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3829\"\u003e#3829\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eBugfixes\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix phased restart for \u003ccode\u003efork_worker\u003c/code\u003e to avoid forking from stale worker 0 when it has been replaced (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3853\"\u003e#3853\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003ePerformance\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eJRuby HTTP parser improvements: pre-allocated header keys, perfect hash lookup, reduced memory copies (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3838\"\u003e#3838\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCache downcased header key in \u003ccode\u003estr_headers\u003c/code\u003e to avoid redundant \u003ccode\u003eString#downcase\u003c/code\u003e calls, reducing allocations by ~50% per response (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3874\"\u003e#3874\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRefactor\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCollect \u003ccode\u003eenv\u003c/code\u003e processing into dedicated \u003ccode\u003eclient_env.rb\u003c/code\u003e module (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3582\"\u003e#3582\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMove event to default configuration (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3872\"\u003e#3872\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDocs\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd gRPC guide for configuring gRPC lifecycle hooks in clustered mode (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3885\"\u003e#3885\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd 7.0 upgrade guide, move 5.0/6.0 upgrade guides to docs directory (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3900\"\u003e#3900\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCorrect default values for \u003ccode\u003epersistent_timeout\u003c/code\u003e and \u003ccode\u003eworker_boot_timeout\u003c/code\u003e in DSL docs (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3912\"\u003e#3912\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd file descriptor limit warning in test helper for contributors (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3893\"\u003e#3893\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\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/puma/puma/blob/main/History.md\"\u003epuma's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.0.2 / 2026-05-27\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBugfixes\n\u003cul\u003e\n\u003cli\u003eAnchor PROXY protocol v1 regex to string start and enforce max line length to prevent injection via crafted request bodies (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3944\"\u003e#3944\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eParse PROXY protocol header only on the first request per connection to prevent spoofing on keep-alive connections (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3944\"\u003e#3944\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.0.1 / 2026-04-27\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eBugfixes\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eprune_bundler\u003c/code\u003e stripping user-configured \u003ccode\u003eBUNDLE_*\u003c/code\u003e env vars (e.g. \u003ccode\u003eBUNDLE_WITHOUT\u003c/code\u003e) on re-exec, which caused workers to crash on boot (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3929\"\u003e#3929\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003ePerformance\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUse blocks for debug logging to avoid creating log messages when debug is disabled (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3920\"\u003e#3920\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDocs\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix incorrect hook names in gRPC docs (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3923\"\u003e#3923\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReword v8 upgrade guide IPv6 bullet for clarity (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3928\"\u003e#3928\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.0.0 / 2026-03-27\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFeatures\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eenv[\u0026quot;puma.mark_as_io_bound\u0026quot;]\u003c/code\u003e API and \u003ccode\u003emax_io_threads\u003c/code\u003e config to allow IO-bound requests to exceed the thread pool max, enabling better handling of mixed workloads (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3816\"\u003e#3816\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/puma/puma/issues/3894\"\u003e#3894\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003esingle\u003c/code\u003e and \u003ccode\u003ecluster\u003c/code\u003e DSL hooks for mode-specific configuration (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3621\"\u003e#3621\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eon_force\u003c/code\u003e option to \u003ccode\u003eshutdown_debug\u003c/code\u003e to only dump thread backtraces on forced (non-graceful) shutdown (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3671\"\u003e#3671\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd API to dynamically update min and max thread counts at runtime via \u003ccode\u003eupdate_thread_pool_min_max\u003c/code\u003e and \u003ccode\u003eServerPluginControl\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3658\"\u003e#3658\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse SIGPWR for thread backtrace dumps on Linux/JRuby where SIGINFO is unavailable (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3829\"\u003e#3829\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eBugfixes\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix phased restart for \u003ccode\u003efork_worker\u003c/code\u003e to avoid forking from stale worker 0 when it has been replaced (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3853\"\u003e#3853\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003ePerformance\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eJRuby HTTP parser improvements: pre-allocated header keys, perfect hash lookup, reduced memory copies (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3838\"\u003e#3838\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCache downcased header key in \u003ccode\u003estr_headers\u003c/code\u003e to avoid redundant \u003ccode\u003eString#downcase\u003c/code\u003e calls, reducing allocations by ~50% per response (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3874\"\u003e#3874\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRefactor\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCollect \u003ccode\u003eenv\u003c/code\u003e processing into dedicated \u003ccode\u003eclient_env.rb\u003c/code\u003e module (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3582\"\u003e#3582\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMove event to default configuration (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3872\"\u003e#3872\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDocs\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd gRPC guide for configuring gRPC lifecycle hooks in clustered mode (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3885\"\u003e#3885\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd 7.0 upgrade guide, move 5.0/6.0 upgrade guides to docs directory (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3900\"\u003e#3900\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCorrect default values for \u003ccode\u003epersistent_timeout\u003c/code\u003e and \u003ccode\u003eworker_boot_timeout\u003c/code\u003e in DSL docs (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3912\"\u003e#3912\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd file descriptor limit warning in test helper for contributors (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3893\"\u003e#3893\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eBreaking changes\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDefault production bind address changed from \u003ccode\u003e0.0.0.0\u003c/code\u003e to \u003ccode\u003e::\u003c/code\u003e (IPv6) when a non-loopback IPv6 interface is available; falls back to \u003ccode\u003e0.0.0.0\u003c/code\u003e if IPv6 is unavailable (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3847\"\u003e#3847\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.2.0 / 2026-01-20\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeatures\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/puma/puma/commit/8085b75e79e3f7f1a96e5b488d74a71f62edd24d\"\u003e\u003ccode\u003e8085b75\u003c/code\u003e\u003c/a\u003e Release v8.0.2 (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3945\"\u003e#3945\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/439c6136d9c2275721b7864db3ee78af7c80889f\"\u003e\u003ccode\u003e439c613\u003c/code\u003e\u003c/a\u003e 8.0.2 backport (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3944\"\u003e#3944\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/cee7e613c0d6e072b1ae9993c6dec63cbf259ec3\"\u003e\u003ccode\u003ecee7e61\u003c/code\u003e\u003c/a\u003e Release v8.0.1 (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3932\"\u003e#3932\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/f955cafec47be2ac8c296a7ab278288737984243\"\u003e\u003ccode\u003ef955caf\u003c/code\u003e\u003c/a\u003e Fix prune_bundler stripping user-configured BUNDLE_* env vars on re-exec (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3929\"\u003e#3929\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/97996aa025b9ad9ef5252af4a4b0f859cc3c0c23\"\u003e\u003ccode\u003e97996aa\u003c/code\u003e\u003c/a\u003e ci: test_error_logger.rb - fix TruffleRuby error (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3930\"\u003e#3930\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/03825bc90fd04dc00dd63d1bf6bf72c224ccbed9\"\u003e\u003ccode\u003e03825bc\u003c/code\u003e\u003c/a\u003e Build(deps): Bump actions/github-script from 8 to 9 (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3925\"\u003e#3925\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/053efae42144c65cdc7110085512216647a68bdc\"\u003e\u003ccode\u003e053efae\u003c/code\u003e\u003c/a\u003e Reword v8 upgrade guide ipv6 bullet (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3928\"\u003e#3928\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/b19f35ae64d23d4d870089f2b199b0213bac00cc\"\u003e\u003ccode\u003eb19f35a\u003c/code\u003e\u003c/a\u003e Fix incorrect hook names in gRPC docs (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3923\"\u003e#3923\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/eeabe4bf4d887dc3fbac3f6bdbee1eadf807c9e9\"\u003e\u003ccode\u003eeeabe4b\u003c/code\u003e\u003c/a\u003e Use blocks for debug logging to avoid creating messages if debug disabled (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3\"\u003e#3\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/08f63d495955eaee065d0ee18849f4ddcd52fe72\"\u003e\u003ccode\u003e08f63d4\u003c/code\u003e\u003c/a\u003e Release v8.0.0 (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3914\"\u003e#3914\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/puma/puma/compare/v7.0.4...v8.0.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rails` from 8.0.3 to 8.1.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003erails's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.1.3\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eJSONGemCoderEncoder\u003c/code\u003e to correctly serialize custom object hash keys.\u003c/p\u003e\n\u003cp\u003eWhen hash keys are custom objects whose \u003ccode\u003eas_json\u003c/code\u003e returns a Hash,\nthe encoder now calls \u003ccode\u003eto_s\u003c/code\u003e on the original key object instead of\non the \u003ccode\u003eas_json\u003c/code\u003e result.\u003c/p\u003e\n\u003cp\u003eBefore:\nhash = {CustomKey.new(123) =\u0026gt; \u0026quot;value\u0026quot;}\nhash.to_json  # =\u0026gt; {\u0026quot;{:id=\u0026gt;123}\u0026quot;:\u0026quot;value\u0026quot;}\u003c/p\u003e\n\u003cp\u003eAfter:\nhash.to_json  # =\u0026gt; {\u0026quot;custom_123\u0026quot;:\u0026quot;value\u0026quot;}\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eDan Sharp\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix inflections to better handle overlapping acronyms.\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eActiveSupport::Inflector.inflections(:en) do |inflect|\r\n  inflect.acronym \u0026quot;USD\u0026quot;\r\n  inflect.acronym \u0026quot;USDC\u0026quot;\r\nend\r\n\u003cp\u003e\u0026quot;USDC\u0026quot;.underscore # =\u0026gt; \u0026quot;usdc\u0026quot;\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eSaid Kaldybaev\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSilence Dalli 4.0+ warning when using \u003ccode\u003eActiveSupport::Cache::MemCacheStore\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003ezzak\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix Ruby 4.0 delegator warning when calling inspect on attributes.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eHammad Khan\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eNoMethodError\u003c/code\u003e when deserialising \u003ccode\u003eType::Integer\u003c/code\u003e objects marshalled under Rails 8.0.\u003c/p\u003e\n\u003cp\u003eThe performance optimisation that replaced \u003ccode\u003e@range\u003c/code\u003e with \u003ccode\u003e@max\u003c/code\u003e/\u003ccode\u003e@min\u003c/code\u003e\nbroke Marshal compatibility. Objects serialised under 8.0 (with \u003ccode\u003e@range\u003c/code\u003e)\nand deserialised under 8.1 (expecting \u003ccode\u003e@max\u003c/code\u003e/\u003ccod...\n\n_Description has been truncated_","html_url":"https://github.com/ministryofjustice/laa-court-data-ui/pull/3229","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/ministryofjustice%2Flaa-court-data-ui/issues/3229","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/3229/packages"},{"uuid":"4347678546","node_id":"PR_kwDOSA8wf87WkFS4","number":18,"state":"closed","title":"Bump the production-dependencies group with 23 updates","user":"dependabot[bot]","labels":["dependencies","ruby"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-05-09T00:22:52.000Z","author_association":null,"state_reason":null,"created_at":"2026-04-29T03:33:34.000Z","updated_at":"2026-05-09T00:22:53.000Z","time_to_close":852558,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"production-dependencies","update_count":23,"packages":[{"name":"acme-client","old_version":"2.0.26","new_version":"2.0.31","repository_url":"https://github.com/unixcharles/acme-client"},{"name":"argon2-kdf","old_version":"0.3.1","new_version":"1.0.0","repository_url":"https://github.com/ankane/argon2-kdf"},{"name":"aws-sdk-ec2","old_version":"1.569.0","new_version":"1.611.0","repository_url":"https://github.com/aws/aws-sdk-ruby"},{"name":"aws-sdk-iam","old_version":"1.132.0","new_version":"1.142.0","repository_url":"https://github.com/aws/aws-sdk-ruby"},{"name":"aws-sdk-s3","old_version":"1.208.0","new_version":"1.219.0","repository_url":"https://github.com/aws/aws-sdk-ruby"},{"name":"committee","old_version":"5.6.1","new_version":"5.6.2","repository_url":"https://github.com/interagent/committee"},{"name":"excon","old_version":"1.4.1","new_version":"1.4.2","repository_url":"https://github.com/excon/excon"},{"name":"nokogiri","old_version":"1.19.1","new_version":"1.19.2","repository_url":"https://github.com/sparklemotion/nokogiri"},{"name":"omniauth-google-oauth2","old_version":"1.2.1","new_version":"1.2.2","repository_url":"https://github.com/zquestz/omniauth-google-oauth2"},{"name":"puma","old_version":"7.1.0","new_version":"8.0.0","repository_url":"https://github.com/puma/puma"},{"name":"rake","old_version":"13.3.1","new_version":"13.4.1","repository_url":"https://github.com/ruby/rake"},{"name":"stripe","old_version":"18.4.0","new_version":"19.0.0","repository_url":"https://github.com/stripe/stripe-ruby"},{"name":"tilt","old_version":"2.6.1","new_version":"2.7.0","repository_url":"https://github.com/jeremyevans/tilt"},{"name":"aws-partitions","old_version":"1.1212.0","new_version":"1.1241.0","repository_url":"https://github.com/aws/aws-sdk-ruby"},{"name":"aws-sdk-core","old_version":"3.242.0","new_version":"3.246.0","repository_url":"https://github.com/aws/aws-sdk-ruby"},{"name":"cbor","old_version":"0.5.10.1","new_version":"0.5.10.2"},{"name":"hashie","old_version":"5.0.0","new_version":"5.1.0","repository_url":"https://github.com/hashie/hashie"},{"name":"json","old_version":"2.19.3","new_version":"2.19.4","repository_url":"https://github.com/ruby/json"},{"name":"multi_xml","old_version":"0.7.2","new_version":"0.8.1","repository_url":"https://github.com/sferik/multi_xml"},{"name":"net-imap","old_version":"0.5.12","new_version":"0.6.4","repository_url":"https://github.com/ruby/net-imap"},{"name":"oauth2","old_version":"2.0.17","new_version":"2.0.18","repository_url":"https://github.com/ruby-oauth/oauth2"},{"name":"omniauth-oauth2","old_version":"1.8.0","new_version":"1.9.0","repository_url":"https://github.com/omniauth/omniauth-oauth2"},{"name":"timeout","old_version":"0.4.4","new_version":"0.6.1","repository_url":"https://github.com/ruby/timeout"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps the production-dependencies group with 23 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [acme-client](https://github.com/unixcharles/acme-client) | `2.0.26` | `2.0.31` |\n| [argon2-kdf](https://github.com/ankane/argon2-kdf) | `0.3.1` | `1.0.0` |\n| [aws-sdk-ec2](https://github.com/aws/aws-sdk-ruby) | `1.569.0` | `1.611.0` |\n| [aws-sdk-iam](https://github.com/aws/aws-sdk-ruby) | `1.132.0` | `1.142.0` |\n| [aws-sdk-s3](https://github.com/aws/aws-sdk-ruby) | `1.208.0` | `1.219.0` |\n| [committee](https://github.com/interagent/committee) | `5.6.1` | `5.6.2` |\n| [excon](https://github.com/excon/excon) | `1.4.1` | `1.4.2` |\n| [nokogiri](https://github.com/sparklemotion/nokogiri) | `1.19.1` | `1.19.2` |\n| [omniauth-google-oauth2](https://github.com/zquestz/omniauth-google-oauth2) | `1.2.1` | `1.2.2` |\n| [puma](https://github.com/puma/puma) | `7.1.0` | `8.0.0` |\n| [rake](https://github.com/ruby/rake) | `13.3.1` | `13.4.1` |\n| [stripe](https://github.com/stripe/stripe-ruby) | `18.4.0` | `19.0.0` |\n| [tilt](https://github.com/jeremyevans/tilt) | `2.6.1` | `2.7.0` |\n| [aws-partitions](https://github.com/aws/aws-sdk-ruby) | `1.1212.0` | `1.1241.0` |\n| [aws-sdk-core](https://github.com/aws/aws-sdk-ruby) | `3.242.0` | `3.246.0` |\n| [cbor](http://cbor.io/) | `0.5.10.1` | `0.5.10.2` |\n| [hashie](https://github.com/hashie/hashie) | `5.0.0` | `5.1.0` |\n| [json](https://github.com/ruby/json) | `2.19.3` | `2.19.4` |\n| [multi_xml](https://github.com/sferik/multi_xml) | `0.7.2` | `0.8.1` |\n| [net-imap](https://github.com/ruby/net-imap) | `0.5.12` | `0.6.4` |\n| [oauth2](https://github.com/ruby-oauth/oauth2) | `2.0.17` | `2.0.18` |\n| [omniauth-oauth2](https://github.com/omniauth/omniauth-oauth2) | `1.8.0` | `1.9.0` |\n| [timeout](https://github.com/ruby/timeout) | `0.4.4` | `0.6.1` |\n\nUpdates `acme-client` from 2.0.26 to 2.0.31\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/unixcharles/acme-client/blob/master/CHANGELOG.md\"\u003eacme-client's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ccode\u003e2.0.31\u003c/code\u003e\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eExpose Retry-After header on all\u003c/li\u003e\n\u003cli\u003eARI improvement\u003c/li\u003e\n\u003cli\u003eExpose full error message on Error#acme_error_body\u003c/li\u003e\n\u003cli\u003eExpose error subproblems (RFC7807) on Error#subproblems\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ccode\u003e2.0.30\u003c/code\u003e\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd a default message to RateLimited error\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThis fix avoid argument error on RateLimited object when stubbing without passing arguments.\u003c/p\u003e\n\u003ch2\u003e\u003ccode\u003e2.0.29\u003c/code\u003e\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eIP support to the CertificateRequest helper\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ccode\u003e2.0.28\u003c/code\u003e\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMake \u003ca href=\"https://datatracker.ietf.org/doc/html/rfc8555/#section-6.6\"\u003eRetry-After\u003c/a\u003e accessible from RateLimited#retry_after exceptions\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ccode\u003e2.0.27\u003c/code\u003e\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Renewal Information (ARI) (RFC 9773)\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/unixcharles/acme-client/commit/01771ffbf361652169bd4a1ef67d54b3d12ec1b9\"\u003e\u003ccode\u003e01771ff\u003c/code\u003e\u003c/a\u003e bump to 2.0.31\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unixcharles/acme-client/commit/f43b4cd4e1d39bed5cb4eecffe3661f32535a189\"\u003e\u003ccode\u003ef43b4cd\u003c/code\u003e\u003c/a\u003e Expose Retry-After header on all ACME responses (\u003ca href=\"https://redirect.github.com/unixcharles/acme-client/issues/264\"\u003e#264\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unixcharles/acme-client/commit/890d60a21529d7f97565fa3b35a84da967ce6126\"\u003e\u003ccode\u003e890d60a\u003c/code\u003e\u003c/a\u003e Rebase: Ari improvements complete (\u003ca href=\"https://redirect.github.com/unixcharles/acme-client/issues/269\"\u003e#269\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unixcharles/acme-client/commit/53b7f4f5a4891b6d1134217c333c5a0f16f7d823\"\u003e\u003ccode\u003e53b7f4f\u003c/code\u003e\u003c/a\u003e Add bigdecimal to the development gemspec\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unixcharles/acme-client/commit/43a083c6044d6afb74f872e29eedd8de6405fc47\"\u003e\u003ccode\u003e43a083c\u003c/code\u003e\u003c/a\u003e Expose full problem document on errors (\u003ca href=\"https://redirect.github.com/unixcharles/acme-client/issues/268\"\u003e#268\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unixcharles/acme-client/commit/c5f1e27ee3e5a08c3de435a101ef22280031775a\"\u003e\u003ccode\u003ec5f1e27\u003c/code\u003e\u003c/a\u003e Don't overwrite an existing URL with nil. (\u003ca href=\"https://redirect.github.com/unixcharles/acme-client/issues/263\"\u003e#263\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unixcharles/acme-client/commit/0f496c6f941da3ff016e435c888a3d77ca15b548\"\u003e\u003ccode\u003e0f496c6\u003c/code\u003e\u003c/a\u003e Add typed error method to challenges (\u003ca href=\"https://redirect.github.com/unixcharles/acme-client/issues/267\"\u003e#267\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unixcharles/acme-client/commit/4a4b5932c0fe905045380f076634e68dbc6073b8\"\u003e\u003ccode\u003e4a4b593\u003c/code\u003e\u003c/a\u003e Expose RFC7807 sub-problems on errors (\u003ca href=\"https://redirect.github.com/unixcharles/acme-client/issues/265\"\u003e#265\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unixcharles/acme-client/commit/cd3bc62dab6f4d6d8e3a65be25d01fcc06a5d225\"\u003e\u003ccode\u003ecd3bc62\u003c/code\u003e\u003c/a\u003e Remove truffleruby to fix CI.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unixcharles/acme-client/commit/dbd7481ff141647094d907cfd9e4598208ba19eb\"\u003e\u003ccode\u003edbd7481\u003c/code\u003e\u003c/a\u003e Bump 2.0.30\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/unixcharles/acme-client/compare/v2.0.26...v2.0.31\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `argon2-kdf` from 0.3.1 to 1.0.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ankane/argon2-kdf/blob/master/CHANGELOG.md\"\u003eargon2-kdf's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.0.0 (2026-04-04)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Ruby \u0026lt; 3.3\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/ankane/argon2-kdf/commit/0badcb535f98fa10acf692137e3cf8601c1d6f01\"\u003e\u003ccode\u003e0badcb5\u003c/code\u003e\u003c/a\u003e Version bump to 1.0.0 [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ankane/argon2-kdf/commit/d7047beb07a83a79b8bf1ae4bc96561865036a8f\"\u003e\u003ccode\u003ed7047be\u003c/code\u003e\u003c/a\u003e Updated license year [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ankane/argon2-kdf/commit/60117d75d6232cdf43fcb7f58d17dc3d8d8caa87\"\u003e\u003ccode\u003e60117d7\u003c/code\u003e\u003c/a\u003e Dropped support for Ruby \u0026lt; 3.3 [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ankane/argon2-kdf/commit/db0c97ad6806430ef1af3e7fcaf34537d1c1b288\"\u003e\u003ccode\u003edb0c97a\u003c/code\u003e\u003c/a\u003e Updated CI [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ankane/argon2-kdf/commit/9dd49b0133e590f039fe4dfa0dbde9e623491411\"\u003e\u003ccode\u003e9dd49b0\u003c/code\u003e\u003c/a\u003e Added ruby_memcheck\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ankane/argon2-kdf/commit/d109bd19c07c7a1df5fb8b4dd9d7bd3c7c1e67d5\"\u003e\u003ccode\u003ed109bd1\u003c/code\u003e\u003c/a\u003e Fixed warning [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ankane/argon2-kdf/commit/2697dd8cfefacdbd059d01866a0467e4a8c8fb65\"\u003e\u003ccode\u003e2697dd8\u003c/code\u003e\u003c/a\u003e Test with Ruby 4.0 on CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ankane/argon2-kdf/commit/83e5ce84edb6a88b484187cae45fa8bea10de972\"\u003e\u003ccode\u003e83e5ce8\u003c/code\u003e\u003c/a\u003e Updated test setup [skip ci]\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/ankane/argon2-kdf/compare/v0.3.1...v1.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `aws-sdk-ec2` from 1.569.0 to 1.611.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/aws/aws-sdk-ruby/blob/version-3/gems/aws-sdk-ec2/CHANGELOG.md\"\u003eaws-sdk-ec2's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.611.0 (2026-04-07)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - EC2 Capacity Manager adds new dimensions for grouping and filtering capacity metrics, including tag-based dimensions and Account Name.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.610.0 (2026-03-31)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - This release updates the examples in the documentation for DescribeRegions and DescribeAvailabilityZones.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.609.0 (2026-03-19)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Amazon EC2 Fleet instant mode now supports launching instances into Interruptible Capacity Reservations, enabling customers to use spare capacity shared by Capacity Reservation owners within their AWS Organization.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.608.0 (2026-03-18)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - The DescribeInstanceTypes API now returns default connection tracking timeout values for TCP, UDP, and UDP stream via the new connectionTrackingConfiguration field on NetworkInfo.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.607.0 (2026-03-05)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Added metadata field to CapacityAllocation.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.606.0 (2026-02-26)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Add c8id, m8id and hpc8a instance types.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.605.0 (2026-02-25)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Add support for EC2 Capacity Blocks in Local Zones.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.604.0 (2026-02-24)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Adds httpTokensEnforced property to ModifyInstanceMetadataDefaults API. Set per account or manage organization-wide using declarative policies to prevent IMDSv1-enabled instance launch and block attempts to enable IMDSv1 on existing IMDSv2-only instances.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.603.0 (2026-02-17)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Add Operator field to CreatePlacementGroup and DescribePlacementGroup APIs.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.602.0 (2026-02-16)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Documentation updates for EC2 Secondary Networks\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\u003eSee full diff in \u003ca href=\"https://github.com/aws/aws-sdk-ruby/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `aws-sdk-iam` from 1.132.0 to 1.142.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/aws/aws-sdk-ruby/blob/version-3/gems/aws-sdk-iam/CHANGELOG.md\"\u003eaws-sdk-iam's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.142.0 (2026-03-18)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Code Generated Changes, see \u003ccode\u003e./build_tools\u003c/code\u003e or \u003ccode\u003eaws-sdk-core\u003c/code\u003e's CHANGELOG.md for details.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.141.0 (2026-03-09)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Added support for CloudWatch Logs long-term API keys, currently available in Preview\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.140.0 (2026-01-16)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Code Generated Changes, see \u003ccode\u003e./build_tools\u003c/code\u003e or \u003ccode\u003eaws-sdk-core\u003c/code\u003e's CHANGELOG.md for details.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.139.0 (2026-01-08)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Code Generated Changes, see \u003ccode\u003e./build_tools\u003c/code\u003e or \u003ccode\u003eaws-sdk-core\u003c/code\u003e's CHANGELOG.md for details.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.138.0 (2026-01-05)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Code Generated Changes, see \u003ccode\u003e./build_tools\u003c/code\u003e or \u003ccode\u003eaws-sdk-core\u003c/code\u003e's CHANGELOG.md for details.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.137.0 (2025-12-05)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Adding the ExpirationTime attribute to the delegation request resource.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.136.0 (2025-11-21)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Code Generated Changes, see \u003ccode\u003e./build_tools\u003c/code\u003e or \u003ccode\u003eaws-sdk-core\u003c/code\u003e's CHANGELOG.md for details.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.135.0 (2025-11-19)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Added the EnableOutboundWebIdentityFederation, DisableOutboundWebIdentityFederation and GetOutboundWebIdentityFederationInfo APIs for the IAM outbound federation feature.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.134.0 (2025-11-18)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Added the AssociateDelegationRequest, GetDelegationRequest, AcceptDelegationRequest, RejectDelegatonRequest, ListDelegationRequests, UpdateDelegationRequest, SendDelegationToken and GetHumanReadableSummary APIs for the IAM temporary delegation feature.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.133.0 (2025-11-10)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Added CreateDelegationRequest API, which is not available for general use at this time.\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\u003eSee full diff in \u003ca href=\"https://github.com/aws/aws-sdk-ruby/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `aws-sdk-s3` from 1.208.0 to 1.219.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/aws/aws-sdk-ruby/blob/version-3/gems/aws-sdk-s3/CHANGELOG.md\"\u003eaws-sdk-s3's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.219.0 (2026-04-07)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Updated list of the valid AWS Region values for the LocationConstraint parameter for general purpose buckets.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.218.0 (2026-03-31)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Add Bucket Metrics configuration support to directory buckets\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.217.1 (2026-03-30)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eIssue - Fix \u003ccode\u003erequire_https_for_sse_cpk\u003c/code\u003e option being ignored; the HTTPS enforcement for SSE-CPK operations now correctly respects the configured value, allowing it to be disabled for local development.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.217.0 (2026-03-18)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Code Generated Changes, see \u003ccode\u003e./build_tools\u003c/code\u003e or \u003ccode\u003eaws-sdk-core\u003c/code\u003e's CHANGELOG.md for details.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.216.0 (2026-03-12)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Adds support for account regional namespaces for general purpose buckets. The account regional namespace is a reserved subdivision of the global bucket namespace where only your account can create general purpose buckets.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.215.0 (2026-03-05)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFeature - Code Generated Changes, see \u003ccode\u003e./build_tools\u003c/code\u003e or \u003ccode\u003eaws-sdk-core\u003c/code\u003e's CHANGELOG.md for details.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eIssue - Fix \u003ccode\u003eLoadError\u003c/code\u003e when requiring \u003ccode\u003eaws-sdk-s3\u003c/code\u003e due to missing \u003ccode\u003edirectory_progress\u003c/code\u003e file.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.214.0 (2026-03-04)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Added \u003ccode\u003e#upload_directory\u003c/code\u003e and \u003ccode\u003e#download_directory\u003c/code\u003e to \u003ccode\u003eAws::S3::TransferManager\u003c/code\u003e for bulk directory transfers.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.213.0 (2026-01-28)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Adds support for the UpdateObjectEncryption API to change the server-side encryption type of objects in general purpose buckets.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.212.0 (2026-01-16)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Code Generated Changes, see \u003ccode\u003e./build_tools\u003c/code\u003e or \u003ccode\u003eaws-sdk-core\u003c/code\u003e's CHANGELOG.md for details.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.211.0 (2026-01-08)\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\u003eSee full diff in \u003ca href=\"https://github.com/aws/aws-sdk-ruby/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `committee` from 5.6.1 to 5.6.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/interagent/committee/blob/master/CHANGELOG.md\"\u003ecommittee's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e5.6.2 - 2026-03-20\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eupdate .ruby-version to latest tested \u003ca href=\"https://redirect.github.com/interagent/committee/issues/456\"\u003e#456\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebump actions/checkout from 5 to 6 \u003ca href=\"https://redirect.github.com/interagent/committee/issues/457\"\u003e#457\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eadd ydah to contributors list \u003ca href=\"https://redirect.github.com/interagent/committee/issues/458\"\u003e#458\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eadd coerce_response_values option to enable type coercion in response validation \u003ca href=\"https://redirect.github.com/interagent/committee/issues/461\"\u003e#461\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003emove response validation logic from middleware to validator classes \u003ca href=\"https://redirect.github.com/interagent/committee/issues/462\"\u003e#462\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eadd OpenAPI 3 parameter deserialization with style/explode support \u003ca href=\"https://redirect.github.com/interagent/committee/issues/460\"\u003e#460\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eadd more straightforward options by type \u003ca href=\"https://redirect.github.com/interagent/committee/issues/463\"\u003e#463\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eadd strict mode support for query parameters \u003ca href=\"https://redirect.github.com/interagent/committee/issues/464\"\u003e#464\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eadd except option for testing error responses \u003ca href=\"https://redirect.github.com/interagent/committee/issues/465\"\u003e#465\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix OpenAPI schema cache collision by including schema_path in cache key \u003ca href=\"https://redirect.github.com/interagent/committee/issues/466\"\u003e#466\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix OpenAPI 3 path coercion to respect coerce_path_params independently of query coercion \u003ca href=\"https://redirect.github.com/interagent/committee/issues/467\"\u003e#467\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix prefix matching to respect path segment boundaries \u003ca href=\"https://redirect.github.com/interagent/committee/issues/468\"\u003e#468\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eadd Ruby 4.0 to CI configuration and update README for supported versions \u003ca href=\"https://redirect.github.com/interagent/committee/issues/469\"\u003e#469\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/interagent/committee/commit/7daefdc3c3c2c5cf216c2e357c880482c264c822\"\u003e\u003ccode\u003e7daefdc\u003c/code\u003e\u003c/a\u003e v5.6.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/interagent/committee/commit/57cc754a412f7b727d5009186404bb92c7cb9ab0\"\u003e\u003ccode\u003e57cc754\u003c/code\u003e\u003c/a\u003e Add except option for testing error responses (\u003ca href=\"https://redirect.github.com/interagent/committee/issues/465\"\u003e#465\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/interagent/committee/commit/479b75722ebc4a1cf38ea54236edc0f6d433afdb\"\u003e\u003ccode\u003e479b757\u003c/code\u003e\u003c/a\u003e Fix OpenAPI 3 path coercion to respect coerce_path_params independently of qu...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/interagent/committee/commit/7ff2876aef2273be9eaccbff0750717b26332dc8\"\u003e\u003ccode\u003e7ff2876\u003c/code\u003e\u003c/a\u003e Fix prefix matching to respect path segment boundaries (\u003ca href=\"https://redirect.github.com/interagent/committee/issues/468\"\u003e#468\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/interagent/committee/commit/d644a2ea650904055f7981be723e6cdd8bd818de\"\u003e\u003ccode\u003ed644a2e\u003c/code\u003e\u003c/a\u003e Fix OpenAPI schema cache collision by including schema_path in cache key (\u003ca href=\"https://redirect.github.com/interagent/committee/issues/466\"\u003e#466\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/interagent/committee/commit/6d73b3b724f9cb9d5d3b2f01e36e800d3c044cde\"\u003e\u003ccode\u003e6d73b3b\u003c/code\u003e\u003c/a\u003e Add Ruby 4.0 to CI configuration and update README for supported versions (\u003ca href=\"https://redirect.github.com/interagent/committee/issues/469\"\u003e#469\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/interagent/committee/commit/8665b133a54a8ad82c910b01453870eda962fcaa\"\u003e\u003ccode\u003e8665b13\u003c/code\u003e\u003c/a\u003e Add more straightforward options by type (\u003ca href=\"https://redirect.github.com/interagent/committee/issues/463\"\u003e#463\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/interagent/committee/commit/568c77ee3099a1075406fcdbe2154ffae3591513\"\u003e\u003ccode\u003e568c77e\u003c/code\u003e\u003c/a\u003e Add support strict mode for query parameter (\u003ca href=\"https://redirect.github.com/interagent/committee/issues/464\"\u003e#464\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/interagent/committee/commit/63a2a140205983ad8bab49d3b79c3e0f41577196\"\u003e\u003ccode\u003e63a2a14\u003c/code\u003e\u003c/a\u003e Add OpenAPI 3 parameter deserialization with style/explode support (\u003ca href=\"https://redirect.github.com/interagent/committee/issues/460\"\u003e#460\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/interagent/committee/commit/22d35b1da00e0f8cd98853a832d1ca4121dc2ed5\"\u003e\u003ccode\u003e22d35b1\u003c/code\u003e\u003c/a\u003e Move response validation logic from middleware to validator classes (\u003ca href=\"https://redirect.github.com/interagent/committee/issues/462\"\u003e#462\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/interagent/committee/compare/v5.6.1...v5.6.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `excon` from 1.4.1 to 1.4.2\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/excon/excon/commit/011b3ae595211d63264849c93741ca5ab7f646bb\"\u003e\u003ccode\u003e011b3ae\u003c/code\u003e\u003c/a\u003e v1.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/excon/excon/commit/aff99fc68565bbf627d7ea5d33279a626e9998f4\"\u003e\u003ccode\u003eaff99fc\u003c/code\u003e\u003c/a\u003e update bundled certs\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/excon/excon/compare/v1.4.1...v1.4.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `nokogiri` from 1.19.1 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/sparklemotion/nokogiri/releases\"\u003enokogiri's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.19.2 / 2026-03-19\u003c/h2\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[JRuby] Saxon-HE is updated to 12.7, from 9.6.0-4. Saxon-HE is a transitive dependency of nu.validator:jing, and this update addresses CVEs in Saxon-HE's own transitive dependencies JDOM and dom4j. We don't think this warrants a security release, however we're cutting a patch release to help users whose security scanners are flagging this. \u003ca href=\"https://redirect.github.com/sparklemotion/nokogiri/issues/3611\"\u003e#3611\u003c/a\u003e \u003ca href=\"https://github.com/flavorjones\"\u003e\u003ccode\u003e@​flavorjones\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSHA256 Checksums\u003c/h3\u003e\n\u003cpre\u003e\u003ccode\u003ec34d5c8208025587554608e98fd88ab125b29c80f9352b821964e9a5d5cfbd19  nokogiri-1.19.2-aarch64-linux-gnu.gem\r\n7f6b4b0202d507326841a4f790294bf75098aef50c7173443812e3ac5cb06515  nokogiri-1.19.2-aarch64-linux-musl.gem\r\nb7fa1139016f3dc850bda1260988f0d749934a939d04ef2da13bec060d7d5081  nokogiri-1.19.2-arm-linux-gnu.gem\r\n61114d44f6742ff72194a1b3020967201e2eb982814778d130f6471c11f9828c  nokogiri-1.19.2-arm-linux-musl.gem\r\n58d8ea2e31a967b843b70487a44c14c8ba1866daa1b9da9be9dbdf1b43dee205  nokogiri-1.19.2-arm64-darwin.gem\r\ne9d67034bc80ca71043040beea8a91be5dc99b662daa38a2bfb361b7a2cc8717  nokogiri-1.19.2-java.gem\r\n8ccf25eea3363a2c7b3f2e173a3400582c633cfead27f805df9a9c56d4852d1a  nokogiri-1.19.2-x64-mingw-ucrt.gem\r\n7d9af11fda72dfaa2961d8c4d5380ca0b51bc389dc5f8d4b859b9644f195e7a4  nokogiri-1.19.2-x86_64-darwin.gem\r\nfa8feca882b73e871a9845f3817a72e9734c8e974bdc4fbad6e4bc6e8076b94f  nokogiri-1.19.2-x86_64-linux-gnu.gem\r\n93128448e61a9383a30baef041bf1f5817e22f297a1d400521e90294445069a8  nokogiri-1.19.2-x86_64-linux-musl.gem\r\n38fdd8b59db3d5ea9e7dfb14702e882b9bf819198d5bf976f17ebce12c481756  nokogiri-1.19.2.gem\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/sparklemotion/nokogiri/compare/v1.19.1...v1.19.2\"\u003ehttps://github.com/sparklemotion/nokogiri/compare/v1.19.1...v1.19.2\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/sparklemotion/nokogiri/blob/main/CHANGELOG.md\"\u003enokogiri's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.19.2 / 2026-03-19\u003c/h2\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[JRuby] Saxon-HE is updated to 12.7, from 9.6.0-4. Saxon-HE is a transitive dependency of nu.validator:jing, and this update addresses CVEs in Saxon-HE's own transitive dependencies JDOM and dom4j. We don't think this warrants a security release, however we're cutting a patch release to help users whose security scanners are flagging this. \u003ca href=\"https://redirect.github.com/sparklemotion/nokogiri/issues/3611\"\u003e#3611\u003c/a\u003e \u003ca href=\"https://github.com/flavorjones\"\u003e\u003ccode\u003e@​flavorjones\u003c/code\u003e\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/sparklemotion/nokogiri/commit/6f5d025af4d2721248095258d98a481839ec79de\"\u003e\u003ccode\u003e6f5d025\u003c/code\u003e\u003c/a\u003e version bump to v1.19.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/6d4677f30e05a7a64bc9712b6eee1816d9a9082b\"\u003e\u003ccode\u003e6d4677f\u003c/code\u003e\u003c/a\u003e dep: upgrade Saxon-HE from 9.6.0-4 to 12.7 [v1.19.x backport] (\u003ca href=\"https://redirect.github.com/sparklemotion/nokogiri/issues/3614\"\u003e#3614\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/acf9527e62671c9aa3c32c34007e88ae64ce4eda\"\u003e\u003ccode\u003eacf9527\u003c/code\u003e\u003c/a\u003e dep: upgrade Saxon-HE from 9.6.0-4 to 12.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/b42e62066cc71861313ebb1fe97a70b717579d43\"\u003e\u003ccode\u003eb42e620\u003c/code\u003e\u003c/a\u003e Skip compressed file SAX test on libxml2 \u0026gt;= 2.15\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/sparklemotion/nokogiri/compare/v1.19.1...v1.19.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `omniauth-google-oauth2` from 1.2.1 to 1.2.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/zquestz/omniauth-google-oauth2/releases\"\u003eomniauth-google-oauth2's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease 1.2.2\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRuby 4.0 support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDeprecated\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eNothing.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRemoved\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUnused \u003ccode\u003eIMAGE_SIZE_REGEXP\u003c/code\u003e constant.\u003c/li\u003e\n\u003cli\u003eDead \u003ccode\u003eskip_friends\u003c/code\u003e and \u003ccode\u003eskip_image_info\u003c/code\u003e options (Google+ was shut down in 2019).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eReplaced \u003ccode\u003eCGI.parse\u003c/code\u003e with \u003ccode\u003eURI.decode_www_form\u003c/code\u003e for Ruby 4.0 compatibility.\u003c/li\u003e\n\u003cli\u003eUpdated gemspec description to reference OmniAuth instead of OmniAuth 1.x.\u003c/li\u003e\n\u003cli\u003eModernized CI: bumped actions/checkout to v6, rake to 13.3, and rubocop to latest.\u003c/li\u003e\n\u003cli\u003eAdded edge case tests for \u003ccode\u003euid\u003c/code\u003e, \u003ccode\u003estrip_unnecessary_query_parameters\u003c/code\u003e, \u003ccode\u003everify_token\u003c/code\u003e, \u003ccode\u003everify_hd\u003c/code\u003e wildcard, and malformed JSON handling.\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/zquestz/omniauth-google-oauth2/blob/master/CHANGELOG.md\"\u003eomniauth-google-oauth2's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.2.2 - 2026-02-23\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRuby 4.0 support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDeprecated\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eNothing.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRemoved\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUnused \u003ccode\u003eIMAGE_SIZE_REGEXP\u003c/code\u003e constant.\u003c/li\u003e\n\u003cli\u003eDead \u003ccode\u003eskip_friends\u003c/code\u003e and \u003ccode\u003eskip_image_info\u003c/code\u003e options (Google+ was shut down in 2019).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eReplaced \u003ccode\u003eCGI.parse\u003c/code\u003e with \u003ccode\u003eURI.decode_www_form\u003c/code\u003e for Ruby 4.0 compatibility.\u003c/li\u003e\n\u003cli\u003eUpdated gemspec description to reference OmniAuth instead of OmniAuth 1.x.\u003c/li\u003e\n\u003cli\u003eModernized CI: bumped actions/checkout to v6, rake to 13.3, and rubocop to latest.\u003c/li\u003e\n\u003cli\u003eAdded edge case tests for \u003ccode\u003euid\u003c/code\u003e, \u003ccode\u003estrip_unnecessary_query_parameters\u003c/code\u003e, \u003ccode\u003everify_token\u003c/code\u003e, \u003ccode\u003everify_hd\u003c/code\u003e wildcard, and malformed JSON handling.\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/zquestz/omniauth-google-oauth2/commit/5158faa94a620d8ec4d9ce400aabfef3a3844dd9\"\u003e\u003ccode\u003e5158faa\u003c/code\u003e\u003c/a\u003e Add release date to CHANGELOG.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zquestz/omniauth-google-oauth2/commit/c5f46005e0207d2e436cf0db37c85170cca04da7\"\u003e\u003ccode\u003ec5f4600\u003c/code\u003e\u003c/a\u003e Update docs and examples\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zquestz/omniauth-google-oauth2/commit/4c14af8e1e6dc2615da908c50e4b0b757972922e\"\u003e\u003ccode\u003e4c14af8\u003c/code\u003e\u003c/a\u003e Backfill missing tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zquestz/omniauth-google-oauth2/commit/e66d0bbe6ad91f9f5a60056dae2ebf850373f249\"\u003e\u003ccode\u003ee66d0bb\u003c/code\u003e\u003c/a\u003e Clean up dead code, modernize CI, and prep 1.2.2 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zquestz/omniauth-google-oauth2/commit/b902e8e7585e8e3610040d9c770f2d4e90b6f132\"\u003e\u003ccode\u003eb902e8e\u003c/code\u003e\u003c/a\u003e Modernize CI: bump rubocop, checkout action, and tooling defaults\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zquestz/omniauth-google-oauth2/commit/ac9a979db8ee097971d5d70c12142070c539d8ab\"\u003e\u003ccode\u003eac9a979\u003c/code\u003e\u003c/a\u003e Add Ruby 4.0 to CI (\u003ca href=\"https://redirect.github.com/zquestz/omniauth-google-oauth2/issues/474\"\u003e#474\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zquestz/omniauth-google-oauth2/commit/d3f1c912e438ccf6aba577c66772bf2e37373d73\"\u003e\u003ccode\u003ed3f1c91\u003c/code\u003e\u003c/a\u003e Add GitHub pages config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zquestz/omniauth-google-oauth2/commit/253f023cdd8a5d5e05b3fed9aa00ae478a6c2997\"\u003e\u003ccode\u003e253f023\u003c/code\u003e\u003c/a\u003e Remove calendar scope on example app\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zquestz/omniauth-google-oauth2/commit/baaf3b755ea1a02c9f811fd513b0fe90fdd2defb\"\u003e\u003ccode\u003ebaaf3b7\u003c/code\u003e\u003c/a\u003e chore(doc): update JavaScript example in README (\u003ca href=\"https://redirect.github.com/zquestz/omniauth-google-oauth2/issues/472\"\u003e#472\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zquestz/omniauth-google-oauth2/commit/dcea9d208416b53af0956d95ce54daa424d36490\"\u003e\u003ccode\u003edcea9d2\u003c/code\u003e\u003c/a\u003e Add Ruby 3.3 and 3.4 to CI matrix\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/zquestz/omniauth-google-oauth2/compare/v1.2.1...v1.2.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `puma` from 7.1.0 to 8.0.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/puma/puma/releases\"\u003epuma's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev8.0.0 - Into the Arena\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003eRead our \u003ca href=\"https://github.com/puma/puma/blob/main/docs/8.0-Upgrade.md\"\u003eVersion 8 Upgrade Guide.\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFeatures\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eenv[\u0026quot;puma.mark_as_io_bound\u0026quot;]\u003c/code\u003e API and \u003ccode\u003emax_io_threads\u003c/code\u003e config to allow IO-bound requests to exceed the thread pool max, enabling better handling of mixed workloads (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3816\"\u003e#3816\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/puma/puma/issues/3894\"\u003e#3894\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003esingle\u003c/code\u003e and \u003ccode\u003ecluster\u003c/code\u003e DSL hooks for mode-specific configuration (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3621\"\u003e#3621\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eon_force\u003c/code\u003e option to \u003ccode\u003eshutdown_debug\u003c/code\u003e to only dump thread backtraces on forced (non-graceful) shutdown (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3671\"\u003e#3671\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd API to dynamically update min and max thread counts at runtime via \u003ccode\u003eupdate_thread_pool_min_max\u003c/code\u003e and \u003ccode\u003eServerPluginControl\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3658\"\u003e#3658\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse SIGPWR for thread backtrace dumps on Linux/JRuby where SIGINFO is unavailable (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3829\"\u003e#3829\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eBugfixes\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix phased restart for \u003ccode\u003efork_worker\u003c/code\u003e to avoid forking from stale worker 0 when it has been replaced (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3853\"\u003e#3853\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003ePerformance\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eJRuby HTTP parser improvements: pre-allocated header keys, perfect hash lookup, reduced memory copies (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3838\"\u003e#3838\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCache downcased header key in \u003ccode\u003estr_headers\u003c/code\u003e to avoid redundant \u003ccode\u003eString#downcase\u003c/code\u003e calls, reducing allocations by ~50% per response (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3874\"\u003e#3874\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRefactor\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCollect \u003ccode\u003eenv\u003c/code\u003e processing into dedicated \u003ccode\u003eclient_env.rb\u003c/code\u003e module (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3582\"\u003e#3582\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMove event to default configuration (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3872\"\u003e#3872\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDocs\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd gRPC guide for configuring gRPC lifecycle hooks in clustered mode (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3885\"\u003e#3885\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd 7.0 upgrade guide, move 5.0/6.0 upgrade guides to docs directory (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3900\"\u003e#3900\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCorrect default values for \u003ccode\u003epersistent_timeout\u003c/code\u003e and \u003ccode\u003eworker_boot_timeout\u003c/code\u003e in DSL docs (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3912\"\u003e#3912\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd file descriptor limit warning in test helper for contributors (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3893\"\u003e#3893\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eBreaking changes\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDefault production bind address changed from \u003ccode\u003e0.0.0.0\u003c/code\u003e to \u003ccode\u003e::\u003c/code\u003e (IPv6) when a non-loopback IPv6 interface is available; falls back to \u003ccode\u003e0.0.0.0\u003c/code\u003e if IPv6 is unavailable (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3847\"\u003e#3847\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev7.2.0 - On The Corner\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFeatures\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd workers \u003ccode\u003e:auto\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3827\"\u003e#3827\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMake it possible to restrict control server commands to stats (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3787\"\u003e#3787\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eBugfixes\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDon't break if \u003ccode\u003eWEB_CONCURRENCY\u003c/code\u003e is set to a blank string (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3837\"\u003e#3837\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDon't share server between worker 0 and descendants on refork (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3602\"\u003e#3602\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix phase check race condition in \u003ccode\u003ePuma::Cluster#check_workers\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3690\"\u003e#3690\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix advertising of CLI config before config files are loaded (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3823\"\u003e#3823\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003ePerformance\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e17% faster HTTP parsing through pre-interning env keys (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3825\"\u003e#3825\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImplement \u003ccode\u003edsize\u003c/code\u003e and \u003ccode\u003edcompact\u003c/code\u003e functions for \u003ccode\u003ePuma::HttpParser\u003c/code\u003e, which makes Puma's C-extension GC-compactible (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3828\"\u003e#3828\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRefactor\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRemove \u003ccode\u003eNoMethodError\u003c/code\u003e rescue in \u003ccode\u003eReactor#select_loop\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3831\"\u003e#3831\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eVarious cleanups in the C extension (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3814\"\u003e#3814\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\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/puma/puma/blob/main/History.md\"\u003epuma's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.0.0 / 2026-03-27\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFeatures\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eenv[\u0026quot;puma.mark_as_io_bound\u0026quot;]\u003c/code\u003e API and \u003ccode\u003emax_io_threads\u003c/code\u003e config to allow IO-bound requests to exceed the thread pool max, enabling better handling of mixed workloads (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3816\"\u003e#3816\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/puma/puma/issues/3894\"\u003e#3894\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003esingle\u003c/code\u003e and \u003ccode\u003ecluster\u003c/code\u003e DSL hooks for mode-specific configuration (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3621\"\u003e#3621\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eon_force\u003c/code\u003e option to \u003ccode\u003eshutdown_debug\u003c/code\u003e to only dump thread backtraces on forced (non-graceful) shutdown (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3671\"\u003e#3671\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd API to dynamically update min and max thread counts at runtime via \u003ccode\u003eupdate_thread_pool_min_max\u003c/code\u003e and \u003ccode\u003eServerPluginControl\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3658\"\u003e#3658\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse SIGPWR for thread backtrace dumps on Linux/JRuby where SIGINFO is unavailable (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3829\"\u003e#3829\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eBugfixes\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix phased restart for \u003ccode\u003efork_worker\u003c/code\u003e to avoid forking from stale worker 0 when it has been replaced (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3853\"\u003e#3853\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003ePerformance\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eJRuby HTTP parser improvements: pre-allocated header keys, perfect hash lookup, reduced memory copies (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3838\"\u003e#3838\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCache downcased header key in \u003ccode\u003estr_headers\u003c/code\u003e to avoid redundant \u003ccode\u003eString#downcase\u003c/code\u003e calls, reducing allocations by ~50% per response (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3874\"\u003e#3874\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRefactor\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCollect \u003ccode\u003eenv\u003c/code\u003e processing into dedicated \u003ccode\u003eclient_env.rb\u003c/code\u003e module (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3582\"\u003e#3582\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMove event to default configuration (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3872\"\u003e#3872\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDocs\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd gRPC guide for configuring gRPC lifecycle hooks in clustered mode (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3885\"\u003e#3885\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd 7.0 upgrade guide, move 5.0/6.0 upgrade guides to docs directory (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3900\"\u003e#3900\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCorrect default values for \u003ccode\u003epersistent_timeout\u003c/code\u003e and \u003ccode\u003eworker_boot_timeout\u003c/code\u003e in DSL docs (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3912\"\u003e#3912\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd file descriptor limit warning in test helper for contributors (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3893\"\u003e#3893\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eBreaking changes\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDefault production bind address changed from \u003ccode\u003e0.0.0.0\u003c/code\u003e to \u003ccode\u003e::\u003c/code\u003e (IPv6) when a non-loopback IPv6 interface is available; falls back to \u003ccode\u003e0.0.0.0\u003c/code\u003e if IPv6 is unavailable (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3847\"\u003e#3847\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.2.0 / 2026-01-20\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFeatures\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd workers \u003ccode\u003e:auto\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3827\"\u003e#3827\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMake it possible to restrict control server commands to stats (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3787\"\u003e#3787\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eBugfixes\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDon't break if \u003ccode\u003eWEB_CONCURRENCY\u003c/code\u003e is set to a blank string (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3837\"\u003e#3837\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDon't share server between worker 0 and descendants on refork (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3602\"\u003e#3602\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix phase check race condition in \u003ccode\u003ePuma::Cluster#check_workers\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3690\"\u003e#3690\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix advertising of CLI config before config files are loaded (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3823\"\u003e#3823\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003ePerformance\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e17% faster HTTP parsing through pre-interning env keys (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3825\"\u003e#3825\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImplement \u003ccode\u003edsize\u003c/code\u003e and \u003ccode\u003edcompact\u003c/code\u003e functions for \u003ccode\u003ePuma::HttpParser\u003c/code\u003e, which makes Puma's C-extension GC-compactible (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3828\"\u003e#3828\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRefactor\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRemove \u003ccode\u003eNoMethodError\u003c/code\u003e rescue in \u003ccode\u003eReactor#select_loop\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3831\"\u003e#3831\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eVarious cleanups in the C extension (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3814\"\u003e#3814\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMonomorphize \u003ccode\u003ehandle_request\u003c/code\u003e return (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3802\"\u003e#3802\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\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/puma/puma/commit/08f63d495955eaee065d0ee18849f4ddcd52fe72\"\u003e\u003ccode\u003e08f63d4\u003c/code\u003e\u003c/a\u003e Release v8.0.0 (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3914\"\u003e#3914\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/7406cc192480ce9d01c9a47e6f41fcb1548217a6\"\u003e\u003ccode\u003e7406cc1\u003c/code\u003e\u003c/a\u003e Fix IPv4-mapped IPv6 addresses in \u003ccode\u003eREMOTE_ADDR\u003c/code\u003e and request logs (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3916\"\u003e#3916\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/e090243320eb743a6c03f77f4ffa9e1a24c677b1\"\u003e\u003ccode\u003ee090243\u003c/code\u003e\u003c/a\u003e Build(deps): Bump actions/checkout from 4 to 6 (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3915\"\u003e#3915\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/7d5dca1a561a95c2a6b8742b52c81c73cd2b95ca\"\u003e\u003ccode\u003e7d5dca1\u003c/code\u003e\u003c/a\u003e Update SECURITY.md, native Github vuln reports [ci skip] (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3913\"\u003e#3913\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/66e6a32de52d9beed43e1c598bda360f906ccbef\"\u003e\u003ccode\u003e66e6a32\u003c/code\u003e\u003c/a\u003e Minor correction to defaults documented in dsl.rb (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3912\"\u003e#3912\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/3788eca453a64ffb05a67115d3e2a276bbaf21a3\"\u003e\u003ccode\u003e3788eca\u003c/code\u003e\u003c/a\u003e ci: limit rack-conform to main pushes and scope ragel PR runs (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3908\"\u003e#3908\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/57b7799201adf43cdf508f90c57b95e23f49bbcd\"\u003e\u003ccode\u003e57b7799\u003c/code\u003e\u003c/a\u003e ci: run turbo-rails only on latest stable Ruby and Rails (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3909\"\u003e#3909\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/6685d6b8024c5480774b790808e4f0343e414fa5\"\u003e\u003ccode\u003e6685d6b\u003c/code\u003e\u003c/a\u003e ci: replace skip-duplicate jobs with concurrency and trigger filters (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3907\"\u003e#3907\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/2848c823dfc9838033d6ce342fee917e81aeedc1\"\u003e\u003ccode\u003e2848c82\u003c/code\u003e\u003c/a\u003e ci: run push workflows only on main and release branches (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3906\"\u003e#3906\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/97a37bb7c6a457f8846eb3ce307daadd4b38b4f8\"\u003e\u003ccode\u003e97a37bb\u003c/code\u003e\u003c/a\u003e Add release pre-merge checks and align Release.md [ci skip] (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3904\"\u003e#3904\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/puma/puma/compare/v7.1.0...v8.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rake` from 13.3.1 to 13.4.1\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rake/commit/92193acc3674fd1567bab0bcf3f5df37f141b47e\"\u003e\u003ccode\u003e92193ac\u003c/code\u003e\u003c/a\u003e v13.4.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rake/commit/b74be0be2421b7719ebde57420ff738479ada341\"\u003e\u003ccode\u003eb74be0b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/rake/issues/721\"\u003e#721\u003c/a\u003e from ruby/fix/add-options-to-gemspec\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rake/commit/829f66d86cd28810fdd3dcbc4fff8feabf554d73\"\u003e\u003ccode\u003e829f66d\u003c/code\u003e\u003c/a\u003e Add lib/rake/options.rb to gemspec\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rake/commit/2d55bc4a8b97db9f0c085df59d338077885f6f1a\"\u003e\u003ccode\u003e2d55bc4\u003c/code\u003e\u003c/a\u003e v13.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rake/commit/14150701d48a16400b820977f6d64a7f0604d9f0\"\u003e\u003ccode\u003e1415070\u003c/code\u003e\u003c/a\u003e Exclude dependabot updates from release note\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rake/commit/b3dc948e2689487b37052288097a6666e001effb\"\u003e\u003ccode\u003eb3dc948\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/rake/issues/713\"\u003e#713\u003c/a\u003e from pvdb/simplify_standard_system_dir\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rake/commit/4c01004905405af9670455f886ef072ff4b26851\"\u003e\u003ccode\u003e4c01004\u003c/code\u003e\u003c/a\u003e Ensure thread_pool.join runs even when an exception is raised\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rake/commit/dbeb18c8369a325eb0c9c6d0369a2c6fd25dc74b\"\u003e\u003ccode\u003edbeb18c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/rake/issues/719\"\u003e#719\u003c/a\u003e from ruby/dependabot/github_actions/ruby/setup-ruby-1...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rake/commit/a8fb42bc5a4bedfdd16c210e88baa705d5fca913\"\u003e\u003ccode\u003ea8fb42b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/rake/issues/717\"\u003e#717\u003c/a\u003e from ruby/dependabot/github_actions/actions/upload-pa...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rake/commit/451937af47e0ca398223843f4cc58d09457aae66\"\u003e\u003ccode\u003e451937a\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/rake/issues/718\"\u003e#718\u003c/a\u003e from ruby/dependabot/github_actions/lewagon/wait-on-c...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby/rake/compare/v13.3.1...v13.4.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `stripe` from 18.4.0 to 19.0.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/stripe/stripe-ruby/releases\"\u003estripe's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev19.0.0\u003c/h2\u003e\n\u003cp\u003eThis release changes the pinned API version to \u003ccode\u003e2026-03-25.dahlia\u003c/code\u003e and contains breaking changes (prefixed with ⚠️ below). There's also a \u003ca href=\"https://github.com/stripe/stripe-ruby/wiki/Migration-guide-for-v19\"\u003edetailed migration guide\u003c/a\u003e to simplify your upgrade process.\u003c/p\u003e\n\u003cp\u003ePlease review details for the breaking changes and alternatives in the \u003ca href=\"https://docs.stripe.com/changelog/dahlia\"\u003eStripe API changelog\u003c/a\u003e before upgrading.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e⚠️ \u003cstrong\u003eBreaking change:\u003c/strong\u003e \u003ca href=\"https://redirect.github.com/stripe/stripe-ruby/pull/1829\"\u003e#1829\u003c/a\u003e Add decimal_string coercion for v1 and v2 API fields\n\u003cul\u003e\n\u003cli\u003eAll \u003ccode\u003edecimal_string\u003c/code\u003e fields changed type from \u003ccode\u003eString\u003c/code\u003e to \u003ccode\u003eBigDecimal\u003c/code\u003e in both request params and response objects. Code that reads or writes these fields as \u003ccode\u003eString\u003c/code\u003e will need to use \u003ccode\u003eBigDecimal\u003c/code\u003e instead. Affected fields across v1 and v2 APIs:\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eCheckout::Session\u003c/strong\u003e: \u003ccode\u003efx_rate\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eClimate::Order\u003c/strong\u003e: \u003ccode\u003emetric_tons\u003c/code\u003e; \u003cstrong\u003eClimate::Product\u003c/strong\u003e: \u003ccode\u003emetric_tons_available\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eCreditNoteLineItem\u003c/strong\u003e: \u003ccode\u003eunit_amount_decimal\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eInvoiceItem\u003c/strong\u003e: \u003ccode\u003equantity_decimal\u003c/code\u003e, \u003ccode\u003eunit_amount_decimal\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eInvoiceLineItem\u003c/strong\u003e: \u003ccode\u003equantity_decimal\u003c/code\u003e, \u003ccode\u003eunit_amount_decimal\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eIssuing::Authorization\u003c/strong\u003e / \u003cstrong\u003eIssuing::Transaction\u003c/strong\u003e (and TestHelpers): \u003ccode\u003equantity_decimal\u003c/code\u003e, \u003ccode\u003eunit_cost_decimal\u003c/code\u003e, \u003ccode\u003egross_amount_decimal\u003c/code\u003e, \u003ccode\u003elocal_amount_decimal\u003c/code\u003e, \u003ccode\u003enational_amount_decimal\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ePlan\u003c/strong\u003e: \u003ccode\u003eamount_decimal\u003c/code\u003e, \u003ccode\u003eflat_amount_decimal\u003c/code\u003e, \u003ccode\u003eunit_amount_decimal\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ePrice\u003c/strong\u003e: \u003ccode\u003eunit_amount_decimal\u003c/code\u003e, \u003ccode\u003eflat_amount_decimal\u003c/code\u003e (including \u003ccode\u003ecurrency_options\u003c/code\u003e and \u003ccode\u003etiers\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eV2::Core::Account\u003c/strong\u003e / \u003cstrong\u003eV2::Core::AccountPerson\u003c/strong\u003e: \u003ccode\u003epercent_ownership\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eRequest params on \u003cstrong\u003eInvoice\u003c/strong\u003e, \u003cstrong\u003eProduct\u003c/strong\u003e, \u003cstrong\u003eQuote\u003c/strong\u003e, \u003cstrong\u003eSubscription\u003c/strong\u003e, \u003cstrong\u003eSubscriptionItem\u003c/strong\u003e, \u003cstrong\u003eSubscriptionSchedule\u003c/strong\u003e, \u003cstrong\u003ePaymentLink\u003c/strong\u003e: \u003ccode\u003eunit_amount_decimal\u003c/code\u003e, \u003ccode\u003eflat_amount_decimal\u003c/code\u003e, \u003ccode\u003equantity_decimal\u003c/code\u003e (where applicable)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e⚠️ \u003cstrong\u003eBreaking change:\u003c/strong\u003e \u003ca href=\"https://redirect.github.com/stripe/stripe-ruby/pull/1828\"\u003e#1828\u003c/a\u003e ⚠️ Throw an error when using the wrong webhook parsing method\u003c/li\u003e\n\u003cli\u003e⚠️ \u003cstrong\u003eBreaking change:\u003c/strong\u003e \u003ca href=\"https://redirect.github.com/stripe/stripe-ruby/pull/1823\"\u003e#1823\u003c/a\u003e ⚠️ Drop support for Ruby 2.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/stripe/stripe-ruby/pull/1825\"\u003e#1825\u003c/a\u003e Require cgi/escape instead of cgi\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/stripe/stripe-ruby/pull/1814\"\u003e#1814\u003c/a\u003e Add runtime support for V2 int64 string-encoded fields\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/stripe/stripe-ruby/pull/1817\"\u003e#1817\u003c/a\u003e Remove AlipayAccount and RecipientTransfer resource files\n\u003cul\u003e\n\u003cli\u003e⚠️ Removes \u003ccode\u003eStripe::AlipayAccount\u003c/code\u003e and \u003ccode\u003eStripe::RecipientTransfer\u003c/code\u003e resource classes (dead code since v7.0.0)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/stripe/stripe-ruby/pull/1816\"\u003e#1816\u003c/a\u003e remove v2-specific guards for removing nils from request params\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/stripe/stripe-ruby/pull/1824\"\u003e#1824\u003c/a\u003e Add gem dependency on logger\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/stripe/stripe-ruby/blob/v19.0.0/CHANGELOG.md\"\u003ethe changelog for more details\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003ev18.5.0-beta.1\u003c/h2\u003e\n\u003cp\u003eThis release changes the pinned API version to \u003ccode\u003e2026-02-25.preview\u003c/code\u003e.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/stripe/stripe-ruby/pull/1789\"\u003e#1789\u003c/a\u003e Update generated code for beta\n\u003cul\u003e\n\u003cli\u003eAdd support for \u003ccode\u003esmart_disputes\u003c/code\u003e on \u003ccode\u003eAccount::Setting\u003c/code\u003e, \u003ccode\u003eAccountCreateParams::Setting\u003c/code\u003e, \u003ccode\u003eAccountUpdateParams::Setting\u003c/code\u003e, \u003ccode\u003eV2::Core::Account::Configuration::Merchant\u003c/code\u003e, \u003ccode\u003eV2::Core::AccountCreateParams::Configuration::Merchant\u003c/code\u003e, and \u003ccode\u003eV2::Core::AccountUpdateParams::Configuration::Merchant\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for \u003ccode\u003eemail_customers_on_successful_payment\u003c/code\u003e on \u003ccode\u003eAccount::Setting::Payment\u003c/code\u003e, \u003ccode\u003eAccountCreateParams::Setting::Payment\u003c/code\u003e, and \u003ccode\u003eAccountUpdateParams::Setting::Payment\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for \u003ccode\u003emanaged_payments\u003c/code\u003e on \u003ccode\u003eCheckout::SessionCreateParams\u003c/code\u003e, \u003ccode\u003eCheckout::Session\u003c/code\u003e, \u003ccode\u003ePaymentIntent\u003c/code\u003e, \u003ccode\u003eSetupIntent\u003c/code\u003e, and \u003ccode\u003eSubscription\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for \u003ccode\u003epurpose\u003c/code\u003e on \u003ccode\u003eV2::MoneyManagement::OutboundPaymentCreateParams\u003c/code\u003e and \u003ccode\u003eV2::MoneyManagement::OutboundPayment\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for \u003ccode\u003ebranch_number\u003c/code\u003e and \u003ccode\u003eswift_code\u003c/code\u003e on \u003ccode\u003eV2::MoneyManagement::PayoutMethod::BankAccount\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eChange \u003ccode\u003eV2::MoneyManagement::Transaction.flow\u003c/code\u003e and \u003ccode\u003eV2::MoneyManagement::TransactionEntry::TransactionDetail.flow\u003c/code\u003e to be optional\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/stripe/stripe-ruby/blob/v18.5.0-beta.1/CHANGELOG.md\"\u003ethe changelog for more details\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003ev18.5.0-alpha.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/stripe/stripe-ruby/pull/1818\"\u003e#1818\u003c/a\u003e Update generated code for private-preview\n\u003cul\u003e\n\u003cli\u003eAdd support for \u003ccode\u003esimulate_crypto_deposit\u003c/code\u003e test helper method on resource \u003ccode\u003ePaymentIntent\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for \u003ccode\u003edeposit_options\u003c/code\u003e and \u003ccode\u003emode\u003c/code\u003e on \u003ccode\u003ePaymentIntent::PaymentMethodOption::Crypto\u003c/code\u003e, \u003ccode\u003ePaymentIntentConfirmParams::PaymentMethodOption::Crypto\u003c/code\u003e, \u003ccode\u003ePaymentIntentCreateParams::PaymentMethodOption::Crypto\u003c/code\u003e, and \u003ccode\u003ePaymentIntentUpdateParams::PaymentMethodOption::Crypto\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for \u003ccode\u003ecrypto_display_details\u003c/code\u003e on \u003ccode\u003ePaymentIntent::NextAction\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/stripe/stripe-ruby/pull/1812\"\u003e#1812\u003c/a\u003e Update generated code for private-preview\n\u003cul\u003e\n\u003cli\u003eAdd support for new resources \u003ccode\u003eOrchestration::PaymentAttempt\u003c/code\u003e and \u003ccode\u003eRadar::CustomerEvaluation\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for \u003ccode\u003eretrieve\u003c/code\u003e method on resource \u003ccode\u003eOrchestration::PaymentAttempt\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for \u003ccode\u003ecreate\u003c/code\u003e and \u003ccode\u003eupdate\u003c/code\u003e methods on resource \u003ccode\u003eRadar::CustomerEvaluation\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\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/stripe/stripe-ruby/blob/master/CHANGELOG.md\"\u003estripe's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e19.0.0 - 2026-03-25\u003c/h2\u003e\n\u003cp\u003eThis release changes the pinned API version to \u003ccode\u003e2026-03-25.dahlia\u003c/code\u003e and contains breaking changes (prefixed with ⚠️ below). There's also a \u003ca href=\"https://github.com/stripe/stripe-ruby/wiki/Migration-guide-for-v19\"\u003edetailed migration guide\u003c/a\u003e to simplify your upgrade process.\u003c/p\u003e\n\u003cp\u003ePlease review details for the breaking changes and alternatives in the \u003ca href=\"https://docs.stripe.com/changelog/dahlia\"\u003eStripe API changelog\u003c/a\u003e before upgrading.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e⚠️ \u003cstrong\u003eBreaking change:\u003c/strong\u003e \u003ca href=\"https://redirect.github.com/stripe/stripe-ruby/pull/1829\"\u003e#1829\u003c/a\u003e Add decimal_string coercion for v1 and v2 API fields\n\u003cul\u003e\n\u003cli\u003eAll \u003ccode\u003edecimal_string\u003c/code\u003e fields changed type from \u003ccode\u003eString\u003c/code\u003e to \u003ccode\u003eBigDecimal\u003c/code\u003e in both request params and response objects. Code that reads or writes these fields as \u003ccode\u003eString\u003c/code\u003e will need to use \u003ccode\u003eBigDecimal\u003c/code\u003e instead. Affected fields across v1 and v2 APIs:\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eCheckout::Session\u003c/strong\u003e: \u003ccode\u003efx_rate\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eClimate::Order\u003c/strong\u003e: \u003ccode\u003emetric_tons\u003c/code\u003e; \u003cstrong\u003eClimate::Product\u003c/strong\u003e: \u003ccode\u003emetric_tons_available\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eCreditNoteLineItem\u003c/strong\u003e: \u003ccode\u003eunit_amount_decimal\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eInvoiceItem\u003c/strong\u003e: \u003ccode\u003equantity_decimal\u003c/code\u003e, \u003ccode\u003eunit_amount_decimal\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eInvoiceLineItem\u003c/strong\u003e: \u003ccode\u003equantity_decimal\u003c/code\u003e, \u003ccode\u003eunit_amount_decimal\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eIssuing::Authorization\u003c/strong\u003e / \u003cstrong\u003eIssuing::Transaction\u003c/strong\u003e (and TestHelpers): \u003ccode\u003equantity_decimal\u003c/code\u003e, \u003ccode\u003eunit_cost_decimal\u003c/code\u003e, \u003ccode\u003egross_amount_decimal\u003c/code\u003e, \u003ccode\u003elocal_amount_decimal\u003c/code\u003e, \u003ccode\u003enational_amount_decimal\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ePlan\u003c/strong\u003e: \u003ccode\u003eamount_decimal\u003c/code\u003e, \u003ccode\u003eflat_amount_decimal\u003c/code\u003e, \u003ccode\u003eunit_amount_decimal\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ePrice\u003c/strong\u003e: \u003ccode\u003eunit_amount_decimal\u003c/code\u003e, \u003ccode\u003eflat_amount_decimal\u003c/code\u003e (including \u003ccode\u003ecurrency_options\u003c/code\u003e and \u003ccode\u003etiers\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eV2::Core::Account\u003c/strong\u003e / \u003cstrong\u003eV2::Core::AccountPerson\u003c/strong\u003e: \u003ccode\u003epercent_ownership\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eRequest params on \u003cstrong\u003eInvoice\u003c/strong\u003e, \u003cstrong\u003eProduct\u003c/strong\u003e, \u003cstrong\u003eQuote\u003c/strong\u003e, \u003cstrong\u003eSubscription\u003c/strong\u003e, \u003cstrong\u003eSubscriptionItem\u003c/strong\u003e, \u003cstrong\u003eSubscriptionSchedule\u003c/strong\u003e, \u003cstrong\u003ePaymentLink\u003c/strong\u003e: \u003ccode\u003eunit_amount_decimal\u003c/code\u003e, \u003ccode\u003eflat_amount_decimal\u003c/code\u003e, \u003ccode\u003equantity_decimal\u003c/code\u003e (where applicable)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e⚠️ \u003cstrong\u003eBreaking change:\u003c/strong\u003e \u003ca href=\"https://redirect.github.com/stripe/stripe-ruby/pull/1828\"\u003e#1828\u003c/a\u003e ⚠️ Throw an error when using the wrong webhook parsing method\u003c/li\u003e\n\u003cli\u003e⚠️ \u003cstrong\u003eBreaking change:\u003c/strong\u003e \u003ca href=\"https://redirect.github.com/stripe/stripe-ruby/pull/1823\"\u003e#1823\u003c/a\u003e ⚠️ Drop support for Ruby 2.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/stripe/stripe-ruby/pull/1825\"\u003e#1825\u003c/a\u003e Require cgi/escape instead of cgi\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/stripe/stripe-ruby/pull/1814\"\u003e#1814\u003c/a\u003e Add runtime support for V2 int64 string-encoded fields\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/stripe/stripe-ruby/pull/1817\"\u003e#1817\u003c/a\u003e Remove AlipayAccount and RecipientTransfer resource files\n\u003cul\u003e\n\u003cli\u003e⚠️ Removes \u003ccode\u003eStripe::AlipayAccount\u003c/code\u003e and \u003ccode\u003eStripe::RecipientTransfer\u003c/code\u003e resource classes (dead code since v7.0.0)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/stripe/stripe-ruby/pull/1816\"\u003e#1816\u003c/a\u003e remove v2-specific guards for removing nils from request params\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/stripe/stripe-ruby/pull/1824\"\u003e#1824\u003c/a\u003e Add gem dependency on logger\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e⚠️ Breaking changes due to changes in the Stripe API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eGenerated changes from \u003ca href=\"https://redirect.github.com/stripe/stripe-ruby/pull/1804\"\u003e#1804\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/stripe/stripe-ruby/pull/1834\"\u003e#1834\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/stripe/stripe-ruby/pull/1831\"\u003e#1831\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/stripe/stripe-ruby/pull/1830\"\u003e#1830\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for \u003ccode\u003eupi_payments\u003c/code\u003e on \u003ccode\u003eAccount::Capability\u003c/code\u003e, \u003ccode\u003eAccountCreateParams::Capability\u003c/code\u003e, and \u003ccode\u003eAccountUpdateParams::Capability\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for \u003ccode\u003eupi\u003c/code\u003e on \u003ccode\u003eCharge::PaymentMethodDetail\u003c/code\u003e, \u003ccode\u003eCheckout::Session::PaymentMethodOption\u003c/code\u003e, \u003ccode\u003eCheckout::SessionCreateParams::PaymentMethodOption\u003c/code\u003e, \u003ccode\u003eConfirmationToken::PaymentMethodPreview\u003c/code\u003e, \u003ccode\u003eConfirmationTokenCreateParams::PaymentMethodDatum\u003c/code\u003e, \u003ccode\u003eMandate::PaymentMethodDetail\u003c/code\u003e, \u003ccode\u003ePaymentAttemptRecord::PaymentMethodDetail\u003c/code\u003e, \u003ccode\u003ePaymentIntent::PaymentMethodOption\u003c/code\u003e, \u003ccode\u003ePaymentIntentConfirmParams::PaymentMethodDatum\u003c/code\u003e, \u003ccode\u003ePaymentIntentConfirmParams::PaymentMethodOption\u003c/code\u003e, \u003ccode\u003ePaymentIntentCreateParams::PaymentMethodDatum\u003c/code\u003e, \u003ccode\u003ePaymentIntentCreateParams::PaymentMethodOption\u003c/code\u003e, \u003ccode\u003ePaymentIntentUpdateParams::PaymentMethodDatum\u003c/code\u003e, \u003ccode\u003ePaymentIntentUpdateParams::PaymentMethodOption\u003c/code\u003e, \u003ccode\u003ePaymentMethodConfigurationCreateParams\u003c/code\u003e, \u003ccode\u003ePaymentMethodConfigurationUpdateParams\u003c/code\u003e, \u003ccode\u003ePaymentMethodConfiguration\u003c/code\u003e, \u003ccode\u003ePaymentMethodCreateParams\u003c/code\u003e, \u003ccode\u003ePaymentMethod\u003c/code\u003e, \u003ccode\u003ePaymentRecord::PaymentMethodDetail\u003c/code\u003e, \u003ccode\u003eSetupAttempt::PaymentMethodDetail\u003c/code\u003e, \u003ccode\u003eSetupIntent::PaymentMethodOption\u003c/code\u003e, \u003ccode\u003eSetupIntentConfirmParams::PaymentMethodDatum\u003c/code\u003e, \u003ccode\u003eSetupIntentConfirmParams::PaymentMethodOption\u003c/code\u003e, \u003ccode\u003eSetupIntentCreateParams::PaymentMethodDatum\u003c/code\u003e, \u003ccode\u003eSetupIntentCreateParams::PaymentMethodOption\u003c/code\u003e, \u003ccode\u003eSetupIntentUpdateParams::PaymentMethodDatum\u003c/code\u003e, and \u003ccode\u003eSetupIntentUpdateParams::PaymentMethodOption\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for \u003ccode\u003eintegration_identifier\u003c/code\u003e on \u003ccode\u003eCheckout::SessionCreateParams\u003c/code\u003e and \u003ccode\u003eCheckout::Session\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for \u003ccode\u003ecrypto\u003c/code\u003e on \u003ccode\u003eCheckout::SessionCreateParams::PaymentMethodOption\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for \u003ccode\u003epending_invoice_item_interval\u003c/code\u003e on \u003ccode\u003eCheckout::SessionCreateParams::SubscriptionDatum\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for \u003ccode\u003emetadata\u003c/code\u003e on \u003ccode\u003eCreditNoteCreateParams::Line\u003c/code\u003e, \u003ccode\u003eCreditNoteLineItem\u003c/code\u003e, \u003ccode\u003eCreditNoteListPreviewLineItemsParams::Line\u003c/code\u003e, and \u003ccode\u003eCreditNotePreviewParams::Line\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for \u003ccode\u003equantity_decimal\u003c/code\u003e on \u003ccode\u003eInvoiceAddLinesParams::Line\u003c/code\u003e, \u003ccode\u003eInvoiceCreatePreviewParams::InvoiceItem\u003c/code\u003e, \u003ccode\u003eInvoiceItemCreateParams\u003c/code\u003e, \u003ccode\u003eInvoiceItemUpdateParams\u003c/code\u003e, \u003ccode\u003eInvoiceItem\u003c/code\u003e, \u003ccode\u003eInvoiceLineItemUpdateParams\u003c/code\u003e, \u003ccode\u003eInvoiceLineItem\u003c/code\u003e, and \u003ccode\u003eInvoiceUpdateLinesParams::Line\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e⚠️ Add support for \u003ccode\u003elevel\u003c/code\u003e on \u003ccode\u003eIssuing::AuthorizationCreateParams::RiskAssessment::CardTestingRisk\u003c/code\u003e and \u003ccode\u003eIssuing::AuthorizationCreateParams::RiskAssessment::MerchantDisputeRisk\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e⚠️ Remove support for \u003ccode\u003erisk_level\u003c/code\u003e on \u003ccode\u003eIssuing::AuthorizationCreateParams::RiskAssessment::CardTestingRisk\u003c/code\u003e and \u003ccode\u003eIssuing::AuthorizationCreateParams::RiskAssessment::MerchantDisputeRisk\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for \u003ccode\u003elifecycle_controls\u003c/code\u003e on \u003ccode\u003eIssuing::CardCreateParams\u003c/code\u003e and \u003ccode\u003eIssuing::Card\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e⚠️ Change type of \u003ccode\u003eIssuing::Token::NetworkDatum::Visa.card_reference_id\u003c/code\u003e from \u003ccode\u003estring\u003c/code\u003e to \u003ccode\u003enullable(string)\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e⚠️ Change type of \u003ccode\u003ePaymentAttemptRecord::PaymentMethodDetail::Card.brand\u003c/code\u003e and \u003ccode\u003ePaymentRecord::PaymentMethodDetail::Card.brand\u003c/code\u003e from \u003ccode\u003eenum\u003c/code\u003e to \u003ccode\u003enullable(enum)\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e⚠️ Change type of \u003ccode\u003ePaymentAttemptRecord::PaymentMethodDetail::Card.exp_month\u003c/code\u003e and \u003ccode\u003ePaymentRecord::PaymentMethodDetail::Card.exp_month\u003c/code\u003e from \u003ccode\u003elongInteger\u003c/code\u003e to \u003ccode\u003enullable(longInteger)\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e⚠️ Change type of \u003ccode\u003ePaymentAttemptRecord::PaymentMethodDetail::Card.exp_year\u003c/code\u003e and \u003ccode\u003ePaymentRecord::PaymentMethodDetail::Card.exp_year\u003c/code\u003e from \u003ccode\u003elongInteger\u003c/code\u003e to \u003ccode\u003enullable(longInteger)\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e⚠️ Change type of \u003ccode\u003ePaymentAttemptRecord::PaymentMethodDetail::Card.funding\u003c/code\u003e and \u003ccode\u003ePaymentRecord::PaymentMethodDetail::Card.funding\u003c/code\u003e from \u003ccode\u003eenum('credit'|'debit'|'prepaid'|'unknown')\u003c/code\u003e to \u003ccode\u003enullable(enum('credit'|'debit'|'prepaid'|'unknown'))\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e⚠️ Change type of \u003ccode\u003ePaymentAttemptRecord::PaymentMethodDetail::Card.last4\u003c/code\u003e and \u003ccode\u003ePaymentRecord::PaymentMethodDetail::Card.last4\u003c/code\u003e from \u003ccode\u003estring\u003c/code\u003e to \u003ccode\u003enullable(string)\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e⚠️ Change type of \u003ccode\u003ePaymentAttemptRecord::PaymentMethodDetail::Card.moto\u003c/code\u003e and \u003ccode\u003ePaymentRecord::PaymentMethodDetail::Card.moto\u003c/code\u003e from \u003ccode\u003eboolean\u003c/code\u003e to \u003ccode\u003enullable(boolean)\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for \u003ccode\u003ecryptogram\u003c/code\u003e, \u003ccode\u003eelectronic_commerce_indicator\u003c/code\u003e, \u003ccode\u003eexemption_indicator_applied\u003c/code\u003e, and \u003ccode\u003eexemption_indicator\u003c/code\u003e on \u003ccode\u003ePaymentAttemptRecord::PaymentMethodDetail::Card::ThreeDSecure\u003c/code\u003e and \u003ccode\u003ePaymentRecord::PaymentMethodDetail::Card::ThreeDSecure\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for \u003ccode\u003eupi_handle_redirect_or_display_qr_code\u003c/code\u003e on \u003ccode\u003ePaymentIntent::NextAction\u003c/code\u003e and \u003ccode\u003eSetupIntent::NextAction\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for \u003ccode\u003erecommended_action\u003c/code\u003e and \u003ccode\u003esignals\u003c/code\u003e on \u003ccode\u003eRadar::PaymentEvaluation\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\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/stripe/stripe-ruby/commit/e822bb2c6910149147e96efe3a697233b093b14d\"\u003e\u003ccode\u003ee822bb2\u003c/code\u003e\u003c/a\u003e Bump version to 19.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/stripe/stripe-ruby/commit/8ec331a2fb1eb232997e5b0b777edd1227b328bb\"\u003e\u003ccode\u003e8ec331a\u003c/code\u003e\u003c/a\u003e Update generated code for v2206 and (\u003ca href=\"https://redirect.github.com/stripe/stripe-ruby/issues/1834\"\u003e#1834\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/stripe/stripe-ruby/commit/2a55dcd1fa80b0589deffa5ac18b802067eecdfc\"\u003e\u003ccode\u003e2a55dcd\u003c/code\u003e\u003c/a\u003e Update generated code for v2205 and (\u003ca href=\"https://redirect.github.com/stripe/stripe-ruby/issues/1831\"\u003e#1831\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/stripe/stripe-ruby/commit/31a009a74de14e18a16132e23ccc2695098d179b\"\u003e\u003ccode\u003e31a009a\u003c/code\u003e\u003c/a\u003e Add decimal_string coercion for v1 and v2 API fields (\u003ca href=\"https://redirect.github.com/stripe/stripe-ruby/issues/1829\"\u003e#1829\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/stripe/stripe-ruby/commit/1b3b213b9dcb6557f8dc0f3b6b6b7441afaf49da\"\u003e\u003ccode\u003e1b3b213\u003c/code\u003e\u003c/a\u003e Update generated code for v2205 and (\u003ca href=\"https://redirect.github.com/stripe/stripe-ruby/issues/1830\"\u003e#1830\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/stripe/stripe-ruby/commit/5f7ca14df2c6a232e0ee0dd2e43b742cc387b2fb\"\u003e\u003ccode\u003e5f7ca14\u003c/code\u003e\u003c/a\u003e Add gem dependency on logger (\u003ca href=\"https://redirect.github.com/stripe/stripe-ruby/issues/1824\"\u003e#1824\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/stripe/stripe-ruby/commit/489e3f9af1db4e202de3b3ed52614fa78b866f07\"\u003e\u003ccode\u003e489e3f9\u003c/code\u003e\u003c/a\u003e Add errors when parsing the wrong kind of webhooks payload (\u003ca href=\"https://redirect.github.com/stripe/stripe-ruby/issues/1828\"\u003e#1828\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/stripe/stripe-ruby/commit/474d6313ba687528a537df552354227c6e155614\"\u003e\u003ccode\u003e474d631\u003c/code\u003e\u003c/a\u003e Update generated code (\u003ca href=\"https://redirect.github.com/stripe/stripe-ruby/issues/1804\"\u003e#1804\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/stripe/stripe-ruby/commit/f69d848307ae0f46b1d8f3550d939772c9d0e834\"\u003e\u003ccode\u003ef69d848\u003c/code\u003e\u003c/a\u003e Require cgi/escape instead of cgi (\u003ca href=\"https://redirect.github.com/stripe/stripe-ruby/issues/1825\"\u003e#1825\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/stripe/stripe-ruby/commit/f52faa430d285359b3dd420da26a648daf63f0fe\"\u003e\u003ccode\u003ef52faa4\u003c/code\u003e\u003c/a\u003e update supported versions (\u003ca href=\"https://redirect.github.com/stripe/stripe-ruby/issues/1823\"\u003e#1823\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/stripe/stripe-ruby/compare/v18.4.0...v19.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `tilt` from 2.6.1 to 2.7.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jeremyevans/tilt/blob/master/CHANGELOG.md\"\u003etilt's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.7.0 (2026-01-09)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport passing template-specific options to Tilt::Pipeline.new (LevitatingBusinessMan) (\u003ca href=\"https://redirect.github.com/jeremyevans/tilt/issues/24\"\u003e#24\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove deprecated creole template (jeremyevans)\u003c/li\u003e\n\u003cli\u003eMake the rendering of Prawn templates idempotent (rickenharp) (\u003ca href=\"https://redirect.github.com/jeremyevans/tilt/issues/20\"\u003e#20\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/jeremyevans/tilt/commit/2b1189faba686df872d8d9838c9d482e7c24ea19\"\u003e\u003ccode\u003e2b1189f\u003c/code\u003e\u003c/a\u003e Bump version to 2.7.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jeremyevans/tilt/commit/ac414e75f25a85c72b5bd8cf9e5f4a07828cfd56\"\u003e\u003ccode\u003eac414e7\u003c/code\u003e\u003c/a\u003e Minor changes to Tile::Pipeline.new options support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jeremyevans/tilt/commit/df4b7e3644f7d248ff70f1db7d2028b21e683a14\"\u003e\u003ccode\u003edf4b7e3\u003c/code\u003e\u003c/a\u003e allow additional options to pipeline\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jeremyevans/tilt/commit/f9193d5c1011ca9a77e2064ab1d143e75696b7f7\"\u003e\u003ccode\u003ef9193d5\u003c/code\u003e\u003c/a\u003e Drop JRuby 9.4 from CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jeremyevans/tilt/commit/712e75d1abb2e3c9731427e77140a44579ea7c7f\"\u003e\u003ccode\u003e712e75d\u003c/code\u003e\u003c/a\u003e Remove use of minitest mocks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jeremyevans/tilt/commit/d3aa2a0b3e8b1201f4dd35d5d44c82f07aa05699\"\u003e\u003ccode\u003ed3aa2a0\u003c/code\u003e\u003c/a\u003e Add Ruby 4.0 to CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jeremyevans/tilt/commit/8454c9fa5a2bd96ccadf469dbdeebc8f4aa95aba\"\u003e\u003ccode\u003e8454c9f\u003c/code\u003e\u003c/a\u003e Require URI in haml test to work around test failure on Ruby 4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jeremyevans/tilt/commit/e271cab3851ea8ece85d0072511bea2312792aa7\"\u003e\u003ccode\u003ee271cab\u003c/code\u003e\u003c/a\u003e Fix class name in coffeescript documentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jeremyevans/tilt/commit/1bca97079bb16db207a8fac1d10102caaf25327a\"\u003e\u003ccode\u003e1bca970\u003c/code\u003e\u003c/a\u003e Remove deprecated creole template\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jeremyevans/tilt/commit/7e5263ea8ebfa0f891de61139c940951243bc21c\"\u003e\u003ccode\u003e7e5263e\u003c/code\u003e\u003c/a\u003e Mention Tilt::StaticTemplate in README\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jeremyevans/tilt/compare/v2.6.1...v2.7.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `aws-partitions` from 1.1212.0 to 1.1241.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/aws/aws-sdk-ruby/blob/version-3/gems/aws-partitions/CHANGELOG.md\"\u003eaws-partitions's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.1241.0 (2026-04-24)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Updated the partitions source data the determines the AWS service regions and endpoints.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.1240.0 (2026-04-17)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Updated the partitions source data the deter...\n\n_Description has been truncated_","html_url":"https://github.com/NameawaShinderu/ubicloud-byoh/pull/18","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/NameawaShinderu%2Fubicloud-byoh/issues/18","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/18/packages"},{"uuid":"4265830819","node_id":"PR_kwDODdTws87Sfm-O","number":3207,"state":"open","title":"Bump the bundler group across 1 directory with 116 updates","user":"dependabot[bot]","labels":["dependencies","ruby"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-04-15T02:17:47.000Z","updated_at":"2026-04-22T02:21:05.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"bundler","update_count":116,"packages":[{"name":"bootsnap","old_version":"1.18.6","new_version":"1.23.0","repository_url":"https://github.com/rails/bootsnap"},{"name":"devise","old_version":"4.9.4","new_version":"5.0.3","repository_url":"https://github.com/heartcombo/devise"},{"name":"govuk-components","old_version":"5.11.3","new_version":"6.1.0","repository_url":"https://github.com/x-govuk/govuk-components"},{"name":"govuk_design_system_formbuilder","old_version":"5.11.0","new_version":"6.1.0","repository_url":"https://github.com/x-govuk/govuk-form-builder"},{"name":"haml-rails","old_version":"2.1.0","new_version":"3.0.0","repository_url":"https://github.com/haml/haml-rails"},{"name":"oauth2","old_version":"2.0.17","new_version":"2.0.18","repository_url":"https://github.com/ruby-oauth/oauth2"},{"name":"omniauth-rails_csrf_protection","old_version":"1.0.2","new_version":"2.0.1","repository_url":"https://github.com/cookpad/omniauth-rails_csrf_protection"},{"name":"pg","old_version":"1.6.2","new_version":"1.6.3","repository_url":"https://github.com/ged/ruby-pg"},{"name":"prometheus_exporter","old_version":"2.3.0","new_version":"2.3.1","repository_url":"https://github.com/discourse/prometheus_exporter"},{"name":"puma","old_version":"7.0.4","new_version":"8.0.0","repository_url":"https://github.com/puma/puma"},{"name":"rails","old_version":"8.0.3","new_version":"8.1.3","repository_url":"https://github.com/rails/rails"},{"name":"sentry-rails","old_version":"5.27.1","new_version":"6.5.0","repository_url":"https://github.com/getsentry/sentry-ruby"},{"name":"sentry-sidekiq","old_version":"5.27.1","new_version":"6.5.0","repository_url":"https://github.com/getsentry/sentry-ruby"},{"name":"haml_lint","old_version":"0.66.0","new_version":"0.73.0","repository_url":"https://github.com/sds/haml-lint"},{"name":"rubocop","old_version":"1.80.2","new_version":"1.86.1","repository_url":"https://github.com/rubocop/rubocop"},{"name":"dotenv-rails","old_version":"3.1.8","new_version":"3.2.0","repository_url":"https://github.com/bkeepers/dotenv"},{"name":"pry-byebug","old_version":"3.11.0","new_version":"3.12.0","repository_url":"https://github.com/deivid-rodriguez/pry-byebug"},{"name":"sidekiq","old_version":"8.0.7","new_version":"8.1.2","repository_url":"https://github.com/sidekiq/sidekiq"},{"name":"turbo-rails","old_version":"2.0.16","new_version":"2.0.23","repository_url":"https://github.com/hotwired/turbo-rails"},{"name":"axe-core-rspec","old_version":"4.10.3","new_version":"4.11.1","repository_url":"https://github.com/dequelabs/axe-core-gems"},{"name":"brakeman","old_version":"7.1.0","new_version":"8.0.4","repository_url":"https://github.com/presidentbeef/brakeman"},{"name":"i18n-tasks","old_version":"1.0.15","new_version":"1.1.2","repository_url":"https://github.com/glebm/i18n-tasks"},{"name":"rspec-rails","old_version":"8.0.2","new_version":"8.0.4","repository_url":"https://github.com/rspec/rspec-rails"},{"name":"rubocop-factory_bot","old_version":"2.27.1","new_version":"2.28.0","repository_url":"https://github.com/rubocop/rubocop-factory_bot"},{"name":"rubocop-performance","old_version":"1.26.0","new_version":"1.26.1","repository_url":"https://github.com/rubocop/rubocop-performance"},{"name":"rubocop-rails","old_version":"2.33.3","new_version":"2.34.3","repository_url":"https://github.com/rubocop/rubocop-rails"},{"name":"rubocop-rspec","old_version":"3.7.0","new_version":"3.9.0","repository_url":"https://github.com/rubocop/rubocop-rspec"},{"name":"rubocop-rspec_rails","old_version":"2.31.0","new_version":"2.32.0","repository_url":"https://github.com/rubocop/rubocop-rspec_rails"},{"name":"selenium-webdriver","old_version":"4.35.0","new_version":"4.43.0","repository_url":"https://github.com/SeleniumHQ/selenium"},{"name":"shoulda-matchers","old_version":"6.5.0","new_version":"7.0.1","repository_url":"https://github.com/thoughtbot/shoulda-matchers"},{"name":"vcr","old_version":"6.3.1","new_version":"6.4.0","repository_url":"https://github.com/vcr/vcr"},{"name":"webmock","old_version":"3.25.1","new_version":"3.26.2","repository_url":"https://github.com/bblimke/webmock"},{"name":"faker","old_version":"3.5.2","new_version":"3.7.1","repository_url":"https://github.com/faker-ruby/faker"},{"name":"pry","old_version":"0.15.2","new_version":"0.16.0","repository_url":"https://github.com/pry/pry"},{"name":"listen","old_version":"3.9.0","new_version":"3.10.0","repository_url":"https://github.com/guard/listen"},{"name":"spring","old_version":"4.4.0","new_version":"4.4.2","repository_url":"https://github.com/rails/spring"},{"name":"web-console","old_version":"4.2.1","new_version":"4.3.0","repository_url":"https://github.com/rails/web-console"},{"name":"net-imap","old_version":"0.5.10","new_version":"0.6.3","repository_url":"https://github.com/ruby/net-imap"},{"name":"factory_bot","old_version":"6.5.5","new_version":"6.5.6","repository_url":"https://github.com/thoughtbot/factory_bot"},{"name":"faraday-follow_redirects","old_version":"0.3.0","new_version":"0.5.0","repository_url":"https://github.com/tisba/faraday-follow-redirects"},{"name":"json-jwt","old_version":"1.16.7","new_version":"1.17.0","repository_url":"https://github.com/nov/json-jwt"},{"name":"rack-oauth2","old_version":"2.2.1","new_version":"2.3.0","repository_url":"https://github.com/nov/rack-oauth2"},{"name":"rspec","old_version":"3.13.1","new_version":"3.13.2","repository_url":"https://github.com/rspec/rspec"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps the bundler group with 43 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [bootsnap](https://github.com/rails/bootsnap) | `1.18.6` | `1.23.0` |\n| [devise](https://github.com/heartcombo/devise) | `4.9.4` | `5.0.3` |\n| [govuk-components](https://github.com/x-govuk/govuk-components) | `5.11.3` | `6.1.0` |\n| [govuk_design_system_formbuilder](https://github.com/x-govuk/govuk-form-builder) | `5.11.0` | `6.1.0` |\n| [haml-rails](https://github.com/haml/haml-rails) | `2.1.0` | `3.0.0` |\n| [oauth2](https://github.com/ruby-oauth/oauth2) | `2.0.17` | `2.0.18` |\n| [omniauth-rails_csrf_protection](https://github.com/cookpad/omniauth-rails_csrf_protection) | `1.0.2` | `2.0.1` |\n| [pg](https://github.com/ged/ruby-pg) | `1.6.2` | `1.6.3` |\n| [prometheus_exporter](https://github.com/discourse/prometheus_exporter) | `2.3.0` | `2.3.1` |\n| [puma](https://github.com/puma/puma) | `7.0.4` | `8.0.0` |\n| [rails](https://github.com/rails/rails) | `8.0.3` | `8.1.3` |\n| [sentry-rails](https://github.com/getsentry/sentry-ruby) | `5.27.1` | `6.5.0` |\n| [sentry-sidekiq](https://github.com/getsentry/sentry-ruby) | `5.27.1` | `6.5.0` |\n| [haml_lint](https://github.com/sds/haml-lint) | `0.66.0` | `0.73.0` |\n| [rubocop](https://github.com/rubocop/rubocop) | `1.80.2` | `1.86.1` |\n| [dotenv-rails](https://github.com/bkeepers/dotenv) | `3.1.8` | `3.2.0` |\n| [pry-byebug](https://github.com/deivid-rodriguez/pry-byebug) | `3.11.0` | `3.12.0` |\n| [sidekiq](https://github.com/sidekiq/sidekiq) | `8.0.7` | `8.1.2` |\n| [turbo-rails](https://github.com/hotwired/turbo-rails) | `2.0.16` | `2.0.23` |\n| [axe-core-rspec](https://github.com/dequelabs/axe-core-gems) | `4.10.3` | `4.11.1` |\n| [brakeman](https://github.com/presidentbeef/brakeman) | `7.1.0` | `8.0.4` |\n| [i18n-tasks](https://github.com/glebm/i18n-tasks) | `1.0.15` | `1.1.2` |\n| [rspec-rails](https://github.com/rspec/rspec-rails) | `8.0.2` | `8.0.4` |\n| [rubocop-factory_bot](https://github.com/rubocop/rubocop-factory_bot) | `2.27.1` | `2.28.0` |\n| [rubocop-performance](https://github.com/rubocop/rubocop-performance) | `1.26.0` | `1.26.1` |\n| [rubocop-rails](https://github.com/rubocop/rubocop-rails) | `2.33.3` | `2.34.3` |\n| [rubocop-rspec](https://github.com/rubocop/rubocop-rspec) | `3.7.0` | `3.9.0` |\n| [rubocop-rspec_rails](https://github.com/rubocop/rubocop-rspec_rails) | `2.31.0` | `2.32.0` |\n| [selenium-webdriver](https://github.com/SeleniumHQ/selenium) | `4.35.0` | `4.43.0` |\n| [shoulda-matchers](https://github.com/thoughtbot/shoulda-matchers) | `6.5.0` | `7.0.1` |\n| [vcr](https://github.com/vcr/vcr) | `6.3.1` | `6.4.0` |\n| [webmock](https://github.com/bblimke/webmock) | `3.25.1` | `3.26.2` |\n| [faker](https://github.com/faker-ruby/faker) | `3.5.2` | `3.7.1` |\n| [pry](https://github.com/pry/pry) | `0.15.2` | `0.16.0` |\n| [listen](https://github.com/guard/listen) | `3.9.0` | `3.10.0` |\n| [spring](https://github.com/rails/spring) | `4.4.0` | `4.4.2` |\n| [web-console](https://github.com/rails/web-console) | `4.2.1` | `4.3.0` |\n| [net-imap](https://github.com/ruby/net-imap) | `0.5.10` | `0.6.3` |\n| [factory_bot](https://github.com/thoughtbot/factory_bot) | `6.5.5` | `6.5.6` |\n| [faraday-follow_redirects](https://github.com/tisba/faraday-follow-redirects) | `0.3.0` | `0.5.0` |\n| [json-jwt](https://github.com/nov/json-jwt) | `1.16.7` | `1.17.0` |\n| [rack-oauth2](https://github.com/nov/rack-oauth2) | `2.2.1` | `2.3.0` |\n| [rspec](https://github.com/rspec/rspec) | `3.13.1` | `3.13.2` |\n\n\nUpdates `bootsnap` from 1.18.6 to 1.23.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/bootsnap/releases\"\u003ebootsnap's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.23.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRequire Ruby 2.7.\u003c/li\u003e\n\u003cli\u003eFix support for absolute paths in \u003ccode\u003eBOOTSNAP_IGNORE_DIRECTORIES\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/rails/bootsnap/compare/v1.22.0...v1.23.0\"\u003ehttps://github.com/rails/bootsnap/compare/v1.22.0...v1.23.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.22.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eProper fix for the \u003ccode\u003eopendir\u003c/code\u003e crash.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003ebootsnap/rake\u003c/code\u003e for cleaning the bootsnap cache as part of \u003ccode\u003erake clobber\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/rails/bootsnap/compare/v1.21.1...v1.22.0\"\u003ehttps://github.com/rails/bootsnap/compare/v1.21.1...v1.22.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.21.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFallback to pure the pure ruby path scanner on unexpected error.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/rails/bootsnap/compare/v1.21.0...v1.21.1\"\u003ehttps://github.com/rails/bootsnap/compare/v1.21.0...v1.21.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.20.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eHandle broken symlinks in load path scanning code.\nShould fix \u003ccode\u003eErrno::ENOENT fstatat\u003c/code\u003e issues some users have encountered after upgrading to 1.20.0.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/rails/bootsnap/compare/v1.20.0...v1.20.1\"\u003ehttps://github.com/rails/bootsnap/compare/v1.20.0...v1.20.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.20.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eOptimized load path scanning with a C extension. Should be about 2x faster on supported platforms.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/rails/bootsnap/compare/v1.19.0...v1.20.0\"\u003ehttps://github.com/rails/bootsnap/compare/v1.19.0...v1.20.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/rails/bootsnap/blob/main/CHANGELOG.md\"\u003ebootsnap's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e1.23.0\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eRequire Ruby 2.7.\u003c/li\u003e\n\u003cli\u003eFix support for absolute paths in \u003ccode\u003eBOOTSNAP_IGNORE_DIRECTORIES\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e1.22.0\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eBetter fix for the \u003ccode\u003eopendir\u003c/code\u003e crash.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003ebootsnap/rake\u003c/code\u003e for cleaning the bootsnap cache as part of \u003ccode\u003erake clobber\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e1.21.1\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003ePrevent a Ruby crash while scanning load path if \u003ccode\u003eopendir\u003c/code\u003e fails without setting \u003ccode\u003eerrno\u003c/code\u003e.\nAccording to the C spec this should not happen, but according to user reports, it did.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e1.21.0\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eFix the \u003ccode\u003erequire\u003c/code\u003e decorator to handle \u003ccode\u003eBootsnap.unload_cache!\u003c/code\u003e being called.\u003c/li\u003e\n\u003cli\u003eMinor optimization: Eagerly clear cache buffers to appease the GC.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e1.20.1\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eHandle broken symlinks in load path scanning code.\nShould fix \u003ccode\u003eErrno::ENOENT fstatat\u003c/code\u003e issues some users have encountered after upgrading to 1.20.0.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e1.20.0\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eOptimized load path scanning with a C extension. Should be about 2x faster on supported platforms.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e1.19.0\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eRemove JSON parsing cache. Recent versions of the \u003ccode\u003ejson\u003c/code\u003e gem are as fast as \u003ccode\u003emsgpack\u003c/code\u003e if not faster.\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/rails/bootsnap/commit/7b04583c5a242ef8e3a7dac907b9f682c6d2f20d\"\u003e\u003ccode\u003e7b04583\u003c/code\u003e\u003c/a\u003e Release 1.23.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/32e709d4168422433ca4f06e5aaec510dd87f882\"\u003e\u003ccode\u003e32e709d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/bootsnap/issues/530\"\u003e#530\u003c/a\u003e from fxn/readdir\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/8326783ad7f2dd17681fd080a6144aa83e03478c\"\u003e\u003ccode\u003e8326783\u003c/code\u003e\u003c/a\u003e Handle readdir errors in bs_rb_scan_dir()\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/780728416ab3eff3c39093246542eb75168a157c\"\u003e\u003ccode\u003e7807284\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/bootsnap/issues/528\"\u003e#528\u003c/a\u003e from Umofomia/path-scanner-cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/c30155d2d55e3dee46453071e1b21fba81a8295f\"\u003e\u003ccode\u003ec30155d\u003c/code\u003e\u003c/a\u003e Fix bundle path check and consolidate common code in PathScanner\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/c2ef9a36c3ae67338e57aacd98d3399333ea0bc2\"\u003e\u003ccode\u003ec2ef9a3\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/bootsnap/issues/526\"\u003e#526\u003c/a\u003e from Umofomia/claw--fix-ignored-directories-absolute-...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/93c35b83fd326ebfea4fb45f8cdd37c7c233222a\"\u003e\u003ccode\u003e93c35b8\u003c/code\u003e\u003c/a\u003e LoadPathScanner: Avoid computing the absolute path when not needed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/2bf7aa4f248d3a730a26ee281ee7266dc0ba2c8d\"\u003e\u003ccode\u003e2bf7aa4\u003c/code\u003e\u003c/a\u003e Fix absolute path support for ignored directories in PathScanner.native_call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/749bf76af511e3cbd5531a19b46a8974c7fcd968\"\u003e\u003ccode\u003e749bf76\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/bootsnap/issues/527\"\u003e#527\u003c/a\u003e from byroot/ruby-2.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/52411892e2bc2d99ba23079e903bb2c2eea5572b\"\u003e\u003ccode\u003e5241189\u003c/code\u003e\u003c/a\u003e Require Ruby 2.7\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/bootsnap/compare/v1.18.6...v1.23.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `devise` from 4.9.4 to 5.0.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/heartcombo/devise/releases\"\u003edevise's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev5.0.3\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/heartcombo/devise/blob/v5.0.3/CHANGELOG.md#503---2026-03-16\"\u003ehttps://github.com/heartcombo/devise/blob/v5.0.3/CHANGELOG.md#503---2026-03-16\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev5.0.2\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/heartcombo/devise/blob/v5.0.2/CHANGELOG.md#502---2026-02-18\"\u003ehttps://github.com/heartcombo/devise/blob/v5.0.2/CHANGELOG.md#502---2026-02-18\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev5.0.1\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/heartcombo/devise/blob/v5.0.1/CHANGELOG.md#501---2026-02-13\"\u003ehttps://github.com/heartcombo/devise/blob/v5.0.1/CHANGELOG.md#501---2026-02-13\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev5.0.0\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/heartcombo/devise/blob/v5.0.0/CHANGELOG.md#500---2026-01-23\"\u003ehttps://github.com/heartcombo/devise/blob/v5.0.0/CHANGELOG.md#500---2026-01-23\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev5.0.0.rc\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/heartcombo/devise/blob/v5.0.0.rc/CHANGELOG.md#500rc---2025-12-31\"\u003ehttps://github.com/heartcombo/devise/blob/v5.0.0.rc/CHANGELOG.md#500rc---2025-12-31\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/heartcombo/devise/blob/main/CHANGELOG.md\"\u003edevise's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch3\u003e5.0.3 - 2026-03-16\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003esecurity fixes\n\u003cul\u003e\n\u003cli\u003eFix race condition vulnerability on confirmable \u0026quot;change email\u0026quot; which would allow confirming an email they don't own CVE-2026-32700 \u003ca href=\"https://github.com/heartcombo/devise/security/advisories/GHSA-57hq-95w6-v4fc\"\u003eGHSA-57hq-95w6-v4fc\u003c/a\u003e \u003ca href=\"https://redirect.github.com/heartcombo/devise/pull/5783\"\u003e#5783\u003c/a\u003e \u003ca href=\"https://redirect.github.com/heartcombo/devise/pull/5784\"\u003e#5784\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e5.0.2 - 2026-02-18\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eenhancements\n\u003cul\u003e\n\u003cli\u003eAllow resource class scopes to override the global configuration for \u003ccode\u003esign_in_after_change_password\u003c/code\u003e behaviour. \u003ca href=\"https://redirect.github.com/heartcombo/devise/pull/5825\"\u003e#5825\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cem\u003eNote\u003c/em\u003e: some users ran into an issue with this change because \u003ccode\u003eRegistrationsController\u003c/code\u003e now relies on a setting from the \u003ccode\u003e:registerable\u003c/code\u003e module. These users were configuring their own routes pointing to the \u003ccode\u003eRegistrationsController\u003c/code\u003e for resource edit/update actions mostly, without relying on the other registration actions (e.g. user sign up.), so they omitted \u003ccode\u003e:registerable\u003c/code\u003e from the model declaration. While using just a portion of the controller functionality is a valid use for \u003ccode\u003e:registerable\u003c/code\u003e (or any module really), the module must still be declared in the model, much like the other modules must be declared if you plan on using just a portion of their behavior. Please check \u003ca href=\"https://redirect.github.com/heartcombo/devise/pull/5828#issuecomment-3926822788\"\u003ethis issue\u003c/a\u003e for more info.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003esign_in_after_reset_password?\u003c/code\u003e check hook to passwords controller, to allow it to be customized by users. \u003ca href=\"https://redirect.github.com/heartcombo/devise/pull/5826\"\u003e#5826\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e5.0.1 - 2026-02-13\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ebug fixes\n\u003cul\u003e\n\u003cli\u003eFix translation issue with German \u003ccode\u003eE-Mail\u003c/code\u003e on invalid authentication messages caused by previous fix for incorrect grammar \u003ca href=\"https://redirect.github.com/heartcombo/devise/pull/5822\"\u003e#5822\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e5.0.0 - 2026-01-23\u003c/h3\u003e\n\u003cp\u003eno changes\u003c/p\u003e\n\u003ch3\u003e5.0.0.rc - 2025-12-31\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003ebreaking changes\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eDrop support to Ruby \u0026lt; 2.7\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDrop support to Rails \u0026lt; 7.0\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove deprecated \u003ccode\u003e:bypass\u003c/code\u003e option from \u003ccode\u003esign_in\u003c/code\u003e helper, use \u003ccode\u003ebypass_sign_in\u003c/code\u003e instead. \u003ca href=\"https://redirect.github.com/heartcombo/devise/pull/5803\"\u003e#5803\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove deprecated \u003ccode\u003edevise_error_messages!\u003c/code\u003e helper, use \u003ccode\u003erender \u0026quot;devise/shared/error_messages\u0026quot;, resource: resource\u003c/code\u003e instead. \u003ca href=\"https://redirect.github.com/heartcombo/devise/pull/5803\"\u003e#5803\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove deprecated \u003ccode\u003escope\u003c/code\u003e second argument from \u003ccode\u003esign_in(resource, :admin)\u003c/code\u003e controller test helper, use \u003ccode\u003esign_in(resource, scope: :admin)\u003c/code\u003e instead. \u003ca href=\"https://redirect.github.com/heartcombo/devise/pull/5803\"\u003e#5803\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove deprecated \u003ccode\u003eDevise::TestHelpers\u003c/code\u003e, use \u003ccode\u003eDevise::Test::ControllerHelpers\u003c/code\u003e instead. \u003ca href=\"https://redirect.github.com/heartcombo/devise/pull/5803\"\u003e#5803\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove deprecated \u003ccode\u003eDevise::Models::Authenticatable::BLACKLIST_FOR_SERIALIZATION\u003c/code\u003e \u003ca href=\"https://redirect.github.com/heartcombo/devise/pull/5598\"\u003e#5598\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove deprecated \u003ccode\u003eDevise.activerecord51?\u003c/code\u003e method.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove \u003ccode\u003eSecretKeyFinder\u003c/code\u003e and use \u003ccode\u003eapp.secret_key_base\u003c/code\u003e as the default secret key for \u003ccode\u003eDevise.secret_key\u003c/code\u003e if a custom \u003ccode\u003eDevise.secret_key\u003c/code\u003e is not provided.\u003c/p\u003e\n\u003cp\u003eThis is potentially a breaking change because Devise previously used the following order to find a secret key:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eapp.credentials.secret_key_base \u0026gt; app.secrets.secret_key_base \u0026gt; application.config.secret_key_base \u0026gt; application.secret_key_base\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eNow, it always uses \u003ccode\u003eapplication.secret_key_base\u003c/code\u003e. Make sure you're using the same secret key after the upgrade; otherwise, previously generated tokens for \u003ccode\u003erecoverable\u003c/code\u003e, \u003ccode\u003elockable\u003c/code\u003e, and \u003ccode\u003econfirmable\u003c/code\u003e will be invalid.\n\u003ca href=\"https://redirect.github.com/heartcombo/devise/pull/5645\"\u003e#5645\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eChange password instructions button label on devise view from \u003ccode\u003eSend me reset password instructions\u003c/code\u003e to \u003ccode\u003eSend me password reset instructions\u003c/code\u003e \u003ca href=\"https://redirect.github.com/heartcombo/devise/pull/5515\"\u003e#5515\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eChange \u003ccode\u003e\u0026lt;br\u0026gt;\u003c/code\u003e tags separating form elements to wrapping them in \u003ccode\u003e\u0026lt;p\u0026gt;\u003c/code\u003e tags \u003ca href=\"https://redirect.github.com/heartcombo/devise/pull/5494\"\u003e#5494\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eReplace \u003ccode\u003e[data-turbo-cache=false]\u003c/code\u003e with \u003ccode\u003e[data-turbo-temporary]\u003c/code\u003e on \u003ccode\u003edevise/shared/error_messages\u003c/code\u003e partial. This has been \u003ca href=\"https://github.com/hotwired/turbo/releases/tag/v7.3.0\"\u003edeprecated by Turbo since v7.3.0 (released on Mar 1, 2023)\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eIf you are using an older version of Turbo and the default devise template, you'll need to copy it over to your app and change that back to \u003ccode\u003e[data-turbo-cache=false]\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eenhancements\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Rails 8 support.\u003c/li\u003e\n\u003c/ul\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/heartcombo/devise/commit/2f809205b2a9112767e68e1a5666c649a42609c6\"\u003e\u003ccode\u003e2f80920\u003c/code\u003e\u003c/a\u003e Release v5.0.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/heartcombo/devise/commit/53347074021b38590653b95523f9b7113e5dcfdc\"\u003e\u003ccode\u003e5334707\u003c/code\u003e\u003c/a\u003e Add CVE to changelog [ci skip]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/heartcombo/devise/commit/02527772bd9adbc3357d9c62fbc16e73e438121d\"\u003e\u003ccode\u003e0252777\u003c/code\u003e\u003c/a\u003e Fix race condition vulnerability, by ensuring the \u003ccode\u003eunconfirmed_email\u003c/code\u003e is alwa...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/heartcombo/devise/commit/879f79fceaf2ec6525219ee7bb4057ce4db65729\"\u003e\u003ccode\u003e879f79f\u003c/code\u003e\u003c/a\u003e Bundle update\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/heartcombo/devise/commit/0f4493bd0302f85d1662b71c4f2145268fecc200\"\u003e\u003ccode\u003e0f4493b\u003c/code\u003e\u003c/a\u003e Configure default permissions as read-only for the workflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/heartcombo/devise/commit/8c785761bd3c717793f0da4146dd630865568567\"\u003e\u003ccode\u003e8c78576\u003c/code\u003e\u003c/a\u003e Ignore test/** folder for GH default code scanning\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/heartcombo/devise/commit/c9e655e13253dc53e3c0981a8345f134bcda1fc5\"\u003e\u003ccode\u003ec9e655e\u003c/code\u003e\u003c/a\u003e Bundle update, clear dependabot security issues\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/heartcombo/devise/commit/3fd061095084d8f9d3f8c995c46caabcd15640fd\"\u003e\u003ccode\u003e3fd0610\u003c/code\u003e\u003c/a\u003e Add a note to the changelog about an edge case issue some users ran into\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/heartcombo/devise/commit/5b008ed51c0df3223cf727e7ad07378d6329b12f\"\u003e\u003ccode\u003e5b008ed\u003c/code\u003e\u003c/a\u003e Release v5.0.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/heartcombo/devise/commit/916f94ed4b4bb8e7881d5cf8c6535b7ccb368f7a\"\u003e\u003ccode\u003e916f94e\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003esign_in_after_reset_password?\u003c/code\u003e check hook to passwords controller (\u003ca href=\"https://redirect.github.com/heartcombo/devise/issues/5826\"\u003e#5826\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/heartcombo/devise/compare/v4.9.4...v5.0.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `govuk-components` from 5.11.3 to 6.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/x-govuk/govuk-components/releases\"\u003egovuk-components's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 6.1.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate supported Ruby, Rails and ViewComponent versions\u003c/li\u003e\n\u003cli\u003eSupport GOV.UK Design System version 6.1.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 6.0.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003esupport GOV.UK Design System version 6.0.0\u003c/li\u003e\n\u003cli\u003eremove the service name and navigation items from the header component \u003ca href=\"https://redirect.github.com/x-govuk/govuk-components/issues/626\"\u003e#626\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eupdate the govuk_tag colours (magenta replaces pink and teal replaces turquoise) \u003ca href=\"https://redirect.github.com/x-govuk/govuk-components/issues/624\"\u003e#624\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003esupport ViewComponent version 4.3\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eUpgrade notes\u003c/h2\u003e\n\u003cp\u003eThe service name and navigation items have been removed from the header. Instead, passing a block of HTML to the header will render it in the \u003ccode\u003e.govuk-header__container\u003c/code\u003e. You'll need to add your own styles to make things render in the right place. There are examples \u003ca href=\"https://govuk-components.x-govuk.org/components/header/#adding-more-content-to-the-header\"\u003ein the guide\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/DFE-Digital/register-early-career-teachers-public/pull/2327\"\u003ein this PR\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eVersion 6.0.0b1\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!CAUTION]\u003cbr /\u003e\nThe GOV.UK Header Component has changed significantly, \u003ca href=\"https://github.com/alphagov/govuk-frontend/releases/tag/v6.0.0-beta.1\"\u003esee the upstream release notes for more info\u003c/a\u003e.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003cul\u003e\n\u003cli\u003eSupport \u003ca href=\"https://github.com/alphagov/govuk-frontend/releases/tag/v6.0.0-rc.0\"\u003eGOV.UK frontend 6.0.0-rc0\u003c/a\u003e \u003ca href=\"https://redirect.github.com/x-govuk/govuk-components/issues/624\"\u003e#624\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove navigation items and service name from GOV.UK Header component \u003ca href=\"https://redirect.github.com/x-govuk/govuk-components/issues/626\"\u003e#626\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump ViewComponent support to 4.3 \u003ca href=\"https://redirect.github.com/x-govuk/govuk-components/issues/628\"\u003e#628\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 5.13.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix a bug in the service nav where \u003ccode\u003earia-current=\u0026quot;true\u0026quot;\u003c/code\u003e was showing where it shouldn't have been. Thanks \u003ca href=\"https://github.com/DavidBiddle\"\u003e\u003ccode\u003e@​DavidBiddle\u003c/code\u003e\u003c/a\u003e for diagnosing (\u003ca href=\"https://redirect.github.com/x-govuk/govuk-components/issues/621\"\u003e#621\u003c/a\u003e) and fixing (\u003ca href=\"https://redirect.github.com/x-govuk/govuk-components/issues/622\"\u003e#622\u003c/a\u003e) this :heart:\u003c/li\u003e\n\u003cli\u003eChange some links in the docs from netlify.app to x-govuk.org\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 5.13.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Rails 8.1. Thanks \u003ca href=\"https://github.com/thomasleese\"\u003e\u003ccode\u003e@​thomasleese\u003c/code\u003e\u003c/a\u003e. \u003ca href=\"https://redirect.github.com/x-govuk/govuk-components/issues/619\"\u003e#619\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to govuk-frontend 5.13.0\u003c/li\u003e\n\u003cli\u003eAdd Netlify link to the footer to qualify for Netlify's open source plan which we're using for the \u003ca href=\"https://govuk-components.x-govuk.org/\"\u003enew guide domain\u003c/a\u003e  ccb566fd4cd1ed5a8\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/x-govuk/govuk-components/commit/d0a5d8d2becbbee616a93c9160c457edc053f43d\"\u003e\u003ccode\u003ed0a5d8d\u003c/code\u003e\u003c/a\u003e Release version 6.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/x-govuk/govuk-components/commit/9b10ed070a94ea6bee9e477cb04da0bf8e987eb5\"\u003e\u003ccode\u003e9b10ed0\u003c/code\u003e\u003c/a\u003e Various version bumps (\u003ca href=\"https://redirect.github.com/x-govuk/govuk-components/issues/635\"\u003e#635\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/x-govuk/govuk-components/commit/9cfa5a8ab3477672b24aa2c5c0e3ffaf49b5e25f\"\u003e\u003ccode\u003e9cfa5a8\u003c/code\u003e\u003c/a\u003e Bump supported ViewComponent to 4.6.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/x-govuk/govuk-components/commit/c82a3b15eb528843ae8b6cd8bf6f11f8069420a0\"\u003e\u003ccode\u003ec82a3b1\u003c/code\u003e\u003c/a\u003e Bump supported Ruby and Rails versions to latest\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/x-govuk/govuk-components/commit/24a77f9d4c1e25a1619d2612d8dd2417a01f147a\"\u003e\u003ccode\u003e24a77f9\u003c/code\u003e\u003c/a\u003e Upgrade to govuk-frontend 6.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/x-govuk/govuk-components/commit/f91de7d0e514511b2d1cced27136ca24cc412436\"\u003e\u003ccode\u003ef91de7d\u003c/code\u003e\u003c/a\u003e Fix build error in guide (\u003ca href=\"https://redirect.github.com/x-govuk/govuk-components/issues/636\"\u003e#636\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/x-govuk/govuk-components/commit/c8a496a65de0aeb7d8ae9460b416dd66a7e54ef7\"\u003e\u003ccode\u003ec8a496a\u003c/code\u003e\u003c/a\u003e Fix build error in guide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/x-govuk/govuk-components/commit/6a1dc1c9ea15d8ba70e9c04a31bcba132f912abe\"\u003e\u003ccode\u003e6a1dc1c\u003c/code\u003e\u003c/a\u003e Bump immutable from 5.1.3 to 5.1.5 in /guide (\u003ca href=\"https://redirect.github.com/x-govuk/govuk-components/issues/633\"\u003e#633\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/x-govuk/govuk-components/commit/67980c0d6b6b3dddba6ab20476ca205c35cf4a21\"\u003e\u003ccode\u003e67980c0\u003c/code\u003e\u003c/a\u003e Bump immutable from 5.1.3 to 5.1.5 in /guide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/x-govuk/govuk-components/commit/ebf136f536c48dde8357c1c78993e90e91cbe255\"\u003e\u003ccode\u003eebf136f\u003c/code\u003e\u003c/a\u003e Release version 6.0.0\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/x-govuk/govuk-components/compare/v5.11.3...v6.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `govuk_design_system_formbuilder` from 5.11.0 to 6.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/x-govuk/govuk-form-builder/releases\"\u003egovuk_design_system_formbuilder's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 6.1.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade to govuk-frontend 6.1.0 \u003ca href=\"https://redirect.github.com/x-govuk/govuk-form-builder/issues/618\"\u003e#618\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport defining text options for file upload component \u003ca href=\"https://redirect.github.com/x-govuk/govuk-form-builder/issues/614\"\u003e#614\u003c/a\u003e, thank you \u003ca href=\"https://github.com/stephencdaly\"\u003e\u003ccode\u003e@​stephencdaly\u003c/code\u003e\u003c/a\u003e for contributing this\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 6.0.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport govuk-frontend 6.0.0 by \u003ca href=\"https://github.com/peteryates\"\u003e\u003ccode\u003e@​peteryates\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/x-govuk/govuk-form-builder/pull/601\"\u003ex-govuk/govuk-form-builder#601\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for Rails 8.1 by \u003ca href=\"https://github.com/benilovj\"\u003e\u003ccode\u003e@​benilovj\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/x-govuk/govuk-form-builder/pull/590\"\u003ex-govuk/govuk-form-builder#590\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003egovuk_time_field\u003c/code\u003e by \u003ca href=\"https://github.com/thomasleese\"\u003e\u003ccode\u003e@​thomasleese\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/x-govuk/govuk-form-builder/pull/599\"\u003ex-govuk/govuk-form-builder#599\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove \u003ccode\u003earia-describedby\u003c/code\u003e link between labels/legends and supplemental content by \u003ca href=\"https://github.com/peteryates\"\u003e\u003ccode\u003e@​peteryates\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/x-govuk/govuk-form-builder/pull/580\"\u003ex-govuk/govuk-form-builder#580\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport injecting content before and after inputs by \u003ca href=\"https://github.com/peteryates\"\u003e\u003ccode\u003e@​peteryates\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/x-govuk/govuk-form-builder/pull/598\"\u003ex-govuk/govuk-form-builder#598\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade Ruby and Rails versions by \u003ca href=\"https://github.com/peteryates\"\u003e\u003ccode\u003e@​peteryates\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/x-govuk/govuk-form-builder/pull/606\"\u003ex-govuk/govuk-form-builder#606\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate nanoc requirement from ~\u0026gt; 4.13.0 to ~\u0026gt; 4.14.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/x-govuk/govuk-form-builder/pull/597\"\u003ex-govuk/govuk-form-builder#597\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDeal with negative values when generating IDs by \u003ca href=\"https://github.com/peteryates\"\u003e\u003ccode\u003e@​peteryates\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/x-govuk/govuk-form-builder/pull/608\"\u003ex-govuk/govuk-form-builder#608\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 6.0.0b1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport govuk-frontend 6.0.0 by \u003ca href=\"https://github.com/peteryates\"\u003e\u003ccode\u003e@​peteryates\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/x-govuk/govuk-form-builder/pull/601\"\u003ex-govuk/govuk-form-builder#601\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for Rails 8.1 by \u003ca href=\"https://github.com/benilovj\"\u003e\u003ccode\u003e@​benilovj\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/x-govuk/govuk-form-builder/pull/590\"\u003ex-govuk/govuk-form-builder#590\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003egovuk_time_field\u003c/code\u003e by \u003ca href=\"https://github.com/thomasleese\"\u003e\u003ccode\u003e@​thomasleese\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/x-govuk/govuk-form-builder/pull/599\"\u003ex-govuk/govuk-form-builder#599\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove \u003ccode\u003earia-describedby\u003c/code\u003e link between labels/legends and supplemental content by \u003ca href=\"https://github.com/peteryates\"\u003e\u003ccode\u003e@​peteryates\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/x-govuk/govuk-form-builder/pull/580\"\u003ex-govuk/govuk-form-builder#580\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport injecting content before and after inputs by \u003ca href=\"https://github.com/peteryates\"\u003e\u003ccode\u003e@​peteryates\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/x-govuk/govuk-form-builder/pull/598\"\u003ex-govuk/govuk-form-builder#598\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade Ruby and Rails versions by \u003ca href=\"https://github.com/peteryates\"\u003e\u003ccode\u003e@​peteryates\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/x-govuk/govuk-form-builder/pull/606\"\u003ex-govuk/govuk-form-builder#606\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate nanoc requirement from ~\u0026gt; 4.13.0 to ~\u0026gt; 4.14.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/x-govuk/govuk-form-builder/pull/597\"\u003ex-govuk/govuk-form-builder#597\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDeal with negative values when generating IDs by \u003ca href=\"https://github.com/peteryates\"\u003e\u003ccode\u003e@​peteryates\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/x-govuk/govuk-form-builder/pull/608\"\u003ex-govuk/govuk-form-builder#608\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 5.13.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eupgrade to govuk-frontend 5.13.0 \u003ca href=\"https://redirect.github.com/x-govuk/govuk-form-builder/issues/586\"\u003e#586\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003evarious minor version bumps\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/x-govuk/govuk-form-builder/commit/5cbe8f6e79a805327b72f09ee191cd58f09587fc\"\u003e\u003ccode\u003e5cbe8f6\u003c/code\u003e\u003c/a\u003e Release version 6.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/x-govuk/govuk-form-builder/commit/3b721e9ba3e3cf1a685cb3dd3dbca3aeb9604150\"\u003e\u003ccode\u003e3b721e9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/x-govuk/govuk-form-builder/issues/618\"\u003e#618\u003c/a\u003e from x-govuk/govuk-frontend-6.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/x-govuk/govuk-form-builder/commit/1169b60d51f775aed34960bb636106efa2042ffd\"\u003e\u003ccode\u003e1169b60\u003c/code\u003e\u003c/a\u003e Update supported versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/x-govuk/govuk-form-builder/commit/81733638cc0ceace44e85b2fc9ef0393362bef01\"\u003e\u003ccode\u003e8173363\u003c/code\u003e\u003c/a\u003e Upgrade to govuk-frontend 6.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/x-govuk/govuk-form-builder/commit/c96270cb8cc861c40d0a6155355cbdfc8f9831eb\"\u003e\u003ccode\u003ec96270c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/x-govuk/govuk-form-builder/issues/617\"\u003e#617\u003c/a\u003e from x-govuk/fix-guide-build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/x-govuk/govuk-form-builder/commit/d6f4e390ac6f51b7120a3f3efa73669f74ed9f50\"\u003e\u003ccode\u003ed6f4e39\u003c/code\u003e\u003c/a\u003e Reqire 'active_model' in guide perosn class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/x-govuk/govuk-form-builder/commit/b156fe78df8f74dc1574b16449d0515a9ddcd174\"\u003e\u003ccode\u003eb156fe7\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/x-govuk/govuk-form-builder/issues/614\"\u003e#614\u003c/a\u003e from stephencdaly/add-options-to-file-upload-for-java...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/x-govuk/govuk-form-builder/commit/1c573ccc92b156684ee56a02329c7ca3bb3e7947\"\u003e\u003ccode\u003e1c573cc\u003c/code\u003e\u003c/a\u003e Add example to guide for setting custom text for file upload component\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/x-govuk/govuk-form-builder/commit/9ed0f9573b7f015f79ccbf9c67a9e5dd91c8ba58\"\u003e\u003ccode\u003e9ed0f95\u003c/code\u003e\u003c/a\u003e Support defining text options for file upload component\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/x-govuk/govuk-form-builder/commit/a12d0c63e346946540d5cb8af44128c04fc55f8e\"\u003e\u003ccode\u003ea12d0c6\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/x-govuk/govuk-form-builder/issues/611\"\u003e#611\u003c/a\u003e from x-govuk/dependabot/bundler/slim_lint-tw-0.34.0\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/x-govuk/govuk-form-builder/compare/v5.11.0...v6.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `haml-rails` from 2.1.0 to 3.0.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/haml/haml-rails/commit/6c7c8ca772b2c8d36b58278c2c09498385979f85\"\u003e\u003ccode\u003e6c7c8ca\u003c/code\u003e\u003c/a\u003e Version 3.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/haml/haml-rails/commit/e364abbc6a54f84b344c1ec846d683f927e1ae59\"\u003e\u003ccode\u003ee364abb\u003c/code\u003e\u003c/a\u003e Just use the newest one\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/haml/haml-rails/commit/30005dc31f9926dac33ba776389e9456e068b20f\"\u003e\u003ccode\u003e30005dc\u003c/code\u003e\u003c/a\u003e [CI] uses: actions/checkout@v5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/haml/haml-rails/commit/e639b11fe1571cdc1e8bb48143d13a63110e09e1\"\u003e\u003ccode\u003ee639b11\u003c/code\u003e\u003c/a\u003e Properly state the supported version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/haml/haml-rails/commit/3e1b70552ca28a42a4741d3bfd3cf7cf379c6486\"\u003e\u003ccode\u003e3e1b705\u003c/code\u003e\u003c/a\u003e frozen_string_literal: ❄️\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/haml/haml-rails/commit/2c51fd5848e6d36e36f831cf827578003525d08f\"\u003e\u003ccode\u003e2c51fd5\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/haml/haml-rails/issues/197\"\u003e#197\u003c/a\u003e from amatsuda/rails_versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/haml/haml-rails/commit/9f4703ddff0644ba52529c5cf41c1624829b16a7\"\u003e\u003ccode\u003e9f4703d\u003c/code\u003e\u003c/a\u003e Fall back to the newest templates by default\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/haml/haml-rails/commit/f0a9ff88ef682af3d6023e1d453ed978597abd72\"\u003e\u003ccode\u003ef0a9ff8\u003c/code\u003e\u003c/a\u003e Rails 5.1 scaffold templates\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/haml/haml-rails/commit/852cf01c9831ee09049f7b990a648d441c876093\"\u003e\u003ccode\u003e852cf01\u003c/code\u003e\u003c/a\u003e Rails 5.2 scaffold templates\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/haml/haml-rails/commit/8bb0351a85b83e81d1b27f18fdda17a77961c1af\"\u003e\u003ccode\u003e8bb0351\u003c/code\u003e\u003c/a\u003e Rails 6.0 scaffold templates\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/haml/haml-rails/compare/v2.1.0...v3.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `oauth2` from 2.0.17 to 2.0.18\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby-oauth/oauth2/releases\"\u003eoauth2's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.0.18\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/compare/v2.0.17...v2.0.18\"\u003e2.0.18\u003c/a\u003e - 2025-11-08\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eTAG: \u003ca href=\"https://github.com/ruby-oauth/oauth2/releases/tag/v2.0.18\"\u003ev2.0.18\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCOVERAGE: 100.00% -- 526/526 lines in 14 files\u003c/li\u003e\n\u003cli\u003eBRANCH COVERAGE: 100.00% -- 178/178 branches in 14 files\u003c/li\u003e\n\u003cli\u003e90.48% documented\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/683\"\u003egh!683\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/684\"\u003egh!684\u003c/a\u003e - Improve documentation by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/686\"\u003egh!686\u003c/a\u003e- Add Incident Response Plan by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/687\"\u003egh!687\u003c/a\u003e- Add Threat Model by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/685\"\u003egh!685\u003c/a\u003e - upgrade kettle-dev v1.1.24 by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eupgrade kettle-dev v1.1.52 by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003eAdd open collective donors to README\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/690\"\u003egh!690\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/691\"\u003egh!691\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/692\"\u003egh!692\u003c/a\u003e - Add yard-fence\n\u003cul\u003e\n\u003cli\u003ehandle braces within code fences in markdown properly by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cp\u003eOfficial Discord 👉️ [![Live Chat on Discord][✉️discord-invite-img]][✉️discord-invite]\u003c/p\u003e\n\u003cp\u003eMany paths lead to being a sponsor or a backer of this project. Are you on such a path?\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://opencollective.com/ruby-oauth#backer\"\u003e![OpenCollective Backers][🖇osc-backers-i]\u003c/a\u003e [![OpenCollective Sponsors][🖇osc-sponsors-i]][🖇osc-sponsors] [![Sponsor Me on Github][🖇sponsor-img]][🖇sponsor] \u003ca href=\"https://liberapay.com/pboling/donate\"\u003e\u003cimg src=\"https://img.shields.io/liberapay/goal/pboling.svg?logo=liberapay\u0026amp;color=a51611\u0026amp;style=flat\" alt=\"Liberapay Goal Progress\" /\u003e\u003c/a\u003e [![Donate on PayPal][🖇paypal-img]][🖇paypal]\u003c/p\u003e\n\u003cp\u003e[![Buy me a coffee][🖇buyme-small-img]][🖇buyme] [![Donate on Polar][🖇polar-img]][🖇polar] [![Donate to my FLOSS efforts at ko-fi.com][🖇kofi-img]][🖇kofi] [![Donate to my FLOSS efforts using Patreon][🖇patreon-img]][🖇patreon]\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\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby-oauth/oauth2/blob/main/CHANGELOG.md\"\u003eoauth2's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[2.0.18] - 2025-11-08\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eTAG: [v2.0.18][2.0.18t]\u003c/li\u003e\n\u003cli\u003eCOVERAGE: 100.00% -- 526/526 lines in 14 files\u003c/li\u003e\n\u003cli\u003eBRANCH COVERAGE: 100.00% -- 178/178 branches in 14 files\u003c/li\u003e\n\u003cli\u003e90.48% documented\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/683\"\u003egh!683\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/684\"\u003egh!684\u003c/a\u003e - Improve documentation by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/686\"\u003egh!686\u003c/a\u003e- Add Incident Response Plan by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/687\"\u003egh!687\u003c/a\u003e- Add Threat Model by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/685\"\u003egh!685\u003c/a\u003e - upgrade kettle-dev v1.1.24 by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eupgrade kettle-dev v1.1.52 by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003eAdd open collective donors to README\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/690\"\u003egh!690\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/691\"\u003egh!691\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/692\"\u003egh!692\u003c/a\u003e - Add yard-fence\n\u003cul\u003e\n\u003cli\u003ehandle braces within code fences in markdown properly by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\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/ruby-oauth/oauth2/commit/b5753116121553d56937039dafc5ea472d9a99ed\"\u003e\u003ccode\u003eb575311\u003c/code\u003e\u003c/a\u003e 🔖 Prepare release v2.0.18\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/b5af77ba42ec111dda68abdee33d631e27fdfe61\"\u003e\u003ccode\u003eb5af77b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/issues/693\"\u003e#693\u003c/a\u003e from ruby-oauth/feat/docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/cf2853d9fa05999f88c9df8b1b3a8a3ed21c64e8\"\u003e\u003ccode\u003ecf2853d\u003c/code\u003e\u003c/a\u003e 📝 Update docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/18434156bfc988527d2453b2174e6356e233757d\"\u003e\u003ccode\u003e1843415\u003c/code\u003e\u003c/a\u003e ⬆️ kettle-dev v1.1.52, yard-fence v0.8.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/f592dd8753966a30671ebc2e8a28ab26138b6c2b\"\u003e\u003ccode\u003ef592dd8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/issues/692\"\u003e#692\u003c/a\u003e from ruby-oauth/feat/docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/2095732d7cd4eeb80fe74c89e2a2d012517e40d6\"\u003e\u003ccode\u003e2095732\u003c/code\u003e\u003c/a\u003e ⬆️ yard-fence v0.7.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/50f3fd08e733ed75b2cc99e077e9ea9d64a3d5d5\"\u003e\u003ccode\u003e50f3fd0\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/issues/691\"\u003e#691\u003c/a\u003e from ruby-oauth/feat/docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/bcb0e40bfca989f164a04cbf46a4175822b7cb28\"\u003e\u003ccode\u003ebcb0e40\u003c/code\u003e\u003c/a\u003e ✏️ Fix typos in docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/f24f1a8bfbf546595aa16cd6fa82119c8218c1d3\"\u003e\u003ccode\u003ef24f1a8\u003c/code\u003e\u003c/a\u003e Create CNAME\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/bff58e1afec541feca2a337664d09c58b8a22419\"\u003e\u003ccode\u003ebff58e1\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/issues/690\"\u003e#690\u003c/a\u003e from ruby-oauth/feat/yard-fence\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby-oauth/oauth2/compare/v2.0.17...v2.0.18\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `omniauth-rails_csrf_protection` from 1.0.2 to 2.0.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/cookpad/omniauth-rails_csrf_protection/releases\"\u003eomniauth-rails_csrf_protection's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 2.0.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix an issue with configuration delegation in Rails \u0026lt; 8.1 (\u003ca href=\"https://redirect.github.com/cookpad/omniauth-rails_csrf_protection/issues/26\"\u003e#26\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003eFor more details, please see 1a0d39099957675f549e1f23c836f57b99b09a00.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 2.0.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eStop using deprecated \u003ccode\u003eActiveSupport::Configurable\u003c/code\u003e when this gem is running against Action Pack version 8.1 and later (\u003ca href=\"https://redirect.github.com/cookpad/omniauth-rails_csrf_protection/issues/23\"\u003e#23\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/cookpad/omniauth-rails_csrf_protection/issues/24\"\u003e#24\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/cookpad/omniauth-rails_csrf_protection/commit/c4f53d72e6a278c02f1a6d294c4f8004354ee0b7\"\u003e\u003ccode\u003ec4f53d7\u003c/code\u003e\u003c/a\u003e Bump to 2.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cookpad/omniauth-rails_csrf_protection/commit/1a0d39099957675f549e1f23c836f57b99b09a00\"\u003e\u003ccode\u003e1a0d390\u003c/code\u003e\u003c/a\u003e Fix an issue with configuration delegation in Rails \u0026lt; 8.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cookpad/omniauth-rails_csrf_protection/commit/bc315e1b09fbf6a363d5293067b42675f020fc4c\"\u003e\u003ccode\u003ebc315e1\u003c/code\u003e\u003c/a\u003e Properly silence Rails 8.0.x warning message in test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cookpad/omniauth-rails_csrf_protection/commit/23483750b4a0a803347e02778b975886ecb82875\"\u003e\u003ccode\u003e2348375\u003c/code\u003e\u003c/a\u003e Bump to 2.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cookpad/omniauth-rails_csrf_protection/commit/c283d1d159a292c5fce8ed1a2f5997f6bde209f5\"\u003e\u003ccode\u003ec283d1d\u003c/code\u003e\u003c/a\u003e Update README to add OmniAuth's built-in solution\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cookpad/omniauth-rails_csrf_protection/commit/2cf722bd7cc310009ee626cce28a7ea52b47f649\"\u003e\u003ccode\u003e2cf722b\u003c/code\u003e\u003c/a\u003e Add workaround for deprecated AS::Configurable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cookpad/omniauth-rails_csrf_protection/commit/431597eb44ff8ae0bf9802d1a1dc85ebb8d2cfa3\"\u003e\u003ccode\u003e431597e\u003c/code\u003e\u003c/a\u003e Silence \u003ccode\u003e#to_time\u003c/code\u003e warning in Rails 8.0.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cookpad/omniauth-rails_csrf_protection/commit/5e9c8a27b0ccac54ca3bec7f3b49d43ddefdc4d6\"\u003e\u003ccode\u003e5e9c8a2\u003c/code\u003e\u003c/a\u003e Print Ruby version in the test output\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cookpad/omniauth-rails_csrf_protection/commit/3e62c0572bf5c9796fff5fe197f07d5ed172a7c5\"\u003e\u003ccode\u003e3e62c05\u003c/code\u003e\u003c/a\u003e Remove unnecessary logger gem entry in Gemfile\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cookpad/omniauth-rails_csrf_protection/commit/f9810a5886d692312c6d015914fdad00cf7f41b2\"\u003e\u003ccode\u003ef9810a5\u003c/code\u003e\u003c/a\u003e Update build matrix and fix build errors\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/cookpad/omniauth-rails_csrf_protection/compare/v1.0.2...v2.0.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pg` from 1.6.2 to 1.6.3\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ged/ruby-pg/blob/master/CHANGELOG.md\"\u003epg's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.6.3 [2025-12-29] Lars Kanis \u003ca href=\"mailto:lars@greiz-reinsdorf.de\"\u003elars@greiz-reinsdorf.de\u003c/a\u003e\u003c/h2\u003e\n\u003cp\u003eAdded:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd binary gems for ruby-4.0, now providing ruby-3.0 to 4.0. \u003ca href=\"https://redirect.github.com/ged/ruby-pg/pull/682\"\u003e#682\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate fat binary gem to OpenSSL-3.6.0 and PostgreSQL-18.1.\u003c/li\u003e\n\u003cli\u003eImprove documentation of PG::Result and README. \u003ca href=\"https://redirect.github.com/ged/ruby-pg/pull/676\"\u003e#676\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate errorcodes to PostgreSQL-18.\u003c/li\u003e\n\u003cli\u003eUse \u003ccode\u003erb_hash_new_capa\u003c/code\u003e on Ruby-3.2+ . \u003ca href=\"https://redirect.github.com/ged/ruby-pg/pull/674\"\u003e#674\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDeny any server communication on a frozen PG::Connection . \u003ca href=\"https://redirect.github.com/ged/ruby-pg/pull/677\"\u003e#677\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix possible race condition in PG::Result in Ractor context. \u003ca href=\"https://redirect.github.com/ged/ruby-pg/pull/674\"\u003e#674\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eRemoved:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDrop binary gem support for platform \u003ccode\u003ex86-mingw32\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/ged/ruby-pg/pull/682\"\u003e#682\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDrop binary gems for ruby-2.7.\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/ged/ruby-pg/commit/d4539c25dcc89d47088e1423f8d1915c041920f5\"\u003e\u003ccode\u003ed4539c2\u003c/code\u003e\u003c/a\u003e Bump VERSION to pg-1.6.3 and add release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ged/ruby-pg/commit/720900dbb9d16aa855793146f15c3772e14f627a\"\u003e\u003ccode\u003e720900d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ged/ruby-pg/issues/682\"\u003e#682\u003c/a\u003e from larskanis/ruby-4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ged/ruby-pg/commit/f605b5937093884089109c8baa5fe268fc513eaf\"\u003e\u003ccode\u003ef605b59\u003c/code\u003e\u003c/a\u003e Remove x86-mingw32 from binary builds\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ged/ruby-pg/commit/5c690006ba158da70d73d939a233cf75ecdd30ef\"\u003e\u003ccode\u003e5c69000\u003c/code\u003e\u003c/a\u003e Update to ruby-4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ged/ruby-pg/commit/2acaf3d0f76334e056229efe260e1f558a8c6b42\"\u003e\u003ccode\u003e2acaf3d\u003c/code\u003e\u003c/a\u003e CI: workaround missing ruby-4.0 on Window\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ged/ruby-pg/commit/b500ded81127963603e1f724e82bed649c9ca8a1\"\u003e\u003ccode\u003eb500ded\u003c/code\u003e\u003c/a\u003e fix comment\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ged/ruby-pg/commit/bc3f2f8b1110e9bcb225d65554e1a7fc842d0506\"\u003e\u003ccode\u003ebc3f2f8\u003c/code\u003e\u003c/a\u003e CI: Macos-13 on Intel is deprecated\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ged/ruby-pg/commit/77667eb4313bd7b79356f402b0fa7fba409483b8\"\u003e\u003ccode\u003e77667eb\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ged/ruby-pg/issues/678\"\u003e#678\u003c/a\u003e from larskanis/ci-update\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ged/ruby-pg/commit/6e52ce504d05c5359d55f45d9580672103263b54\"\u003e\u003ccode\u003e6e52ce5\u003c/code\u003e\u003c/a\u003e CI: Update PostgreSQL on Macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ged/ruby-pg/commit/6d40f50e51a037022495fe6d98181435652464ff\"\u003e\u003ccode\u003e6d40f50\u003c/code\u003e\u003c/a\u003e CI: Print mkmf.log on failure on Macos\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ged/ruby-pg/compare/v1.6.2...v1.6.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `prometheus_exporter` from 2.3.0 to 2.3.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/discourse/prometheus_exporter/blob/main/CHANGELOG\"\u003eprometheus_exporter's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[2.3.1] - 2025-11-11\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFIX: get controller full path instead of controller name - Alex Platteeuw\u003c/li\u003e\n\u003cli\u003eFEATURE: Secure PrometheusExporter scraping with SSL - Nicolas Rodriquez\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/discourse/prometheus_exporter/commit/15e9d4783db8267fb3b0c48e5464ec4c1ae58c00\"\u003e\u003ccode\u003e15e9d47\u003c/code\u003e\u003c/a\u003e version bump (\u003ca href=\"https://redirect.github.com/discourse/prometheus_exporter/issues/358\"\u003e#358\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/discourse/prometheus_exporter/commit/4bd3817744bb5011aed6c669696ed957c23cd3fe\"\u003e\u003ccode\u003e4bd3817\u003c/code\u003e\u003c/a\u003e fix: get controller full path instead of controller name (\u003ca href=\"https://redirect.github.com/discourse/prometheus_exporter/issues/353\"\u003e#353\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/discourse/prometheus_exporter/commit/4bb4fa333386b166a745df92be5620b11be3872a\"\u003e\u003ccode\u003e4bb4fa3\u003c/code\u003e\u003c/a\u003e Secure PrometheusExporter scraping with SSL (\u003ca href=\"https://redirect.github.com/discourse/prometheus_exporter/issues/350\"\u003e#350\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/discourse/prometheus_exporter/commit/b10933453f0952cd17d143487c5adc8bb74b492a\"\u003e\u003ccode\u003eb109334\u003c/code\u003e\u003c/a\u003e Add connect_timeout: settings to PrometheusExporter::Client (\u003ca href=\"https://redirect.github.com/discourse/prometheus_exporter/issues/352\"\u003e#352\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/discourse/prometheus_exporter/compare/v2.3.0...v2.3.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `puma` from 7.0.4 to 8.0.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/puma/puma/releases\"\u003epuma's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev8.0.0 - Into the Arena\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003eRead our \u003ca href=\"https://github.com/puma/puma/blob/main/docs/8.0-Upgrade.md\"\u003eVersion 8 Upgrade Guide.\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFeatures\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eenv[\u0026quot;puma.mark_as_io_bound\u0026quot;]\u003c/code\u003e API and \u003ccode\u003emax_io_threads\u003c/code\u003e config to allow IO-bound requests to exceed the thread pool max, enabling better handling of mixed workloads (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3816\"\u003e#3816\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/puma/puma/issues/3894\"\u003e#3894\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003esingle\u003c/code\u003e and \u003ccode\u003ecluster\u003c/code\u003e DSL hooks for mode-specific configuration (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3621\"\u003e#3621\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eon_force\u003c/code\u003e option to \u003ccode\u003eshutdown_debug\u003c/code\u003e to only dump thread backtraces on forced (non-graceful) shutdown (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3671\"\u003e#3671\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd API to dynamically update min and max thread counts at runtime via \u003ccode\u003eupdate_thread_pool_min_max\u003c/code\u003e and \u003ccode\u003eServerPluginControl\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3658\"\u003e#3658\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse SIGPWR for thread backtrace dumps on Linux/JRuby where SIGINFO is unavailable (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3829\"\u003e#3829\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eBugfixes\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix phased restart for \u003ccode\u003efork_worker\u003c/code\u003e to avoid forking from stale worker 0 when it has been replaced (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3853\"\u003e#3853\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003ePerformance\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eJRuby HTTP parser improvements: pre-allocated header keys, perfect hash lookup, reduced memory copies (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3838\"\u003e#3838\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCache downcased header key in \u003ccode\u003estr_headers\u003c/code\u003e to avoid redundant \u003ccode\u003eString#downcase\u003c/code\u003e calls, reducing allocations by ~50% per response (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3874\"\u003e#3874\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRefactor\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCollect \u003ccode\u003eenv\u003c/code\u003e processing into dedicated \u003ccode\u003eclient_env.rb\u003c/code\u003e module (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3582\"\u003e#3582\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMove event to default configuration (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3872\"\u003e#3872\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDocs\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd gRPC guide for configuring gRPC lifecycle hooks in clustered mode (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3885\"\u003e#3885\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd 7.0 upgrade guide, move 5.0/6.0 upgrade guides to docs directory (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3900\"\u003e#3900\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCorrect default values for \u003ccode\u003epersistent_timeout\u003c/code\u003e and \u003ccode\u003eworker_boot_timeout\u003c/code\u003e in DSL docs (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3912\"\u003e#3912\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd file descriptor limit warning in test helper for contributors (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3893\"\u003e#3893\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eBreaking changes\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDefault production bind address changed from \u003ccode\u003e0.0.0.0\u003c/code\u003e to \u003ccode\u003e::\u003c/code\u003e (IPv6) when a non-loopback IPv6 interface is available; falls back to \u003ccode\u003e0.0.0.0\u003c/code\u003e if IPv6 is unavailable (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3847\"\u003e#3847\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev7.2.0 - On The Corner\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFeatures\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd workers \u003ccode\u003e:auto\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3827\"\u003e#3827\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMake it possible to restrict control server commands to stats (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3787\"\u003e#3787\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eBugfixes\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDon't break if \u003ccode\u003eWEB_CONCURRENCY\u003c/code\u003e is set to a blank string (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3837\"\u003e#3837\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDon't share server between worker 0 and descendants on refork (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3602\"\u003e#3602\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix phase check race condition in \u003ccode\u003ePuma::Cluster#check_workers\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3690\"\u003e#3690\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix advertising of CLI config before config files are loaded (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3823\"\u003e#3823\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003ePerformance\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e17% faster HTTP parsing through pre-interning env keys (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3825\"\u003e#3825\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImplement \u003ccode\u003edsize\u003c/code\u003e and \u003ccode\u003edcompact\u003c/code\u003e functions for \u003ccode\u003ePuma::HttpParser\u003c/code\u003e, which makes Puma's C-extension GC-compactible (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3828\"\u003e#3828\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRefactor\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRemove \u003ccode\u003eNoMethodError\u003c/code\u003e rescue in \u003ccode\u003eReactor#select_loop\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3831\"\u003e#3831\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eVarious cleanups in the C extension (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3814\"\u003e#3814\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\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/puma/puma/blob/main/History.md\"\u003epuma's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.0.0 / 2026-03-27\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFeatures\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eenv[\u0026quot;puma.mark_as_io_bound\u0026quot;]\u003c/code\u003e API and \u003ccode\u003emax_io_threads\u003c/code\u003e config to allow IO-bound requests to exceed the thread pool max, enabling better handling of mixed workloads (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3816\"\u003e#3816\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/puma/puma/issues/3894\"\u003e#3894\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003esingle\u003c/code\u003e and \u003ccode\u003ecluster\u003c/code\u003e DSL hooks for mode-specific configuration (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3621\"\u003e#3621\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eon_force\u003c/code\u003e option to \u003ccode\u003eshutdown_debug\u003c/code\u003e to only dump thread backtraces on forced (non-graceful) shutdown (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3671\"\u003e#3671\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd API to dynamically update min and max thread counts at runtime via \u003ccode\u003eupdate_thread_pool_min_max\u003c/code\u003e and \u003ccode\u003eServerPluginControl\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3658\"\u003e#3658\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse SIGPWR for thread backtrace dumps on Linux/JRuby where SIGINFO is unavailable (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3829\"\u003e#3829\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eBugfixes\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix phased restart for \u003ccode\u003efork_worker\u003c/code\u003e to avoid forking from stale worker 0 when it has been replaced (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3853\"\u003e#3853\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003ePerformance\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eJRuby HTTP parser improvements: pre-allocated header keys, perfect hash lookup, reduced memory copies (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3838\"\u003e#3838\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCache downcased header key in \u003ccode\u003estr_headers\u003c/code\u003e to avoid redundant \u003ccode\u003eString#downcase\u003c/code\u003e calls, reducing allocations by ~50% per response (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3874\"\u003e#3874\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRefactor\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCollect \u003ccode\u003eenv\u003c/code\u003e processing into dedicated \u003ccode\u003eclient_env.rb\u003c/code\u003e module (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3582\"\u003e#3582\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMove event to default configuration (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3872\"\u003e#3872\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDocs\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd gRPC guide for configuring gRPC lifecycle hooks in clustered mode (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3885\"\u003e#3885\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd 7.0 upgrade guide, move 5.0/6.0 upgrade guides to docs directory (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3900\"\u003e#3900\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCorrect default values for \u003ccode\u003epersistent_timeout\u003c/code\u003e and \u003ccode\u003eworker_boot_timeout\u003c/code\u003e in DSL docs (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3912\"\u003e#3912\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd file descriptor limit warning in test helper for contributors (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3893\"\u003e#3893\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eBreaking changes\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDefault production bind address changed from \u003ccode\u003e0.0.0.0\u003c/code\u003e to \u003ccode\u003e::\u003c/code\u003e (IPv6) when a non-loopback IPv6 interface is available; falls back to \u003ccode\u003e0.0.0.0\u003c/code\u003e if IPv6 is unavailable (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3847\"\u003e#3847\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.2.0 / 2026-01-20\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFeatures\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd workers \u003ccode\u003e:auto\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3827\"\u003e#3827\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMake it possible to restrict control server commands to stats (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3787\"\u003e#3787\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eBugfixes\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDon't break if \u003ccode\u003eWEB_CONCURRENCY\u003c/code\u003e is set to a blank string (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3837\"\u003e#3837\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDon't share server between worker 0 and descendants on refork (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3602\"\u003e#3602\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix phase check race condition in \u003ccode\u003ePuma::Cluster#check_workers\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3690\"\u003e#3690\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix advertising of CLI config before config files are loaded (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3823\"\u003e#3823\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003ePerformance\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e17% faster HTTP parsing through pre-interning env keys (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3825\"\u003e#3825\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImplement \u003ccode\u003edsize\u003c/code\u003e and \u003ccode\u003edcompact\u003c/code\u003e functions for \u003ccode\u003ePuma::HttpParser\u003c/code\u003e, which makes Puma's C-extension GC-compactible (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3828\"\u003e#3828\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRefactor\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRemove \u003ccode\u003eNoMethodError\u003c/code\u003e rescue in \u003ccode\u003eReactor#select_loop\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3831\"\u003e#3831\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eVarious cleanups in the C extension (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3814\"\u003e#3814\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMonomorphize \u003ccode\u003ehandle_request\u003c/code\u003e return (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3802\"\u003e#3802\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\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/puma/puma/commit/08f63d495955eaee065d0ee18849f4ddcd52fe72\"\u003e\u003ccode\u003e08f63d4\u003c/code\u003e\u003c/a\u003e Release v8.0.0 (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3914\"\u003e#3914\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/7406cc192480ce9d01c9a47e6f41fcb1548217a6\"\u003e\u003ccode\u003e7406cc1\u003c/code\u003e\u003c/a\u003e Fix IPv4-mapped IPv6 addresses in \u003ccode\u003eREMOTE_ADDR\u003c/code\u003e and request logs (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3916\"\u003e#3916\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/e090243320eb743a6c03f77f4ffa9e1a24c677b1\"\u003e\u003ccode\u003ee090243\u003c/code\u003e\u003c/a\u003e Build(deps): Bump actions/checkout from 4 to 6 (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3915\"\u003e#3915\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/7d5dca1a561a95c2a6b8742b52c81c73cd2b95ca\"\u003e\u003ccode\u003e7d5dca1\u003c/code\u003e\u003c/a\u003e Update SECURITY.md, native Github vuln reports [ci skip] (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3913\"\u003e#3913\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/66e6a32de52d9beed43e1c598bda360f906ccbef\"\u003e\u003ccode\u003e66e6a32\u003c/code\u003e\u003c/a\u003e Minor correction to defaults documented in dsl.rb (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3912\"\u003e#3912\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/3788eca453a64ffb05a67115d3e2a276bbaf21a3\"\u003e\u003ccode\u003e3788eca\u003c/code\u003e\u003c/a\u003e ci: limit rack-conform to main pushes and scope ragel PR runs (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3908\"\u003e#3908\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/57b7799201adf43cdf508f90c57b95e23f49bbcd\"\u003e\u003ccode\u003e57b7799\u003c/code\u003e\u003c/a\u003e ci: run turbo-rails only on latest stable Ruby and Rails (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3909\"\u003e#3909\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/6685d6b8024c5480774b790808e4f0343e414fa5\"\u003e\u003ccode\u003e6685d6b\u003c/code\u003e\u003c/a\u003e ci: replace skip-duplicate jobs with concurrency and trigger filters (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3907\"\u003e#3907\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/2848c823dfc9838033d6ce342fee917e81aeedc1\"\u003e\u003ccode\u003e2848c82\u003c/code\u003e\u003c/a\u003e ci: run push workflows only on main and release branches (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3906\"\u003e#3906\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/97a37bb7c6a457f8846eb3ce307daadd4b38b4f8\"\u003e\u003ccode\u003e97a37bb\u003c/code\u003e\u003c/a\u003e Add release pre-merge checks and align Release.md [ci skip] (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3904\"\u003e#3904\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/puma/puma/compare/v7.0.4...v8.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rails` from 8.0.3 to 8.1.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003erails's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.1.3\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eJSONGemCoderEncoder\u003c/code\u003e to correctly serialize custom object hash keys.\u003c/p\u003e\n\u003cp\u003eWhen hash keys are custom objects whose \u003ccode\u003eas_json\u003c/code\u003e returns a Hash,\nthe encoder now calls \u003ccode\u003eto_s\u003c/code\u003e on the original key object instead of\non the \u003ccode\u003eas_json\u003c/code\u003e result.\u003c/p\u003e\n\u003cp\u003eBefore:\nhash = {CustomKey.new(123) =\u0026gt; \u0026quot;value\u0026quot;}\nhash.to_json  # =\u0026gt; {\u0026quot;{:id=\u0026gt;123}\u0026quot;:\u0026quot;value\u0026quot;}\u003c/p\u003e\n\u003cp\u003eAfter:\nhash.to_json  # =\u0026gt; {\u0026quot;custom_123\u0026quot;:\u0026quot;value\u0026quot;}\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eDan Sharp\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix inflections to better handle overlapping acronyms.\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eActiveSupport::Inflector.inflections(:en) do |inflect|\r\n  inflect.acronym \u0026quot;USD\u0026quot;\r\n  inflect.acronym \u0026quot;USDC\u0026quot;\r\nend\r\n\u003cp\u003e\u0026quot;USDC\u0026quot;.underscore # =\u0026gt; \u0026quot;usdc\u0026quot;\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eSaid Kaldybaev\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSilence Dalli 4.0+ warning when using \u003ccode\u003eActiveSupport::Cache::MemCacheStore\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003ezzak\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix Ruby 4.0 delegator warning when calling inspect on attributes.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eHammad Khan\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eNoMethodError\u003c/code\u003e when deserialising \u003ccode\u003eType::Integer\u003c/code\u003e objects marshalled under Rails 8.0.\u003c/p\u003e\n\u003cp\u003eThe performance optimisation that replaced \u003ccode\u003e@range\u003c/code\u003e with \u003ccode\u003e@max\u003c/code\u003e/\u003ccode\u003e@min\u003c/code\u003e\nbroke Marshal compatibility. Objects serialised under 8.0 (with \u003ccode\u003e@range\u003c/code\u003e)\nand deserialised under 8.1 (expecting \u003ccode\u003e@max\u003c/code\u003e/\u003ccode\u003e@min\u003c/code\u003e) would crash with\n\u003ccode\u003eundefined method '\u0026lt;=' for nil\u003c/code\u003e because \u003ccode\u003eMarshal.load\u003c/code\u003e restores instance\nvariables without calling \u003ccode\u003einitialize\u003c/code\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/rails/rails/commit/fa8f0812160665bff083a089d2bb2fc1817ea03e\"\u003e\u003ccode\u003efa8f081\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.3 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/63cef3de3bd88d5973837ea268dc710e7dbf7b8e\"\u003e\u003ccode\u003e63cef3d\u003c/code\u003e\u003c/a\u003e Merge branch '8-1-sec' into 8-1-stable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/1db4b89687cc18311fc3f92623136705df24e671\"\u003e\u003ccode\u003e1db4b89\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.2.1 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/1c7d1cf0a1ab4142eb20ef30fe2062aad6f72e21\"\u003e\u003ccode\u003e1c7d1cf\u003c/code\u003e\u003c/a\u003e Update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/e91694b1f0e176eb01bfcc480a008bffc70f7602\"\u003e\u003ccode\u003ee91694b\u003c/code\u003e\u003c/a\u003e Update CHANGELOG (8.1 only)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/6752711c8c31d79ba50d13af6a6698a3b85415e0\"\u003e\u003ccode\u003e6752711\u003c/code\u003e\u003c/a\u003e Fix XSS in debug exceptions copy-to-clipboard\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/63f5ad83edaa0b976f82d46988d745426aa4a42d\"\u003e\u003ccode\u003e63f5ad8\u003c/code\u003e\u003c/a\u003e Skip blank attribute names in Action View tag helpers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/8c9676b803820110548cdb7523800db43bc6874c\"\u003e\u003ccode\u003e8c9676b\u003c/code\u003e\u003c/a\u003e Prevent glob injection in ActiveStorage DiskService#delete_prefixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/9b06fbc0f504b8afe333f33d19548f3b85fbe655\"\u003e\u003ccode\u003e9b06fbc\u003c/code\u003e\u003c/a\u003e Prevent path traversal in ActiveStorage DiskService\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/ec1a0e215efd27a3b3911aae6df978a80f456a49\"\u003e\u003ccode\u003eec1a0e2\u003c/code\u003e\u003c/a\u003e Improve performance of NumberToDelimitedConverter\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/rails/compare/v8.0.3...v8.1.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sentry-rails` from 5.27.1 to 6.5.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/getsentry/sentry-ruby/blob/master/CHANGELOG.md\"\u003esentry-rails's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e6.5.0\u003c/h2\u003e\n\u003ch3\u003eNew Features ✨\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e(otlp) Add collector_url option to OTLP integration by \u003ca href=\"https://github.com/sl0thentr0py\"\u003e\u003ccode\u003e@​sl0thentr0py\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2887\"\u003e#2887\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e(release-detector) Prefer HEROKU_BUILD_COMMIT over deprecated HEROKU_SLUG_COMMIT by \u003ca href=\"https://github.com/ericapisani\"\u003e\u003ccode\u003e@​ericapisani\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2886\"\u003e#2886\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImplement strict trace continuation by \u003ca h...\n\n_Description has been truncated_","html_url":"https://github.com/ministryofjustice/laa-court-data-ui/pull/3207","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/ministryofjustice%2Flaa-court-data-ui/issues/3207","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/3207/packages"},{"uuid":"3893807743","node_id":"PR_kwDOIy0ZTM7BU1Q_","number":4710,"state":"closed","title":"Bump the production-dependencies group across 1 directory with 37 updates","user":"dependabot[bot]","labels":["dependencies","ruby"],"assignees":[],"locked":true,"comments_count":1,"pull_request":true,"closed_at":"2026-02-04T06:51:02.000Z","author_association":null,"state_reason":null,"created_at":"2026-02-04T00:00:25.000Z","updated_at":"2026-02-04T06:51:21.000Z","time_to_close":24637,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"production-dependencies","update_count":37,"packages":[{"name":"acme-client","old_version":"2.0.26","new_version":"2.0.30","repository_url":"https://github.com/unixcharles/acme-client"},{"name":"argon2","old_version":"2.3.2","new_version":"2.3.3","repository_url":"https://github.com/technion/ruby-argon2"},{"name":"aws-sdk-ec2","old_version":"1.569.0","new_version":"1.591.0","repository_url":"https://github.com/aws/aws-sdk-ruby"},{"name":"aws-sdk-iam","old_version":"1.132.0","new_version":"1.140.0","repository_url":"https://github.com/aws/aws-sdk-ruby"},{"name":"aws-sdk-s3","old_version":"1.208.0","new_version":"1.212.0","repository_url":"https://github.com/aws/aws-sdk-ruby"},{"name":"bcrypt_pbkdf","old_version":"1.1.1","new_version":"1.1.2","repository_url":"https://github.com/net-ssh/bcrypt_pbkdf-ruby"},{"name":"countries","old_version":"8.0.4","new_version":"8.1.0","repository_url":"https://github.com/countries/countries"},{"name":"excon","old_version":"1.3.0","new_version":"1.3.2","repository_url":"https://github.com/excon/excon"},{"name":"nokogiri","old_version":"1.18.10","new_version":"1.19.0","repository_url":"https://github.com/sparklemotion/nokogiri"},{"name":"pry","old_version":"0.15.2","new_version":"0.16.0","repository_url":"https://github.com/pry/pry"},{"name":"reline","old_version":"0.6.2","new_version":"0.6.3","repository_url":"https://github.com/ruby/reline"},{"name":"roda","old_version":"3.97.0","new_version":"3.100.0","repository_url":"https://github.com/jeremyevans/roda"},{"name":"rodauth","old_version":"2.41.0","new_version":"2.42.0","repository_url":"https://github.com/jeremyevans/rodauth"},{"name":"rqrcode","old_version":"3.1.0","new_version":"3.2.0","repository_url":"https://github.com/whomwah/rqrcode"},{"name":"sequel_pg","old_version":"1.18.0","new_version":"1.18.2","repository_url":"https://github.com/jeremyevans/sequel_pg"},{"name":"tilt","old_version":"2.6.1","new_version":"2.7.0","repository_url":"https://github.com/jeremyevans/tilt"},{"name":"addressable","old_version":"2.8.7","new_version":"2.8.8","repository_url":"https://github.com/sporkmonger/addressable"},{"name":"date","old_version":"3.5.0","new_version":"3.5.1","repository_url":"https://github.com/ruby/date"},{"name":"hashie","old_version":"5.0.0","new_version":"5.1.0","repository_url":"https://github.com/hashie/hashie"},{"name":"multi_xml","old_version":"0.7.2","new_version":"0.8.1","repository_url":"https://github.com/sferik/multi_xml"},{"name":"net-imap","old_version":"0.5.12","new_version":"0.6.2","repository_url":"https://github.com/ruby/net-imap"},{"name":"oauth2","old_version":"2.0.17","new_version":"2.0.18","repository_url":"https://github.com/ruby-oauth/oauth2"},{"name":"omniauth-oauth2","old_version":"1.8.0","new_version":"1.9.0","repository_url":"https://github.com/omniauth/omniauth-oauth2"},{"name":"openapi_parser","old_version":"2.3.0","new_version":"2.3.1","repository_url":"https://github.com/ota42y/openapi_parser"},{"name":"optparse","old_version":"0.8.0","new_version":"0.8.1","repository_url":"https://github.com/ruby/optparse"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps the production-dependencies group with 25 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [acme-client](https://github.com/unixcharles/acme-client) | `2.0.26` | `2.0.30` |\n| [argon2](https://github.com/technion/ruby-argon2) | `2.3.2` | `2.3.3` |\n| [aws-sdk-ec2](https://github.com/aws/aws-sdk-ruby) | `1.569.0` | `1.591.0` |\n| [aws-sdk-iam](https://github.com/aws/aws-sdk-ruby) | `1.132.0` | `1.140.0` |\n| [aws-sdk-s3](https://github.com/aws/aws-sdk-ruby) | `1.208.0` | `1.212.0` |\n| [bcrypt_pbkdf](https://github.com/net-ssh/bcrypt_pbkdf-ruby) | `1.1.1` | `1.1.2` |\n| [countries](https://github.com/countries/countries) | `8.0.4` | `8.1.0` |\n| [excon](https://github.com/excon/excon) | `1.3.0` | `1.3.2` |\n| [nokogiri](https://github.com/sparklemotion/nokogiri) | `1.18.10` | `1.19.0` |\n| [pry](https://github.com/pry/pry) | `0.15.2` | `0.16.0` |\n| [reline](https://github.com/ruby/reline) | `0.6.2` | `0.6.3` |\n| [roda](https://github.com/jeremyevans/roda) | `3.97.0` | `3.100.0` |\n| [rodauth](https://github.com/jeremyevans/rodauth) | `2.41.0` | `2.42.0` |\n| [rqrcode](https://github.com/whomwah/rqrcode) | `3.1.0` | `3.2.0` |\n| [sequel_pg](https://github.com/jeremyevans/sequel_pg) | `1.18.0` | `1.18.2` |\n| [tilt](https://github.com/jeremyevans/tilt) | `2.6.1` | `2.7.0` |\n| [addressable](https://github.com/sporkmonger/addressable) | `2.8.7` | `2.8.8` |\n| [date](https://github.com/ruby/date) | `3.5.0` | `3.5.1` |\n| [hashie](https://github.com/hashie/hashie) | `5.0.0` | `5.1.0` |\n| [multi_xml](https://github.com/sferik/multi_xml) | `0.7.2` | `0.8.1` |\n| [net-imap](https://github.com/ruby/net-imap) | `0.5.12` | `0.6.2` |\n| [oauth2](https://github.com/ruby-oauth/oauth2) | `2.0.17` | `2.0.18` |\n| [omniauth-oauth2](https://github.com/omniauth/omniauth-oauth2) | `1.8.0` | `1.9.0` |\n| [openapi_parser](https://github.com/ota42y/openapi_parser) | `2.3.0` | `2.3.1` |\n| [optparse](https://github.com/ruby/optparse) | `0.8.0` | `0.8.1` |\n\n\nUpdates `acme-client` from 2.0.26 to 2.0.30\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/unixcharles/acme-client/blob/master/CHANGELOG.md\"\u003eacme-client's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ccode\u003e2.0.30\u003c/code\u003e\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd a default message to RateLimited error\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThis fix avoid argument error on RateLimited object when stubbing without passing arguments.\u003c/p\u003e\n\u003ch2\u003e\u003ccode\u003e2.0.29\u003c/code\u003e\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eIP support to the CertificateRequest helper\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ccode\u003e2.0.28\u003c/code\u003e\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMake \u003ca href=\"https://datatracker.ietf.org/doc/html/rfc8555/#section-6.6\"\u003eRetry-After\u003c/a\u003e accessible from RateLimited#retry_after exceptions\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ccode\u003e2.0.27\u003c/code\u003e\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Renewal Information (ARI) (RFC 9773)\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/unixcharles/acme-client/commit/dbd7481ff141647094d907cfd9e4598208ba19eb\"\u003e\u003ccode\u003edbd7481\u003c/code\u003e\u003c/a\u003e Bump 2.0.30\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unixcharles/acme-client/commit/d9a9328769a055da0771b33a4a006f20a3371b65\"\u003e\u003ccode\u003ed9a9328\u003c/code\u003e\u003c/a\u003e Add a default message to RateLimited error.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unixcharles/acme-client/commit/1e5d529d17bc35d559627fdafc27b99a6fdf60b9\"\u003e\u003ccode\u003e1e5d529\u003c/code\u003e\u003c/a\u003e bump to 2.0.29\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unixcharles/acme-client/commit/cfc29429faab0e278ee1260ad9375bab6549e984\"\u003e\u003ccode\u003ecfc2942\u003c/code\u003e\u003c/a\u003e Add IP support to the CertificateRequest helper (\u003ca href=\"https://redirect.github.com/unixcharles/acme-client/issues/261\"\u003e#261\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unixcharles/acme-client/commit/559889f21df6e765152687ffd6a973b61f7befa3\"\u003e\u003ccode\u003e559889f\u003c/code\u003e\u003c/a\u003e Bump to 2.0.28\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unixcharles/acme-client/commit/5e15c9f17d21eef85d01190344aa462191a2b486\"\u003e\u003ccode\u003e5e15c9f\u003c/code\u003e\u003c/a\u003e Add retry_after property to RateLimited client error (\u003ca href=\"https://redirect.github.com/unixcharles/acme-client/issues/260\"\u003e#260\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unixcharles/acme-client/commit/ff515cab615d682cbaaada9ac6ab52dc160e4b01\"\u003e\u003ccode\u003eff515ca\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 5 to 6 (\u003ca href=\"https://redirect.github.com/unixcharles/acme-client/issues/259\"\u003e#259\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unixcharles/acme-client/commit/443a45d2266463b91b5f1935c16139b6021f3c99\"\u003e\u003ccode\u003e443a45d\u003c/code\u003e\u003c/a\u003e Bump to 2.0.27\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unixcharles/acme-client/commit/d32e7f92ad6d542d49b3ed8907e349c109013512\"\u003e\u003ccode\u003ed32e7f9\u003c/code\u003e\u003c/a\u003e Add Renewal Information (ARI) support (RFC 9773) (\u003ca href=\"https://redirect.github.com/unixcharles/acme-client/issues/257\"\u003e#257\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/unixcharles/acme-client/compare/v2.0.26...v2.0.30\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `argon2` from 2.3.2 to 2.3.3\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/technion/ruby-argon2/commit/747fef31d86b7eeb20c35b90292b2831ce9641be\"\u003e\u003ccode\u003e747fef3\u003c/code\u003e\u003c/a\u003e Bump version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/technion/ruby-argon2/commit/d281278b46f0d3fd0a61dc6f4e5beb0a0c356c97\"\u003e\u003ccode\u003ed281278\u003c/code\u003e\u003c/a\u003e Fix build on Ruby 4.0 (\u003ca href=\"https://redirect.github.com/technion/ruby-argon2/issues/69\"\u003e#69\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/technion/ruby-argon2/compare/v2.3.2...v2.3.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `aws-sdk-ec2` from 1.569.0 to 1.591.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/aws/aws-sdk-ruby/blob/version-3/gems/aws-sdk-ec2/CHANGELOG.md\"\u003eaws-sdk-ec2's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.591.0 (2026-01-16)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Code Generated Changes, see \u003ccode\u003e./build_tools\u003c/code\u003e or \u003ccode\u003eaws-sdk-core\u003c/code\u003e's CHANGELOG.md for details.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.590.0 (2026-01-15)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - This release includes documentation updates to support up to four Elastic Volume modifications per Amazon EBS volume within a rolling 24-hour period.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.589.0 (2026-01-08)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Code Generated Changes, see \u003ccode\u003e./build_tools\u003c/code\u003e or \u003ccode\u003eaws-sdk-core\u003c/code\u003e's CHANGELOG.md for details.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.588.0 (2026-01-05)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Code Generated Changes, see \u003ccode\u003e./build_tools\u003c/code\u003e or \u003ccode\u003eaws-sdk-core\u003c/code\u003e's CHANGELOG.md for details.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.587.0 (2025-12-22)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Adds support for linkedGroupId on the CreatePlacementGroup and DescribePlacementGroups APIs. The linkedGroupId parameter is reserved for future use.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.586.0 (2025-12-18)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - This release adds AvailabilityZoneId support for CreateFleet, ModifyFleet, DescribeFleets, RequestSpotFleet, ModifySpotFleetRequests and DescribeSpotFleetRequests APIs.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.585.0 (2025-12-15)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - EC2 Capacity Manager now supports SpotTotalCount, SpotTotalInterruptions and SpotInterruptionRate metrics for both vCPU and instance units.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.584.0 (2025-12-08)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Amazon EC2 P6-B300 instances provide 8x NVIDIA Blackwell Ultra GPUs with 2.1 TB high bandwidth GPU memory, 6.4 Tbps EFA networking, 300 Gbps dedicated ENA throughput, and 4 TB of system memory. Amazon EC2 C8a instances are powered by 5th Gen AMD EPYC processors with a maximum frequency of 4.5 GHz.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.583.0 (2025-11-25)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - This release adds support to view Network firewall proxy appliances attached to an existing NAT Gateway via DescribeNatGateways API NatGatewayAttachedAppliance structure.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.582.0 (2025-11-21)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - This release adds a new capability to create and manage interruptible EC2 Capacity Reservations.\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\u003eSee full diff in \u003ca href=\"https://github.com/aws/aws-sdk-ruby/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `aws-sdk-iam` from 1.132.0 to 1.140.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/aws/aws-sdk-ruby/blob/version-3/gems/aws-sdk-iam/CHANGELOG.md\"\u003eaws-sdk-iam's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.140.0 (2026-01-16)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Code Generated Changes, see \u003ccode\u003e./build_tools\u003c/code\u003e or \u003ccode\u003eaws-sdk-core\u003c/code\u003e's CHANGELOG.md for details.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.139.0 (2026-01-08)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Code Generated Changes, see \u003ccode\u003e./build_tools\u003c/code\u003e or \u003ccode\u003eaws-sdk-core\u003c/code\u003e's CHANGELOG.md for details.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.138.0 (2026-01-05)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Code Generated Changes, see \u003ccode\u003e./build_tools\u003c/code\u003e or \u003ccode\u003eaws-sdk-core\u003c/code\u003e's CHANGELOG.md for details.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.137.0 (2025-12-05)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Adding the ExpirationTime attribute to the delegation request resource.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.136.0 (2025-11-21)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Code Generated Changes, see \u003ccode\u003e./build_tools\u003c/code\u003e or \u003ccode\u003eaws-sdk-core\u003c/code\u003e's CHANGELOG.md for details.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.135.0 (2025-11-19)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Added the EnableOutboundWebIdentityFederation, DisableOutboundWebIdentityFederation and GetOutboundWebIdentityFederationInfo APIs for the IAM outbound federation feature.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.134.0 (2025-11-18)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Added the AssociateDelegationRequest, GetDelegationRequest, AcceptDelegationRequest, RejectDelegatonRequest, ListDelegationRequests, UpdateDelegationRequest, SendDelegationToken and GetHumanReadableSummary APIs for the IAM temporary delegation feature.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.133.0 (2025-11-10)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Added CreateDelegationRequest API, which is not available for general use at this time.\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\u003eSee full diff in \u003ca href=\"https://github.com/aws/aws-sdk-ruby/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `aws-sdk-s3` from 1.208.0 to 1.212.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/aws/aws-sdk-ruby/blob/version-3/gems/aws-sdk-s3/CHANGELOG.md\"\u003eaws-sdk-s3's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.212.0 (2026-01-16)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Code Generated Changes, see \u003ccode\u003e./build_tools\u003c/code\u003e or \u003ccode\u003eaws-sdk-core\u003c/code\u003e's CHANGELOG.md for details.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.211.0 (2026-01-08)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFeature - Code Generated Changes, see \u003ccode\u003e./build_tools\u003c/code\u003e or \u003ccode\u003eaws-sdk-core\u003c/code\u003e's CHANGELOG.md for details.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eIssue - Falls back to header request checksums when using custom endpoints or endpoint providers for PutObject and UploadPart operations.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.210.1 (2026-01-06)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eIssue - Normalize response encoding to UTF-8 for proper XML error parsing in HTTP 200 responses.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.210.0 (2026-01-05)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFeature - Code Generated Changes, see \u003ccode\u003e./build_tools\u003c/code\u003e or \u003ccode\u003eaws-sdk-core\u003c/code\u003e's CHANGELOG.md for details.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFeature - Added \u003ccode\u003e:http_chunk_size\u003c/code\u003e parameter to \u003ccode\u003eTransferManager#upload_file\u003c/code\u003e to control the buffer size when streaming request bodies over HTTP. Larger chunk sizes may improve network throughput at the cost of higher memory usage (Ruby MRI only).\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFeature - Improved memory efficiency when calculating request checksums for large file uploads (Ruby MRI only).\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.209.0 (2025-12-23)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Add additional validation to Outpost bucket names.\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\u003eSee full diff in \u003ca href=\"https://github.com/aws/aws-sdk-ruby/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `bcrypt_pbkdf` from 1.1.1 to 1.1.2\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/net-ssh/bcrypt_pbkdf-ruby/commit/e52088f9a28e34321a9b359f30d472097f1d7f01\"\u003e\u003ccode\u003ee52088f\u003c/code\u003e\u003c/a\u003e chore: bump version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/net-ssh/bcrypt_pbkdf-ruby/commit/26919975ca7b77425609387955d31784381c3af6\"\u003e\u003ccode\u003e2691997\u003c/code\u003e\u003c/a\u003e added benchmark gem to gemspec\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/net-ssh/bcrypt_pbkdf-ruby/commit/fc2498597f6f556979ccc8ee58acce10e39ff09a\"\u003e\u003ccode\u003efc24985\u003c/code\u003e\u003c/a\u003e chore: bump version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/net-ssh/bcrypt_pbkdf-ruby/commit/25919bbc4a148ba2031e6c52ec777ded97560df4\"\u003e\u003ccode\u003e25919bb\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/net-ssh/bcrypt_pbkdf-ruby/issues/26\"\u003e#26\u003c/a\u003e from brendon/Ruby-3.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/net-ssh/bcrypt_pbkdf-ruby/commit/77d005a0be09f848cf8838d09e611290b027a791\"\u003e\u003ccode\u003e77d005a\u003c/code\u003e\u003c/a\u003e Add Ruby 3.4 support\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/net-ssh/bcrypt_pbkdf-ruby/compare/v1.1.1...v1.1.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `countries` from 8.0.4 to 8.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/countries/countries/releases\"\u003ecountries's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.1.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate Romania standard VAT from 19% to 21% + single reduced rate to 11% (Aug 1st 2025 change) by \u003ca href=\"https://github.com/jarthod\"\u003e\u003ccode\u003e@​jarthod\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/930\"\u003ecountries/countries#930\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove CP code from FR translations. Fixes \u003ca href=\"https://redirect.github.com/countries/countries/issues/928\"\u003e#928\u003c/a\u003e by \u003ca href=\"https://github.com/pmor\"\u003e\u003ccode\u003e@​pmor\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/932\"\u003ecountries/countries#932\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eiso_short_name_lower_case\u003c/code\u003e attribute as an alternative to \u003ca href=\"https://redirect.github.com/countries/countries/issues/907\"\u003e#907\u003c/a\u003e by \u003ca href=\"https://github.com/pmor\"\u003e\u003ccode\u003e@​pmor\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/915\"\u003ecountries/countries#915\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAllow locales to be set with strings. Fixes \u003ca href=\"https://redirect.github.com/countries/countries/issues/916\"\u003e#916\u003c/a\u003e by \u003ca href=\"https://github.com/pmor\"\u003e\u003ccode\u003e@​pmor\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/931\"\u003ecountries/countries#931\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd #pluck support by \u003ca href=\"https://github.com/pmor\"\u003e\u003ccode\u003e@​pmor\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/933\"\u003ecountries/countries#933\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix misuse of File.join with nested array by \u003ca href=\"https://github.com/marksmith\"\u003e\u003ccode\u003e@​marksmith\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/936\"\u003ecountries/countries#936\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdds translations in Bulgarian for MK, CZ, CV, SZ by \u003ca href=\"https://github.com/kirichkov\"\u003e\u003ccode\u003e@​kirichkov\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/935\"\u003ecountries/countries#935\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate BG to EUR (effective 1 Jan 26) by \u003ca href=\"https://github.com/pmor\"\u003e\u003ccode\u003e@​pmor\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/940\"\u003ecountries/countries#940\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate vatican nationality by \u003ca href=\"https://github.com/pmor\"\u003e\u003ccode\u003e@​pmor\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/941\"\u003ecountries/countries#941\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd ruby 4.0.0 to test matrix and update gems by \u003ca href=\"https://github.com/pmor\"\u003e\u003ccode\u003e@​pmor\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/942\"\u003ecountries/countries#942\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/marksmith\"\u003e\u003ccode\u003e@​marksmith\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/countries/countries/pull/936\"\u003ecountries/countries#936\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kirichkov\"\u003e\u003ccode\u003e@​kirichkov\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/countries/countries/pull/935\"\u003ecountries/countries#935\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/countries/countries/compare/v8.0.4...v8.0.5\"\u003ehttps://github.com/countries/countries/compare/v8.0.4...v8.0.5\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/countries/countries/blob/master/CHANGELOG.md\"\u003ecountries's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/countries/countries/releases/tag/v8.1.0\u0026#x27;\"\u003e8.1.0\u003c/a\u003e (2026/01/02 09:14 +00:00)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate Romania standard VAT from 19% to 21% + single reduced rate to 11% (Aug 1st 2025 change) by \u003ca href=\"https://github.com/jarthod\"\u003e\u003ccode\u003e@​jarthod\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/930\"\u003ecountries/countries#930\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove CP code from FR translations. Fixes \u003ca href=\"https://redirect.github.com/countries/countries/issues/928\"\u003e#928\u003c/a\u003e by \u003ca href=\"https://github.com/pmor\"\u003e\u003ccode\u003e@​pmor\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/932\"\u003ecountries/countries#932\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eiso_short_name_lower_case\u003c/code\u003e attribute as an alternative to \u003ca href=\"https://redirect.github.com/countries/countries/issues/907\"\u003e#907\u003c/a\u003e by \u003ca href=\"https://github.com/pmor\"\u003e\u003ccode\u003e@​pmor\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/915\"\u003ecountries/countries#915\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAllow locales to be set with strings. Fixes \u003ca href=\"https://redirect.github.com/countries/countries/issues/916\"\u003e#916\u003c/a\u003e by \u003ca href=\"https://github.com/pmor\"\u003e\u003ccode\u003e@​pmor\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/931\"\u003ecountries/countries#931\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd #pluck support by \u003ca href=\"https://github.com/pmor\"\u003e\u003ccode\u003e@​pmor\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/933\"\u003ecountries/countries#933\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix misuse of File.join with nested array by \u003ca href=\"https://github.com/marksmith\"\u003e\u003ccode\u003e@​marksmith\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/936\"\u003ecountries/countries#936\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdds translations in Bulgarian for MK, CZ, CV, SZ by \u003ca href=\"https://github.com/kirichkov\"\u003e\u003ccode\u003e@​kirichkov\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/935\"\u003ecountries/countries#935\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate BG to EUR (effective 1 Jan 26) by \u003ca href=\"https://github.com/pmor\"\u003e\u003ccode\u003e@​pmor\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/940\"\u003ecountries/countries#940\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate vatican nationality by \u003ca href=\"https://github.com/pmor\"\u003e\u003ccode\u003e@​pmor\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/941\"\u003ecountries/countries#941\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd ruby 4.0.0 to test matrix and update gems by \u003ca href=\"https://github.com/pmor\"\u003e\u003ccode\u003e@​pmor\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/942\"\u003ecountries/countries#942\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/countries/countries/commit/8c026f5b49da93d7bf484d1c0ff59e14750970b1\"\u003e\u003ccode\u003e8c026f5\u003c/code\u003e\u003c/a\u003e Bump version, update CHANGELOG and cache\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/countries/countries/commit/6d05a3420ab989b9450fbccfa07ef58e63b059a8\"\u003e\u003ccode\u003e6d05a34\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/countries/countries/issues/942\"\u003e#942\u003c/a\u003e from countries/ruby-4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/countries/countries/commit/3c827e3c0dd967fc5b6b4a651b3517e8cba1b07c\"\u003e\u003ccode\u003e3c827e3\u003c/code\u003e\u003c/a\u003e Add ruby 4.0.0 to test matrix and update gems\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/countries/countries/commit/c9474b8c3760ded6b536aac6a0e59742b38fb72f\"\u003e\u003ccode\u003ec9474b8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/countries/countries/issues/941\"\u003e#941\u003c/a\u003e from countries/update-vatican-nationality\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/countries/countries/commit/87a8f56c3b510e7fb0e22649fc4aee3188564d96\"\u003e\u003ccode\u003e87a8f56\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/countries/countries/issues/940\"\u003e#940\u003c/a\u003e from countries/update_BG_to_EUR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/countries/countries/commit/0999e7b104ee0ea835ecd020ad02433c5d1d0fa5\"\u003e\u003ccode\u003e0999e7b\u003c/code\u003e\u003c/a\u003e Cache update needed to validate specs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/countries/countries/commit/16d61084f3e26c647ff5fabfcc86d301ee52594d\"\u003e\u003ccode\u003e16d6108\u003c/code\u003e\u003c/a\u003e Update spec\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/countries/countries/commit/1cdc06f6b7d51bbfd842d1004f4af510f0cb34bb\"\u003e\u003ccode\u003e1cdc06f\u003c/code\u003e\u003c/a\u003e Change Vatican nationality to Vatican Citizen over Italian\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/countries/countries/commit/33bf18d3ce490c0752925cf976839729beaf9ea3\"\u003e\u003ccode\u003e33bf18d\u003c/code\u003e\u003c/a\u003e Update BG to EUR (effective 1 Jan 26)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/countries/countries/commit/89a10415b780601b9d969f7a88eba6ffdd3ea9e6\"\u003e\u003ccode\u003e89a1041\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/countries/countries/issues/935\"\u003e#935\u003c/a\u003e from simplicitybg/bg-translations-update\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/countries/countries/compare/v8.0.4...v8.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `excon` from 1.3.0 to 1.3.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/excon/excon/blob/master/changelog.txt\"\u003eexcon's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e1.3.2 2025-12-03\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eupdate bundled certs\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e1.3.1 2025-11-05\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eupdate bundled certs\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/excon/excon/commit/e94efe6637d9d99a66e8a39b52c0131c706432b7\"\u003e\u003ccode\u003ee94efe6\u003c/code\u003e\u003c/a\u003e v1.3.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/excon/excon/commit/7e858751ff850bafc4000fcca4f3f331c70c07bc\"\u003e\u003ccode\u003e7e85875\u003c/code\u003e\u003c/a\u003e update bundled certs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/excon/excon/commit/f076a7657782c518cbff2c1683309c2c106e6275\"\u003e\u003ccode\u003ef076a76\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 5 to 6 (\u003ca href=\"https://redirect.github.com/excon/excon/issues/893\"\u003e#893\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/excon/excon/commit/fbe4748d49ac87504ee8d3e7352da0de3485144c\"\u003e\u003ccode\u003efbe4748\u003c/code\u003e\u003c/a\u003e adjust ractor usage for Ruby 3.5+\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/excon/excon/commit/7900bec2e4f4916b0d8994e5e7f3b57ca10ddb68\"\u003e\u003ccode\u003e7900bec\u003c/code\u003e\u003c/a\u003e v1.3.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/excon/excon/commit/a18079c2a55780951d61da712d68554217106ede\"\u003e\u003ccode\u003ea18079c\u003c/code\u003e\u003c/a\u003e update bundled certs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/excon/excon/commit/60ac6aa966172e6bd20264366e213943d891329c\"\u003e\u003ccode\u003e60ac6aa\u003c/code\u003e\u003c/a\u003e update bundled certs\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/excon/excon/compare/v1.3.0...v1.3.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `nokogiri` from 1.18.10 to 1.19.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sparklemotion/nokogiri/releases\"\u003enokogiri's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.19.0 / 2025-12-28\u003c/h2\u003e\n\u003ch4\u003eRuby\u003c/h4\u003e\n\u003cp\u003eThis release is focused on changes to Ruby version support, and is otherwise functionally identical to v1.18.10.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eIntroduce native gem support for Ruby 4.0. \u003ca href=\"https://redirect.github.com/sparklemotion/nokogiri/issues/3590\"\u003e#3590\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnd support for Ruby 3.1, for which \u003ca href=\"https://www.ruby-lang.org/en/downloads/branches/\"\u003eupstream support ended 2025-03-26\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eEnd support for JRuby 9.4 (which targets Ruby 3.1 compatibility).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cpre\u003e\u003ccode\u003e11a97ecc3c0e7e5edcf395720b10860ef493b768f6aa80c539573530bc933767  nokogiri-1.19.0-aarch64-linux-gnu.gem\neb70507f5e01bc23dad9b8dbec2b36ad0e61d227b42d292835020ff754fb7ba9  nokogiri-1.19.0-aarch64-linux-musl.gem\n572a259026b2c8b7c161fdb6469fa2d0edd2b61cd599db4bbda93289abefbfe5  nokogiri-1.19.0-arm-linux-gnu.gem\n23ed90922f1a38aed555d3de4d058e90850c731c5b756d191b3dc8055948e73c  nokogiri-1.19.0-arm-linux-musl.gem\n0811dfd936d5f6dd3f6d32ef790568bf29b2b7bead9ba68866847b33c9cf5810  nokogiri-1.19.0-arm64-darwin.gem\n5f3a70e252be641d8a4099f7fb4cc25c81c632cb594eec9b4b8f2ca8be4374f3  nokogiri-1.19.0-java.gem\n05d7ed2d95731edc9bef2811522dc396df3e476ef0d9c76793a9fca81cab056b  nokogiri-1.19.0-x64-mingw-ucrt.gem\n1dad56220b603a8edb9750cd95798bffa2b8dd9dd9aa47f664009ee5b43e3067  nokogiri-1.19.0-x86_64-darwin.gem\nf482b95c713d60031d48c44ce14562f8d2ce31e3a9e8dd0ccb131e9e5a68b58c  nokogiri-1.19.0-x86_64-linux-gnu.gem\n1c4ca6b381622420073ce6043443af1d321e8ed93cc18b08e2666e5bd02ffae4  nokogiri-1.19.0-x86_64-linux-musl.gem\ne304d21865f62518e04f2bf59f93bd3a97ca7b07e7f03952946d8e1c05f45695  nokogiri-1.19.0.gem\n\u003c/code\u003e\u003c/pre\u003e\n\u003c!-- raw HTML omitted --\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/sparklemotion/nokogiri/blob/main/CHANGELOG.md\"\u003enokogiri's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.19.0 / 2025-12-28\u003c/h2\u003e\n\u003ch4\u003eRuby\u003c/h4\u003e\n\u003cp\u003eThis release is focused on changes to Ruby version support, and is otherwise functionally identical to v1.18.10.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eIntroduce native gem support for Ruby 4.0. \u003ca href=\"https://redirect.github.com/sparklemotion/nokogiri/issues/3590\"\u003e#3590\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnd support for Ruby 3.1, for which \u003ca href=\"https://www.ruby-lang.org/en/downloads/branches/\"\u003eupstream support ended 2025-03-26\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eEnd support for JRuby 9.4 (which targets Ruby 3.1 compatibility).\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/sparklemotion/nokogiri/commit/d77bfb66302532b90c0f340ed6b4ae74f275dde8\"\u003e\u003ccode\u003ed77bfb6\u003c/code\u003e\u003c/a\u003e version bump to v1.19.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/1eb5c2c035b360fd1195de0b274e901b6e0c12dd\"\u003e\u003ccode\u003e1eb5c2c\u003c/code\u003e\u003c/a\u003e dev: convert scripts/test-gem-set to use mise\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/88a120fd8198cd49b7cbe6388c92cd92d776407d\"\u003e\u003ccode\u003e88a120f\u003c/code\u003e\u003c/a\u003e dep: Add native Ruby 4 support, drop Ruby 3.1 support (v1.19.x) (\u003ca href=\"https://redirect.github.com/sparklemotion/nokogiri/issues/3592\"\u003e#3592\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/f8c8f74e846ea49d2cb221710cc08618842ba21e\"\u003e\u003ccode\u003ef8c8f74\u003c/code\u003e\u003c/a\u003e Skip the parser compression test for Windows system libs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/e91c0fcde1a3b331863468407bb52bc2a7d27830\"\u003e\u003ccode\u003ee91c0fc\u003c/code\u003e\u003c/a\u003e ci: temporarily pin to setup-ruby with windows ruby 4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/1b08acc30a3147a6addab090bf6100e077437f26\"\u003e\u003ccode\u003e1b08acc\u003c/code\u003e\u003c/a\u003e dep: update to minitest 6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/404487d983593ba1bb8ce91568a65da6d2d86439\"\u003e\u003ccode\u003e404487d\u003c/code\u003e\u003c/a\u003e dep: require JRuby \u0026gt;= 10.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/19b22eaaacad92da5ec5b38e97bb750e14b096e5\"\u003e\u003ccode\u003e19b22ea\u003c/code\u003e\u003c/a\u003e dep: add support for native Ruby 4.0 gem\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/ec57d11955d4d2e4d47bea3803312e128f5875f2\"\u003e\u003ccode\u003eec57d11\u003c/code\u003e\u003c/a\u003e ci: bump versions in CI images\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/f7b640f364e7aca0c55b25beda3aa369581a71c7\"\u003e\u003ccode\u003ef7b640f\u003c/code\u003e\u003c/a\u003e ci: avoid bundler collisions in downstream tests\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sparklemotion/nokogiri/compare/v1.18.10...v1.19.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pry` from 0.15.2 to 0.16.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pry/pry/releases\"\u003epry's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.16.0\u003c/h2\u003e\n\u003ch4\u003eFeatures\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eRuby 4.0 Support.\nPry will now require and default to Reline for newer Rubies.\n(\u003ca href=\"https://redirect.github.com/pry/pry/pull/2357\"\u003e#2357\u003c/a\u003e)\n(\u003ca href=\"https://redirect.github.com/pry/pry/pull/2349\"\u003e#2349\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRevert 'Unify show-doc with show-source'.\n(\u003ca href=\"https://redirect.github.com/pry/pry/pull/2346\"\u003e#2346\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eBreaking Changes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eRemove experimental \u003ccode\u003ePry.auto_resize!\u003c/code\u003e\nReturns a warning. The code will be removed later.\n(\u003ca href=\"https://redirect.github.com/pry/pry/pull/2359\"\u003e#2359\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDrop support for Ruby \u0026lt; 2.6\n(\u003ca href=\"https://redirect.github.com/pry/pry/pull/2349\"\u003e#2349\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/ydah\"\u003e\u003ccode\u003e@​ydah\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pry/pry/pull/2343\"\u003epry/pry#2343\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pry/pry/compare/v0.15.2...v0.16.0\"\u003ehttps://github.com/pry/pry/compare/v0.15.2...v0.16.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/pry/pry/blob/master/CHANGELOG.md\"\u003epry's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch3\u003e\u003ca href=\"https://github.com/pry/pry/blob/master/v0.16.0\"\u003ehttps://github.com/pry/pry/blob/master/v0.16.0\u003c/a\u003e (December 26, 2025)\u003c/h3\u003e\n\u003ch4\u003eFeatures\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eRuby 4.0 Support.\nPry will now require and default to Reline for newer Rubies.\n(\u003ca href=\"https://redirect.github.com/pry/pry/pull/2357\"\u003e#2357\u003c/a\u003e)\n(\u003ca href=\"https://redirect.github.com/pry/pry/pull/2349\"\u003e#2349\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRevert 'Unify show-doc with show-source'.\n(\u003ca href=\"https://redirect.github.com/pry/pry/pull/2346\"\u003e#2346\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eBreaking Changes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eRemove experimental \u003ccode\u003ePry.auto_resize!\u003c/code\u003e\nReturns a warning. The code will be removed later.\n(\u003ca href=\"https://redirect.github.com/pry/pry/pull/2359\"\u003e#2359\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDrop support for Ruby \u0026lt; 2.6\n(\u003ca href=\"https://redirect.github.com/pry/pry/pull/2349\"\u003e#2349\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/pry/pry/commit/5a267df08ad6a69dcb890733a2765b47585439c8\"\u003e\u003ccode\u003e5a267df\u003c/code\u003e\u003c/a\u003e v0.16.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pry/pry/commit/538b15043c66e18ff98d1948b7fd1c22a73b042b\"\u003e\u003ccode\u003e538b150\u003c/code\u003e\u003c/a\u003e Update CHANGELOG\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pry/pry/commit/0a7ab20e34feb3f7952c47392b2a8030c5f161ce\"\u003e\u003ccode\u003e0a7ab20\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pry/pry/issues/2361\"\u003e#2361\u003c/a\u003e from andrehjr/remove-outdated-deps\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pry/pry/commit/8dcb2c82fffdb846b961f5d1e555dba3e9450ab5\"\u003e\u003ccode\u003e8dcb2c8\u003c/code\u003e\u003c/a\u003e Remove pinned method_source version for Ruby \u0026lt; 2.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pry/pry/commit/fc9969bca186a252b1a43d85b663f4352bc8b6ec\"\u003e\u003ccode\u003efc9969b\u003c/code\u003e\u003c/a\u003e Remove psych pinned version from Gemfile\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pry/pry/commit/23b3ed6b737d190f95abaf30478a749c6b8d9b95\"\u003e\u003ccode\u003e23b3ed6\u003c/code\u003e\u003c/a\u003e Remove hardcoded require for rubocop \u0026gt; 2.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pry/pry/commit/e9ac449c1d7a3607a87d15d6be19d7a6be3645ad\"\u003e\u003ccode\u003ee9ac449\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pry/pry/issues/2349\"\u003e#2349\u003c/a\u003e from andrehjr/no-readline-installed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pry/pry/commit/679249bc189c3bd7fb187dc174a08a3ff88ec1da\"\u003e\u003ccode\u003e679249b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pry/pry/issues/2359\"\u003e#2359\u003c/a\u003e from andrehjr/remove-experiental-autoresize\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pry/pry/commit/17d5954f7ea2ebddb38a9af9f1987d2997d0e62b\"\u003e\u003ccode\u003e17d5954\u003c/code\u003e\u003c/a\u003e Remove experimental Pry.auto_resize!\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pry/pry/commit/090822bcabcedba392ceaea5b4549d04c2cab7dd\"\u003e\u003ccode\u003e090822b\u003c/code\u003e\u003c/a\u003e Pry will only support Ruby 2.6+ form now on\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pry/pry/compare/v0.15.2...v0.16.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `reline` from 0.6.2 to 0.6.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/reline/releases\"\u003ereline's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.6.3\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix CSI pattern regexp to accept parameter bytes and intermediate bytes by \u003ca href=\"https://github.com/tompng\"\u003e\u003ccode\u003e@​tompng\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/reline/pull/848\"\u003eruby/reline#848\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse key symbol names instead of hardcoded C-r C-s C-h C-? in reverse/forward i-search by \u003ca href=\"https://github.com/tompng\"\u003e\u003ccode\u003e@​tompng\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/reline/pull/855\"\u003eruby/reline#855\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🛠 Other Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBump actions/checkout from 4 to 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/ruby/reline/pull/846\"\u003eruby/reline#846\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump step-security/harden-runner from 2.12.2 to 2.13.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/ruby/reline/pull/844\"\u003eruby/reline#844\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/upload-pages-artifact 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/ruby/reline/pull/849\"\u003eruby/reline#849\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump step-security/harden-runner from 2.13.0 to 2.13.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/ruby/reline/pull/850\"\u003eruby/reline#850\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse test-unit-ruby-core by \u003ca href=\"https://github.com/tompng\"\u003e\u003ccode\u003e@​tompng\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/reline/pull/852\"\u003eruby/reline#852\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove retrieve_keybuffer by \u003ca href=\"https://github.com/tompng\"\u003e\u003ccode\u003e@​tompng\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/reline/pull/851\"\u003eruby/reline#851\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump rubygems/release-gem from 1.1.1 to 1.1.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/ruby/reline/pull/857\"\u003eruby/reline#857\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse bundler/setup instead of Bunlder.require in multiline_repl by \u003ca href=\"https://github.com/tompng\"\u003e\u003ccode\u003e@​tompng\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/reline/pull/860\"\u003eruby/reline#860\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump version to 0.6.3 by \u003ca href=\"https://github.com/ima1zumi\"\u003e\u003ccode\u003e@​ima1zumi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/reline/pull/858\"\u003eruby/reline#858\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ruby/reline/compare/v0.6.2...v0.6.3\"\u003ehttps://github.com/ruby/reline/compare/v0.6.2...v0.6.3\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/ruby/reline/commit/55390d5c0cfb8916b170b9146428c8de98ff7dc8\"\u003e\u003ccode\u003e55390d5\u003c/code\u003e\u003c/a\u003e Bump up to 0.6.3 (\u003ca href=\"https://redirect.github.com/ruby/reline/issues/858\"\u003e#858\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/reline/commit/07255abec99bb6daaf87cc13c8f35e205ace9bbb\"\u003e\u003ccode\u003e07255ab\u003c/code\u003e\u003c/a\u003e Use bundler/setup instead of Bunlder.require in multiline_repl (\u003ca href=\"https://redirect.github.com/ruby/reline/issues/860\"\u003e#860\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/reline/commit/7eef150d6e3c7e85836b1a6da40a15f06a3c487e\"\u003e\u003ccode\u003e7eef150\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/reline/issues/857\"\u003e#857\u003c/a\u003e from ruby/dependabot/github_actions/rubygems/release-...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/reline/commit/63dfa17da92da947082d9d6e8336f3f5cd69b974\"\u003e\u003ccode\u003e63dfa17\u003c/code\u003e\u003c/a\u003e Bump rubygems/release-gem from 1.1.1 to 1.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/reline/commit/1d1e8081f20d4603b3342ee01ab63303304f69c0\"\u003e\u003ccode\u003e1d1e808\u003c/code\u003e\u003c/a\u003e Use key symbol names instead of hardcoded C-r C-s C-h C-? in reverse/forward ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/reline/commit/433a93076eee3bc30bb9d6c43df355a414bfbfdd\"\u003e\u003ccode\u003e433a930\u003c/code\u003e\u003c/a\u003e Fix CSI pattern regexp to accept parameter bytes and intermediate bytes (\u003ca href=\"https://redirect.github.com/ruby/reline/issues/848\"\u003e#848\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/reline/commit/5d5c1ff0cc0662b8a6285b6a9b56283bca2e5e5d\"\u003e\u003ccode\u003e5d5c1ff\u003c/code\u003e\u003c/a\u003e Remove retrieve_keybuffer (\u003ca href=\"https://redirect.github.com/ruby/reline/issues/851\"\u003e#851\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/reline/commit/199c26a2c07d83c9281cc8b97892d60b595173eb\"\u003e\u003ccode\u003e199c26a\u003c/code\u003e\u003c/a\u003e Use test-unit-ruby-core (\u003ca href=\"https://redirect.github.com/ruby/reline/issues/852\"\u003e#852\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/reline/commit/19aa19f1bfa2b738603f2c65de81a15b19b14594\"\u003e\u003ccode\u003e19aa19f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/reline/issues/850\"\u003e#850\u003c/a\u003e from ruby/dependabot/github_actions/step-security/har...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/reline/commit/9300d4de899868ea554c1a522f37a5d3eee94926\"\u003e\u003ccode\u003e9300d4d\u003c/code\u003e\u003c/a\u003e Bump step-security/harden-runner from 2.13.0 to 2.13.1\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby/reline/compare/v0.6.2...v0.6.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `roda` from 3.97.0 to 3.100.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jeremyevans/roda/blob/master/CHANGELOG\"\u003eroda's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e=== 3.100.0 (2026-01-12)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd sec_fetch_site_csrf plugin, for CSRF protection using Sec-Fetch-Site header (jeremyevans)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e=== 3.99.0 (2025-12-12)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for set matchers by default, as Set will be a core class in Ruby 4 (jeremyevans)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e=== 3.98.0 (2025-11-13)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for the :env_key option to the sessions plugin (jeremyevans) (\u003ca href=\"https://redirect.github.com/jeremyevans/roda/issues/403\"\u003e#403\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/jeremyevans/roda/commit/5a869c86afc6a2e25cdf02c2cdc680ca0144a9ce\"\u003e\u003ccode\u003e5a869c8\u003c/code\u003e\u003c/a\u003e Bump version to 3.100.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jeremyevans/roda/commit/b05ee5845d5e35ed68fce7f9eed51cbe6cad0c55\"\u003e\u003ccode\u003eb05ee58\u003c/code\u003e\u003c/a\u003e Add Ruby 4.0 to CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jeremyevans/roda/commit/483272fa283211fbb4d8d43d3ee058ce7bf94ab2\"\u003e\u003ccode\u003e483272f\u003c/code\u003e\u003c/a\u003e Add sec_fetch_site_csrf plugin, for CSRF protection using Sec-Fetch-Site header\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jeremyevans/roda/commit/81b22346444027538f53a59d29f73b4f716598fd\"\u003e\u003ccode\u003e81b2234\u003c/code\u003e\u003c/a\u003e Bump version to 3.99.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jeremyevans/roda/commit/180d499a9178f31d29b669c7591e5b3dd8f4e1f1\"\u003e\u003ccode\u003e180d499\u003c/code\u003e\u003c/a\u003e Update run_require_slash plugin docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jeremyevans/roda/commit/8f190dfd7484ab0f7ab1e07d41b800b738c5987e\"\u003e\u003ccode\u003e8f190df\u003c/code\u003e\u003c/a\u003e Update website home page\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jeremyevans/roda/commit/ca50e40ed039b64c821609333a8290c0512b1327\"\u003e\u003ccode\u003eca50e40\u003c/code\u003e\u003c/a\u003e Add Understandability as a goal\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jeremyevans/roda/commit/578ca9a106790c87f799b6b6e337099d5c8d99b1\"\u003e\u003ccode\u003e578ca9a\u003c/code\u003e\u003c/a\u003e Add support for set matchers by default, as Set will be a core class in Ruby 4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jeremyevans/roda/commit/8fc5b77fcd0d49625bcc77007622fe94a0f2afc2\"\u003e\u003ccode\u003e8fc5b77\u003c/code\u003e\u003c/a\u003e Bump version to 3.98.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jeremyevans/roda/commit/5b1a58ec704add896d1e8442c1e4bb80a0c5d85e\"\u003e\u003ccode\u003e5b1a58e\u003c/code\u003e\u003c/a\u003e Add support for the :env_key option to the sessions plugin\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/jeremyevans/roda/compare/3.97.0...3.100.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rodauth` from 2.41.0 to 2.42.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jeremyevans/rodauth/blob/master/CHANGELOG\"\u003erodauth's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e=== 2.42.0 (2025-12-18)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid mixed string/symbol keys in JSON when using the jwt_refresh feature (jeremyevans)\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/jeremyevans/rodauth/commit/8c07562f8c481b514dcbd42cc0cc5827699f8daf\"\u003e\u003ccode\u003e8c07562\u003c/code\u003e\u003c/a\u003e Bump version to 2.42.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jeremyevans/rodauth/commit/3724d1cc7b9e9cdb386d183f74197af6fad672c5\"\u003e\u003ccode\u003e3724d1c\u003c/code\u003e\u003c/a\u003e Avoid mixed string/symbol keys in JSON in a few specs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jeremyevans/rodauth/commit/e067e0bce6189fd1dce5c4eccddf593ab417ae4d\"\u003e\u003ccode\u003ee067e0b\u003c/code\u003e\u003c/a\u003e Avoid mixed string/symbol keys in JSON when using the jwt_refresh feature\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/jeremyevans/rodauth/compare/2.41.0...2.42.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rqrcode` from 3.1.0 to 3.2.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/whomwah/rqrcode/releases\"\u003erqrcode's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.2.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRelease 3.1.1 mergeback by \u003ca href=\"https://github.com/whomwah\"\u003e\u003ccode\u003e@​whomwah\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/whomwah/rqrcode/pull/162\"\u003ewhomwah/rqrcode#162\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUsing AI Assistant to identity (and fix) performance bottlenecks by \u003ca href=\"https://github.com/whomwah\"\u003e\u003ccode\u003e@​whomwah\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/whomwah/rqrcode/pull/163\"\u003ewhomwah/rqrcode#163\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated minimum Ruby version requirement to \u0026gt;= 3.2.0\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eSVG rendering\u003c/strong\u003e: Improved by \u003cstrong\u003e+130%\u003c/strong\u003e (from 184 i/s to 424 i/s) with \u003cstrong\u003e71% memory reduction\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eHTML rendering\u003c/strong\u003e: Now the fastest export format at \u003cstrong\u003e1,876 i/s\u003c/strong\u003e (rendering-only benchmark)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eMemory efficiency\u003c/strong\u003e: HTML now uses \u003cstrong\u003e6x less memory\u003c/strong\u003e than SVG (previously 22x)\u003c/li\u003e\n\u003cli\u003euses rqrcode_core 2.1 \u003ca href=\"https://github.com/whomwah/rqrcode_core/blob/main/CHANGELOG.md#210---2026-01-07\"\u003ewhich also received performance improvements\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eReleases/3.2.0 by \u003ca href=\"https://github.com/whomwah\"\u003e\u003ccode\u003e@​whomwah\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/whomwah/rqrcode/pull/164\"\u003ewhomwah/rqrcode#164\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/whomwah/rqrcode/compare/v3.1.1...v3.2.0\"\u003ehttps://github.com/whomwah/rqrcode/compare/v3.1.1...v3.2.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev3.1.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRelease 3.1.0 mergeback by \u003ca href=\"https://github.com/whomwah\"\u003e\u003ccode\u003e@​whomwah\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/whomwah/rqrcode/pull/158\"\u003ewhomwah/rqrcode#158\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate required_ruby_version to allow Ruby 4.0 by \u003ca href=\"https://github.com/k0kubun\"\u003e\u003ccode\u003e@​k0kubun\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/whomwah/rqrcode/pull/160\"\u003ewhomwah/rqrcode#160\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReleases/v3.1.1 by \u003ca href=\"https://github.com/whomwah\"\u003e\u003ccode\u003e@​whomwah\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/whomwah/rqrcode/pull/161\"\u003ewhomwah/rqrcode#161\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/k0kubun\"\u003e\u003ccode\u003e@​k0kubun\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/whomwah/rqrcode/pull/160\"\u003ewhomwah/rqrcode#160\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/whomwah/rqrcode/compare/v3.1.0...v3.1.1\"\u003ehttps://github.com/whomwah/rqrcode/compare/v3.1.0...v3.1.1\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/whomwah/rqrcode/blob/main/CHANGELOG.md\"\u003erqrcode's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[3.2.0] - 2026-01-08\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eComprehensive benchmarking suite in \u003ccode\u003ebenchmark/\u003c/code\u003e directory for measuring performance and memory usage across all export formats (SVG, PNG, HTML, ANSI)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ebenchmark_helper.rb\u003c/code\u003e providing shared utilities for IPS, memory, and stack profiling\u003c/li\u003e\n\u003cli\u003eRake tasks for running benchmarks individually or all at once\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ebenchmark/README.md\u003c/code\u003e explaining usage, metrics, and interpretation of results\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eAGENTS.md\u003c/code\u003e as a development guide for AI agents\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eSVG rendering\u003c/strong\u003e: Improved by \u003cstrong\u003e+130%\u003c/strong\u003e (from 184 i/s to 424 i/s) with \u003cstrong\u003e71% memory reduction\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eHTML rendering\u003c/strong\u003e: Now the fastest export format at \u003cstrong\u003e1,876 i/s\u003c/strong\u003e (rendering-only benchmark)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eMemory efficiency\u003c/strong\u003e: HTML now uses \u003cstrong\u003e6x less memory\u003c/strong\u003e than SVG (previously 22x)\u003c/li\u003e\n\u003cli\u003eUpdated minimum Ruby version requirement to \u0026gt;= 3.2.0\u003c/li\u003e\n\u003cli\u003eUpdated GitHub workflow Ruby matrix to test only supported versions (3.2, 3.3, 3.4, 4.0)\u003c/li\u003e\n\u003cli\u003eUpdated \u003ccode\u003eREADME.md\u003c/code\u003e with benchmark documentation and contribution guidelines\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[3.1.1] - 2025-11-25\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate required_ruby_version to support \u0026gt;= rather than ~\u0026gt; ready for Ruby 4\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/whomwah/rqrcode/commit/f0d65004f2b5ba595fd47b36104fc1a549c07def\"\u003e\u003ccode\u003ef0d6500\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/whomwah/rqrcode/issues/164\"\u003e#164\u003c/a\u003e from whomwah/releases/3.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/whomwah/rqrcode/commit/e3f69d6275d11fa330efd1b7ffad899a05de8bd8\"\u003e\u003ccode\u003ee3f69d6\u003c/code\u003e\u003c/a\u003e chore(release): bump version to 3.2.0 and update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/whomwah/rqrcode/commit/ea5d9cd59972bb649b76fc71df5a7181632532fa\"\u003e\u003ccode\u003eea5d9cd\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/whomwah/rqrcode/issues/163\"\u003e#163\u003c/a\u003e from whomwah/feat/performance1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/whomwah/rqrcode/commit/36917bf812e849f88776df6969904761b454e13b\"\u003e\u003ccode\u003e36917bf\u003c/code\u003e\u003c/a\u003e perf(svg): optimize SVG path export for speed and output size\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/whomwah/rqrcode/commit/4697d7d2f4b2478f7aeafa45305d4f6da11a535e\"\u003e\u003ccode\u003e4697d7d\u003c/code\u003e\u003c/a\u003e docs(benchmark): update benchmark results for 2026-01-08\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/whomwah/rqrcode/commit/12a395d13de08680f53561af4403dd9f2535bcfe\"\u003e\u003ccode\u003e12a395d\u003c/code\u003e\u003c/a\u003e chore: update ruby support to \u0026gt;= 3.2 and update dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/whomwah/rqrcode/commit/ed9c3a42c83903f6310fbedace896be4fc556e40\"\u003e\u003ccode\u003eed9c3a4\u003c/code\u003e\u003c/a\u003e refactor(html): optimize as_html for performance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/whomwah/rqrcode/commit/a0515013f8173c388c8fcc06cbb836140e48b23f\"\u003e\u003ccode\u003ea051501\u003c/code\u003e\u003c/a\u003e refactor(svg): move color prefix logic to top-level render method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/whomwah/rqrcode/commit/b4ef4532bd6c7a59b3060da02420f6d764aa42d3\"\u003e\u003ccode\u003eb4ef453\u003c/code\u003e\u003c/a\u003e docs: add semantic commit message guidelines to AGENTS.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/whomwah/rqrcode/commit/822071682137186eca433fe0167f32d8f5b061c2\"\u003e\u003ccode\u003e8220716\u003c/code\u003e\u003c/a\u003e chore(deps): update rqrcode_core to 2.1.0\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/whomwah/rqrcode/compare/v3.1.0...v3.2.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sequel_pg` from 1.18.0 to 1.18.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jeremyevans/sequel_pg/blob/master/CHANGELOG\"\u003esequel_pg's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e=== 1.18.2 (2025-12-18)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid bogus warnings about the implicit block parameter in Ruby 3.3 (jeremyevans) (\u003ca href=\"https://redirect.github.com/jeremyevans/sequel_pg/issues/64\"\u003e#64\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e=== 1.18.1 (2025-12-16)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix truncated results for map/select_map/select_order_map/as_hash/to_hash_groups/select_hash/select_hash_groups/as_set/select_set for datasets using use_cursor (jeremyevans) (\u003ca href=\"https://redirect.github.com/jeremyevans/sequel_pg/issues/62\"\u003e#62\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAvoid compilation warnings checking for HAVE_* definitions (jeremyevans)\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/jeremyevans/sequel_pg/commit/de99106f589629cb3813371a8d534a4d2a811298\"\u003e\u003ccode\u003ede99106\u003c/code\u003e\u003c/a\u003e Bump version to 1.18.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jeremyevans/sequel_pg/commit/72bf00a5a6c655aa6451d2639600be02a5ab32d4\"\u003e\u003ccode\u003e72bf00a\u003c/code\u003e\u003c/a\u003e Avoid bogus warnings about the implicit block parameter in Ruby 3.3 (Fixes \u003ca href=\"https://redirect.github.com/jeremyevans/sequel_pg/issues/64\"\u003e#64\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jeremyevans/sequel_pg/commit/556edaaa9c2d06510cd51885d46666b6e2c87d8d\"\u003e\u003ccode\u003e556edaa\u003c/code\u003e\u003c/a\u003e Bump version to 1.18.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jeremyevans/sequel_pg/commit/82f812e85135924a2ec1410d76f53037514698ef\"\u003e\u003ccode\u003e82f812e\u003c/code\u003e\u003c/a\u003e Fix truncated results for map/select_map/select_order_map/as_hash/to_hash_gro...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jeremyevans/sequel_pg/commit/998030d04be6b9439d8783c94da664fc68dc4a4b\"\u003e\u003ccode\u003e998030d\u003c/code\u003e\u003c/a\u003e Avoid compilation warnings checking for HAVE_* definitions\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/jeremyevans/sequel_pg/compare/1.18.0...1.18.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `tilt` from 2.6.1 to 2.7.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jeremyevans/tilt/blob/master/CHANGELOG.md\"\u003etilt's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.7.0 (2026-01-09)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport passing template-specific options to Tilt::Pipeline.new (LevitatingBusinessMan) (\u003ca href=\"https://redirect.github.com/jeremyevans/tilt/issues/24\"\u003e#24\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove deprecated creole template (jeremyevans)\u003c/li\u003e\n\u003cli\u003eMake the rendering of Prawn templates idempotent (rickenharp) (\u003ca href=\"https://redirect.github.com/jeremyevans/tilt/issues/20\"\u003e#20\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/jeremyevans/tilt/commit/2b1189faba686df872d8d9838c9d482e7c24ea19\"\u003e\u003ccode\u003e2b1189f\u003c/code\u003e\u003c/a\u003e Bump version to 2.7.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jeremyevans/tilt/commit/ac414e75f25a85c72b5bd8cf9e5f4a07828cfd56\"\u003e\u003ccode\u003eac414e7\u003c/code\u003e\u003c/a\u003e Minor changes to Tile::Pipeline.new options support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jeremyevans/tilt/commit/df4b7e3644f7d248ff70f1db7d2028b21e683a14\"\u003e\u003ccode\u003edf4b7e3\u003c/code\u003e\u003c/a\u003e allow additional options to pipeline\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jeremyevans/tilt/commit/f9193d5c1011ca9a77e2064ab1d143e75696b7f7\"\u003e\u003ccode\u003ef9193d5\u003c/code\u003e\u003c/a\u003e Drop JRuby 9.4 from CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jeremyevans/tilt/commit/712e75d1abb2e3c9731427e77140a44579ea7c7f\"\u003e\u003ccode\u003e712e75d\u003c/code\u003e\u003c/a\u003e Remove use of minitest mocks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jeremyevans/tilt/commit/d3aa2a0b3e8b1201f4dd35d5d44c82f07aa05699\"\u003e\u003ccode\u003ed3aa2a0\u003c/code\u003e\u003c/a\u003e Add Ruby 4.0 to CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jeremyevans/tilt/commit/8454c9fa5a2bd96ccadf469dbdeebc8f4aa95aba\"\u003e\u003ccode\u003e8454c9f\u003c/code\u003e\u003c/a\u003e Require URI in haml test to work around test failure on Ruby 4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jeremyevans/tilt/commit/e271cab3851ea8ece85d0072511bea2312792aa7\"\u003e\u003ccode\u003ee271cab\u003c/code\u003e\u003c/a\u003e Fix class name in coffeescript documentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jeremyevans/tilt/commit/1bca97079bb16db207a8fac1d10102caaf25327a\"\u003e\u003ccode\u003e1bca970\u003c/code\u003e\u003c/a\u003e Remove deprecated creole template\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jeremyevans/tilt/commit/7e5263ea8ebfa0f891de61139c940951243bc21c\"\u003e\u003ccode\u003e7e5263e\u003c/code\u003e\u003c/a\u003e Mention Tilt::StaticTemplate in README\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jeremyevans/tilt/compare/v2.6.1...v2.7.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `addressable` from 2.8.7 to 2.8.8\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sporkmonger/addressable/blob/main/CHANGELOG.md\"\u003eaddressable's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eAddressable 2.8.8 \u003c!-- raw HTML omitted --\u003e\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eReplace the \u003ccode\u003eunicode.data\u003c/code\u003e blob by a ruby constant (\u003ca href=\"https://redirect.github.com/sporkmonger/addressable/issues/561\"\u003e#561\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow \u003ccode\u003epublic_suffix\u003c/code\u003e 7 (\u003ca href=\"https://redirect.github.com/sporkmonger/addressable/issues/558\"\u003e#558\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/sporkmonger/addressable/issues/561\"\u003e#561\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/sporkmonger/addressable/pull/561\"\u003esporkmonger/addressable#561\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/sporkmonger/addressable/issues/558\"\u003e#558\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/sporkmonger/addressable/pull/558\"\u003esporkmonger/addressable#558\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/sporkmonger/addressable/commit/111af8e8d3260dbd5b10a2dfec42a4e129d18705\"\u003e\u003ccode\u003e111af8e\u003c/code\u003e\u003c/a\u003e Update version, gemspec, and CHANGELOG for 2.8.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sporkmonger/addressable/commit/d923a5e9a7b20ed57199e9a37366446c7f8fde4f\"\u003e\u003ccode\u003ed923a5e\u003c/code\u003e\u003c/a\u003e Fix heading levels in README and Changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sporkmonger/addressable/commit/88f14727fffea367e3801e05f72d17f9079281a9\"\u003e\u003ccode\u003e88f1472\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 5 to 6 (\u003ca href=\"https://redirect.github.com/sporkmonger/addressable/issues/560\"\u003e#560\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sporkmonger/addressable/commit/22528139b10c9697a4790f334d9323ecc02c59fe\"\u003e\u003ccode\u003e2252813\u003c/code\u003e\u003c/a\u003e Replace the \u003ccode\u003eunicode.data\u003c/code\u003e blob by a ruby constant (\u003ca href=\"https://redirect.github.com/sporkmonger/addressable/issues/561\"\u003e#561\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sporkmonger/addressable/commit/af2d3f6e70b9551f94124e2dbab0d739127a8234\"\u003e\u003ccode\u003eaf2d3f6\u003c/code\u003e\u003c/a\u003e Allow \u003ccode\u003epublic_suffix\u003c/code\u003e v7 (\u003ca href=\"https://redirect.github.com/sporkmonger/addressable/issues/558\"\u003e#558\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sporkmonger/addressable/commit/aaa53fe23417b0bb5ce198ed081a70e70f240260\"\u003e\u003ccode\u003eaaa53fe\u003c/code\u003e\u003c/a\u003e CI: restore older rubies for \u003ccode\u003epublic_suffix\u003c/code\u003e jobs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sporkmonger/addressable/commit/49fc47477dc39f816bee25419c687e9a1f0282ef\"\u003e\u003ccode\u003e49fc474\u003c/code\u003e\u003c/a\u003e CI: fix \u003ccode\u003eprofile:template_match_memory\u003c/code\u003e task for Ruby \u0026gt;2.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sporkmonger/addressable/commit/c0f98d5f18e428a601b55f3740546293a18fc371\"\u003e\u003ccode\u003ec0f98d5\u003c/code\u003e\u003c/a\u003e CI: use latest stable ruby outside the version matrix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sporkmonger/addressable/commit/7cb10aae0353bc3c280aecaf3f62645b62c1ccce\"\u003e\u003ccode\u003e7cb10aa\u003c/code\u003e\u003c/a\u003e CI: test with modern JVM Rubies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sporkmonger/addressable/commit/dd1adcfc8368ab188526f7160c6e74fe2ef4cafa\"\u003e\u003ccode\u003edd1adcf\u003c/code\u003e\u003c/a\u003e CI: less \u003ccode\u003eubuntu-22.04\u003c/code\u003e, more \u003ccode\u003eubuntu-24.04\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sporkmonger/addressable/compare/addressable-2.8.7...addressable-2.8.8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `aws-partitions` from 1.1196.0 to 1.1212.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/aws/aws-sdk-ruby/blob/version-3/gems/aws-partitions/CHANGELOG.md\"\u003eaws-partitions's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.1212.0 (2026-02-02)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Updated the partitions source data the determines the AWS service regions and endpoints.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.1211.0 (2026-01-30)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Updated the partitions source data the determines the AWS service regions and endpoints.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.1210.0 (2026-01-27)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Updated the partitions source data the determines the AWS service regions and endpoints.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.1209.0 (2026-01-22)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Updated the partitions source data the determines the AWS service regions and endpoints.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.1208.0 (2026-01-21)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Updated the partitions source data the determines the AWS service regions and endpoints.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.1207.0 (2026-01-20)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Updated the partitions source data the determines the AWS service regions and endpoints.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.1206.0 (2026-01-16)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Updated the partitions source data the determines the AWS service regions and endpoints.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.1205.0 (2026-01-15)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Updated the partitions source data the determines the AWS service regions and endpoints.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.1204.0 (2026-01-14)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Updated the partitions source data the determines the AWS service regions and endpoints.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.1203.0 (2026-01-12)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Updated the partitions source data the determines the AWS service regions and endpoints.\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\u003eSee full diff in \u003ca href=\"https://github.com/aws/aws-sdk-ruby/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `aws-sdk-core` from 3.240.0 to 3.242.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/aws/aws-sdk-ruby/blob/version-3/gems/aws-sdk-core/CHANGELOG.md\"\u003eaws-sdk-core's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.242.0 (2026-02-02)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Include HTTP status code and body in errors whehn retrieving ECS credentials and Instance Profile credentials.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.241.4 (2026-01-16)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eIssue - Rewind IO during initialization for \u003ccode\u003eAwsChunkedTrailerDigestIO\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.241.3 (2026-01-08)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eIssue - Disable request trailer checksums when using non-HTTPs endpoints.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.241.2 (2026-01-07)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eIssue - Preserve existing Content-Encoding when applying request trailer checksum.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.241.1 (2026-01-06)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eIssue - Fix memory leak in ClockSkew retry plugin by normalizing endpoints to prevent unlimited hash growth.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.241.0 (2026-01-05)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Improved memory efficiency when calculating request checksums.\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\u003eSee full diff in \u003ca href=\"https://github.com/aws/aws-sdk-ruby/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `date` from 3.5.0 to 3.5.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/date/releases\"\u003edate's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.5.1\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRemove archaic conditions by \u003ca href=\"https://github.com/nobu\"\u003e\u003ccode\u003e@​nobu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/date/pull/144\"\u003eruby/date#144\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[DOC] Remove the name from same file references by \u003ca href=\"https://github.com/nobu\"\u003e\u003ccode\u003e@​nobu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/date/pull/147\"\u003eruby/date#147\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCall rb_gc_register_mark_object after object allocation by \u003ca href=\"https://github.com/peterzhu2118\"\u003e\u003ccode\u003e@​peterzhu2118\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/date/pull/149\"\u003eruby/date#149\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/peterzhu2118\"\u003e\u003ccode\u003e@​peterzhu2118\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/date/pull/149\"\u003eruby/date#149\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ruby/date/compare/v3.5.0...v3.5.1\"\u003ehttps://github.com/ruby/date/compare/v3.5.0...v3.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/ruby/date/commit/2b5442d85a97859a680eb4be20c6e1a28f3af282\"\u003e\u003ccode\u003e2b5442d\u003c/code\u003e\u003c/a\u003e v3.5.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/date/commit/2cd5033b42f1bdac8c2a762b854a6c1db71310d5\"\u003e\u003ccode\u003e2cd5033\u003c/code\u003e\u003c/a\u003e Reorganize page documentations (\u003ca href=\"https://redirect.github.com/ruby/date/issues/15154\"\u003e#15154\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/date/commit/b8d37ac27c9d7b2e5401c1cede0d260d7176d824\"\u003e\u003ccode\u003eb8d37ac\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/date/issues/150\"\u003e#150\u003c/a\u003e from ruby/dependabot/github_actions/step-security/har...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/date/commit/2ecd780a4761e1ef31306bf495d11b93bc0c2b1d\"\u003e\u003ccode\u003e2ecd780\u003c/code\u003e\u003c/a\u003e Bump step-security/harden-runner from 2.13.2 to 2.13.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/date/commit/184aac08653a9e9ef139ebe4c3677ff82bf3df46\"\u003e\u003ccode\u003e184aac0\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/date/issues/149\"\u003e#149\u003c/a\u003e from ruby/pz-init-register-mark-obj\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/date/commit/cbec5948e013e0f6cf7cba9a7a582eb0a92a181d\"\u003e\u003ccode\u003ecbec594\u003c/code\u003e\u003c/a\u003e Call rb_gc_register_mark_object after object allocation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/date/commit/de80b014b3ae0a883e81f988f859795222583c08\"\u003e\u003ccode\u003ede80b01\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/date/issues/148\"\u003e#148\u003c/a\u003e from ruby/dependabot/github_actions/actions/checkout-6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/date/commit/6de721a3db73fcce483782f43a5b4914f91aebea\"\u003e\u003ccode\u003e6de721a\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 5 to 6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/date/commit/e41082e068bbbe2f5c65285695c93cda794de059\"\u003e\u003ccode\u003ee41082e\u003c/code\u003e\u003c/a\u003e [DOC] Remove the name from same file references\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/date/commit/cd1c0ab38ec5b5f674664a89eac7402bccf17189\"\u003e\u003ccode\u003ecd1c0ab\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/date/issues/146\"\u003e#146\u003c/a\u003e from ruby/dependabot/github_actions/step-security/har...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby/date/compare/v3.5.0...v3.5.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `faraday-net_http` from 3.4.1 to 3.4.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/lostisland/faraday-net_http/releases\"\u003efaraday-net_http's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.4.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUse more conservative net-http version constraint by \u003ca href=\"https://github.com/RDeckard\"\u003e\u003ccode\u003e@​RDeckard\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lostisland/faraday-net_http/pull/53\"\u003elostisland/faraday-net_http#53\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/RDeckard\"\u003e\u003ccode\u003e@​RDeckard\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/lostisland/faraday-net_http/pull/53\"\u003elostisland/faraday-net_http#53\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/lostisland/faraday-net_http/compare/v3.4.1...v3.4.2\"\u003ehttps://github.com/lostisland/faraday-net_http/compare/v3.4.1...v3.4.2\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/lostisland/faraday-net_http/commit/821a73a0f1fb2fd109b3ef58312b6ee10b4f2944\"\u003e\u003ccode\u003e821a73a\u003c/code\u003e\u003c/a\u003e Update ci.yml to allow manual runs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lostisland/faraday-net_http/commit/d71af6b6da15597311c59c90a02a4fe27013fb4a\"\u003e\u003ccode\u003ed71af6b\u003c/code\u003e\u003c/a\u003e Version bump to 3.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lostisland/faraday-net_http/commit/9c90d68d674de4f1a0d24f13cf05169816773840\"\u003e\u003ccode\u003e9c90d68\u003c/code\u003e\u003c/a\u003e Use more conservative net-http version constraint (\u003ca href=\"https://redirect.github.com/lostisland/faraday-net_http/issues/53\"\u003e#53\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lostisland/faraday-net_http/commit/2047b9ab36a25b595b9f444e3b12d7661c2fa818\"\u003e\u003ccode\u003e2047b9a\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 4 to 5 (\u003ca href=\"https://redirect.github.com/lostisland/faraday-net_http/issues/51\"\u003e#51\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/lostisland/faraday-net_http/compare/v3.4.1...v3.4.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `faraday-retry` from 2.3.2 to 2.4.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/lostisland/faraday-retry/releases\"\u003efaraday-retry's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.4.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump actions/checkout from 4 to 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/lostisland/faraday-retry/pull/49\"\u003elostisland/faraday-retry#49\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/lostisland/faraday-retry/pull/50\"\u003elostisland/faraday-retry#50\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRelax \u003ccode\u003erequired_ruby_version\u003c/code\u003e to support Ruby 4.0 by \u003ca href=\"https://github.com/taketo1113\"\u003e\u003ccode\u003e@​taketo1113\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lostisland/faraday-retry/pull/51\"\u003elostisland/faraday-retry#51\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/taketo1113\"\u003e\u003ccode\u003e@​taketo1113\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/lostisland/faraday-retry/pull/51\"\u003elostisland/faraday-retry#51\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/lostisland/faraday-retry/compare/v2.3.2...v2.4.0\"\u003ehttps://github.com/lostisland/faraday-retry/compare/v2.3.2....\n\n_Description has been truncated_","html_url":"https://github.com/ubicloud/ubicloud/pull/4710","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/ubicloud%2Fubicloud/issues/4710","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/4710/packages"},{"uuid":"3870312006","node_id":"PR_kwDOKC_6yM7AHLPP","number":531,"state":"open","title":"Bump the bundler group across 1 directory with 19 updates","user":"dependabot[bot]","labels":["dependencies","ruby"],"assignees":[],"locked":false,"comments_count":4,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-01-29T12:04:35.000Z","updated_at":"2026-01-30T12:01:04.193Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"bundler","update_count":19,"packages":[{"name":"rails","old_version":"8.1.0","new_version":"8.1.2","repository_url":"https://github.com/rails/rails"},{"name":"pg","old_version":"1.6.2","new_version":"1.6.3","repository_url":"https://github.com/ged/ruby-pg"},{"name":"puma","old_version":"7.1.0","new_version":"7.2.0","repository_url":"https://github.com/puma/puma"},{"name":"bootsnap","old_version":"1.18.6","new_version":"1.21.1","repository_url":"https://github.com/rails/bootsnap"},{"name":"alba","old_version":"3.9.1","new_version":"3.10.0","repository_url":"https://github.com/okuramasafumi/alba"},{"name":"aws-sdk-s3","old_version":"1.209.0","new_version":"1.213.0","repository_url":"https://github.com/aws/aws-sdk-ruby"},{"name":"httparty","old_version":"0.24.0","new_version":"0.24.2","repository_url":"https://github.com/jnunemaker/httparty"},{"name":"oauth2","old_version":"2.0.17","new_version":"2.0.18","repository_url":"https://github.com/ruby-oauth/oauth2"},{"name":"prometheus_exporter","old_version":"2.3.0","new_version":"2.3.1","repository_url":"https://github.com/discourse/prometheus_exporter"},{"name":"sentry-rails","old_version":"5.28.1","new_version":"6.3.0","repository_url":"https://github.com/getsentry/sentry-ruby"},{"name":"sidekiq","old_version":"8.0.8","new_version":"8.0.10","repository_url":"https://github.com/sidekiq/sidekiq"},{"name":"connection_pool","old_version":"2.5.4","new_version":"3.0.2","repository_url":"https://github.com/mperham/connection_pool"},{"name":"with_advisory_lock","old_version":"7.0.2","new_version":"7.5.0","repository_url":"https://github.com/ClosureTree/with_advisory_lock"},{"name":"debug","old_version":"1.11.0","new_version":"1.11.1","repository_url":"https://github.com/ruby/debug"},{"name":"dotenv-rails","old_version":"3.1.8","new_version":"3.2.0","repository_url":"https://github.com/bkeepers/dotenv"},{"name":"rubocop-govuk","old_version":"5.1.20","new_version":"5.2.0","repository_url":"https://github.com/alphagov/rubocop-govuk"},{"name":"rubocop-performance","old_version":"1.26.0","new_version":"1.26.1","repository_url":"https://github.com/rubocop/rubocop-performance"},{"name":"webmock","old_version":"3.25.1","new_version":"3.26.1","repository_url":"https://github.com/bblimke/webmock"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps the bundler group with 18 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [rails](https://github.com/rails/rails) | `8.1.0` | `8.1.2` |\n| [pg](https://github.com/ged/ruby-pg) | `1.6.2` | `1.6.3` |\n| [puma](https://github.com/puma/puma) | `7.1.0` | `7.2.0` |\n| [bootsnap](https://github.com/rails/bootsnap) | `1.18.6` | `1.21.1` |\n| [alba](https://github.com/okuramasafumi/alba) | `3.9.1` | `3.10.0` |\n| [aws-sdk-s3](https://github.com/aws/aws-sdk-ruby) | `1.209.0` | `1.213.0` |\n| [httparty](https://github.com/jnunemaker/httparty) | `0.24.0` | `0.24.2` |\n| [oauth2](https://github.com/ruby-oauth/oauth2) | `2.0.17` | `2.0.18` |\n| [prometheus_exporter](https://github.com/discourse/prometheus_exporter) | `2.3.0` | `2.3.1` |\n| [sentry-rails](https://github.com/getsentry/sentry-ruby) | `5.28.1` | `6.3.0` |\n| [sidekiq](https://github.com/sidekiq/sidekiq) | `8.0.8` | `8.0.10` |\n| [connection_pool](https://github.com/mperham/connection_pool) | `2.5.4` | `3.0.2` |\n| [with_advisory_lock](https://github.com/ClosureTree/with_advisory_lock) | `7.0.2` | `7.5.0` |\n| [debug](https://github.com/ruby/debug) | `1.11.0` | `1.11.1` |\n| [dotenv-rails](https://github.com/bkeepers/dotenv) | `3.1.8` | `3.2.0` |\n| [rubocop-govuk](https://github.com/alphagov/rubocop-govuk) | `5.1.20` | `5.2.0` |\n| [rubocop-performance](https://github.com/rubocop/rubocop-performance) | `1.26.0` | `1.26.1` |\n| [webmock](https://github.com/bblimke/webmock) | `3.25.1` | `3.26.1` |\n\n\nUpdates `rails` from 8.1.0 to 8.1.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003erails's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.1.2\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eMake \u003ccode\u003edelegate\u003c/code\u003e and \u003ccode\u003edelegate_missing_to\u003c/code\u003e work in BasicObject subclasses.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix Inflectors when using a locale that fallbacks to \u003ccode\u003e:en\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eSaid Kaldybaev\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eActiveSupport::TimeWithZone#as_json\u003c/code\u003e to consistently return UTF-8 strings.\u003c/p\u003e\n\u003cp\u003ePreviously the returned string would sometime be encoded in US-ASCII, which in\nsome cases may be problematic.\u003c/p\u003e\n\u003cp\u003eNow the method consistently always return UTF-8 strings.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eJean Boussier\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eTimeWithZone#xmlschema\u003c/code\u003e when wrapping a \u003ccode\u003eDateTime\u003c/code\u003e instance in local time.\u003c/p\u003e\n\u003cp\u003ePreviously it would return an invalid time.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eDmytro Rymar\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eImplement LocalCache strategy on \u003ccode\u003eActiveSupport::Cache::MemoryStore\u003c/code\u003e. The memory store\nneeds to respond to the same interface as other cache stores (e.g. \u003ccode\u003eActiveSupport::NullStore\u003c/code\u003e).\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eMikey Gough\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eActiveSupport::Inflector.humanize\u003c/code\u003e with international characters.\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eActiveSupport::Inflector.humanize(\u0026quot;áÉÍÓÚ\u0026quot;)  # =\u0026gt; \u0026quot;Áéíóú\u0026quot;\nActiveSupport::Inflector.humanize(\u0026quot;аБВГДЕ\u0026quot;) # =\u0026gt; \u0026quot;Абвгде\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003cem\u003eJose Luis Duran\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Record\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix counting cached queries in \u003ccode\u003eActiveRecord::RuntimeRegistry\u003c/code\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/rails/rails/commit/d7c8ae65b7045490965218a994c300aea8dbb079\"\u003e\u003ccode\u003ed7c8ae6\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.2 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/695ac6d83e14d85c131dc4bbad04e9d9cd22676c\"\u003e\u003ccode\u003e695ac6d\u003c/code\u003e\u003c/a\u003e Update Gemfile.lock\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/01263f18e8cd1f9443fe50940682b89ad862450e\"\u003e\u003ccode\u003e01263f1\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56512\"\u003e#56512\u003c/a\u003e from byroot/remove-minitest-ci\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/3ea2701a15ac253fc6b87b0034a87e3abcb3d3e5\"\u003e\u003ccode\u003e3ea2701\u003c/code\u003e\u003c/a\u003e CHANGELOG sync\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/d3fe83ff97d86480103c8757f055f6903612505b\"\u003e\u003ccode\u003ed3fe83f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56541\"\u003e#56541\u003c/a\u003e from rails/remove-system-test-from-default-ci-template\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/528351457f6aa2a472c22b6cf481bea7d2621e0b\"\u003e\u003ccode\u003e5283514\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56012\"\u003e#56012\u003c/a\u003e from jmalcic/restore-default-adc-for-gcs-iam-client\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/53e82ef8a931d4b6d01b9240ea6e486b31e14d61\"\u003e\u003ccode\u003e53e82ef\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56534\"\u003e#56534\u003c/a\u003e from khasinski/fix-sqlite3-schema-dump-default-nil\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/d2509f864aed30800b9e6d305831a62c825033a5\"\u003e\u003ccode\u003ed2509f8\u003c/code\u003e\u003c/a\u003e Allow backburner warning\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/8c48fd1c1e0a66217e03fe227197dd7b8ff0fc3c\"\u003e\u003ccode\u003e8c48fd1\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56535\"\u003e#56535\u003c/a\u003e from eglitobias/8-1-stable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/adcface26aae1018cdfe87610f85c87508b52865\"\u003e\u003ccode\u003eadcface\u003c/code\u003e\u003c/a\u003e Fix PostgreSQL schema_search_path after reconnect and reset\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/rails/compare/v8.1.0...v8.1.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pg` from 1.6.2 to 1.6.3\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ged/ruby-pg/blob/master/CHANGELOG.md\"\u003epg's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.6.3 [2025-12-29] Lars Kanis \u003ca href=\"mailto:lars@greiz-reinsdorf.de\"\u003elars@greiz-reinsdorf.de\u003c/a\u003e\u003c/h2\u003e\n\u003cp\u003eAdded:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd binary gems for ruby-4.0, now providing ruby-3.0 to 4.0. \u003ca href=\"https://redirect.github.com/ged/ruby-pg/issues/682\"\u003e#682\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate fat binary gem to OpenSSL-3.6.0 and PostgreSQL-18.1.\u003c/li\u003e\n\u003cli\u003eImprove documentation of PG::Result and README. \u003ca href=\"https://redirect.github.com/ged/ruby-pg/issues/676\"\u003e#676\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate errorcodes to PostgreSQL-18.\u003c/li\u003e\n\u003cli\u003eUse \u003ccode\u003erb_hash_new_capa\u003c/code\u003e on Ruby-3.2+ . \u003ca href=\"https://redirect.github.com/ged/ruby-pg/issues/674\"\u003e#674\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDeny any server communication on a frozen PG::Connection . \u003ca href=\"https://redirect.github.com/ged/ruby-pg/issues/677\"\u003e#677\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix possible race condition in PG::Result in Ractor context. \u003ca href=\"https://redirect.github.com/ged/ruby-pg/issues/674\"\u003e#674\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eRemoved:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDrop binary gem support for platform \u003ccode\u003ex86-mingw32\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/ged/ruby-pg/issues/682\"\u003e#682\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDrop binary gems for ruby-2.7.\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/ged/ruby-pg/commit/d4539c25dcc89d47088e1423f8d1915c041920f5\"\u003e\u003ccode\u003ed4539c2\u003c/code\u003e\u003c/a\u003e Bump VERSION to pg-1.6.3 and add release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ged/ruby-pg/commit/720900dbb9d16aa855793146f15c3772e14f627a\"\u003e\u003ccode\u003e720900d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ged/ruby-pg/issues/682\"\u003e#682\u003c/a\u003e from larskanis/ruby-4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ged/ruby-pg/commit/f605b5937093884089109c8baa5fe268fc513eaf\"\u003e\u003ccode\u003ef605b59\u003c/code\u003e\u003c/a\u003e Remove x86-mingw32 from binary builds\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ged/ruby-pg/commit/5c690006ba158da70d73d939a233cf75ecdd30ef\"\u003e\u003ccode\u003e5c69000\u003c/code\u003e\u003c/a\u003e Update to ruby-4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ged/ruby-pg/commit/2acaf3d0f76334e056229efe260e1f558a8c6b42\"\u003e\u003ccode\u003e2acaf3d\u003c/code\u003e\u003c/a\u003e CI: workaround missing ruby-4.0 on Window\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ged/ruby-pg/commit/b500ded81127963603e1f724e82bed649c9ca8a1\"\u003e\u003ccode\u003eb500ded\u003c/code\u003e\u003c/a\u003e fix comment\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ged/ruby-pg/commit/bc3f2f8b1110e9bcb225d65554e1a7fc842d0506\"\u003e\u003ccode\u003ebc3f2f8\u003c/code\u003e\u003c/a\u003e CI: Macos-13 on Intel is deprecated\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ged/ruby-pg/commit/77667eb4313bd7b79356f402b0fa7fba409483b8\"\u003e\u003ccode\u003e77667eb\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ged/ruby-pg/issues/678\"\u003e#678\u003c/a\u003e from larskanis/ci-update\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ged/ruby-pg/commit/6e52ce504d05c5359d55f45d9580672103263b54\"\u003e\u003ccode\u003e6e52ce5\u003c/code\u003e\u003c/a\u003e CI: Update PostgreSQL on Macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ged/ruby-pg/commit/6d40f50e51a037022495fe6d98181435652464ff\"\u003e\u003ccode\u003e6d40f50\u003c/code\u003e\u003c/a\u003e CI: Print mkmf.log on failure on Macos\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ged/ruby-pg/compare/v1.6.2...v1.6.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `puma` from 7.1.0 to 7.2.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/puma/puma/releases\"\u003epuma's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev7.2.0\u003c/h2\u003e\n\u003ch2\u003e7.2.0 On The Corner\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFeatures\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd workers \u003ccode\u003e:auto\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3827\"\u003e#3827\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMake it possible to restrict control server commands to stats (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3787\"\u003e#3787\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eBugfixes\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDon't break if \u003ccode\u003eWEB_CONCURRENCY\u003c/code\u003e is set to a blank string (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3837\"\u003e#3837\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDon't share server between worker 0 and descendants on refork (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3602\"\u003e#3602\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix phase check race condition in \u003ccode\u003ePuma::Cluster#check_workers\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3690\"\u003e#3690\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix advertising of CLI config before config files are loaded (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3823\"\u003e#3823\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003ePerformance\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e17% faster HTTP parsing through pre-interning env keys (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3825\"\u003e#3825\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImplement \u003ccode\u003edsize\u003c/code\u003e and \u003ccode\u003edcompact\u003c/code\u003e functions for \u003ccode\u003ePuma::HttpParser\u003c/code\u003e, which makes Puma's C-extension GC-compactible (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3828\"\u003e#3828\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRefactor\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRemove \u003ccode\u003eNoMethodError\u003c/code\u003e rescue in \u003ccode\u003eReactor#select_loop\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3831\"\u003e#3831\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eVarious cleanups in the C extension (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3814\"\u003e#3814\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMonomorphize \u003ccode\u003ehandle_request\u003c/code\u003e return (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3802\"\u003e#3802\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDocs\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eChange link to \u003ccode\u003edocs/deployment.md\u003c/code\u003e in \u003ccode\u003eREADME.md\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3848\"\u003e#3848\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix formatting for each signal description in signals.md (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3813\"\u003e#3813\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate deployment and Kubernetes docs with Puma configuration tips (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3807\"\u003e#3807\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRename master to main (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3809\"\u003e#3809\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/puma/puma/issues/3808\"\u003e#3808\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/puma/puma/issues/3800\"\u003e#3800\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix some minor typos in the docs (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3804\"\u003e#3804\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eGOVERNANCE.md\u003c/code\u003e, \u003ccode\u003eMAINTAINERS\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3826\"\u003e#3826\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove Code Climate badge (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3820\"\u003e#3820\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ca href=\"https://github.com/joshuay03\"\u003e\u003ccode\u003e@​joshuay03\u003c/code\u003e\u003c/a\u003e to the maintainer list\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eCI\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUse Minitest 6 where applicable (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3859\"\u003e#3859\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMany test suite improvements and flake fixes (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3861\"\u003e#3861\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/puma/puma/issues/3863\"\u003e#3863\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/puma/puma/issues/3860\"\u003e#3860\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/puma/puma/issues/3852\"\u003e#3852\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/puma/puma/issues/3857\"\u003e#3857\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/puma/puma/issues/3856\"\u003e#3856\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/puma/puma/issues/3845\"\u003e#3845\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/puma/puma/issues/3843\"\u003e#3843\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/puma/puma/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/puma/puma/issues/3841\"\u003e#3841\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/puma/puma/issues/3822\"\u003e#3822\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/puma/puma/issues/3817\"\u003e#3817\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/puma/puma/issues/3764\"\u003e#3764\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\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/moozzi\"\u003e\u003ccode\u003e@​moozzi\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/puma/puma/pull/3848\"\u003epuma/puma#3848\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ybiquitous\"\u003e\u003ccode\u003e@​ybiquitous\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/puma/puma/pull/3813\"\u003epuma/puma#3813\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrafanie\"\u003e\u003ccode\u003e@​jrafanie\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/puma/puma/pull/3804\"\u003epuma/puma#3804\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/puma/puma/compare/v7.1.0...v7.2.0\"\u003ehttps://github.com/puma/puma/compare/v7.1.0...v7.2.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/puma/puma/blob/main/History.md\"\u003epuma's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e7.2.0 / 2026-01-20\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFeatures\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd workers \u003ccode\u003e:auto\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3827\"\u003e#3827\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMake it possible to restrict control server commands to stats (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3787\"\u003e#3787\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eBugfixes\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDon't break if \u003ccode\u003eWEB_CONCURRENCY\u003c/code\u003e is set to a blank string (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3837\"\u003e#3837\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDon't share server between worker 0 and descendants on refork (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3602\"\u003e#3602\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix phase check race condition in \u003ccode\u003ePuma::Cluster#check_workers\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3690\"\u003e#3690\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix advertising of CLI config before config files are loaded (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3823\"\u003e#3823\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003ePerformance\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e17% faster HTTP parsing through pre-interning env keys (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3825\"\u003e#3825\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImplement \u003ccode\u003edsize\u003c/code\u003e and \u003ccode\u003edcompact\u003c/code\u003e functions for \u003ccode\u003ePuma::HttpParser\u003c/code\u003e, which makes Puma's C-extension GC-compactible (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3828\"\u003e#3828\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRefactor\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRemove \u003ccode\u003eNoMethodError\u003c/code\u003e rescue in \u003ccode\u003eReactor#select_loop\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3831\"\u003e#3831\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eVarious cleanups in the C extension (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3814\"\u003e#3814\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMonomorphize \u003ccode\u003ehandle_request\u003c/code\u003e return (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3802\"\u003e#3802\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDocs\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eChange link to \u003ccode\u003edocs/deployment.md\u003c/code\u003e in \u003ccode\u003eREADME.md\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3848\"\u003e#3848\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix formatting for each signal description in signals.md (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3813\"\u003e#3813\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate deployment and Kubernetes docs with Puma configuration tips (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3807\"\u003e#3807\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRename master to main (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3809\"\u003e#3809\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/puma/puma/issues/3808\"\u003e#3808\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/puma/puma/issues/3800\"\u003e#3800\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix some minor typos in the docs (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3804\"\u003e#3804\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eGOVERNANCE.md\u003c/code\u003e, \u003ccode\u003eMAINTAINERS\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3826\"\u003e#3826\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove Code Climate badge (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3820\"\u003e#3820\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ca href=\"https://github.com/joshuay03\"\u003e\u003ccode\u003e@​joshuay03\u003c/code\u003e\u003c/a\u003e to the maintainer list\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eCI\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUse Minitest 6 where applicable (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3859\"\u003e#3859\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMany test suite improvements and flake fixes (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3861\"\u003e#3861\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/puma/puma/issues/3863\"\u003e#3863\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/puma/puma/issues/3860\"\u003e#3860\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/puma/puma/issues/3852\"\u003e#3852\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/puma/puma/issues/3857\"\u003e#3857\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/puma/puma/issues/3856\"\u003e#3856\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/puma/puma/issues/3845\"\u003e#3845\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/puma/puma/issues/3843\"\u003e#3843\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/puma/puma/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/puma/puma/issues/3841\"\u003e#3841\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/puma/puma/issues/3822\"\u003e#3822\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/puma/puma/issues/3817\"\u003e#3817\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/puma/puma/issues/3764\"\u003e#3764\u003c/a\u003e)\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/puma/puma/commit/96b5aa63e0599e8adf971ceb57efa3cc5663f8a9\"\u003e\u003ccode\u003e96b5aa6\u003c/code\u003e\u003c/a\u003e v7.2.0 (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3864\"\u003e#3864\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/5d7d1ddb266d52abfd96d763a4870af2c3ce9d1a\"\u003e\u003ccode\u003e5d7d1dd\u003c/code\u003e\u003c/a\u003e Add workers :auto (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3827\"\u003e#3827\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/b8c4783cc1ed24300b4b940c57a5dd970db99369\"\u003e\u003ccode\u003eb8c4783\u003c/code\u003e\u003c/a\u003e ci: fix ci - remove \u003ccode\u003eappend_as_bytes\u003c/code\u003e logic, misc changes (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3861\"\u003e#3861\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/44a3ac43a71ea1344e739275b9f55708f9e496ee\"\u003e\u003ccode\u003e44a3ac4\u003c/code\u003e\u003c/a\u003e Fix PR label manager when maintainer comments [ci skip] (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3863\"\u003e#3863\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/43f5d8935ea85d19e98459294114b31196276bc1\"\u003e\u003ccode\u003e43f5d89\u003c/code\u003e\u003c/a\u003e Add GOVERNANCE.md, MAINTAINERS (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3826\"\u003e#3826\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/21afa66798c46212ef392085cb1825c74d107810\"\u003e\u003ccode\u003e21afa66\u003c/code\u003e\u003c/a\u003e Use Minitest 6 where applicable (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3859\"\u003e#3859\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/ec7dd61cf9c5e9ec58f356ca2e32e90602de094c\"\u003e\u003ccode\u003eec7dd61\u003c/code\u003e\u003c/a\u003e ci: Update test_http11.rb for TruffleRuby - string size (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3860\"\u003e#3860\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/fa89dbe1ce8dd8f3159363f30cecaf4338583b2c\"\u003e\u003ccode\u003efa89dbe\u003c/code\u003e\u003c/a\u003e ci: add \u003ccode\u003eruby 4.0\u003c/code\u003e and \u003ccode\u003erails 8.1\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3852\"\u003e#3852\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/98ff11d220b53d7e5c3dc3e4246e66e75284ed7b\"\u003e\u003ccode\u003e98ff11d\u003c/code\u003e\u003c/a\u003e Fix flaky test test_horrible_queries (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3857\"\u003e#3857\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/da162d7b2b87b978d8bbd6d0d1ccde69ce1735da\"\u003e\u003ccode\u003eda162d7\u003c/code\u003e\u003c/a\u003e ci: fix tests.yml (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3856\"\u003e#3856\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/puma/puma/compare/v7.1.0...v7.2.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `bootsnap` from 1.18.6 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/rails/bootsnap/releases\"\u003ebootsnap's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.20.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eHandle broken symlinks in load path scanning code.\nShould fix \u003ccode\u003eErrno::ENOENT fstatat\u003c/code\u003e issues some users have encountered after upgrading to 1.20.0.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/rails/bootsnap/compare/v1.20.0...v1.20.1\"\u003ehttps://github.com/rails/bootsnap/compare/v1.20.0...v1.20.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.20.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eOptimized load path scanning with a C extension. Should be about 2x faster on supported platforms.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/rails/bootsnap/compare/v1.19.0...v1.20.0\"\u003ehttps://github.com/rails/bootsnap/compare/v1.19.0...v1.20.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/rails/bootsnap/blob/main/CHANGELOG.md\"\u003ebootsnap's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e1.21.1\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003ePrevent a Ruby crash while scanning load path if \u003ccode\u003eopendir\u003c/code\u003e fails without setting \u003ccode\u003eerrno\u003c/code\u003e.\nAccording to the C spec this should not happen, but according to user reports, it did.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e1.21.0\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eFix the \u003ccode\u003erequire\u003c/code\u003e decorator to handle \u003ccode\u003eBootsnap.unload_cache!\u003c/code\u003e being called.\u003c/li\u003e\n\u003cli\u003eMinor optimization: Eagerly clear cache buffers to appease the GC.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e1.20.1\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eHandle broken symlinks in load path scanning code.\nShould fix \u003ccode\u003eErrno::ENOENT fstatat\u003c/code\u003e issues some users have encountered after upgrading to 1.20.0.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e1.20.0\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eOptimized load path scanning with a C extension. Should be about 2x faster on supported platforms.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e1.19.0\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eRemove JSON parsing cache. Recent versions of the \u003ccode\u003ejson\u003c/code\u003e gem are as fast as \u003ccode\u003emsgpack\u003c/code\u003e if not faster.\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/rails/bootsnap/commit/182a80984302f2354f154016a113f17dd7bbf76c\"\u003e\u003ccode\u003e182a809\u003c/code\u003e\u003c/a\u003e Release 1.21.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/1e59365c057d670e1c32e51c50f3f818c7389e8f\"\u003e\u003ccode\u003e1e59365\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/bootsnap/issues/522\"\u003e#522\u003c/a\u003e from byroot/improve-scandir\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/a2ff4b8927a9ad8df138d558162edb8a5239f792\"\u003e\u003ccode\u003ea2ff4b8\u003c/code\u003e\u003c/a\u003e Fallback to pure the pure ruby path scanner on unexpected error\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/6003c143ee66d607ecaeb316c690947ed81beb1d\"\u003e\u003ccode\u003e6003c14\u003c/code\u003e\u003c/a\u003e Avoid crashing when \u003ccode\u003eopendir\u003c/code\u003e fails without setting \u003ccode\u003eerrno\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/92edbf7ef8c8c26277884fb5d373c1a1fa0743fd\"\u003e\u003ccode\u003e92edbf7\u003c/code\u003e\u003c/a\u003e Release 1.21.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/f4908947b6718c788cd8e44d16b480cfe23275c0\"\u003e\u003ccode\u003ef490894\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/bootsnap/issues/520\"\u003e#520\u003c/a\u003e from byroot/handle-unload\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/4a559a0db625369bd189c89ea3f3465e6548ed01\"\u003e\u003ccode\u003e4a559a0\u003c/code\u003e\u003c/a\u003e Fix the \u003ccode\u003erequire\u003c/code\u003e decorator to handle \u003ccode\u003eBootsnap.unload_cache!\u003c/code\u003e being called\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/417dd84ee30bbe172c6af84c876f73843ebcd413\"\u003e\u003ccode\u003e417dd84\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/bootsnap/issues/518\"\u003e#518\u003c/a\u003e from byroot/clear-buffers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/7d57a706ce72a11ec928e201093bd3e4d2f868b7\"\u003e\u003ccode\u003e7d57a70\u003c/code\u003e\u003c/a\u003e Eagerly clear cache buffers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/018fcb8fb4cc8d4593766d37be85f0c19cc5b91a\"\u003e\u003ccode\u003e018fcb8\u003c/code\u003e\u003c/a\u003e Add Ruby 4.0 to the CI matrix\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/bootsnap/compare/v1.18.6...v1.21.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `alba` from 3.9.1 to 3.10.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/okuramasafumi/alba/releases\"\u003ealba's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.10.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e[Feat] Enable type definition for \u003ccode\u003eattribute\u003c/code\u003e by \u003ca href=\"https://github.com/okuramasafumi\"\u003e\u003ccode\u003e@​okuramasafumi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/okuramasafumi/alba/pull/470\"\u003eokuramasafumi/alba#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/okuramasafumi/alba/pull/471\"\u003eokuramasafumi/alba#471\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump rubygems/release-gem from 1.1.1 to 1.1.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/okuramasafumi/alba/pull/474\"\u003eokuramasafumi/alba#474\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix hash object resource methods by \u003ca href=\"https://github.com/jkmcrg\"\u003e\u003ccode\u003e@​jkmcrg\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/okuramasafumi/alba/pull/475\"\u003eokuramasafumi/alba#475\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump step-security/harden-runner from 2.13.1 to 2.13.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/okuramasafumi/alba/pull/476\"\u003eokuramasafumi/alba#476\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/jkmcrg\"\u003e\u003ccode\u003e@​jkmcrg\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/okuramasafumi/alba/pull/475\"\u003eokuramasafumi/alba#475\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/okuramasafumi/alba/compare/v3.9.1...v3.10.0\"\u003ehttps://github.com/okuramasafumi/alba/compare/v3.9.1...v3.10.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/okuramasafumi/alba/blob/main/CHANGELOG.md\"\u003ealba's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.10.0 2025-11-11\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSupport type validation and coercion for a single attribute method \u003ca href=\"https://redirect.github.com/okuramasafumi/alba/pull/470\"\u003e#470\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003eThank you \u003ca href=\"https://github.com/denblackstache\"\u003e\u003ccode\u003e@​denblackstache\u003c/code\u003e\u003c/a\u003e for requesting the feature\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eFix hash object resource methods \u003ca href=\"https://redirect.github.com/okuramasafumi/alba/pull/475\"\u003e#475\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003eThank you, \u003ca href=\"https://github.com/jkmcrg\"\u003e\u003ccode\u003e@​jkmcrg\u003c/code\u003e\u003c/a\u003e\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/okuramasafumi/alba/commit/5c5f9fb69f754ebb530510736d97e04ca8f30af5\"\u003e\u003ccode\u003e5c5f9fb\u003c/code\u003e\u003c/a\u003e [Release] Bump version to 3.10.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/okuramasafumi/alba/commit/eae8d27af9eccab7e39718f05f3b0b3ae6922685\"\u003e\u003ccode\u003eeae8d27\u003c/code\u003e\u003c/a\u003e [Release] Keep a changelog for version 3.10.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/okuramasafumi/alba/commit/bf4ef12d7efb9462630489669b9d5c764b18f4b6\"\u003e\u003ccode\u003ebf4ef12\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/okuramasafumi/alba/issues/476\"\u003e#476\u003c/a\u003e from okuramasafumi/dependabot/github_actions/step-sec...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/okuramasafumi/alba/commit/bfcb7d03495aed2e90d47f4a772ced78caef5ec4\"\u003e\u003ccode\u003ebfcb7d0\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/okuramasafumi/alba/issues/475\"\u003e#475\u003c/a\u003e from jkmcrg/fix-hash-object-resource-methods\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/okuramasafumi/alba/commit/5cb24dfccc9a3baa0cb7b8880dc6c9b6dd42d63e\"\u003e\u003ccode\u003e5cb24df\u003c/code\u003e\u003c/a\u003e Bump step-security/harden-runner from 2.13.1 to 2.13.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/okuramasafumi/alba/commit/f0c8b2aa04b4903a2a615a805b77ed85223925ef\"\u003e\u003ccode\u003ef0c8b2a\u003c/code\u003e\u003c/a\u003e [Fix] Rescue key error on hash indexing to delegate to resource method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/okuramasafumi/alba/commit/eb0a1970e058b233c4f5f25df0e51b96785092e0\"\u003e\u003ccode\u003eeb0a197\u003c/code\u003e\u003c/a\u003e [Fix] Add test for serializing a hash with a resource method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/okuramasafumi/alba/commit/674dbade95a5e9b6f538144731ffff1086e695b7\"\u003e\u003ccode\u003e674dbad\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/okuramasafumi/alba/issues/474\"\u003e#474\u003c/a\u003e from okuramasafumi/dependabot/github_actions/rubygems...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/okuramasafumi/alba/commit/77ada319c72b8d9b504400b80af14fd7bd433589\"\u003e\u003ccode\u003e77ada31\u003c/code\u003e\u003c/a\u003e Bump rubygems/release-gem from 1.1.1 to 1.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/okuramasafumi/alba/commit/09db9c2a0e0c390e5a1af88ddc946e8912234dcb\"\u003e\u003ccode\u003e09db9c2\u003c/code\u003e\u003c/a\u003e [Chore] Update GitHub Sponsors username in FUNDING.yml\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/okuramasafumi/alba/compare/v3.9.1...v3.10.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `aws-sdk-s3` from 1.209.0 to 1.213.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/aws/aws-sdk-ruby/blob/version-3/gems/aws-sdk-s3/CHANGELOG.md\"\u003eaws-sdk-s3's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.213.0 (2026-01-28)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Adds support for the UpdateObjectEncryption API to change the server-side encryption type of objects in general purpose buckets.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.212.0 (2026-01-16)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Code Generated Changes, see \u003ccode\u003e./build_tools\u003c/code\u003e or \u003ccode\u003eaws-sdk-core\u003c/code\u003e's CHANGELOG.md for details.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.211.0 (2026-01-08)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFeature - Code Generated Changes, see \u003ccode\u003e./build_tools\u003c/code\u003e or \u003ccode\u003eaws-sdk-core\u003c/code\u003e's CHANGELOG.md for details.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eIssue - Falls back to header request checksums when using custom endpoints or endpoint providers for PutObject and UploadPart operations.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.210.1 (2026-01-06)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eIssue - Normalize response encoding to UTF-8 for proper XML error parsing in HTTP 200 responses.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.210.0 (2026-01-05)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFeature - Code Generated Changes, see \u003ccode\u003e./build_tools\u003c/code\u003e or \u003ccode\u003eaws-sdk-core\u003c/code\u003e's CHANGELOG.md for details.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFeature - Added \u003ccode\u003e:http_chunk_size\u003c/code\u003e parameter to \u003ccode\u003eTransferManager#upload_file\u003c/code\u003e to control the buffer size when streaming request bodies over HTTP. Larger chunk sizes may improve network throughput at the cost of higher memory usage (Ruby MRI only).\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFeature - Improved memory efficiency when calculating request checksums for large file uploads (Ruby MRI only).\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\u003eSee full diff in \u003ca href=\"https://github.com/aws/aws-sdk-ruby/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `httparty` from 0.24.0 to 0.24.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jnunemaker/httparty/releases\"\u003ehttparty's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.24.2\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/jnunemaker/httparty/compare/v0.24.1...v0.24.2\"\u003ehttps://github.com/jnunemaker/httparty/compare/v0.24.1...v0.24.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eStreaming uploads are now opt-in - The streaming multipart upload feature introduced in 0.24.0 caused compatibility issues with some servers (returning 400 errors). Streaming is now disabled by default to preserve backwards compatibility. Enable it explicitly with stream_body: true for memory-efficient large file uploads. (\u003ca href=\"https://redirect.github.com/jnunemaker/httparty/issues/832\"\u003e#832\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eExample\u003c/h2\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003e# Default behavior (buffered, compatible with all servers)\nHTTParty.post('http://example.com/upload', body: { file: File.open('large.zip') })\n\u003ch1\u003eOpt-in to streaming for large files (reduced memory usage)\u003c/h1\u003e\n\u003cp\u003eHTTParty.post('\u003ca href=\"http://example.com/upload\"\u003ehttp://example.com/upload\u003c/a\u003e', body: { file: File.open('large.zip') }, stream_body: true)\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003ch2\u003ev0.24.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd trailing clrf when building header for non-file parts. by \u003ca href=\"https://github.com/serixscorpio\"\u003e\u003ccode\u003e@​serixscorpio\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jnunemaker/httparty/pull/833\"\u003ejnunemaker/httparty#833\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/serixscorpio\"\u003e\u003ccode\u003e@​serixscorpio\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/jnunemaker/httparty/pull/833\"\u003ejnunemaker/httparty#833\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/jnunemaker/httparty/compare/v0.24.0...v0.24.1\"\u003ehttps://github.com/jnunemaker/httparty/compare/v0.24.0...v0.24.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/jnunemaker/httparty/commit/9c89e55ce3578b393e17b2928acab5b5f941e808\"\u003e\u003ccode\u003e9c89e55\u003c/code\u003e\u003c/a\u003e fix: make streaming uploads opt-in for backwards compatibility\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jnunemaker/httparty/commit/906aab0de3d41129c0003f582f57fd30b970056a\"\u003e\u003ccode\u003e906aab0\u003c/code\u003e\u003c/a\u003e Release 0.24.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jnunemaker/httparty/commit/06d436383ca50aeee7621ed186427b2b6d59cefb\"\u003e\u003ccode\u003e06d4363\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/jnunemaker/httparty/issues/833\"\u003e#833\u003c/a\u003e from serixscorpio/fix-stream-multipart-non-file-header\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jnunemaker/httparty/commit/51cc6b9073fb174f1d36d9e9925440bd362d9ef1\"\u003e\u003ccode\u003e51cc6b9\u003c/code\u003e\u003c/a\u003e fix: freeze time in logstash formatter test to prevent flaky failures\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jnunemaker/httparty/commit/bbc4658b8f517969891026365a6434bdfdfe53ae\"\u003e\u003ccode\u003ebbc4658\u003c/code\u003e\u003c/a\u003e Add trailing clrf when building header for non-file parts.\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/jnunemaker/httparty/compare/v0.24.0...v0.24.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `oauth2` from 2.0.17 to 2.0.18\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby-oauth/oauth2/releases\"\u003eoauth2's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.0.18\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/compare/v2.0.17...v2.0.18\"\u003e2.0.18\u003c/a\u003e - 2025-11-08\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eTAG: \u003ca href=\"https://github.com/ruby-oauth/oauth2/releases/tag/v2.0.18\"\u003ev2.0.18\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCOVERAGE: 100.00% -- 526/526 lines in 14 files\u003c/li\u003e\n\u003cli\u003eBRANCH COVERAGE: 100.00% -- 178/178 branches in 14 files\u003c/li\u003e\n\u003cli\u003e90.48% documented\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/683\"\u003egh!683\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/684\"\u003egh!684\u003c/a\u003e - Improve documentation by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/686\"\u003egh!686\u003c/a\u003e- Add Incident Response Plan by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/687\"\u003egh!687\u003c/a\u003e- Add Threat Model by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/685\"\u003egh!685\u003c/a\u003e - upgrade kettle-dev v1.1.24 by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eupgrade kettle-dev v1.1.52 by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003eAdd open collective donors to README\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/690\"\u003egh!690\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/691\"\u003egh!691\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/692\"\u003egh!692\u003c/a\u003e - Add yard-fence\n\u003cul\u003e\n\u003cli\u003ehandle braces within code fences in markdown properly by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cp\u003eOfficial Discord 👉️ [![Live Chat on Discord][✉️discord-invite-img]][✉️discord-invite]\u003c/p\u003e\n\u003cp\u003eMany paths lead to being a sponsor or a backer of this project. Are you on such a path?\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://opencollective.com/ruby-oauth#backer\"\u003e![OpenCollective Backers][🖇osc-backers-i]\u003c/a\u003e [![OpenCollective Sponsors][🖇osc-sponsors-i]][🖇osc-sponsors] [![Sponsor Me on Github][🖇sponsor-img]][🖇sponsor] \u003ca href=\"https://liberapay.com/pboling/donate\"\u003e\u003cimg src=\"https://img.shields.io/liberapay/goal/pboling.svg?logo=liberapay\u0026amp;color=a51611\u0026amp;style=flat\" alt=\"Liberapay Goal Progress\" /\u003e\u003c/a\u003e [![Donate on PayPal][🖇paypal-img]][🖇paypal]\u003c/p\u003e\n\u003cp\u003e[![Buy me a coffee][🖇buyme-small-img]][🖇buyme] [![Donate on Polar][🖇polar-img]][🖇polar] [![Donate to my FLOSS efforts at ko-fi.com][🖇kofi-img]][🖇kofi] [![Donate to my FLOSS efforts using Patreon][🖇patreon-img]][🖇patreon]\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\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby-oauth/oauth2/blob/main/CHANGELOG.md\"\u003eoauth2's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[2.0.18] - 2025-11-08\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eTAG: [v2.0.18][2.0.18t]\u003c/li\u003e\n\u003cli\u003eCOVERAGE: 100.00% -- 526/526 lines in 14 files\u003c/li\u003e\n\u003cli\u003eBRANCH COVERAGE: 100.00% -- 178/178 branches in 14 files\u003c/li\u003e\n\u003cli\u003e90.48% documented\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/683\"\u003egh!683\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/684\"\u003egh!684\u003c/a\u003e - Improve documentation by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/686\"\u003egh!686\u003c/a\u003e- Add Incident Response Plan by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/687\"\u003egh!687\u003c/a\u003e- Add Threat Model by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/685\"\u003egh!685\u003c/a\u003e - upgrade kettle-dev v1.1.24 by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eupgrade kettle-dev v1.1.52 by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003eAdd open collective donors to README\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/690\"\u003egh!690\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/691\"\u003egh!691\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/692\"\u003egh!692\u003c/a\u003e - Add yard-fence\n\u003cul\u003e\n\u003cli\u003ehandle braces within code fences in markdown properly by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSecurity\u003c/h3\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/ruby-oauth/oauth2/commit/b5753116121553d56937039dafc5ea472d9a99ed\"\u003e\u003ccode\u003eb575311\u003c/code\u003e\u003c/a\u003e 🔖 Prepare release v2.0.18\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/b5af77ba42ec111dda68abdee33d631e27fdfe61\"\u003e\u003ccode\u003eb5af77b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/issues/693\"\u003e#693\u003c/a\u003e from ruby-oauth/feat/docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/cf2853d9fa05999f88c9df8b1b3a8a3ed21c64e8\"\u003e\u003ccode\u003ecf2853d\u003c/code\u003e\u003c/a\u003e 📝 Update docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/18434156bfc988527d2453b2174e6356e233757d\"\u003e\u003ccode\u003e1843415\u003c/code\u003e\u003c/a\u003e ⬆️ kettle-dev v1.1.52, yard-fence v0.8.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/f592dd8753966a30671ebc2e8a28ab26138b6c2b\"\u003e\u003ccode\u003ef592dd8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/issues/692\"\u003e#692\u003c/a\u003e from ruby-oauth/feat/docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/2095732d7cd4eeb80fe74c89e2a2d012517e40d6\"\u003e\u003ccode\u003e2095732\u003c/code\u003e\u003c/a\u003e ⬆️ yard-fence v0.7.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/50f3fd08e733ed75b2cc99e077e9ea9d64a3d5d5\"\u003e\u003ccode\u003e50f3fd0\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/issues/691\"\u003e#691\u003c/a\u003e from ruby-oauth/feat/docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/bcb0e40bfca989f164a04cbf46a4175822b7cb28\"\u003e\u003ccode\u003ebcb0e40\u003c/code\u003e\u003c/a\u003e ✏️ Fix typos in docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/f24f1a8bfbf546595aa16cd6fa82119c8218c1d3\"\u003e\u003ccode\u003ef24f1a8\u003c/code\u003e\u003c/a\u003e Create CNAME\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/bff58e1afec541feca2a337664d09c58b8a22419\"\u003e\u003ccode\u003ebff58e1\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/issues/690\"\u003e#690\u003c/a\u003e from ruby-oauth/feat/yard-fence\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby-oauth/oauth2/compare/v2.0.17...v2.0.18\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `prometheus_exporter` from 2.3.0 to 2.3.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/discourse/prometheus_exporter/blob/main/CHANGELOG\"\u003eprometheus_exporter's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[2.3.1] - 2025-11-11\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFIX: get controller full path instead of controller name - Alex Platteeuw\u003c/li\u003e\n\u003cli\u003eFEATURE: Secure PrometheusExporter scraping with SSL - Nicolas Rodriquez\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/discourse/prometheus_exporter/commit/15e9d4783db8267fb3b0c48e5464ec4c1ae58c00\"\u003e\u003ccode\u003e15e9d47\u003c/code\u003e\u003c/a\u003e version bump (\u003ca href=\"https://redirect.github.com/discourse/prometheus_exporter/issues/358\"\u003e#358\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/discourse/prometheus_exporter/commit/4bd3817744bb5011aed6c669696ed957c23cd3fe\"\u003e\u003ccode\u003e4bd3817\u003c/code\u003e\u003c/a\u003e fix: get controller full path instead of controller name (\u003ca href=\"https://redirect.github.com/discourse/prometheus_exporter/issues/353\"\u003e#353\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/discourse/prometheus_exporter/commit/4bb4fa333386b166a745df92be5620b11be3872a\"\u003e\u003ccode\u003e4bb4fa3\u003c/code\u003e\u003c/a\u003e Secure PrometheusExporter scraping with SSL (\u003ca href=\"https://redirect.github.com/discourse/prometheus_exporter/issues/350\"\u003e#350\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/discourse/prometheus_exporter/commit/b10933453f0952cd17d143487c5adc8bb74b492a\"\u003e\u003ccode\u003eb109334\u003c/code\u003e\u003c/a\u003e Add connect_timeout: settings to PrometheusExporter::Client (\u003ca href=\"https://redirect.github.com/discourse/prometheus_exporter/issues/352\"\u003e#352\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/discourse/prometheus_exporter/compare/v2.3.0...v2.3.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sentry-rails` from 5.28.1 to 6.3.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/getsentry/sentry-ruby/blob/master/CHANGELOG.md\"\u003esentry-rails's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e6.3.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eImplement new \u003ccode\u003eSentry.metrics\u003c/code\u003e functionality (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2818\"\u003e#2818\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003eThe SDK now supports Sentry's new \u003ca href=\"https://docs.sentry.io/product/explore/metrics/\"\u003eTrace Connected Metrics\u003c/a\u003e product.\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003e Sentry.metrics.count(\u0026quot;button.click\u0026quot;, 1, attributes: { button_id: \u0026quot;submit\u0026quot; })\n Sentry.metrics.distribution(\u0026quot;response.time\u0026quot;, 120.5, unit: \u0026quot;millisecond\u0026quot;)\n Sentry.metrics.gauge(\u0026quot;cpu.usage\u0026quot;, 75.2, unit: \u0026quot;percent\u0026quot;)\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eMetrics is enabled by default and only activates once you use the above APIs. To disable completely:\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eSentry.init do |config|\n  # ...\n  config.enable_metrics = false\nend\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSupport for tracing \u003ccode\u003eSequel\u003c/code\u003e queries (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2814\"\u003e#2814\u003c/a\u003e)\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003erequire \u0026quot;sentry\u0026quot;\nrequire \u0026quot;sentry/sequel\u0026quot;\n\u003cp\u003eSentry.init do |config|\nconfig.enabled_patches \u0026lt;\u0026lt; :sequel\nend\u003c/p\u003e\n\u003cp\u003eDB = Sequel.sqlite\nDB.extension(:sentry)\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for OpenTelemetry messaging/queue system spans (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2685\"\u003e#2685\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for \u003ccode\u003econfig.std_lib_logger_filter\u003c/code\u003e proc (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2829\"\u003e#2829\u003c/a\u003e)\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eSentry.init do |config|\n  config.std_lib_logger_filter = proc do |logger, message, severity|\n    # Only send ERROR and above messages\n    severity == :error || severity == :fatal\n  end\n\u003cp\u003econfig.enabled_patches = [:std_lib_logger]\nend\n\u003c/code\u003e\u003c/pre\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/getsentry/sentry-ruby/commit/babf7aa58b31ab3f3653b4afae711d8f63d4f9c3\"\u003e\u003ccode\u003ebabf7aa\u003c/code\u003e\u003c/a\u003e release: 6.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/854f4cafa72011f0eb36c319200278b39cf3b453\"\u003e\u003ccode\u003e854f4ca\u003c/code\u003e\u003c/a\u003e Handle more extra attribute types when logging (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/issues/2815\"\u003e#2815\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/9ce51e3c4e313e3a2f7ab2a18494612c133f3372\"\u003e\u003ccode\u003e9ce51e3\u003c/code\u003e\u003c/a\u003e Automatic collection of Sequel queries (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/issues/2814\"\u003e#2814\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/d45e53fd87dc28a9fc5e17ef239aa2a00e2387d5\"\u003e\u003ccode\u003ed45e53f\u003c/code\u003e\u003c/a\u003e Ignore new rails rate limit errors (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/issues/2774\"\u003e#2774\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/0da2bde916965f02ce12c57df4c915aaf3353cba\"\u003e\u003ccode\u003e0da2bde\u003c/code\u003e\u003c/a\u003e release: 6.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/bcc0fe7d211b6dffd273a13ebeb2bcf8af0f0fb7\"\u003e\u003ccode\u003ebcc0fe7\u003c/code\u003e\u003c/a\u003e fix(logging): improve error handling in AR subscriber (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/issues/2798\"\u003e#2798\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/5aa2643123c4020308ecd365c7c07113612b4ca3\"\u003e\u003ccode\u003e5aa2643\u003c/code\u003e\u003c/a\u003e release: 6.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/78a5a08950025b029132b81198f0279dbf42f34c\"\u003e\u003ccode\u003e78a5a08\u003c/code\u003e\u003c/a\u003e fix(rails): fix logging of cached queries with binds (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/issues/2789\"\u003e#2789\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/a5cee1bdbf51747d719db5a998b36ed303107ae4\"\u003e\u003ccode\u003ea5cee1b\u003c/code\u003e\u003c/a\u003e fix(rails): handle positioned binds in logging (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/issues/2787\"\u003e#2787\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/6aed46375b6992a87a74efc83fd1e9ca5ecf854d\"\u003e\u003ccode\u003e6aed463\u003c/code\u003e\u003c/a\u003e release: 6.1.1\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/getsentry/sentry-ruby/compare/5.28.1...6.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sentry-ruby` from 5.28.1 to 6.3.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/getsentry/sentry-ruby/blob/master/CHANGELOG.md\"\u003esentry-ruby's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e6.3.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eImplement new \u003ccode\u003eSentry.metrics\u003c/code\u003e functionality (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2818\"\u003e#2818\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003eThe SDK now supports Sentry's new \u003ca href=\"https://docs.sentry.io/product/explore/metrics/\"\u003eTrace Connected Metrics\u003c/a\u003e product.\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003e Sentry.metrics.count(\u0026quot;button.click\u0026quot;, 1, attributes: { button_id: \u0026quot;submit\u0026quot; })\n Sentry.metrics.distribution(\u0026quot;response.time\u0026quot;, 120.5, unit: \u0026quot;millisecond\u0026quot;)\n Sentry.metrics.gauge(\u0026quot;cpu.usage\u0026quot;, 75.2, unit: \u0026quot;percent\u0026quot;)\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eMetrics is enabled by default and only activates once you use the above APIs. To disable completely:\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eSentry.init do |config|\n  # ...\n  config.enable_metrics = false\nend\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSupport for tracing \u003ccode\u003eSequel\u003c/code\u003e queries (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2814\"\u003e#2814\u003c/a\u003e)\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003erequire \u0026quot;sentry\u0026quot;\nrequire \u0026quot;sentry/sequel\u0026quot;\n\u003cp\u003eSentry.init do |config|\nconfig.enabled_patches \u0026lt;\u0026lt; :sequel\nend\u003c/p\u003e\n\u003cp\u003eDB = Sequel.sqlite\nDB.extension(:sentry)\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for OpenTelemetry messaging/queue system spans (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2685\"\u003e#2685\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for \u003ccode\u003econfig.std_lib_logger_filter\u003c/code\u003e proc (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2829\"\u003e#2829\u003c/a\u003e)\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eSentry.init do |config|\n  config.std_lib_logger_filter = proc do |logger, message, severity|\n    # Only send ERROR and above messages\n    severity == :error || severity == :fatal\n  end\n\u003cp\u003econfig.enabled_patches = [:std_lib_logger]\nend\n\u003c/code\u003e\u003c/pre\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/getsentry/sentry-ruby/commit/babf7aa58b31ab3f3653b4afae711d8f63d4f9c3\"\u003e\u003ccode\u003ebabf7aa\u003c/code\u003e\u003c/a\u003e release: 6.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/8c43650a4bafeb47d5ffd011a9fc74e34b8ee786\"\u003e\u003ccode\u003e8c43650\u003c/code\u003e\u003c/a\u003e Enable metrics by default (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/issues/2835\"\u003e#2835\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/9cd6a0692502d0e28cd0e7706e1657e88dc39d0f\"\u003e\u003ccode\u003e9cd6a06\u003c/code\u003e\u003c/a\u003e Lazily start TelemetryEventBuffer threads (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/issues/2832\"\u003e#2832\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/8db45ed759a8c85cfd61e5ea46ee2b16eb525f8a\"\u003e\u003ccode\u003e8db45ed\u003c/code\u003e\u003c/a\u003e Max drop limit for TelemetryEventBuffer after which we completely drop events...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/a3546833c4440c458cce042cf1b787814d195e9b\"\u003e\u003ccode\u003ea354683\u003c/code\u003e\u003c/a\u003e Unify LogEventBuffer and MetricEventBuffer logic (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/issues/2830\"\u003e#2830\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/8b8bad5d84f72ea553b843d05b72cb3214e5926c\"\u003e\u003ccode\u003e8b8bad5\u003c/code\u003e\u003c/a\u003e feat(std_lib_logger): add support for filtering (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/issues/2829\"\u003e#2829\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/846c2ba8dcb688fc2214176a0f39cbfa400e58d7\"\u003e\u003ccode\u003e846c2ba\u003c/code\u003e\u003c/a\u003e Unify Logs and Metrics implementations (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/issues/2826\"\u003e#2826\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/c11a4991db94fc1745e5a46c9d35d5f1b27b0c66\"\u003e\u003ccode\u003ec11a499\u003c/code\u003e\u003c/a\u003e fix: prevent SDK crash when SDK logging fails  (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/issues/2817\"\u003e#2817\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/854f4cafa72011f0eb36c319200278b39cf3b453\"\u003e\u003ccode\u003e854f4ca\u003c/code\u003e\u003c/a\u003e Handle more extra attribute types when logging (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/issues/2815\"\u003e#2815\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/4fcb9412ed7c566218b5a222beeb8f6c401b1111\"\u003e\u003ccode\u003e4fcb941\u003c/code\u003e\u003c/a\u003e Implement new \u003ccode\u003eSentry.metrics\u003c/code\u003e functionality (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/issues/2818\"\u003e#2818\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/getsentry/sentry-ruby/compare/5.28.1...6.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sidekiq` from 8.0.8 to 8.0.10\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sidekiq/sidekiq/blob/main/Changes.md\"\u003esidekiq's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.0.10\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd confirm dialog for Delete All buttons in Web UI \u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/6853\"\u003e#6853\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdjust scheduler to run closer to poll average \u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/6866\"\u003e#6866\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eForward compatibility changes for connection_pool 3.0.0\u003c/li\u003e\n\u003cli\u003eBackwards compatibility fix for \u0026lt;8.0.9 process data in Redis \u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/6870\"\u003e#6870\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBacktrace dump can now be triggered with the INFO signal, since Puma uses the\nsame signal \u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/6857\"\u003e#6857\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.0.9\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImplement idle Redis connection reaping, will be activated in 8.1 \u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/6663\"\u003e#6663\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdated \u003ccode\u003eSidekiq::Process\u003c/code\u003e API to provide capsule data. The \u003ccode\u003equeues\u003c/code\u003e and \u003ccode\u003eweights\u003c/code\u003e\ndata will be removed from Redis in Sidekiq 8.1, as this data can now be found in the\n\u003ccode\u003ecapsules\u003c/code\u003e element. \u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/6295\"\u003e#6295\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRestore bulk action buttons on Scheduled, Retry and Dead tabs [#6833, deve1212]\u003c/li\u003e\n\u003cli\u003eSupport logging additional job attributes [#6846, bschrag620]\u003c/li\u003e\n\u003cli\u003eFix display of long job args \u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/6836\"\u003e#6836\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCreate development lifecycle (\u003ccode\u003edocs/sdlc.md\u003c/code\u003e) and security (\u003ccode\u003edocs/SECURITY.md\u003c/code\u003e) policy\ndocumentation for Sidekiq's current workflows\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/sidekiq/sidekiq/commit/843e8a9ab4ed37e542c2aac302b6c478f8606989\"\u003e\u003ccode\u003e843e8a9\u003c/code\u003e\u003c/a\u003e doc(changes) [ciskip]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/4bf6c00e69eacf243b1d939a9d5b822e96c7934d\"\u003e\u003ccode\u003e4bf6c00\u003c/code\u003e\u003c/a\u003e Add confirm dialog for Delete All, fixes \u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/6853\"\u003e#6853\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/b42be8b804eeeec87bc4b9aa99f4fb62e81d256d\"\u003e\u003ccode\u003eb42be8b\u003c/code\u003e\u003c/a\u003e fmt\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/2319d094c8d631388cc133eafb1b593ba235ba4d\"\u003e\u003ccode\u003e2319d09\u003c/code\u003e\u003c/a\u003e fix formula to process scheduled tasks closer to average, fixes \u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/6866\"\u003e#6866\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/9d8c221906ff17fa62f294c64f1b77799564d984\"\u003e\u003ccode\u003e9d8c221\u003c/code\u003e\u003c/a\u003e remove superfluous test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/844ebe397c6faf5cd62cda9e5cd70ec165890497\"\u003e\u003ccode\u003e844ebe3\u003c/code\u003e\u003c/a\u003e forward compat with connection_pool 3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/06658367209bd55bb9d0da36c7b912e22847203e\"\u003e\u003ccode\u003e0665836\u003c/code\u003e\u003c/a\u003e changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/551c614ec1c2ee81bf11c2ab1106f54a79eb11f9\"\u003e\u003ccode\u003e551c614\u003c/code\u003e\u003c/a\u003e prevent pool 3+ because it will be backwards incompatible\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/6e2db39f23c3215b626b560e06195d3a1482a188\"\u003e\u003ccode\u003e6e2db39\u003c/code\u003e\u003c/a\u003e Add todo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/71ce07ef595c6bfcc53ca478a4c4180081f8d233\"\u003e\u003ccode\u003e71ce07e\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 5 to 6 (\u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/6873\"\u003e#6873\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sidekiq/sidekiq/compare/v8.0.8...v8.0.10\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `connection_pool` from 2.5.4 to 3.0.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mperham/connection_pool/blob/main/Changes.md\"\u003econnection_pool's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.0.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport :name keyword for backwards compatibility \u003ca href=\"https://redirect.github.com/mperham/connection_pool/issues/210\"\u003e#210\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.0.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd missing \u003ccode\u003efork.rb\u003c/code\u003e to gemspec.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.0.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eBREAKING CHANGES\u003c/strong\u003e \u003ccode\u003eConnectionPool\u003c/code\u003e and \u003ccode\u003eConnectionPool::TimedStack\u003c/code\u003e now\nuse keyword arguments rather than positional arguments everywhere. Expected impact is minimal as most people use the \u003ccode\u003ewith\u003c/code\u003e API, which is unchanged.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003epool = ConnectionPool.new(size: 5, timeout: 5)\npool.checkout(1) # 2.x\npool.reap(30)    # 2.x\npool.checkout(timeout: 1) # 3.x\npool.reap(idle_seconds: 30) # 3.x\n\u003c/code\u003e\u003c/pre\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Ruby \u0026lt;3.2.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.5.5\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport \u003ccode\u003eConnectionPool::TimedStack#pop(exception: false)\u003c/code\u003e \u003ca href=\"https://redirect.github.com/mperham/connection_pool/issues/207\"\u003e#207\u003c/a\u003e\nto avoid using exceptions as control flow.\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/mperham/connection_pool/commit/78bc41e2a9fffbdd7242736233aeedfb64953dd8\"\u003e\u003ccode\u003e78bc41e\u003c/code\u003e\u003c/a\u003e bump, changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mperham/connection_pool/commit/955c64f96de81f5b2cee2546d3ea4c93ec11f6e9\"\u003e\u003ccode\u003e955c64f\u003c/code\u003e\u003c/a\u003e Support :name keyword arg for backwards compat, \u003ca href=\"https://redirect.github.com/mperham/connection_pool/issues/210\"\u003e#210\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mperham/connection_pool/commit/0dae4dd21acfd5bfbae15c25c7e6031a0bde3fca\"\u003e\u003ccode\u003e0dae4dd\u003c/code\u003e\u003c/a\u003e Fix missing fork.rb\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mperham/connection_pool/commit/f0d6dd2ab7241132a5bce4845d011a66786bad2c\"\u003e\u003ccode\u003ef0d6dd2\u003c/code\u003e\u003c/a\u003e docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mperham/connection_pool/commit/84a66b9ecbfb4fd13cb16b412ff5971a5bbe2fc5\"\u003e\u003ccode\u003e84a66b9\u003c/code\u003e\u003c/a\u003e refactor idle reaping for readability\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mperham/connection_pool/commit/e7825d6f460481359e44e2225f536974bd53adfb\"\u003e\u003ccode\u003ee7825d6\u003c/code\u003e\u003c/a\u003e fix CI warning\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mperham/connection_pool/commit/9e03836b196846f7898644c1dac02ae18309907f\"\u003e\u003ccode\u003e9e03836\u003c/code\u003e\u003c/a\u003e fork refactoring\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mperham/connection_pool/commit/6213bf543b77f997bc4569964a78d820e9cd591f\"\u003e\u003ccode\u003e6213bf5\u003c/code\u003e\u003c/a\u003e ci tuning\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mperham/connection_pool/commit/5d3f6c1db81b009c06d1f1d85e12c21c1fe74fa2\"\u003e\u003ccode\u003e5d3f6c1\u003c/code\u003e\u003c/a\u003e Connection Pool 3.0 (\u003ca href=\"https://redirect.github.com/mperham/connection_pool/issues/209\"\u003e#209\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mperham/connection_pool/commit/949f950e1186685e8dd7c93f59d35f3a36be4cbd\"\u003e\u003ccode\u003e949f950\u003c/code\u003e\u003c/a\u003e Add benchmark to validate fast path performance\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/mperham/connection_pool/compare/v2.5.4...v3.0.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `with_advisory_lock` from 7.0.2 to 7.5.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ClosureTree/with_advisory_lock/releases\"\u003ewith_advisory_lock's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ewith_advisory_lock: v7.5.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/ClosureTree/with_advisory_lock/compare/with_advisory_lock/v7.0.2...with_advisory_lock/v7.5.0\"\u003e7.5.0\u003c/a\u003e (2026-01-21)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd blocking advisory locks with deadlock detection for PostgreSQL (\u003ca href=\"https://redirect.github.com/ClosureTree/with_advisory_lock/issues/140\"\u003e#140\u003c/a\u003e) (\u003ca href=\"https://github.com/ClosureTree/with_advisory_lock/commit/f7f9aff545381107a632a25511e8fc08654a28b6\"\u003ef7f9aff\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Trilogy adapter support with MariaDB 12.0+ (\u003ca href=\"https://redirect.github.com/ClosureTree/with_advisory_lock/issues/134\"\u003e#134\u003c/a\u003e) (\u003ca href=\"https://github.com/ClosureTree/with_advisory_lock/commit/b7764cd9432b25b37c6da9160f980da29a5cdaa6\"\u003eb7764cd\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump version for new features (\u003ca href=\"https://github.com/ClosureTree/with_advisory_lock/commit/9a8c4be5cf51147e60df7e5733360e3dfd8d009e\"\u003e9a8c4be\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse monotonic clock so postgres timeouts are unaffected by system clock changes (\u003ca href=\"https://redirect.github.com/ClosureTree/with_advisory_lock/issues/141\"\u003e#141\u003c/a\u003e) (\u003ca href=\"https://github.com/ClosureTree/with_advisory_lock/commit/929e0103e5ffc4c66f9088942441f764de1bc650\"\u003e929e010\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/ClosureTree/with_advisory_lock/blob/master/CHANGELOG.md\"\u003ewith_advisory_lock's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/ClosureTree/with_advisory_lock/compare/with_advisory_lock/v7.0.2...with_advisory_lock/v7.5.0\"\u003e7.5.0\u003c/a\u003e (2026-01-21)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd blocking advisory locks with deadlock detection for PostgreSQL (\u003ca href=\"https://redirect.github.com/ClosureTree/with_advisory_lock/issues/140\"\u003e#140\u003c/a\u003e) (\u003ca href=\"https://github.com/ClosureTree/with_advisory_lock/commit/f7f9aff545381107a632a25511e8fc08654a28b6\"\u003ef7f9aff\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Trilogy adapter support with MariaDB 12.0+ (\u003ca href=\"https://redirect.github.com/ClosureTree/with_advisory_lock/issues/134\"\u003e#134\u003c/a\u003e) (\u003ca href=\"https://github.com/ClosureTree/with_advisory_lock/commit/b7764cd9432b25b37c6da9160f980da29a5cdaa6\"\u003eb7764cd\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump version for new features (\u003ca href=\"https://github.com/ClosureTree/with_advisory_lock/commit/9a8c4be5cf51147e60df7e5733360e3dfd8d009e\"\u003e9a8c4be\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse monotonic clock so postgres timeouts are unaffected by system clock changes (\u003ca href=\"https://redirect.github.com/ClosureTree/with_advisory_lock/issues/141\"\u003e#141\u003c/a\u003e) (\u003ca href=\"https://github.com/ClosureTree/with_advisory_lock/commit/929e0103e5ffc4c66f9088942441f764de1bc650\"\u003e929e010\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/ClosureTree/with_advisory_lock/commit/b5fec3524a4d6c0ef45b2cb43d01bb50d07e53ed\"\u003e\u003ccode\u003eb5fec35\u003c/code\u003e\u003c/a\u003e chore(master): release with_advisory_lock 7.5.0 (\u003ca href=\"https://redirect.github.com/ClosureTree/with_advisory_lock/issues/144\"\u003e#144\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClosureTree/with_advisory_lock/commit/9a8c4be5cf51147e60df7e5733360e3dfd8d009e\"\u003e\u003ccode\u003e9a8c4be\u003c/code\u003e\u003c/a\u003e feat: bump version for new features\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClosureTree/with_advisory_lock/commit/b7764cd9432b25b37c6da9160f980da29a5cdaa6\"\u003e\u003ccode\u003eb7764cd\u003c/code\u003e\u003c/a\u003e feat: Add Trilogy adapter support with MariaDB 12.0+ (\u003ca href=\"https://redirect.github.com/ClosureTree/with_advisory_lock/issues/134\"\u003e#134\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClosureTree/with_advisory_lock/commit/f7f9aff545381107a632a25511e8fc08654a28b6\"\u003e\u003ccode\u003ef7f9aff\u003c/code\u003e\u003c/a\u003e feat: add blocking advisory locks with deadlock detection for PostgreSQL (\u003ca href=\"https://redirect.github.com/ClosureTree/with_advisory_lock/issues/140\"\u003e#140\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClosureTree/with_advisory_lock/commit/929e0103e5ffc4c66f9088942441f764de1bc650\"\u003e\u003ccode\u003e929e010\u003c/code\u003e\u003c/a\u003e fix: Use monotonic clock so postgres timeouts are unaffected by system clock ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClosureTree/with_advisory_lock/commit/98ebdccd49197568b9249f860e38fd68eb4ee984\"\u003e\u003ccode\u003e98ebdcc\u003c/code\u003e\u003c/a\u003e chore: add Ruby 4.0 and Rails 8.1 support (\u003ca href=\"https://redirect.github.com/ClosureTree/with_advisory_lock/issues/139\"\u003e#139\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClosureTree/with_advisory_lock/commit/7ec974a845843dcc2cf8efc4854837317bc10913\"\u003e\u003ccode\u003e7ec974a\u003c/code\u003e\u003c/a\u003e doc: Add test instructions (\u003ca href=\"https://redirect.github.com/ClosureTree/with_advisory_lock/issues/136\"\u003e#136\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/ClosureTree/with_advisory_lock/compare/with_advisory_lock/v7.0.2...with_advisory_lock/v7.5.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `debug` from 1.11.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/ruby/debug/releases\"\u003edebug's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.11.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ecommand\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eb path: path_pattern\u003c/code\u003e is accepted in \u003ca href=\"https://github.com/ruby/debug/commit/1139d781ffde33a1ae6de04e718269cf...\n\n_Description has been truncated_","html_url":"https://github.com/ministryofjustice/laa-crime-application-store/pull/531","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/ministryofjustice%2Flaa-crime-application-store/issues/531","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/531/packages"},{"uuid":"3846667210","node_id":"PR_kwDOKC_6yM6-4_gh","number":525,"state":"closed","title":"Bump the bundler group across 1 directory with 15 updates","user":"dependabot[bot]","labels":["dependencies","ruby"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-01-23T12:00:42.000Z","author_association":null,"state_reason":null,"created_at":"2026-01-23T09:38:42.000Z","updated_at":"2026-01-23T12:00:44.000Z","time_to_close":8520,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"bundler","update_count":15,"packages":[{"name":"rails","old_version":"8.1.0","new_version":"8.1.2","repository_url":"https://github.com/rails/rails"},{"name":"pg","old_version":"1.6.2","new_version":"1.6.3","repository_url":"https://github.com/ged/ruby-pg"},{"name":"puma","old_version":"7.1.0","new_version":"7.2.0","repository_url":"https://github.com/puma/puma"},{"name":"bootsnap","old_version":"1.18.6","new_version":"1.21.1","repository_url":"https://github.com/rails/bootsnap"},{"name":"alba","old_version":"3.9.1","new_version":"3.10.0","repository_url":"https://github.com/okuramasafumi/alba"},{"name":"aws-sdk-s3","old_version":"1.209.0","new_version":"1.212.0","repository_url":"https://github.com/aws/aws-sdk-ruby"},{"name":"oauth2","old_version":"2.0.17","new_version":"2.0.18","repository_url":"https://github.com/ruby-oauth/oauth2"},{"name":"prometheus_exporter","old_version":"2.3.0","new_version":"2.3.1","repository_url":"https://github.com/discourse/prometheus_exporter"},{"name":"sentry-rails","old_version":"5.28.1","new_version":"6.3.0","repository_url":"https://github.com/getsentry/sentry-ruby"},{"name":"sidekiq","old_version":"8.0.8","new_version":"8.1.0","repository_url":"https://github.com/sidekiq/sidekiq"},{"name":"with_advisory_lock","old_version":"7.0.2","new_version":"7.5.0","repository_url":"https://github.com/ClosureTree/with_advisory_lock"},{"name":"debug","old_version":"1.11.0","new_version":"1.11.1","repository_url":"https://github.com/ruby/debug"},{"name":"dotenv-rails","old_version":"3.1.8","new_version":"3.2.0","repository_url":"https://github.com/bkeepers/dotenv"},{"name":"webmock","old_version":"3.25.1","new_version":"3.26.1","repository_url":"https://github.com/bblimke/webmock"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps the bundler group with 14 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [rails](https://github.com/rails/rails) | `8.1.0` | `8.1.2` |\n| [pg](https://github.com/ged/ruby-pg) | `1.6.2` | `1.6.3` |\n| [puma](https://github.com/puma/puma) | `7.1.0` | `7.2.0` |\n| [bootsnap](https://github.com/rails/bootsnap) | `1.18.6` | `1.21.1` |\n| [alba](https://github.com/okuramasafumi/alba) | `3.9.1` | `3.10.0` |\n| [aws-sdk-s3](https://github.com/aws/aws-sdk-ruby) | `1.209.0` | `1.212.0` |\n| [oauth2](https://github.com/ruby-oauth/oauth2) | `2.0.17` | `2.0.18` |\n| [prometheus_exporter](https://github.com/discourse/prometheus_exporter) | `2.3.0` | `2.3.1` |\n| [sentry-rails](https://github.com/getsentry/sentry-ruby) | `5.28.1` | `6.3.0` |\n| [sidekiq](https://github.com/sidekiq/sidekiq) | `8.0.8` | `8.1.0` |\n| [with_advisory_lock](https://github.com/ClosureTree/with_advisory_lock) | `7.0.2` | `7.5.0` |\n| [debug](https://github.com/ruby/debug) | `1.11.0` | `1.11.1` |\n| [dotenv-rails](https://github.com/bkeepers/dotenv) | `3.1.8` | `3.2.0` |\n| [webmock](https://github.com/bblimke/webmock) | `3.25.1` | `3.26.1` |\n\n\nUpdates `rails` from 8.1.0 to 8.1.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003erails's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.1.2\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eMake \u003ccode\u003edelegate\u003c/code\u003e and \u003ccode\u003edelegate_missing_to\u003c/code\u003e work in BasicObject subclasses.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix Inflectors when using a locale that fallbacks to \u003ccode\u003e:en\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eSaid Kaldybaev\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eActiveSupport::TimeWithZone#as_json\u003c/code\u003e to consistently return UTF-8 strings.\u003c/p\u003e\n\u003cp\u003ePreviously the returned string would sometime be encoded in US-ASCII, which in\nsome cases may be problematic.\u003c/p\u003e\n\u003cp\u003eNow the method consistently always return UTF-8 strings.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eJean Boussier\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eTimeWithZone#xmlschema\u003c/code\u003e when wrapping a \u003ccode\u003eDateTime\u003c/code\u003e instance in local time.\u003c/p\u003e\n\u003cp\u003ePreviously it would return an invalid time.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eDmytro Rymar\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eImplement LocalCache strategy on \u003ccode\u003eActiveSupport::Cache::MemoryStore\u003c/code\u003e. The memory store\nneeds to respond to the same interface as other cache stores (e.g. \u003ccode\u003eActiveSupport::NullStore\u003c/code\u003e).\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eMikey Gough\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eActiveSupport::Inflector.humanize\u003c/code\u003e with international characters.\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eActiveSupport::Inflector.humanize(\u0026quot;áÉÍÓÚ\u0026quot;)  # =\u0026gt; \u0026quot;Áéíóú\u0026quot;\nActiveSupport::Inflector.humanize(\u0026quot;аБВГДЕ\u0026quot;) # =\u0026gt; \u0026quot;Абвгде\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003cem\u003eJose Luis Duran\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Record\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix counting cached queries in \u003ccode\u003eActiveRecord::RuntimeRegistry\u003c/code\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/rails/rails/commit/d7c8ae65b7045490965218a994c300aea8dbb079\"\u003e\u003ccode\u003ed7c8ae6\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.2 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/695ac6d83e14d85c131dc4bbad04e9d9cd22676c\"\u003e\u003ccode\u003e695ac6d\u003c/code\u003e\u003c/a\u003e Update Gemfile.lock\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/01263f18e8cd1f9443fe50940682b89ad862450e\"\u003e\u003ccode\u003e01263f1\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56512\"\u003e#56512\u003c/a\u003e from byroot/remove-minitest-ci\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/3ea2701a15ac253fc6b87b0034a87e3abcb3d3e5\"\u003e\u003ccode\u003e3ea2701\u003c/code\u003e\u003c/a\u003e CHANGELOG sync\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/d3fe83ff97d86480103c8757f055f6903612505b\"\u003e\u003ccode\u003ed3fe83f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56541\"\u003e#56541\u003c/a\u003e from rails/remove-system-test-from-default-ci-template\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/528351457f6aa2a472c22b6cf481bea7d2621e0b\"\u003e\u003ccode\u003e5283514\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56012\"\u003e#56012\u003c/a\u003e from jmalcic/restore-default-adc-for-gcs-iam-client\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/53e82ef8a931d4b6d01b9240ea6e486b31e14d61\"\u003e\u003ccode\u003e53e82ef\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56534\"\u003e#56534\u003c/a\u003e from khasinski/fix-sqlite3-schema-dump-default-nil\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/d2509f864aed30800b9e6d305831a62c825033a5\"\u003e\u003ccode\u003ed2509f8\u003c/code\u003e\u003c/a\u003e Allow backburner warning\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/8c48fd1c1e0a66217e03fe227197dd7b8ff0fc3c\"\u003e\u003ccode\u003e8c48fd1\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56535\"\u003e#56535\u003c/a\u003e from eglitobias/8-1-stable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/adcface26aae1018cdfe87610f85c87508b52865\"\u003e\u003ccode\u003eadcface\u003c/code\u003e\u003c/a\u003e Fix PostgreSQL schema_search_path after reconnect and reset\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/rails/compare/v8.1.0...v8.1.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pg` from 1.6.2 to 1.6.3\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ged/ruby-pg/blob/master/CHANGELOG.md\"\u003epg's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.6.3 [2025-12-29] Lars Kanis \u003ca href=\"mailto:lars@greiz-reinsdorf.de\"\u003elars@greiz-reinsdorf.de\u003c/a\u003e\u003c/h2\u003e\n\u003cp\u003eAdded:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd binary gems for ruby-4.0, now providing ruby-3.0 to 4.0. \u003ca href=\"https://redirect.github.com/ged/ruby-pg/issues/682\"\u003e#682\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate fat binary gem to OpenSSL-3.6.0 and PostgreSQL-18.1.\u003c/li\u003e\n\u003cli\u003eImprove documentation of PG::Result and README. \u003ca href=\"https://redirect.github.com/ged/ruby-pg/issues/676\"\u003e#676\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate errorcodes to PostgreSQL-18.\u003c/li\u003e\n\u003cli\u003eUse \u003ccode\u003erb_hash_new_capa\u003c/code\u003e on Ruby-3.2+ . \u003ca href=\"https://redirect.github.com/ged/ruby-pg/issues/674\"\u003e#674\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDeny any server communication on a frozen PG::Connection . \u003ca href=\"https://redirect.github.com/ged/ruby-pg/issues/677\"\u003e#677\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix possible race condition in PG::Result in Ractor context. \u003ca href=\"https://redirect.github.com/ged/ruby-pg/issues/674\"\u003e#674\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eRemoved:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDrop binary gem support for platform \u003ccode\u003ex86-mingw32\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/ged/ruby-pg/issues/682\"\u003e#682\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDrop binary gems for ruby-2.7.\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/ged/ruby-pg/commit/d4539c25dcc89d47088e1423f8d1915c041920f5\"\u003e\u003ccode\u003ed4539c2\u003c/code\u003e\u003c/a\u003e Bump VERSION to pg-1.6.3 and add release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ged/ruby-pg/commit/720900dbb9d16aa855793146f15c3772e14f627a\"\u003e\u003ccode\u003e720900d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ged/ruby-pg/issues/682\"\u003e#682\u003c/a\u003e from larskanis/ruby-4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ged/ruby-pg/commit/f605b5937093884089109c8baa5fe268fc513eaf\"\u003e\u003ccode\u003ef605b59\u003c/code\u003e\u003c/a\u003e Remove x86-mingw32 from binary builds\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ged/ruby-pg/commit/5c690006ba158da70d73d939a233cf75ecdd30ef\"\u003e\u003ccode\u003e5c69000\u003c/code\u003e\u003c/a\u003e Update to ruby-4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ged/ruby-pg/commit/2acaf3d0f76334e056229efe260e1f558a8c6b42\"\u003e\u003ccode\u003e2acaf3d\u003c/code\u003e\u003c/a\u003e CI: workaround missing ruby-4.0 on Window\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ged/ruby-pg/commit/b500ded81127963603e1f724e82bed649c9ca8a1\"\u003e\u003ccode\u003eb500ded\u003c/code\u003e\u003c/a\u003e fix comment\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ged/ruby-pg/commit/bc3f2f8b1110e9bcb225d65554e1a7fc842d0506\"\u003e\u003ccode\u003ebc3f2f8\u003c/code\u003e\u003c/a\u003e CI: Macos-13 on Intel is deprecated\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ged/ruby-pg/commit/77667eb4313bd7b79356f402b0fa7fba409483b8\"\u003e\u003ccode\u003e77667eb\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ged/ruby-pg/issues/678\"\u003e#678\u003c/a\u003e from larskanis/ci-update\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ged/ruby-pg/commit/6e52ce504d05c5359d55f45d9580672103263b54\"\u003e\u003ccode\u003e6e52ce5\u003c/code\u003e\u003c/a\u003e CI: Update PostgreSQL on Macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ged/ruby-pg/commit/6d40f50e51a037022495fe6d98181435652464ff\"\u003e\u003ccode\u003e6d40f50\u003c/code\u003e\u003c/a\u003e CI: Print mkmf.log on failure on Macos\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ged/ruby-pg/compare/v1.6.2...v1.6.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `puma` from 7.1.0 to 7.2.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/puma/puma/releases\"\u003epuma's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev7.2.0\u003c/h2\u003e\n\u003ch2\u003e7.2.0 On The Corner\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFeatures\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd workers \u003ccode\u003e:auto\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3827\"\u003e#3827\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMake it possible to restrict control server commands to stats (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3787\"\u003e#3787\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eBugfixes\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDon't break if \u003ccode\u003eWEB_CONCURRENCY\u003c/code\u003e is set to a blank string (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3837\"\u003e#3837\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDon't share server between worker 0 and descendants on refork (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3602\"\u003e#3602\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix phase check race condition in \u003ccode\u003ePuma::Cluster#check_workers\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3690\"\u003e#3690\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix advertising of CLI config before config files are loaded (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3823\"\u003e#3823\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003ePerformance\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e17% faster HTTP parsing through pre-interning env keys (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3825\"\u003e#3825\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImplement \u003ccode\u003edsize\u003c/code\u003e and \u003ccode\u003edcompact\u003c/code\u003e functions for \u003ccode\u003ePuma::HttpParser\u003c/code\u003e, which makes Puma's C-extension GC-compactible (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3828\"\u003e#3828\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRefactor\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRemove \u003ccode\u003eNoMethodError\u003c/code\u003e rescue in \u003ccode\u003eReactor#select_loop\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3831\"\u003e#3831\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eVarious cleanups in the C extension (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3814\"\u003e#3814\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMonomorphize \u003ccode\u003ehandle_request\u003c/code\u003e return (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3802\"\u003e#3802\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDocs\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eChange link to \u003ccode\u003edocs/deployment.md\u003c/code\u003e in \u003ccode\u003eREADME.md\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3848\"\u003e#3848\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix formatting for each signal description in signals.md (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3813\"\u003e#3813\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate deployment and Kubernetes docs with Puma configuration tips (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3807\"\u003e#3807\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRename master to main (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3809\"\u003e#3809\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/puma/puma/issues/3808\"\u003e#3808\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/puma/puma/issues/3800\"\u003e#3800\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix some minor typos in the docs (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3804\"\u003e#3804\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eGOVERNANCE.md\u003c/code\u003e, \u003ccode\u003eMAINTAINERS\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3826\"\u003e#3826\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove Code Climate badge (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3820\"\u003e#3820\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ca href=\"https://github.com/joshuay03\"\u003e\u003ccode\u003e@​joshuay03\u003c/code\u003e\u003c/a\u003e to the maintainer list\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eCI\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUse Minitest 6 where applicable (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3859\"\u003e#3859\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMany test suite improvements and flake fixes (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3861\"\u003e#3861\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/puma/puma/issues/3863\"\u003e#3863\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/puma/puma/issues/3860\"\u003e#3860\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/puma/puma/issues/3852\"\u003e#3852\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/puma/puma/issues/3857\"\u003e#3857\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/puma/puma/issues/3856\"\u003e#3856\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/puma/puma/issues/3845\"\u003e#3845\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/puma/puma/issues/3843\"\u003e#3843\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/puma/puma/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/puma/puma/issues/3841\"\u003e#3841\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/puma/puma/issues/3822\"\u003e#3822\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/puma/puma/issues/3817\"\u003e#3817\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/puma/puma/issues/3764\"\u003e#3764\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\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/moozzi\"\u003e\u003ccode\u003e@​moozzi\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/puma/puma/pull/3848\"\u003epuma/puma#3848\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ybiquitous\"\u003e\u003ccode\u003e@​ybiquitous\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/puma/puma/pull/3813\"\u003epuma/puma#3813\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrafanie\"\u003e\u003ccode\u003e@​jrafanie\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/puma/puma/pull/3804\"\u003epuma/puma#3804\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/puma/puma/compare/v7.1.0...v7.2.0\"\u003ehttps://github.com/puma/puma/compare/v7.1.0...v7.2.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/puma/puma/blob/main/History.md\"\u003epuma's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e7.2.0 / 2026-01-20\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFeatures\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd workers \u003ccode\u003e:auto\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3827\"\u003e#3827\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMake it possible to restrict control server commands to stats (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3787\"\u003e#3787\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eBugfixes\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDon't break if \u003ccode\u003eWEB_CONCURRENCY\u003c/code\u003e is set to a blank string (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3837\"\u003e#3837\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDon't share server between worker 0 and descendants on refork (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3602\"\u003e#3602\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix phase check race condition in \u003ccode\u003ePuma::Cluster#check_workers\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3690\"\u003e#3690\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix advertising of CLI config before config files are loaded (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3823\"\u003e#3823\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003ePerformance\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e17% faster HTTP parsing through pre-interning env keys (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3825\"\u003e#3825\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImplement \u003ccode\u003edsize\u003c/code\u003e and \u003ccode\u003edcompact\u003c/code\u003e functions for \u003ccode\u003ePuma::HttpParser\u003c/code\u003e, which makes Puma's C-extension GC-compactible (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3828\"\u003e#3828\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRefactor\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRemove \u003ccode\u003eNoMethodError\u003c/code\u003e rescue in \u003ccode\u003eReactor#select_loop\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3831\"\u003e#3831\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eVarious cleanups in the C extension (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3814\"\u003e#3814\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMonomorphize \u003ccode\u003ehandle_request\u003c/code\u003e return (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3802\"\u003e#3802\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDocs\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eChange link to \u003ccode\u003edocs/deployment.md\u003c/code\u003e in \u003ccode\u003eREADME.md\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3848\"\u003e#3848\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix formatting for each signal description in signals.md (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3813\"\u003e#3813\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate deployment and Kubernetes docs with Puma configuration tips (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3807\"\u003e#3807\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRename master to main (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3809\"\u003e#3809\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/puma/puma/issues/3808\"\u003e#3808\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/puma/puma/issues/3800\"\u003e#3800\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix some minor typos in the docs (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3804\"\u003e#3804\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eGOVERNANCE.md\u003c/code\u003e, \u003ccode\u003eMAINTAINERS\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3826\"\u003e#3826\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove Code Climate badge (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3820\"\u003e#3820\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ca href=\"https://github.com/joshuay03\"\u003e\u003ccode\u003e@​joshuay03\u003c/code\u003e\u003c/a\u003e to the maintainer list\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eCI\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUse Minitest 6 where applicable (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3859\"\u003e#3859\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMany test suite improvements and flake fixes (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3861\"\u003e#3861\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/puma/puma/issues/3863\"\u003e#3863\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/puma/puma/issues/3860\"\u003e#3860\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/puma/puma/issues/3852\"\u003e#3852\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/puma/puma/issues/3857\"\u003e#3857\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/puma/puma/issues/3856\"\u003e#3856\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/puma/puma/issues/3845\"\u003e#3845\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/puma/puma/issues/3843\"\u003e#3843\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/puma/puma/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/puma/puma/issues/3841\"\u003e#3841\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/puma/puma/issues/3822\"\u003e#3822\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/puma/puma/issues/3817\"\u003e#3817\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/puma/puma/issues/3764\"\u003e#3764\u003c/a\u003e)\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/puma/puma/commit/96b5aa63e0599e8adf971ceb57efa3cc5663f8a9\"\u003e\u003ccode\u003e96b5aa6\u003c/code\u003e\u003c/a\u003e v7.2.0 (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3864\"\u003e#3864\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/5d7d1ddb266d52abfd96d763a4870af2c3ce9d1a\"\u003e\u003ccode\u003e5d7d1dd\u003c/code\u003e\u003c/a\u003e Add workers :auto (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3827\"\u003e#3827\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/b8c4783cc1ed24300b4b940c57a5dd970db99369\"\u003e\u003ccode\u003eb8c4783\u003c/code\u003e\u003c/a\u003e ci: fix ci - remove \u003ccode\u003eappend_as_bytes\u003c/code\u003e logic, misc changes (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3861\"\u003e#3861\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/44a3ac43a71ea1344e739275b9f55708f9e496ee\"\u003e\u003ccode\u003e44a3ac4\u003c/code\u003e\u003c/a\u003e Fix PR label manager when maintainer comments [ci skip] (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3863\"\u003e#3863\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/43f5d8935ea85d19e98459294114b31196276bc1\"\u003e\u003ccode\u003e43f5d89\u003c/code\u003e\u003c/a\u003e Add GOVERNANCE.md, MAINTAINERS (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3826\"\u003e#3826\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/21afa66798c46212ef392085cb1825c74d107810\"\u003e\u003ccode\u003e21afa66\u003c/code\u003e\u003c/a\u003e Use Minitest 6 where applicable (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3859\"\u003e#3859\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/ec7dd61cf9c5e9ec58f356ca2e32e90602de094c\"\u003e\u003ccode\u003eec7dd61\u003c/code\u003e\u003c/a\u003e ci: Update test_http11.rb for TruffleRuby - string size (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3860\"\u003e#3860\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/fa89dbe1ce8dd8f3159363f30cecaf4338583b2c\"\u003e\u003ccode\u003efa89dbe\u003c/code\u003e\u003c/a\u003e ci: add \u003ccode\u003eruby 4.0\u003c/code\u003e and \u003ccode\u003erails 8.1\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3852\"\u003e#3852\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/98ff11d220b53d7e5c3dc3e4246e66e75284ed7b\"\u003e\u003ccode\u003e98ff11d\u003c/code\u003e\u003c/a\u003e Fix flaky test test_horrible_queries (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3857\"\u003e#3857\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/da162d7b2b87b978d8bbd6d0d1ccde69ce1735da\"\u003e\u003ccode\u003eda162d7\u003c/code\u003e\u003c/a\u003e ci: fix tests.yml (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3856\"\u003e#3856\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/puma/puma/compare/v7.1.0...v7.2.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `bootsnap` from 1.18.6 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/rails/bootsnap/releases\"\u003ebootsnap's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.20.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eHandle broken symlinks in load path scanning code.\nShould fix \u003ccode\u003eErrno::ENOENT fstatat\u003c/code\u003e issues some users have encountered after upgrading to 1.20.0.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/rails/bootsnap/compare/v1.20.0...v1.20.1\"\u003ehttps://github.com/rails/bootsnap/compare/v1.20.0...v1.20.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.20.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eOptimized load path scanning with a C extension. Should be about 2x faster on supported platforms.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/rails/bootsnap/compare/v1.19.0...v1.20.0\"\u003ehttps://github.com/rails/bootsnap/compare/v1.19.0...v1.20.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/rails/bootsnap/blob/main/CHANGELOG.md\"\u003ebootsnap's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e1.21.1\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003ePrevent a Ruby crash while scanning load path if \u003ccode\u003eopendir\u003c/code\u003e fails without setting \u003ccode\u003eerrno\u003c/code\u003e.\nAccording to the C spec this should not happen, but according to user reports, it did.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e1.21.0\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eFix the \u003ccode\u003erequire\u003c/code\u003e decorator to handle \u003ccode\u003eBootsnap.unload_cache!\u003c/code\u003e being called.\u003c/li\u003e\n\u003cli\u003eMinor optimization: Eagerly clear cache buffers to appease the GC.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e1.20.1\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eHandle broken symlinks in load path scanning code.\nShould fix \u003ccode\u003eErrno::ENOENT fstatat\u003c/code\u003e issues some users have encountered after upgrading to 1.20.0.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e1.20.0\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eOptimized load path scanning with a C extension. Should be about 2x faster on supported platforms.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e1.19.0\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eRemove JSON parsing cache. Recent versions of the \u003ccode\u003ejson\u003c/code\u003e gem are as fast as \u003ccode\u003emsgpack\u003c/code\u003e if not faster.\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/rails/bootsnap/commit/182a80984302f2354f154016a113f17dd7bbf76c\"\u003e\u003ccode\u003e182a809\u003c/code\u003e\u003c/a\u003e Release 1.21.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/1e59365c057d670e1c32e51c50f3f818c7389e8f\"\u003e\u003ccode\u003e1e59365\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/bootsnap/issues/522\"\u003e#522\u003c/a\u003e from byroot/improve-scandir\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/a2ff4b8927a9ad8df138d558162edb8a5239f792\"\u003e\u003ccode\u003ea2ff4b8\u003c/code\u003e\u003c/a\u003e Fallback to pure the pure ruby path scanner on unexpected error\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/6003c143ee66d607ecaeb316c690947ed81beb1d\"\u003e\u003ccode\u003e6003c14\u003c/code\u003e\u003c/a\u003e Avoid crashing when \u003ccode\u003eopendir\u003c/code\u003e fails without setting \u003ccode\u003eerrno\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/92edbf7ef8c8c26277884fb5d373c1a1fa0743fd\"\u003e\u003ccode\u003e92edbf7\u003c/code\u003e\u003c/a\u003e Release 1.21.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/f4908947b6718c788cd8e44d16b480cfe23275c0\"\u003e\u003ccode\u003ef490894\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/bootsnap/issues/520\"\u003e#520\u003c/a\u003e from byroot/handle-unload\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/4a559a0db625369bd189c89ea3f3465e6548ed01\"\u003e\u003ccode\u003e4a559a0\u003c/code\u003e\u003c/a\u003e Fix the \u003ccode\u003erequire\u003c/code\u003e decorator to handle \u003ccode\u003eBootsnap.unload_cache!\u003c/code\u003e being called\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/417dd84ee30bbe172c6af84c876f73843ebcd413\"\u003e\u003ccode\u003e417dd84\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/bootsnap/issues/518\"\u003e#518\u003c/a\u003e from byroot/clear-buffers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/7d57a706ce72a11ec928e201093bd3e4d2f868b7\"\u003e\u003ccode\u003e7d57a70\u003c/code\u003e\u003c/a\u003e Eagerly clear cache buffers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/018fcb8fb4cc8d4593766d37be85f0c19cc5b91a\"\u003e\u003ccode\u003e018fcb8\u003c/code\u003e\u003c/a\u003e Add Ruby 4.0 to the CI matrix\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/bootsnap/compare/v1.18.6...v1.21.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `alba` from 3.9.1 to 3.10.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/okuramasafumi/alba/releases\"\u003ealba's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.10.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e[Feat] Enable type definition for \u003ccode\u003eattribute\u003c/code\u003e by \u003ca href=\"https://github.com/okuramasafumi\"\u003e\u003ccode\u003e@​okuramasafumi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/okuramasafumi/alba/pull/470\"\u003eokuramasafumi/alba#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/okuramasafumi/alba/pull/471\"\u003eokuramasafumi/alba#471\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump rubygems/release-gem from 1.1.1 to 1.1.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/okuramasafumi/alba/pull/474\"\u003eokuramasafumi/alba#474\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix hash object resource methods by \u003ca href=\"https://github.com/jkmcrg\"\u003e\u003ccode\u003e@​jkmcrg\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/okuramasafumi/alba/pull/475\"\u003eokuramasafumi/alba#475\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump step-security/harden-runner from 2.13.1 to 2.13.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/okuramasafumi/alba/pull/476\"\u003eokuramasafumi/alba#476\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/jkmcrg\"\u003e\u003ccode\u003e@​jkmcrg\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/okuramasafumi/alba/pull/475\"\u003eokuramasafumi/alba#475\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/okuramasafumi/alba/compare/v3.9.1...v3.10.0\"\u003ehttps://github.com/okuramasafumi/alba/compare/v3.9.1...v3.10.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/okuramasafumi/alba/blob/main/CHANGELOG.md\"\u003ealba's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.10.0 2025-11-11\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSupport type validation and coercion for a single attribute method \u003ca href=\"https://redirect.github.com/okuramasafumi/alba/pull/470\"\u003e#470\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003eThank you \u003ca href=\"https://github.com/denblackstache\"\u003e\u003ccode\u003e@​denblackstache\u003c/code\u003e\u003c/a\u003e for requesting the feature\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eFix hash object resource methods \u003ca href=\"https://redirect.github.com/okuramasafumi/alba/pull/475\"\u003e#475\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003eThank you, \u003ca href=\"https://github.com/jkmcrg\"\u003e\u003ccode\u003e@​jkmcrg\u003c/code\u003e\u003c/a\u003e\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/okuramasafumi/alba/commit/5c5f9fb69f754ebb530510736d97e04ca8f30af5\"\u003e\u003ccode\u003e5c5f9fb\u003c/code\u003e\u003c/a\u003e [Release] Bump version to 3.10.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/okuramasafumi/alba/commit/eae8d27af9eccab7e39718f05f3b0b3ae6922685\"\u003e\u003ccode\u003eeae8d27\u003c/code\u003e\u003c/a\u003e [Release] Keep a changelog for version 3.10.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/okuramasafumi/alba/commit/bf4ef12d7efb9462630489669b9d5c764b18f4b6\"\u003e\u003ccode\u003ebf4ef12\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/okuramasafumi/alba/issues/476\"\u003e#476\u003c/a\u003e from okuramasafumi/dependabot/github_actions/step-sec...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/okuramasafumi/alba/commit/bfcb7d03495aed2e90d47f4a772ced78caef5ec4\"\u003e\u003ccode\u003ebfcb7d0\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/okuramasafumi/alba/issues/475\"\u003e#475\u003c/a\u003e from jkmcrg/fix-hash-object-resource-methods\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/okuramasafumi/alba/commit/5cb24dfccc9a3baa0cb7b8880dc6c9b6dd42d63e\"\u003e\u003ccode\u003e5cb24df\u003c/code\u003e\u003c/a\u003e Bump step-security/harden-runner from 2.13.1 to 2.13.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/okuramasafumi/alba/commit/f0c8b2aa04b4903a2a615a805b77ed85223925ef\"\u003e\u003ccode\u003ef0c8b2a\u003c/code\u003e\u003c/a\u003e [Fix] Rescue key error on hash indexing to delegate to resource method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/okuramasafumi/alba/commit/eb0a1970e058b233c4f5f25df0e51b96785092e0\"\u003e\u003ccode\u003eeb0a197\u003c/code\u003e\u003c/a\u003e [Fix] Add test for serializing a hash with a resource method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/okuramasafumi/alba/commit/674dbade95a5e9b6f538144731ffff1086e695b7\"\u003e\u003ccode\u003e674dbad\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/okuramasafumi/alba/issues/474\"\u003e#474\u003c/a\u003e from okuramasafumi/dependabot/github_actions/rubygems...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/okuramasafumi/alba/commit/77ada319c72b8d9b504400b80af14fd7bd433589\"\u003e\u003ccode\u003e77ada31\u003c/code\u003e\u003c/a\u003e Bump rubygems/release-gem from 1.1.1 to 1.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/okuramasafumi/alba/commit/09db9c2a0e0c390e5a1af88ddc946e8912234dcb\"\u003e\u003ccode\u003e09db9c2\u003c/code\u003e\u003c/a\u003e [Chore] Update GitHub Sponsors username in FUNDING.yml\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/okuramasafumi/alba/compare/v3.9.1...v3.10.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `aws-sdk-s3` from 1.209.0 to 1.212.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/aws/aws-sdk-ruby/blob/version-3/gems/aws-sdk-s3/CHANGELOG.md\"\u003eaws-sdk-s3's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.212.0 (2026-01-16)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Code Generated Changes, see \u003ccode\u003e./build_tools\u003c/code\u003e or \u003ccode\u003eaws-sdk-core\u003c/code\u003e's CHANGELOG.md for details.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.211.0 (2026-01-08)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFeature - Code Generated Changes, see \u003ccode\u003e./build_tools\u003c/code\u003e or \u003ccode\u003eaws-sdk-core\u003c/code\u003e's CHANGELOG.md for details.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eIssue - Falls back to header request checksums when using custom endpoints or endpoint providers for PutObject and UploadPart operations.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.210.1 (2026-01-06)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eIssue - Normalize response encoding to UTF-8 for proper XML error parsing in HTTP 200 responses.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.210.0 (2026-01-05)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFeature - Code Generated Changes, see \u003ccode\u003e./build_tools\u003c/code\u003e or \u003ccode\u003eaws-sdk-core\u003c/code\u003e's CHANGELOG.md for details.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFeature - Added \u003ccode\u003e:http_chunk_size\u003c/code\u003e parameter to \u003ccode\u003eTransferManager#upload_file\u003c/code\u003e to control the buffer size when streaming request bodies over HTTP. Larger chunk sizes may improve network throughput at the cost of higher memory usage (Ruby MRI only).\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFeature - Improved memory efficiency when calculating request checksums for large file uploads (Ruby MRI only).\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\u003eSee full diff in \u003ca href=\"https://github.com/aws/aws-sdk-ruby/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `oauth2` from 2.0.17 to 2.0.18\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby-oauth/oauth2/releases\"\u003eoauth2's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.0.18\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/compare/v2.0.17...v2.0.18\"\u003e2.0.18\u003c/a\u003e - 2025-11-08\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eTAG: \u003ca href=\"https://github.com/ruby-oauth/oauth2/releases/tag/v2.0.18\"\u003ev2.0.18\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCOVERAGE: 100.00% -- 526/526 lines in 14 files\u003c/li\u003e\n\u003cli\u003eBRANCH COVERAGE: 100.00% -- 178/178 branches in 14 files\u003c/li\u003e\n\u003cli\u003e90.48% documented\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/683\"\u003egh!683\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/684\"\u003egh!684\u003c/a\u003e - Improve documentation by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/686\"\u003egh!686\u003c/a\u003e- Add Incident Response Plan by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/687\"\u003egh!687\u003c/a\u003e- Add Threat Model by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/685\"\u003egh!685\u003c/a\u003e - upgrade kettle-dev v1.1.24 by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eupgrade kettle-dev v1.1.52 by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003eAdd open collective donors to README\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/690\"\u003egh!690\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/691\"\u003egh!691\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/692\"\u003egh!692\u003c/a\u003e - Add yard-fence\n\u003cul\u003e\n\u003cli\u003ehandle braces within code fences in markdown properly by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cp\u003eOfficial Discord 👉️ [![Live Chat on Discord][✉️discord-invite-img]][✉️discord-invite]\u003c/p\u003e\n\u003cp\u003eMany paths lead to being a sponsor or a backer of this project. Are you on such a path?\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://opencollective.com/ruby-oauth#backer\"\u003e![OpenCollective Backers][🖇osc-backers-i]\u003c/a\u003e [![OpenCollective Sponsors][🖇osc-sponsors-i]][🖇osc-sponsors] [![Sponsor Me on Github][🖇sponsor-img]][🖇sponsor] \u003ca href=\"https://liberapay.com/pboling/donate\"\u003e\u003cimg src=\"https://img.shields.io/liberapay/goal/pboling.svg?logo=liberapay\u0026amp;color=a51611\u0026amp;style=flat\" alt=\"Liberapay Goal Progress\" /\u003e\u003c/a\u003e [![Donate on PayPal][🖇paypal-img]][🖇paypal]\u003c/p\u003e\n\u003cp\u003e[![Buy me a coffee][🖇buyme-small-img]][🖇buyme] [![Donate on Polar][🖇polar-img]][🖇polar] [![Donate to my FLOSS efforts at ko-fi.com][🖇kofi-img]][🖇kofi] [![Donate to my FLOSS efforts using Patreon][🖇patreon-img]][🖇patreon]\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\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby-oauth/oauth2/blob/main/CHANGELOG.md\"\u003eoauth2's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[2.0.18] - 2025-11-08\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eTAG: [v2.0.18][2.0.18t]\u003c/li\u003e\n\u003cli\u003eCOVERAGE: 100.00% -- 526/526 lines in 14 files\u003c/li\u003e\n\u003cli\u003eBRANCH COVERAGE: 100.00% -- 178/178 branches in 14 files\u003c/li\u003e\n\u003cli\u003e90.48% documented\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/683\"\u003egh!683\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/684\"\u003egh!684\u003c/a\u003e - Improve documentation by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/686\"\u003egh!686\u003c/a\u003e- Add Incident Response Plan by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/687\"\u003egh!687\u003c/a\u003e- Add Threat Model by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/685\"\u003egh!685\u003c/a\u003e - upgrade kettle-dev v1.1.24 by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eupgrade kettle-dev v1.1.52 by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003eAdd open collective donors to README\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/690\"\u003egh!690\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/691\"\u003egh!691\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/692\"\u003egh!692\u003c/a\u003e - Add yard-fence\n\u003cul\u003e\n\u003cli\u003ehandle braces within code fences in markdown properly by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSecurity\u003c/h3\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/ruby-oauth/oauth2/commit/b5753116121553d56937039dafc5ea472d9a99ed\"\u003e\u003ccode\u003eb575311\u003c/code\u003e\u003c/a\u003e 🔖 Prepare release v2.0.18\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/b5af77ba42ec111dda68abdee33d631e27fdfe61\"\u003e\u003ccode\u003eb5af77b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/issues/693\"\u003e#693\u003c/a\u003e from ruby-oauth/feat/docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/cf2853d9fa05999f88c9df8b1b3a8a3ed21c64e8\"\u003e\u003ccode\u003ecf2853d\u003c/code\u003e\u003c/a\u003e 📝 Update docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/18434156bfc988527d2453b2174e6356e233757d\"\u003e\u003ccode\u003e1843415\u003c/code\u003e\u003c/a\u003e ⬆️ kettle-dev v1.1.52, yard-fence v0.8.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/f592dd8753966a30671ebc2e8a28ab26138b6c2b\"\u003e\u003ccode\u003ef592dd8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/issues/692\"\u003e#692\u003c/a\u003e from ruby-oauth/feat/docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/2095732d7cd4eeb80fe74c89e2a2d012517e40d6\"\u003e\u003ccode\u003e2095732\u003c/code\u003e\u003c/a\u003e ⬆️ yard-fence v0.7.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/50f3fd08e733ed75b2cc99e077e9ea9d64a3d5d5\"\u003e\u003ccode\u003e50f3fd0\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/issues/691\"\u003e#691\u003c/a\u003e from ruby-oauth/feat/docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/bcb0e40bfca989f164a04cbf46a4175822b7cb28\"\u003e\u003ccode\u003ebcb0e40\u003c/code\u003e\u003c/a\u003e ✏️ Fix typos in docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/f24f1a8bfbf546595aa16cd6fa82119c8218c1d3\"\u003e\u003ccode\u003ef24f1a8\u003c/code\u003e\u003c/a\u003e Create CNAME\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/bff58e1afec541feca2a337664d09c58b8a22419\"\u003e\u003ccode\u003ebff58e1\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/issues/690\"\u003e#690\u003c/a\u003e from ruby-oauth/feat/yard-fence\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby-oauth/oauth2/compare/v2.0.17...v2.0.18\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `prometheus_exporter` from 2.3.0 to 2.3.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/discourse/prometheus_exporter/blob/main/CHANGELOG\"\u003eprometheus_exporter's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[2.3.1] - 2025-11-11\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFIX: get controller full path instead of controller name - Alex Platteeuw\u003c/li\u003e\n\u003cli\u003eFEATURE: Secure PrometheusExporter scraping with SSL - Nicolas Rodriquez\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/discourse/prometheus_exporter/commit/15e9d4783db8267fb3b0c48e5464ec4c1ae58c00\"\u003e\u003ccode\u003e15e9d47\u003c/code\u003e\u003c/a\u003e version bump (\u003ca href=\"https://redirect.github.com/discourse/prometheus_exporter/issues/358\"\u003e#358\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/discourse/prometheus_exporter/commit/4bd3817744bb5011aed6c669696ed957c23cd3fe\"\u003e\u003ccode\u003e4bd3817\u003c/code\u003e\u003c/a\u003e fix: get controller full path instead of controller name (\u003ca href=\"https://redirect.github.com/discourse/prometheus_exporter/issues/353\"\u003e#353\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/discourse/prometheus_exporter/commit/4bb4fa333386b166a745df92be5620b11be3872a\"\u003e\u003ccode\u003e4bb4fa3\u003c/code\u003e\u003c/a\u003e Secure PrometheusExporter scraping with SSL (\u003ca href=\"https://redirect.github.com/discourse/prometheus_exporter/issues/350\"\u003e#350\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/discourse/prometheus_exporter/commit/b10933453f0952cd17d143487c5adc8bb74b492a\"\u003e\u003ccode\u003eb109334\u003c/code\u003e\u003c/a\u003e Add connect_timeout: settings to PrometheusExporter::Client (\u003ca href=\"https://redirect.github.com/discourse/prometheus_exporter/issues/352\"\u003e#352\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/discourse/prometheus_exporter/compare/v2.3.0...v2.3.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sentry-rails` from 5.28.1 to 6.3.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/getsentry/sentry-ruby/blob/master/CHANGELOG.md\"\u003esentry-rails's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e6.3.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eImplement new \u003ccode\u003eSentry.metrics\u003c/code\u003e functionality (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2818\"\u003e#2818\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003eThe SDK now supports Sentry's new \u003ca href=\"https://docs.sentry.io/product/explore/metrics/\"\u003eTrace Connected Metrics\u003c/a\u003e product.\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003e Sentry.metrics.count(\u0026quot;button.click\u0026quot;, 1, attributes: { button_id: \u0026quot;submit\u0026quot; })\n Sentry.metrics.distribution(\u0026quot;response.time\u0026quot;, 120.5, unit: \u0026quot;millisecond\u0026quot;)\n Sentry.metrics.gauge(\u0026quot;cpu.usage\u0026quot;, 75.2, unit: \u0026quot;percent\u0026quot;)\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eMetrics is enabled by default and only activates once you use the above APIs. To disable completely:\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eSentry.init do |config|\n  # ...\n  config.enable_metrics = false\nend\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSupport for tracing \u003ccode\u003eSequel\u003c/code\u003e queries (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2814\"\u003e#2814\u003c/a\u003e)\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003erequire \u0026quot;sentry\u0026quot;\nrequire \u0026quot;sentry/sequel\u0026quot;\n\u003cp\u003eSentry.init do |config|\nconfig.enabled_patches \u0026lt;\u0026lt; :sequel\nend\u003c/p\u003e\n\u003cp\u003eDB = Sequel.sqlite\nDB.extension(:sentry)\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for OpenTelemetry messaging/queue system spans (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2685\"\u003e#2685\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for \u003ccode\u003econfig.std_lib_logger_filter\u003c/code\u003e proc (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2829\"\u003e#2829\u003c/a\u003e)\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eSentry.init do |config|\n  config.std_lib_logger_filter = proc do |logger, message, severity|\n    # Only send ERROR and above messages\n    severity == :error || severity == :fatal\n  end\n\u003cp\u003econfig.enabled_patches = [:std_lib_logger]\nend\n\u003c/code\u003e\u003c/pre\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/getsentry/sentry-ruby/commit/babf7aa58b31ab3f3653b4afae711d8f63d4f9c3\"\u003e\u003ccode\u003ebabf7aa\u003c/code\u003e\u003c/a\u003e release: 6.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/854f4cafa72011f0eb36c319200278b39cf3b453\"\u003e\u003ccode\u003e854f4ca\u003c/code\u003e\u003c/a\u003e Handle more extra attribute types when logging (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/issues/2815\"\u003e#2815\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/9ce51e3c4e313e3a2f7ab2a18494612c133f3372\"\u003e\u003ccode\u003e9ce51e3\u003c/code\u003e\u003c/a\u003e Automatic collection of Sequel queries (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/issues/2814\"\u003e#2814\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/d45e53fd87dc28a9fc5e17ef239aa2a00e2387d5\"\u003e\u003ccode\u003ed45e53f\u003c/code\u003e\u003c/a\u003e Ignore new rails rate limit errors (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/issues/2774\"\u003e#2774\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/0da2bde916965f02ce12c57df4c915aaf3353cba\"\u003e\u003ccode\u003e0da2bde\u003c/code\u003e\u003c/a\u003e release: 6.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/bcc0fe7d211b6dffd273a13ebeb2bcf8af0f0fb7\"\u003e\u003ccode\u003ebcc0fe7\u003c/code\u003e\u003c/a\u003e fix(logging): improve error handling in AR subscriber (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/issues/2798\"\u003e#2798\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/5aa2643123c4020308ecd365c7c07113612b4ca3\"\u003e\u003ccode\u003e5aa2643\u003c/code\u003e\u003c/a\u003e release: 6.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/78a5a08950025b029132b81198f0279dbf42f34c\"\u003e\u003ccode\u003e78a5a08\u003c/code\u003e\u003c/a\u003e fix(rails): fix logging of cached queries with binds (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/issues/2789\"\u003e#2789\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/a5cee1bdbf51747d719db5a998b36ed303107ae4\"\u003e\u003ccode\u003ea5cee1b\u003c/code\u003e\u003c/a\u003e fix(rails): handle positioned binds in logging (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/issues/2787\"\u003e#2787\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/6aed46375b6992a87a74efc83fd1e9ca5ecf854d\"\u003e\u003ccode\u003e6aed463\u003c/code\u003e\u003c/a\u003e release: 6.1.1\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/getsentry/sentry-ruby/compare/5.28.1...6.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sentry-ruby` from 5.28.1 to 6.3.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/getsentry/sentry-ruby/blob/master/CHANGELOG.md\"\u003esentry-ruby's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e6.3.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eImplement new \u003ccode\u003eSentry.metrics\u003c/code\u003e functionality (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2818\"\u003e#2818\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003eThe SDK now supports Sentry's new \u003ca href=\"https://docs.sentry.io/product/explore/metrics/\"\u003eTrace Connected Metrics\u003c/a\u003e product.\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003e Sentry.metrics.count(\u0026quot;button.click\u0026quot;, 1, attributes: { button_id: \u0026quot;submit\u0026quot; })\n Sentry.metrics.distribution(\u0026quot;response.time\u0026quot;, 120.5, unit: \u0026quot;millisecond\u0026quot;)\n Sentry.metrics.gauge(\u0026quot;cpu.usage\u0026quot;, 75.2, unit: \u0026quot;percent\u0026quot;)\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eMetrics is enabled by default and only activates once you use the above APIs. To disable completely:\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eSentry.init do |config|\n  # ...\n  config.enable_metrics = false\nend\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSupport for tracing \u003ccode\u003eSequel\u003c/code\u003e queries (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2814\"\u003e#2814\u003c/a\u003e)\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003erequire \u0026quot;sentry\u0026quot;\nrequire \u0026quot;sentry/sequel\u0026quot;\n\u003cp\u003eSentry.init do |config|\nconfig.enabled_patches \u0026lt;\u0026lt; :sequel\nend\u003c/p\u003e\n\u003cp\u003eDB = Sequel.sqlite\nDB.extension(:sentry)\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for OpenTelemetry messaging/queue system spans (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2685\"\u003e#2685\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for \u003ccode\u003econfig.std_lib_logger_filter\u003c/code\u003e proc (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2829\"\u003e#2829\u003c/a\u003e)\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eSentry.init do |config|\n  config.std_lib_logger_filter = proc do |logger, message, severity|\n    # Only send ERROR and above messages\n    severity == :error || severity == :fatal\n  end\n\u003cp\u003econfig.enabled_patches = [:std_lib_logger]\nend\n\u003c/code\u003e\u003c/pre\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/getsentry/sentry-ruby/commit/babf7aa58b31ab3f3653b4afae711d8f63d4f9c3\"\u003e\u003ccode\u003ebabf7aa\u003c/code\u003e\u003c/a\u003e release: 6.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/8c43650a4bafeb47d5ffd011a9fc74e34b8ee786\"\u003e\u003ccode\u003e8c43650\u003c/code\u003e\u003c/a\u003e Enable metrics by default (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/issues/2835\"\u003e#2835\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/9cd6a0692502d0e28cd0e7706e1657e88dc39d0f\"\u003e\u003ccode\u003e9cd6a06\u003c/code\u003e\u003c/a\u003e Lazily start TelemetryEventBuffer threads (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/issues/2832\"\u003e#2832\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/8db45ed759a8c85cfd61e5ea46ee2b16eb525f8a\"\u003e\u003ccode\u003e8db45ed\u003c/code\u003e\u003c/a\u003e Max drop limit for TelemetryEventBuffer after which we completely drop events...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/a3546833c4440c458cce042cf1b787814d195e9b\"\u003e\u003ccode\u003ea354683\u003c/code\u003e\u003c/a\u003e Unify LogEventBuffer and MetricEventBuffer logic (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/issues/2830\"\u003e#2830\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/8b8bad5d84f72ea553b843d05b72cb3214e5926c\"\u003e\u003ccode\u003e8b8bad5\u003c/code\u003e\u003c/a\u003e feat(std_lib_logger): add support for filtering (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/issues/2829\"\u003e#2829\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/846c2ba8dcb688fc2214176a0f39cbfa400e58d7\"\u003e\u003ccode\u003e846c2ba\u003c/code\u003e\u003c/a\u003e Unify Logs and Metrics implementations (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/issues/2826\"\u003e#2826\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/c11a4991db94fc1745e5a46c9d35d5f1b27b0c66\"\u003e\u003ccode\u003ec11a499\u003c/code\u003e\u003c/a\u003e fix: prevent SDK crash when SDK logging fails  (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/issues/2817\"\u003e#2817\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/854f4cafa72011f0eb36c319200278b39cf3b453\"\u003e\u003ccode\u003e854f4ca\u003c/code\u003e\u003c/a\u003e Handle more extra attribute types when logging (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/issues/2815\"\u003e#2815\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/4fcb9412ed7c566218b5a222beeb8f6c401b1111\"\u003e\u003ccode\u003e4fcb941\u003c/code\u003e\u003c/a\u003e Implement new \u003ccode\u003eSentry.metrics\u003c/code\u003e functionality (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/issues/2818\"\u003e#2818\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/getsentry/sentry-ruby/compare/5.28.1...6.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sidekiq` from 8.0.8 to 8.1.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sidekiq/sidekiq/blob/main/Changes.md\"\u003esidekiq's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.1.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eretry_for\u003c/code\u003e and \u003ccode\u003eretry\u003c/code\u003e are now mutually exclusive [#6878, Saidbek]\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eperform_inline\u003c/code\u003e now enforces \u003ccode\u003estrict_args!\u003c/code\u003e [#6718, Saidbek]\u003c/li\u003e\n\u003cli\u003eIntegrate Herb linting for ERB templates [#6760, Saidbek]\u003c/li\u003e\n\u003cli\u003eRemove CSRF code, use \u003ccode\u003eSec-Fetch-Site\u003c/code\u003e header [#6874, deve1212]\u003c/li\u003e\n\u003cli\u003eAllow custom Web UI \u003ccode\u003eassets_path\u003c/code\u003e for CDN purposes [#6865, stanhu]\u003c/li\u003e\n\u003cli\u003eUpgrade to connection_pool 3.0\u003c/li\u003e\n\u003cli\u003eAllow idle connection reaping after N seconds.\nYou can activate this \u003cstrong\u003ebeta\u003c/strong\u003e feature like below.\nFeedback requested: is this feature stable and useful for you in production?\nThis feature may or may not be enabled by default in Sidekiq 9.0.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eSidekiq.configure_server do |cfg|\n  cfg.reap_idle_redis_connections(60)\nend\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003e8.0.10\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd confirm dialog for Delete All buttons in Web UI \u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/6853\"\u003e#6853\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdjust scheduler to run closer to poll average \u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/6866\"\u003e#6866\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eForward compatibility changes for connection_pool 3.0.0\u003c/li\u003e\n\u003cli\u003eBackwards compatibility fix for \u0026lt;8.0.9 process data in Redis \u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/6870\"\u003e#6870\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBacktrace dump can now be triggered with the INFO signal, since Puma uses the\nsame signal \u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/6857\"\u003e#6857\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.0.9\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImplement idle Redis connection reaping, will be activated in 8.1 \u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/6663\"\u003e#6663\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdated \u003ccode\u003eSidekiq::Process\u003c/code\u003e API to provide capsule data. The \u003ccode\u003equeues\u003c/code\u003e and \u003ccode\u003eweights\u003c/code\u003e\ndata will be removed from Redis in Sidekiq 8.1, as this data can now be found in the\n\u003ccode\u003ecapsules\u003c/code\u003e element. \u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/6295\"\u003e#6295\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRestore bulk action buttons on Scheduled, Retry and Dead tabs [#6833, deve1212]\u003c/li\u003e\n\u003cli\u003eSupport logging additional job attributes [#6846, bschrag620]\u003c/li\u003e\n\u003cli\u003eFix display of long job args \u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/6836\"\u003e#6836\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCreate development lifecycle (\u003ccode\u003edocs/sdlc.md\u003c/code\u003e) and security (\u003ccode\u003edocs/SECURITY.md\u003c/code\u003e) policy\ndocumentation for Sidekiq's current workflows\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/sidekiq/sidekiq/commit/bb172d9b2b17a086c9cfa2763f58eb0b89937a77\"\u003e\u003ccode\u003ebb172d9\u003c/code\u003e\u003c/a\u003e doc(changes)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/1f8d7f5a40f1a996558c305cba5418cb3cc4af08\"\u003e\u003ccode\u003e1f8d7f5\u003c/code\u003e\u003c/a\u003e announce TTIN deprecation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/761e2d3f00666d115153d611cdeab1a4b89566a6\"\u003e\u003ccode\u003e761e2d3\u003c/code\u003e\u003c/a\u003e doc(changes)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/c8753b9fc8e51e07c65f0bb19e637007c255d540\"\u003e\u003ccode\u003ec8753b9\u003c/code\u003e\u003c/a\u003e pro changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/bdda9f5096e8cc48a07eeffdc076f51a2ff3116d\"\u003e\u003ccode\u003ebdda9f5\u003c/code\u003e\u003c/a\u003e 8.1 changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/fae17a28e58ccda85f9e09b7ad1b098529e5f491\"\u003e\u003ccode\u003efae17a2\u003c/code\u003e\u003c/a\u003e Remove old CSRF code\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/878d687cf3f32c910c95820e63294fb11bae1ad2\"\u003e\u003ccode\u003e878d687\u003c/code\u003e\u003c/a\u003e Use pool 3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/6d3be2c91b97263e37c0b0d8cd3dc92d093b2cb1\"\u003e\u003ccode\u003e6d3be2c\u003c/code\u003e\u003c/a\u003e fmt\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/3ab97e9a1c48298b572eee3cf9b16c20b7cbb74a\"\u003e\u003ccode\u003e3ab97e9\u003c/code\u003e\u003c/a\u003e Allow Redis connection reaping with connection_pool 3.0+\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/b7f71bad9bac866d914b62270ff16b64a466a25f\"\u003e\u003ccode\u003eb7f71ba\u003c/code\u003e\u003c/a\u003e Upgrade dependencies to latest minor version\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sidekiq/sidekiq/compare/v8.0.8...v8.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `with_advisory_lock` from 7.0.2 to 7.5.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ClosureTree/with_advisory_lock/releases\"\u003ewith_advisory_lock's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ewith_advisory_lock: v7.5.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/ClosureTree/with_advisory_lock/compare/with_advisory_lock/v7.0.2...with_advisory_lock/v7.5.0\"\u003e7.5.0\u003c/a\u003e (2026-01-21)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd blocking advisory locks with deadlock detection for PostgreSQL (\u003ca href=\"https://redirect.github.com/ClosureTree/with_advisory_lock/issues/140\"\u003e#140\u003c/a\u003e) (\u003ca href=\"https://github.com/ClosureTree/with_advisory_lock/commit/f7f9aff545381107a632a25511e8fc08654a28b6\"\u003ef7f9aff\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Trilogy adapter support with MariaDB 12.0+ (\u003ca href=\"https://redirect.github.com/ClosureTree/with_advisory_lock/issues/134\"\u003e#134\u003c/a\u003e) (\u003ca href=\"https://github.com/ClosureTree/with_advisory_lock/commit/b7764cd9432b25b37c6da9160f980da29a5cdaa6\"\u003eb7764cd\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump version for new features (\u003ca href=\"https://github.com/ClosureTree/with_advisory_lock/commit/9a8c4be5cf51147e60df7e5733360e3dfd8d009e\"\u003e9a8c4be\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse monotonic clock so postgres timeouts are unaffected by system clock changes (\u003ca href=\"https://redirect.github.com/ClosureTree/with_advisory_lock/issues/141\"\u003e#141\u003c/a\u003e) (\u003ca href=\"https://github.com/ClosureTree/with_advisory_lock/commit/929e0103e5ffc4c66f9088942441f764de1bc650\"\u003e929e010\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/ClosureTree/with_advisory_lock/blob/master/CHANGELOG.md\"\u003ewith_advisory_lock's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/ClosureTree/with_advisory_lock/compare/with_advisory_lock/v7.0.2...with_advisory_lock/v7.5.0\"\u003e7.5.0\u003c/a\u003e (2026-01-21)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd blocking advisory locks with deadlock detection for PostgreSQL (\u003ca href=\"https://redirect.github.com/ClosureTree/with_advisory_lock/issues/140\"\u003e#140\u003c/a\u003e) (\u003ca href=\"https://github.com/ClosureTree/with_advisory_lock/commit/f7f9aff545381107a632a25511e8fc08654a28b6\"\u003ef7f9aff\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Trilogy adapter support with MariaDB 12.0+ (\u003ca href=\"https://redirect.github.com/ClosureTree/with_advisory_lock/issues/134\"\u003e#134\u003c/a\u003e) (\u003ca href=\"https://github.com/ClosureTree/with_advisory_lock/commit/b7764cd9432b25b37c6da9160f980da29a5cdaa6\"\u003eb7764cd\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump version for new features (\u003ca href=\"https://github.com/ClosureTree/with_advisory_lock/commit/9a8c4be5cf51147e60df7e5733360e3dfd8d009e\"\u003e9a8c4be\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse monotonic clock so postgres timeouts are unaffected by system clock changes (\u003ca href=\"https://redirect.github.com/ClosureTree/with_advisory_lock/issues/141\"\u003e#141\u003c/a\u003e) (\u003ca href=\"https://github.com/ClosureTree/with_advisory_lock/commit/929e0103e5ffc4c66f9088942441f764de1bc650\"\u003e929e010\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/ClosureTree/with_advisory_lock/commit/b5fec3524a4d6c0ef45b2cb43d01bb50d07e53ed\"\u003e\u003ccode\u003eb5fec35\u003c/code\u003e\u003c/a\u003e chore(master): release with_advisory_lock 7.5.0 (\u003ca href=\"https://redirect.github.com/ClosureTree/with_advisory_lock/issues/144\"\u003e#144\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClosureTree/with_advisory_lock/commit/9a8c4be5cf51147e60df7e5733360e3dfd8d009e\"\u003e\u003ccode\u003e9a8c4be\u003c/code\u003e\u003c/a\u003e feat: bump version for new features\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClosureTree/with_advisory_lock/commit/b7764cd9432b25b37c6da9160f980da29a5cdaa6\"\u003e\u003ccode\u003eb7764cd\u003c/code\u003e\u003c/a\u003e feat: Add Trilogy adapter support with MariaDB 12.0+ (\u003ca href=\"https://redirect.github.com/ClosureTree/with_advisory_lock/issues/134\"\u003e#134\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClosureTree/with_advisory_lock/commit/f7f9aff545381107a632a25511e8fc08654a28b6\"\u003e\u003ccode\u003ef7f9aff\u003c/code\u003e\u003c/a\u003e feat: add blocking advisory locks with deadlock detection for PostgreSQL (\u003ca href=\"https://redirect.github.com/ClosureTree/with_advisory_lock/issues/140\"\u003e#140\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClosureTree/with_advisory_lock/commit/929e0103e5ffc4c66f9088942441f764de1bc650\"\u003e\u003ccode\u003e929e010\u003c/code\u003e\u003c/a\u003e fix: Use monotonic clock so postgres timeouts are unaffected by system clock ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClosureTree/with_advisory_lock/commit/98ebdccd49197568b9249f860e38fd68eb4ee984\"\u003e\u003ccode\u003e98ebdcc\u003c/code\u003e\u003c/a\u003e chore: add Ruby 4.0 and Rails 8.1 support (\u003ca href=\"https://redirect.github.com/ClosureTree/with_advisory_lock/issues/139\"\u003e#139\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClosureTree/with_advisory_lock/commit/7ec974a845843dcc2cf8efc4854837317bc10913\"\u003e\u003ccode\u003e7ec974a\u003c/code\u003e\u003c/a\u003e doc: Add test instructions (\u003ca href=\"https://redirect.github.com/ClosureTree/with_advisory_lock/issues/136\"\u003e#136\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/ClosureTree/with_advisory_lock/compare/with_advisory_lock/v7.0.2...with_advisory_lock/v7.5.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `debug` from 1.11.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/ruby/debug/releases\"\u003edebug's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.11.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ecommand\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eb path: path_pattern\u003c/code\u003e is accepted in \u003ca href=\"https://github.com/ruby/debug/commit/1139d781ffde33a1ae6de04e718269cf8e4b0d09\"\u003ehttps://github.com/ruby/debug/commit/1139d781ffde33a1ae6de04e718269cf8e4b0d09\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003efix\n\u003cul\u003e\n\u003cli\u003ecatch any exception on \u003ccode\u003esingletonclass\u003c/code\u003e by \u003ca href=\"https://github.com/ko1\"\u003e\u003ccode\u003e@​ko1\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/debug/pull/1163\"\u003eruby/debug#1163\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003euse \u003ccode\u003eKernel.__callee__\u003c/code\u003e by \u003ca href=\"https://github.com/ko1\"\u003e\u003ccode\u003e@​ko1\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/debug/pull/1164\"\u003eruby/debug#1164\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFileUtils is needed by \u003ca href=\"https://github.com/ko1\"\u003e\u003ccode\u003e@​ko1\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/debug/pull/1168\"\u003eruby/debug#1168\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003ecatch up Ruby 4.0\n\u003cul\u003e\n\u003cli\u003eUpdate imemo_mask to match ruby's by \u003ca href=\"https://github.com/byroot\"\u003e\u003ccode\u003e@​byroot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/debug/pull/1151\"\u003eruby/debug#1151\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebacktrace changes \u003ca href=\"https://github.com/ruby/debug/commit/24f95d637d96d92eb249e1ca45f3550832b5307f\"\u003ehttps://github.com/ruby/debug/commit/24f95d637d96d92eb249e1ca45f3550832b5307f\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eremote\n\u003cul\u003e\n\u003cli\u003efix(DAP): Return unverified breakpoints instead of unsuccessful response by \u003ca href=\"https://github.com/dmlambo\"\u003e\u003ccode\u003e@​dmlambo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/debug/pull/1161\"\u003eruby/debug#1161\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003emisc\n\u003cul\u003e\n\u003cli\u003eomit on older version by \u003ca href=\"https://github.com/ko1\"\u003e\u003ccode\u003e@​ko1\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/debug/pull/1167\"\u003eruby/debug#1167\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\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/byroot\"\u003e\u003ccode\u003e@​byroot\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/debug/pull/1151\"\u003eruby/debug#1151\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dmlambo\"\u003e\u003ccode\u003e@​dmlambo\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/debug/pull/1161\"\u003eruby/debug#1161\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ruby/debug/compare/v1.11.0...v1.11.1\"\u003ehttps://github.com/ruby/debug/compare/v1.11.0...v1.11.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/ruby/debug/commit/bad4d38f8330219b62f2b253d59146f5a71fd39a\"\u003e\u003ccode\u003ebad4d38\u003c/code\u003e\u003c/a\u003e v1.11.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/debug/commit/88d762c8c9b157e3a2627ac3de0df1d5cb8dace5\"\u003e\u003ccode\u003e88d762c\u003c/code\u003e\u003c/a\u003e FileUtils is needed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/debug/commit/553373a59f655177dabb2cef952ad1fae1d55fa4\"\u003e\u003ccode\u003e553373a\u003c/code\u003e\u003c/a\u003e omit on older version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/debug/commit/c1c1c8e2533096e82d2888170f18d7cc990407fd\"\u003e\u003ccode\u003ec1c1c8e\u003c/code\u003e\u003c/a\u003e use \u003ccode\u003eKernel.__callee__\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/debug/commit/24f95d637d96d92eb249e1ca45f3550832b5307f\"\u003e\u003ccode\u003e24f95d6\u003c/code\u003e\u003c/a\u003e catch up 4.0.0 backtrace change\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/debug/commit/bc97d3387deb4357419e9ebc6c40f809d1858527\"\u003e\u003ccode\u003ebc97d33\u003c/code\u003e\u003c/a\u003e add a test for \u003ccode\u003eb path: ...\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/debug/commit/1139d781ffde33a1ae6de04e718269cf8e4b0d09\"\u003e\u003ccode\u003e1139d78\u003c/code\u003e\u003c/a\u003e support \u003ccode\u003eb path: path_expr\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/debug/commit/06342cd77a11af814c91726f7e5bc3f1974be9df\"\u003e\u003ccode\u003e06342cd\u003c/code\u003e\u003c/a\u003e catch any exception on \u003ccode\u003esingletonclass\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/debug/commit/2791573fd24aef2091cbb30aa8750f3117781752\"\u003e\u003ccode\u003e2791573\u003c/code\u003e\u003c/a\u003e fix(DAP): Return unverified breakpoints instead of unsuccessful response\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/debug/commit/14c8a546242a5e88ed8f47607629ffbef7d3315d\"\u003e\u003ccode\u003e14c8a54\u003c/code\u003e\u003c/a\u003e Update imemo_mask to match ruby's\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/ruby/debug/compare/v1.11.0...v1.11.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `dotenv-rails` from 3.1.8 to 3.2.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/bkeepers/dotenv/releases\"\u003edotenv-rails's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.2.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBoost app startup time by removing to_sentence usage by \u003ca href=\"https://github.com/ThomasCrambert\"\u003e\u003ccode\u003e@​ThomasCrambert\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/bkeepers/dotenv/pull/534\"\u003ebkeepers/dotenv#534\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHandle parentheses in variables in commands by \u003ca href=\"https://github.com/i7an\"\u003e\u003ccode\u003e@​i7an\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/bkeepers/dotenv/pull/540\"\u003ebkeepers/dotenv#540\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eallow warning when a env var was not overwritten by \u003ca href=\"https://github.com/grosser\"\u003e\u003ccode\u003e@​grosser\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/bkeepers/dotenv/pull/531\"\u003ebkeepers/dotenv#531\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix a few small issues by \u003ca href=\"https://github.com/grosser\"\u003e\u003ccode\u003e@​grosser\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/bkeepers/dotenv/pull/532\"\u003ebkeepers/dotenv#532\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/ThomasCrambert\"\u003e\u003ccode\u003e@​ThomasCrambert\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/bkeepers/dotenv/pull/534\"\u003ebkeepers/dotenv#534\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/i7an\"\u003e\u003ccode\u003e@​i7an\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/bkeepers/dotenv/pull/540\"\u003ebkeepers/dotenv#540\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/bkeepers/dotenv/compare/v3.1.8...v3.2.0\"\u003ehttps://github.com/bkeepers/dotenv/compare/v3.1.8...v3.2.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/bkeepers/dotenv/commit/34156bf400cd67387fa6ed9f146778f6a2f5f743\"\u003e\u003ccode\u003e34156bf\u003c/code\u003e\u003c/a\u003e Prepare for 3.2.0 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bkeepers/dotenv/commit/ab478201bdb487bfebd9e89875fd4edcf19dc064\"\u003e\u003ccode\u003eab47820\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/bkeepers/dotenv/issues/531\"\u003e#531\u003c/a\u003e from grosser/grosser/warn\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bkeepers/dotenv/commit/fae61202e432f39742e2592817cc7bb38f559852\"\u003e\u003ccode\u003efae6120\u003c/code\u003e\u003c/a\u003e Merge branch 'main' into grosser/warn\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bkeepers/dotenv/commit/4f510f41073cabb9786e3a5ea57263933497e696\"\u003e\u003ccode\u003e4f510f4\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/bkeepe...\n\n_Description has been truncated_","html_url":"https://github.com/ministryofjustice/laa-crime-application-store/pull/525","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/ministryofjustice%2Flaa-crime-application-store/issues/525","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/525/packages"},{"uuid":"3787195435","node_id":"PR_kwDODdTws86709gk","number":3158,"state":"closed","title":"Bump the bundler group across 1 directory with 104 updates","user":"dependabot[bot]","labels":["dependencies","ruby"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-01-14T03:13:55.000Z","author_association":null,"state_reason":null,"created_at":"2026-01-07T03:13:31.000Z","updated_at":"2026-01-14T03:13:56.000Z","time_to_close":604824,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"bundler","update_count":104,"packages":[{"name":"bootsnap","old_version":"1.18.6","new_version":"1.20.1","repository_url":"https://github.com/rails/bootsnap"},{"name":"govuk-components","old_version":"5.11.3","new_version":"5.13.1","repository_url":"https://github.com/x-govuk/govuk-components"},{"name":"govuk_design_system_formbuilder","old_version":"5.11.0","new_version":"5.13.0","repository_url":"https://github.com/x-govuk/govuk-form-builder"},{"name":"haml-rails","old_version":"2.1.0","new_version":"3.0.0","repository_url":"https://github.com/haml/haml-rails"},{"name":"oauth2","old_version":"2.0.17","new_version":"2.0.18","repository_url":"https://github.com/ruby-oauth/oauth2"},{"name":"omniauth-rails_csrf_protection","old_version":"1.0.2","new_version":"2.0.1","repository_url":"https://github.com/cookpad/omniauth-rails_csrf_protection"},{"name":"pg","old_version":"1.6.2","new_version":"1.6.3","repository_url":"https://github.com/ged/ruby-pg"},{"name":"prometheus_exporter","old_version":"2.3.0","new_version":"2.3.1","repository_url":"https://github.com/discourse/prometheus_exporter"},{"name":"puma","old_version":"7.0.4","new_version":"7.1.0","repository_url":"https://github.com/puma/puma"},{"name":"rails","old_version":"8.0.3","new_version":"8.1.1","repository_url":"https://github.com/rails/rails"},{"name":"sentry-rails","old_version":"5.27.1","new_version":"6.2.0","repository_url":"https://github.com/getsentry/sentry-ruby"},{"name":"sentry-sidekiq","old_version":"5.27.1","new_version":"6.2.0","repository_url":"https://github.com/getsentry/sentry-ruby"},{"name":"dotenv-rails","old_version":"3.1.8","new_version":"3.2.0","repository_url":"https://github.com/bkeepers/dotenv"},{"name":"sidekiq","old_version":"8.0.7","new_version":"8.1.0","repository_url":"https://github.com/sidekiq/sidekiq"},{"name":"turbo-rails","old_version":"2.0.16","new_version":"2.0.20","repository_url":"https://github.com/hotwired/turbo-rails"},{"name":"axe-core-rspec","old_version":"4.10.3","new_version":"4.11.0","repository_url":"https://github.com/dequelabs/axe-core-gems"},{"name":"brakeman","old_version":"7.1.0","new_version":"7.1.2","repository_url":"https://github.com/presidentbeef/brakeman"},{"name":"haml_lint","old_version":"0.66.0","new_version":"0.68.0","repository_url":"https://github.com/sds/haml-lint"},{"name":"i18n-tasks","old_version":"1.0.15","new_version":"1.1.2","repository_url":"https://github.com/glebm/i18n-tasks"},{"name":"rubocop","old_version":"1.80.2","new_version":"1.82.1","repository_url":"https://github.com/rubocop/rubocop"},{"name":"rubocop-factory_bot","old_version":"2.27.1","new_version":"2.28.0","repository_url":"https://github.com/rubocop/rubocop-factory_bot"},{"name":"rubocop-performance","old_version":"1.26.0","new_version":"1.26.1","repository_url":"https://github.com/rubocop/rubocop-performance"},{"name":"rubocop-rails","old_version":"2.33.3","new_version":"2.34.3","repository_url":"https://github.com/rubocop/rubocop-rails"},{"name":"rubocop-rspec","old_version":"3.7.0","new_version":"3.8.0","repository_url":"https://github.com/rubocop/rubocop-rspec"},{"name":"rubocop-rspec_rails","old_version":"2.31.0","new_version":"2.32.0","repository_url":"https://github.com/rubocop/rubocop-rspec_rails"},{"name":"selenium-webdriver","old_version":"4.35.0","new_version":"4.39.0","repository_url":"https://github.com/SeleniumHQ/selenium"},{"name":"shoulda-matchers","old_version":"6.5.0","new_version":"7.0.1","repository_url":"https://github.com/thoughtbot/shoulda-matchers"},{"name":"vcr","old_version":"6.3.1","new_version":"6.4.0","repository_url":"https://github.com/vcr/vcr"},{"name":"webmock","old_version":"3.25.1","new_version":"3.26.1","repository_url":"https://github.com/bblimke/webmock"},{"name":"faker","old_version":"3.5.2","new_version":"3.5.3","repository_url":"https://github.com/faker-ruby/faker"},{"name":"net-imap","old_version":"0.5.10","new_version":"0.6.2","repository_url":"https://github.com/ruby/net-imap"},{"name":"bcrypt","old_version":"3.1.20","new_version":"3.1.21","repository_url":"https://github.com/bcrypt-ruby/bcrypt-ruby"},{"name":"factory_bot","old_version":"6.5.5","new_version":"6.5.6","repository_url":"https://github.com/thoughtbot/factory_bot"},{"name":"faraday-follow_redirects","old_version":"0.3.0","new_version":"0.5.0","repository_url":"https://github.com/tisba/faraday-follow-redirects"},{"name":"ffi","old_version":"1.17.2","new_version":"1.17.3","repository_url":"https://github.com/ffi/ffi"},{"name":"json-jwt","old_version":"1.16.7","new_version":"1.17.0","repository_url":"https://github.com/nov/json-jwt"},{"name":"rack-oauth2","old_version":"2.2.1","new_version":"2.3.0","repository_url":"https://github.com/nov/rack-oauth2"},{"name":"responders","old_version":"3.1.1","new_version":"3.2.0","repository_url":"https://github.com/heartcombo/responders"},{"name":"rspec","old_version":"3.13.1","new_version":"3.13.2","repository_url":"https://github.com/rspec/rspec"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps the bundler group with 39 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [bootsnap](https://github.com/rails/bootsnap) | `1.18.6` | `1.20.1` |\n| [govuk-components](https://github.com/x-govuk/govuk-components) | `5.11.3` | `5.13.1` |\n| [govuk_design_system_formbuilder](https://github.com/x-govuk/govuk-form-builder) | `5.11.0` | `5.13.0` |\n| [haml-rails](https://github.com/haml/haml-rails) | `2.1.0` | `3.0.0` |\n| [oauth2](https://github.com/ruby-oauth/oauth2) | `2.0.17` | `2.0.18` |\n| [omniauth-rails_csrf_protection](https://github.com/cookpad/omniauth-rails_csrf_protection) | `1.0.2` | `2.0.1` |\n| [pg](https://github.com/ged/ruby-pg) | `1.6.2` | `1.6.3` |\n| [prometheus_exporter](https://github.com/discourse/prometheus_exporter) | `2.3.0` | `2.3.1` |\n| [puma](https://github.com/puma/puma) | `7.0.4` | `7.1.0` |\n| [rails](https://github.com/rails/rails) | `8.0.3` | `8.1.1` |\n| [sentry-rails](https://github.com/getsentry/sentry-ruby) | `5.27.1` | `6.2.0` |\n| [sentry-sidekiq](https://github.com/getsentry/sentry-ruby) | `5.27.1` | `6.2.0` |\n| [dotenv-rails](https://github.com/bkeepers/dotenv) | `3.1.8` | `3.2.0` |\n| [sidekiq](https://github.com/sidekiq/sidekiq) | `8.0.7` | `8.1.0` |\n| [turbo-rails](https://github.com/hotwired/turbo-rails) | `2.0.16` | `2.0.20` |\n| [axe-core-rspec](https://github.com/dequelabs/axe-core-gems) | `4.10.3` | `4.11.0` |\n| [brakeman](https://github.com/presidentbeef/brakeman) | `7.1.0` | `7.1.2` |\n| [haml_lint](https://github.com/sds/haml-lint) | `0.66.0` | `0.68.0` |\n| [i18n-tasks](https://github.com/glebm/i18n-tasks) | `1.0.15` | `1.1.2` |\n| [rubocop](https://github.com/rubocop/rubocop) | `1.80.2` | `1.82.1` |\n| [rubocop-factory_bot](https://github.com/rubocop/rubocop-factory_bot) | `2.27.1` | `2.28.0` |\n| [rubocop-performance](https://github.com/rubocop/rubocop-performance) | `1.26.0` | `1.26.1` |\n| [rubocop-rails](https://github.com/rubocop/rubocop-rails) | `2.33.3` | `2.34.3` |\n| [rubocop-rspec](https://github.com/rubocop/rubocop-rspec) | `3.7.0` | `3.8.0` |\n| [rubocop-rspec_rails](https://github.com/rubocop/rubocop-rspec_rails) | `2.31.0` | `2.32.0` |\n| [selenium-webdriver](https://github.com/SeleniumHQ/selenium) | `4.35.0` | `4.39.0` |\n| [shoulda-matchers](https://github.com/thoughtbot/shoulda-matchers) | `6.5.0` | `7.0.1` |\n| [vcr](https://github.com/vcr/vcr) | `6.3.1` | `6.4.0` |\n| [webmock](https://github.com/bblimke/webmock) | `3.25.1` | `3.26.1` |\n| [faker](https://github.com/faker-ruby/faker) | `3.5.2` | `3.5.3` |\n| [net-imap](https://github.com/ruby/net-imap) | `0.5.10` | `0.6.2` |\n| [bcrypt](https://github.com/bcrypt-ruby/bcrypt-ruby) | `3.1.20` | `3.1.21` |\n| [factory_bot](https://github.com/thoughtbot/factory_bot) | `6.5.5` | `6.5.6` |\n| [faraday-follow_redirects](https://github.com/tisba/faraday-follow-redirects) | `0.3.0` | `0.5.0` |\n| [ffi](https://github.com/ffi/ffi) | `1.17.2` | `1.17.3` |\n| [json-jwt](https://github.com/nov/json-jwt) | `1.16.7` | `1.17.0` |\n| [rack-oauth2](https://github.com/nov/rack-oauth2) | `2.2.1` | `2.3.0` |\n| [responders](https://github.com/heartcombo/responders) | `3.1.1` | `3.2.0` |\n| [rspec](https://github.com/rspec/rspec) | `3.13.1` | `3.13.2` |\n\n\nUpdates `bootsnap` from 1.18.6 to 1.20.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/bootsnap/releases\"\u003ebootsnap's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.20.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eHandle broken symlinks in load path scanning code.\nShould fix \u003ccode\u003eErrno::ENOENT fstatat\u003c/code\u003e issues some users have encountered after upgrading to 1.20.0.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/rails/bootsnap/compare/v1.20.0...v1.20.1\"\u003ehttps://github.com/rails/bootsnap/compare/v1.20.0...v1.20.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.20.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eOptimized load path scanning with a C extension. Should be about 2x faster on supported platforms.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/rails/bootsnap/compare/v1.19.0...v1.20.0\"\u003ehttps://github.com/rails/bootsnap/compare/v1.19.0...v1.20.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/rails/bootsnap/blob/main/CHANGELOG.md\"\u003ebootsnap's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e1.20.1\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eHandle broken symlinks in load path scanning code.\nShould fix \u003ccode\u003eErrno::ENOENT fstatat\u003c/code\u003e issues some users have encountered after upgrading to 1.20.0.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e1.20.0\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eOptimized load path scanning with a C extension. Should be about 2x faster on supported platforms.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e1.19.0\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eRemove JSON parsing cache. Recent versions of the \u003ccode\u003ejson\u003c/code\u003e gem are as fast as \u003ccode\u003emsgpack\u003c/code\u003e if not faster.\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/rails/bootsnap/commit/ba59bb8e012ddbe592b0de85d06304afed65688c\"\u003e\u003ccode\u003eba59bb8\u003c/code\u003e\u003c/a\u003e Release 1.20.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/302b7dbbc31c917456369fe136b86c1ffc591a64\"\u003e\u003ccode\u003e302b7db\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/bootsnap/issues/514\"\u003e#514\u003c/a\u003e from byroot/handle-broken-symlink\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/fd1ddc33aa8a247e204c152ec700167b285188b2\"\u003e\u003ccode\u003efd1ddc3\u003c/code\u003e\u003c/a\u003e Handle broken symlinks in load path\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/fac34b899341134389dd8067678230d95e409939\"\u003e\u003ccode\u003efac34b8\u003c/code\u003e\u003c/a\u003e Release 1.20.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/71311d4c599a2d4eebec29652889577ff430499c\"\u003e\u003ccode\u003e71311d4\u003c/code\u003e\u003c/a\u003e Include Bootsnap::VERSION in LoadPathCache version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/f5c43ac14b11e9771155d5a5a402c6a8ef0f8ef6\"\u003e\u003ccode\u003ef5c43ac\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/bootsnap/issues/512\"\u003e#512\u003c/a\u003e from byroot/prune-load-dir\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/f94f668c545122c26462d31cec647095282b68a1\"\u003e\u003ccode\u003ef94f668\u003c/code\u003e\u003c/a\u003e Stop caching directories in LoadPathCache\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/e3b5292b2f00012130b2529ec01ac42bdddbe0b2\"\u003e\u003ccode\u003ee3b5292\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/bootsnap/issues/511\"\u003e#511\u003c/a\u003e from byroot/c-ext-load-path-scan\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/e91dd2158b014d7f233028475942b9fbe2c9ed2c\"\u003e\u003ccode\u003ee91dd21\u003c/code\u003e\u003c/a\u003e Implement PathScanner in C to avoid N+1 \u003ccode\u003estat(2)\u003c/code\u003e calls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/c77d5ccfec3188c8feb259963eaad5debc955bcf\"\u003e\u003ccode\u003ec77d5cc\u003c/code\u003e\u003c/a\u003e Cleanup the c extension\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/bootsnap/compare/v1.18.6...v1.20.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `govuk-components` from 5.11.3 to 5.13.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/x-govuk/govuk-components/releases\"\u003egovuk-components's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 5.13.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix a bug in the service nav where \u003ccode\u003earia-current=\u0026quot;true\u0026quot;\u003c/code\u003e was showing where it shouldn't have been. Thanks \u003ca href=\"https://github.com/DavidBiddle\"\u003e\u003ccode\u003e@​DavidBiddle\u003c/code\u003e\u003c/a\u003e for diagnosing (\u003ca href=\"https://redirect.github.com/x-govuk/govuk-components/issues/621\"\u003e#621\u003c/a\u003e) and fixing (\u003ca href=\"https://redirect.github.com/x-govuk/govuk-components/issues/622\"\u003e#622\u003c/a\u003e) this :heart:\u003c/li\u003e\n\u003cli\u003eChange some links in the docs from netlify.app to x-govuk.org\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 5.13.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Rails 8.1. Thanks \u003ca href=\"https://github.com/thomasleese\"\u003e\u003ccode\u003e@​thomasleese\u003c/code\u003e\u003c/a\u003e. \u003ca href=\"https://redirect.github.com/x-govuk/govuk-components/issues/619\"\u003e#619\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to govuk-frontend 5.13.0\u003c/li\u003e\n\u003cli\u003eAdd Netlify link to the footer to qualify for Netlify's open source plan which we're using for the \u003ca href=\"https://govuk-components.x-govuk.org/\"\u003enew guide domain\u003c/a\u003e  ccb566fd4cd1ed5a8\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/x-govuk/govuk-components/commit/ae1d8499a1abb27f460bbf27f2bff7783aac258e\"\u003e\u003ccode\u003eae1d849\u003c/code\u003e\u003c/a\u003e Release version 5.13.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/x-govuk/govuk-components/commit/11c9b1a68c1527fd1ee7ce5ce7cd156404cf606c\"\u003e\u003ccode\u003e11c9b1a\u003c/code\u003e\u003c/a\u003e Change links from netlify.app to x-govuk.org\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/x-govuk/govuk-components/commit/fb64c67029b5be08c0d9ade7033a11034d2ccae9\"\u003e\u003ccode\u003efb64c67\u003c/code\u003e\u003c/a\u003e Only show aria-current attribute for current and active links (\u003ca href=\"https://redirect.github.com/x-govuk/govuk-components/issues/622\"\u003e#622\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/x-govuk/govuk-components/commit/f5af8cfe23c2f9af1c106068073175836239408b\"\u003e\u003ccode\u003ef5af8cf\u003c/code\u003e\u003c/a\u003e Update links in pagination component\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/x-govuk/govuk-components/commit/fe3af03967d65eedade3396e00b85ce0fde10721\"\u003e\u003ccode\u003efe3af03\u003c/code\u003e\u003c/a\u003e Fix stale links to x-govuk.github.io\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/x-govuk/govuk-components/commit/73cfab8a9995fec57277c7f46bd46b64cc06532a\"\u003e\u003ccode\u003e73cfab8\u003c/code\u003e\u003c/a\u003e Only show aria-current attribute for current and active links\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/x-govuk/govuk-components/commit/03365a4ae4c13d67f710e313d5420fb383cf6258\"\u003e\u003ccode\u003e03365a4\u003c/code\u003e\u003c/a\u003e Release version 5.13.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/x-govuk/govuk-components/commit/4cc7cd132e65748edb74abf89da9c2ac40328c52\"\u003e\u003ccode\u003e4cc7cd1\u003c/code\u003e\u003c/a\u003e Upgrade to govuk-frontend 5.13.0 (\u003ca href=\"https://redirect.github.com/x-govuk/govuk-components/issues/620\"\u003e#620\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/x-govuk/govuk-components/commit/7e2ac2f76d0bf2b9200ba4e59371fc617db6d724\"\u003e\u003ccode\u003e7e2ac2f\u003c/code\u003e\u003c/a\u003e Upgrade to govuk-frontend 5.13.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/x-govuk/govuk-components/commit/775c0185f0211fee2a02694058643b0458193ec3\"\u003e\u003ccode\u003e775c018\u003c/code\u003e\u003c/a\u003e Update rubocop-govuk requirement from = 5.1.18 to = 5.1.20 (\u003ca href=\"https://redirect.github.com/x-govuk/govuk-components/issues/614\"\u003e#614\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/x-govuk/govuk-components/compare/v5.11.3...v5.13.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `govuk_design_system_formbuilder` from 5.11.0 to 5.13.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/x-govuk/govuk-form-builder/releases\"\u003egovuk_design_system_formbuilder's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 5.13.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eupgrade to govuk-frontend 5.13.0 \u003ca href=\"https://redirect.github.com/x-govuk/govuk-form-builder/issues/586\"\u003e#586\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003evarious minor version bumps\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/x-govuk/govuk-form-builder/commit/8706eb080e4adbec086c9df6b23c10d2392d67d9\"\u003e\u003ccode\u003e8706eb0\u003c/code\u003e\u003c/a\u003e Release version 5.13.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/x-govuk/govuk-form-builder/commit/4ee1610b38f2ad724ad35f46d4cd9f2ada8657fa\"\u003e\u003ccode\u003e4ee1610\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/x-govuk/govuk-form-builder/issues/586\"\u003e#586\u003c/a\u003e from x-govuk/govuk-frontend-5.13.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/x-govuk/govuk-form-builder/commit/e4152cf35f1210fbf41a7f8c6326561ae34b08f2\"\u003e\u003ccode\u003ee4152cf\u003c/code\u003e\u003c/a\u003e Upgrade to govuk-frontend 5.13.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/x-govuk/govuk-form-builder/commit/1d621fec728b9ad3e68713d77fe418ff15f25938\"\u003e\u003ccode\u003e1d621fe\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/x-govuk/govuk-form-builder/issues/583\"\u003e#583\u003c/a\u003e from x-govuk/dependabot/npm_and_yarn/guide/sass-1.93.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/x-govuk/govuk-form-builder/commit/b719555a4517528f64ab8060176527ef16b8ab52\"\u003e\u003ccode\u003eb719555\u003c/code\u003e\u003c/a\u003e Bump sass from 1.91.0 to 1.93.2 in /guide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/x-govuk/govuk-form-builder/commit/8220652d0d66644b84e71e73799526182e26e0dc\"\u003e\u003ccode\u003e8220652\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/x-govuk/govuk-form-builder/issues/578\"\u003e#578\u003c/a\u003e from x-govuk/dependabot/bundler/rubocop-govuk-tw-5.1.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/x-govuk/govuk-form-builder/commit/d044ef7485504f87b5249d193cedfaa165e7dc5f\"\u003e\u003ccode\u003ed044ef7\u003c/code\u003e\u003c/a\u003e Update rubocop-govuk requirement from ~\u0026gt; 5.0.1 to ~\u0026gt; 5.1.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/x-govuk/govuk-form-builder/commit/c7a77bf283ae692234739d731466d4afea709d88\"\u003e\u003ccode\u003ec7a77bf\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/x-govuk/govuk-form-builder/issues/581\"\u003e#581\u003c/a\u003e from x-govuk/dependabot/bundler/rouge-tw-4.6.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/x-govuk/govuk-form-builder/commit/14991675d0b937d6d22fab58fc218678800292cd\"\u003e\u003ccode\u003e1499167\u003c/code\u003e\u003c/a\u003e Update rouge requirement from ~\u0026gt; 4.5.1 to ~\u0026gt; 4.6.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/x-govuk/govuk-form-builder/commit/865fd13d39821adac617aadccf6df3e3f70a4e47\"\u003e\u003ccode\u003e865fd13\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/x-govuk/govuk-form-builder/issues/569\"\u003e#569\u003c/a\u003e from x-govuk/dependabot/npm_and_yarn/guide/sass-1.89.2\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/x-govuk/govuk-form-builder/compare/v5.11.0...v5.13.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `haml-rails` from 2.1.0 to 3.0.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/haml/haml-rails/commit/6c7c8ca772b2c8d36b58278c2c09498385979f85\"\u003e\u003ccode\u003e6c7c8ca\u003c/code\u003e\u003c/a\u003e Version 3.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/haml/haml-rails/commit/e364abbc6a54f84b344c1ec846d683f927e1ae59\"\u003e\u003ccode\u003ee364abb\u003c/code\u003e\u003c/a\u003e Just use the newest one\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/haml/haml-rails/commit/30005dc31f9926dac33ba776389e9456e068b20f\"\u003e\u003ccode\u003e30005dc\u003c/code\u003e\u003c/a\u003e [CI] uses: actions/checkout@v5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/haml/haml-rails/commit/e639b11fe1571cdc1e8bb48143d13a63110e09e1\"\u003e\u003ccode\u003ee639b11\u003c/code\u003e\u003c/a\u003e Properly state the supported version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/haml/haml-rails/commit/3e1b70552ca28a42a4741d3bfd3cf7cf379c6486\"\u003e\u003ccode\u003e3e1b705\u003c/code\u003e\u003c/a\u003e frozen_string_literal: ❄️\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/haml/haml-rails/commit/2c51fd5848e6d36e36f831cf827578003525d08f\"\u003e\u003ccode\u003e2c51fd5\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/haml/haml-rails/issues/197\"\u003e#197\u003c/a\u003e from amatsuda/rails_versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/haml/haml-rails/commit/9f4703ddff0644ba52529c5cf41c1624829b16a7\"\u003e\u003ccode\u003e9f4703d\u003c/code\u003e\u003c/a\u003e Fall back to the newest templates by default\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/haml/haml-rails/commit/f0a9ff88ef682af3d6023e1d453ed978597abd72\"\u003e\u003ccode\u003ef0a9ff8\u003c/code\u003e\u003c/a\u003e Rails 5.1 scaffold templates\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/haml/haml-rails/commit/852cf01c9831ee09049f7b990a648d441c876093\"\u003e\u003ccode\u003e852cf01\u003c/code\u003e\u003c/a\u003e Rails 5.2 scaffold templates\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/haml/haml-rails/commit/8bb0351a85b83e81d1b27f18fdda17a77961c1af\"\u003e\u003ccode\u003e8bb0351\u003c/code\u003e\u003c/a\u003e Rails 6.0 scaffold templates\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/haml/haml-rails/compare/v2.1.0...v3.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `oauth2` from 2.0.17 to 2.0.18\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby-oauth/oauth2/releases\"\u003eoauth2's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.0.18\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/compare/v2.0.17...v2.0.18\"\u003e2.0.18\u003c/a\u003e - 2025-11-08\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eTAG: \u003ca href=\"https://github.com/ruby-oauth/oauth2/releases/tag/v2.0.18\"\u003ev2.0.18\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCOVERAGE: 100.00% -- 526/526 lines in 14 files\u003c/li\u003e\n\u003cli\u003eBRANCH COVERAGE: 100.00% -- 178/178 branches in 14 files\u003c/li\u003e\n\u003cli\u003e90.48% documented\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/683\"\u003egh!683\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/684\"\u003egh!684\u003c/a\u003e - Improve documentation by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/686\"\u003egh!686\u003c/a\u003e- Add Incident Response Plan by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/687\"\u003egh!687\u003c/a\u003e- Add Threat Model by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/685\"\u003egh!685\u003c/a\u003e - upgrade kettle-dev v1.1.24 by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eupgrade kettle-dev v1.1.52 by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003eAdd open collective donors to README\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/690\"\u003egh!690\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/691\"\u003egh!691\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/692\"\u003egh!692\u003c/a\u003e - Add yard-fence\n\u003cul\u003e\n\u003cli\u003ehandle braces within code fences in markdown properly by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cp\u003eOfficial Discord 👉️ [![Live Chat on Discord][✉️discord-invite-img]][✉️discord-invite]\u003c/p\u003e\n\u003cp\u003eMany paths lead to being a sponsor or a backer of this project. Are you on such a path?\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://opencollective.com/ruby-oauth#backer\"\u003e![OpenCollective Backers][🖇osc-backers-i]\u003c/a\u003e [![OpenCollective Sponsors][🖇osc-sponsors-i]][🖇osc-sponsors] [![Sponsor Me on Github][🖇sponsor-img]][🖇sponsor] \u003ca href=\"https://liberapay.com/pboling/donate\"\u003e\u003cimg src=\"https://img.shields.io/liberapay/goal/pboling.svg?logo=liberapay\u0026amp;color=a51611\u0026amp;style=flat\" alt=\"Liberapay Goal Progress\" /\u003e\u003c/a\u003e [![Donate on PayPal][🖇paypal-img]][🖇paypal]\u003c/p\u003e\n\u003cp\u003e[![Buy me a coffee][🖇buyme-small-img]][🖇buyme] [![Donate on Polar][🖇polar-img]][🖇polar] [![Donate to my FLOSS efforts at ko-fi.com][🖇kofi-img]][🖇kofi] [![Donate to my FLOSS efforts using Patreon][🖇patreon-img]][🖇patreon]\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\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby-oauth/oauth2/blob/main/CHANGELOG.md\"\u003eoauth2's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[2.0.18] - 2025-11-08\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eTAG: [v2.0.18][2.0.18t]\u003c/li\u003e\n\u003cli\u003eCOVERAGE: 100.00% -- 526/526 lines in 14 files\u003c/li\u003e\n\u003cli\u003eBRANCH COVERAGE: 100.00% -- 178/178 branches in 14 files\u003c/li\u003e\n\u003cli\u003e90.48% documented\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/683\"\u003egh!683\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/684\"\u003egh!684\u003c/a\u003e - Improve documentation by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/686\"\u003egh!686\u003c/a\u003e- Add Incident Response Plan by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/687\"\u003egh!687\u003c/a\u003e- Add Threat Model by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/685\"\u003egh!685\u003c/a\u003e - upgrade kettle-dev v1.1.24 by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eupgrade kettle-dev v1.1.52 by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003eAdd open collective donors to README\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/690\"\u003egh!690\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/691\"\u003egh!691\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/692\"\u003egh!692\u003c/a\u003e - Add yard-fence\n\u003cul\u003e\n\u003cli\u003ehandle braces within code fences in markdown properly by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSecurity\u003c/h3\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/ruby-oauth/oauth2/commit/b5753116121553d56937039dafc5ea472d9a99ed\"\u003e\u003ccode\u003eb575311\u003c/code\u003e\u003c/a\u003e 🔖 Prepare release v2.0.18\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/b5af77ba42ec111dda68abdee33d631e27fdfe61\"\u003e\u003ccode\u003eb5af77b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/issues/693\"\u003e#693\u003c/a\u003e from ruby-oauth/feat/docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/cf2853d9fa05999f88c9df8b1b3a8a3ed21c64e8\"\u003e\u003ccode\u003ecf2853d\u003c/code\u003e\u003c/a\u003e 📝 Update docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/18434156bfc988527d2453b2174e6356e233757d\"\u003e\u003ccode\u003e1843415\u003c/code\u003e\u003c/a\u003e ⬆️ kettle-dev v1.1.52, yard-fence v0.8.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/f592dd8753966a30671ebc2e8a28ab26138b6c2b\"\u003e\u003ccode\u003ef592dd8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/issues/692\"\u003e#692\u003c/a\u003e from ruby-oauth/feat/docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/2095732d7cd4eeb80fe74c89e2a2d012517e40d6\"\u003e\u003ccode\u003e2095732\u003c/code\u003e\u003c/a\u003e ⬆️ yard-fence v0.7.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/50f3fd08e733ed75b2cc99e077e9ea9d64a3d5d5\"\u003e\u003ccode\u003e50f3fd0\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/issues/691\"\u003e#691\u003c/a\u003e from ruby-oauth/feat/docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/bcb0e40bfca989f164a04cbf46a4175822b7cb28\"\u003e\u003ccode\u003ebcb0e40\u003c/code\u003e\u003c/a\u003e ✏️ Fix typos in docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/f24f1a8bfbf546595aa16cd6fa82119c8218c1d3\"\u003e\u003ccode\u003ef24f1a8\u003c/code\u003e\u003c/a\u003e Create CNAME\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/bff58e1afec541feca2a337664d09c58b8a22419\"\u003e\u003ccode\u003ebff58e1\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/issues/690\"\u003e#690\u003c/a\u003e from ruby-oauth/feat/yard-fence\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby-oauth/oauth2/compare/v2.0.17...v2.0.18\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `omniauth-rails_csrf_protection` from 1.0.2 to 2.0.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/cookpad/omniauth-rails_csrf_protection/releases\"\u003eomniauth-rails_csrf_protection's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 2.0.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix an issue with configuration delegation in Rails \u0026lt; 8.1 (\u003ca href=\"https://redirect.github.com/cookpad/omniauth-rails_csrf_protection/issues/26\"\u003e#26\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003eFor more details, please see 1a0d39099957675f549e1f23c836f57b99b09a00.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 2.0.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eStop using deprecated \u003ccode\u003eActiveSupport::Configurable\u003c/code\u003e when this gem is running against Action Pack version 8.1 and later (\u003ca href=\"https://redirect.github.com/cookpad/omniauth-rails_csrf_protection/issues/23\"\u003e#23\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/cookpad/omniauth-rails_csrf_protection/issues/24\"\u003e#24\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/cookpad/omniauth-rails_csrf_protection/commit/c4f53d72e6a278c02f1a6d294c4f8004354ee0b7\"\u003e\u003ccode\u003ec4f53d7\u003c/code\u003e\u003c/a\u003e Bump to 2.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cookpad/omniauth-rails_csrf_protection/commit/1a0d39099957675f549e1f23c836f57b99b09a00\"\u003e\u003ccode\u003e1a0d390\u003c/code\u003e\u003c/a\u003e Fix an issue with configuration delegation in Rails \u0026lt; 8.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cookpad/omniauth-rails_csrf_protection/commit/bc315e1b09fbf6a363d5293067b42675f020fc4c\"\u003e\u003ccode\u003ebc315e1\u003c/code\u003e\u003c/a\u003e Properly silence Rails 8.0.x warning message in test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cookpad/omniauth-rails_csrf_protection/commit/23483750b4a0a803347e02778b975886ecb82875\"\u003e\u003ccode\u003e2348375\u003c/code\u003e\u003c/a\u003e Bump to 2.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cookpad/omniauth-rails_csrf_protection/commit/c283d1d159a292c5fce8ed1a2f5997f6bde209f5\"\u003e\u003ccode\u003ec283d1d\u003c/code\u003e\u003c/a\u003e Update README to add OmniAuth's built-in solution\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cookpad/omniauth-rails_csrf_protection/commit/2cf722bd7cc310009ee626cce28a7ea52b47f649\"\u003e\u003ccode\u003e2cf722b\u003c/code\u003e\u003c/a\u003e Add workaround for deprecated AS::Configurable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cookpad/omniauth-rails_csrf_protection/commit/431597eb44ff8ae0bf9802d1a1dc85ebb8d2cfa3\"\u003e\u003ccode\u003e431597e\u003c/code\u003e\u003c/a\u003e Silence \u003ccode\u003e#to_time\u003c/code\u003e warning in Rails 8.0.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cookpad/omniauth-rails_csrf_protection/commit/5e9c8a27b0ccac54ca3bec7f3b49d43ddefdc4d6\"\u003e\u003ccode\u003e5e9c8a2\u003c/code\u003e\u003c/a\u003e Print Ruby version in the test output\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cookpad/omniauth-rails_csrf_protection/commit/3e62c0572bf5c9796fff5fe197f07d5ed172a7c5\"\u003e\u003ccode\u003e3e62c05\u003c/code\u003e\u003c/a\u003e Remove unnecessary logger gem entry in Gemfile\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cookpad/omniauth-rails_csrf_protection/commit/f9810a5886d692312c6d015914fdad00cf7f41b2\"\u003e\u003ccode\u003ef9810a5\u003c/code\u003e\u003c/a\u003e Update build matrix and fix build errors\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/cookpad/omniauth-rails_csrf_protection/compare/v1.0.2...v2.0.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pg` from 1.6.2 to 1.6.3\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ged/ruby-pg/blob/master/CHANGELOG.md\"\u003epg's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.6.3 [2025-12-29] Lars Kanis \u003ca href=\"mailto:lars@greiz-reinsdorf.de\"\u003elars@greiz-reinsdorf.de\u003c/a\u003e\u003c/h2\u003e\n\u003cp\u003eAdded:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd binary gems for ruby-4.0, now providing ruby-3.0 to 4.0. \u003ca href=\"https://redirect.github.com/ged/ruby-pg/issues/682\"\u003e#682\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate fat binary gem to OpenSSL-3.6.0 and PostgreSQL-18.1.\u003c/li\u003e\n\u003cli\u003eImprove documentation of PG::Result and README. \u003ca href=\"https://redirect.github.com/ged/ruby-pg/issues/676\"\u003e#676\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate errorcodes to PostgreSQL-18.\u003c/li\u003e\n\u003cli\u003eUse \u003ccode\u003erb_hash_new_capa\u003c/code\u003e on Ruby-3.2+ . \u003ca href=\"https://redirect.github.com/ged/ruby-pg/issues/674\"\u003e#674\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDeny any server communication on a frozen PG::Connection . \u003ca href=\"https://redirect.github.com/ged/ruby-pg/issues/677\"\u003e#677\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix possible race condition in PG::Result in Ractor context. \u003ca href=\"https://redirect.github.com/ged/ruby-pg/issues/674\"\u003e#674\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eRemoved:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDrop binary gem support for platform \u003ccode\u003ex86-mingw32\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/ged/ruby-pg/issues/682\"\u003e#682\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDrop binary gems for ruby-2.7.\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/ged/ruby-pg/commit/d4539c25dcc89d47088e1423f8d1915c041920f5\"\u003e\u003ccode\u003ed4539c2\u003c/code\u003e\u003c/a\u003e Bump VERSION to pg-1.6.3 and add release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ged/ruby-pg/commit/720900dbb9d16aa855793146f15c3772e14f627a\"\u003e\u003ccode\u003e720900d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ged/ruby-pg/issues/682\"\u003e#682\u003c/a\u003e from larskanis/ruby-4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ged/ruby-pg/commit/f605b5937093884089109c8baa5fe268fc513eaf\"\u003e\u003ccode\u003ef605b59\u003c/code\u003e\u003c/a\u003e Remove x86-mingw32 from binary builds\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ged/ruby-pg/commit/5c690006ba158da70d73d939a233cf75ecdd30ef\"\u003e\u003ccode\u003e5c69000\u003c/code\u003e\u003c/a\u003e Update to ruby-4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ged/ruby-pg/commit/2acaf3d0f76334e056229efe260e1f558a8c6b42\"\u003e\u003ccode\u003e2acaf3d\u003c/code\u003e\u003c/a\u003e CI: workaround missing ruby-4.0 on Window\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ged/ruby-pg/commit/b500ded81127963603e1f724e82bed649c9ca8a1\"\u003e\u003ccode\u003eb500ded\u003c/code\u003e\u003c/a\u003e fix comment\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ged/ruby-pg/commit/bc3f2f8b1110e9bcb225d65554e1a7fc842d0506\"\u003e\u003ccode\u003ebc3f2f8\u003c/code\u003e\u003c/a\u003e CI: Macos-13 on Intel is deprecated\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ged/ruby-pg/commit/77667eb4313bd7b79356f402b0fa7fba409483b8\"\u003e\u003ccode\u003e77667eb\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ged/ruby-pg/issues/678\"\u003e#678\u003c/a\u003e from larskanis/ci-update\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ged/ruby-pg/commit/6e52ce504d05c5359d55f45d9580672103263b54\"\u003e\u003ccode\u003e6e52ce5\u003c/code\u003e\u003c/a\u003e CI: Update PostgreSQL on Macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ged/ruby-pg/commit/6d40f50e51a037022495fe6d98181435652464ff\"\u003e\u003ccode\u003e6d40f50\u003c/code\u003e\u003c/a\u003e CI: Print mkmf.log on failure on Macos\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ged/ruby-pg/compare/v1.6.2...v1.6.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `prometheus_exporter` from 2.3.0 to 2.3.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/discourse/prometheus_exporter/blob/main/CHANGELOG\"\u003eprometheus_exporter's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[2.3.1] - 2025-11-11\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFIX: get controller full path instead of controller name - Alex Platteeuw\u003c/li\u003e\n\u003cli\u003eFEATURE: Secure PrometheusExporter scraping with SSL - Nicolas Rodriquez\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/discourse/prometheus_exporter/commit/15e9d4783db8267fb3b0c48e5464ec4c1ae58c00\"\u003e\u003ccode\u003e15e9d47\u003c/code\u003e\u003c/a\u003e version bump (\u003ca href=\"https://redirect.github.com/discourse/prometheus_exporter/issues/358\"\u003e#358\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/discourse/prometheus_exporter/commit/4bd3817744bb5011aed6c669696ed957c23cd3fe\"\u003e\u003ccode\u003e4bd3817\u003c/code\u003e\u003c/a\u003e fix: get controller full path instead of controller name (\u003ca href=\"https://redirect.github.com/discourse/prometheus_exporter/issues/353\"\u003e#353\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/discourse/prometheus_exporter/commit/4bb4fa333386b166a745df92be5620b11be3872a\"\u003e\u003ccode\u003e4bb4fa3\u003c/code\u003e\u003c/a\u003e Secure PrometheusExporter scraping with SSL (\u003ca href=\"https://redirect.github.com/discourse/prometheus_exporter/issues/350\"\u003e#350\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/discourse/prometheus_exporter/commit/b10933453f0952cd17d143487c5adc8bb74b492a\"\u003e\u003ccode\u003eb109334\u003c/code\u003e\u003c/a\u003e Add connect_timeout: settings to PrometheusExporter::Client (\u003ca href=\"https://redirect.github.com/discourse/prometheus_exporter/issues/352\"\u003e#352\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/discourse/prometheus_exporter/compare/v2.3.0...v2.3.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `puma` from 7.0.4 to 7.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/puma/puma/releases\"\u003epuma's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev7.1.0\u003c/h2\u003e\n\u003ch2\u003e7.1.0 / 2025-10-16 - Neon Witch\u003c/h2\u003e\n\u003cp\u003e\u003cimg src=\"https://github.com/user-attachments/assets/6f013211-35fb-46ce-84d8-00794e020294\" alt=\"neon_witch\" /\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFeatures\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eIntroduce \u003ccode\u003eafter_worker_shutdown\u003c/code\u003e hook (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3707\"\u003e#3707\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReintroduce keepalive \u0026quot;fast inline\u0026quot; behavior. Provides faster (8x on JRuby \u0026amp; 1.4x on Ruby) pipeline processing  (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3794\"\u003e#3794\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eBugfixes\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eSkip reading zero bytes when request body is buffered (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3795\"\u003e#3795\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003ePUMA_LOG_CONFIG=1\u003c/code\u003e logging twice with prune_bundler enabled (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3778\"\u003e#3778\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix prune_bundler not showing in \u003ccode\u003ePUMA_LOG_CONFIG=1\u003c/code\u003e output (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3779\"\u003e#3779\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGuard ThreadPool method call, which may be nil during shutdown (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3791\"\u003e#3791\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/puma/puma/issues/3790\"\u003e#3790\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSet \u003ccode\u003eThread.current.puma_server\u003c/code\u003e in Thread init code, not every request (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3774\"\u003e#3774\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix race condition while deleting pidfile (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3657\"\u003e#3657\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\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/nerdrew\"\u003e\u003ccode\u003e@​nerdrew\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/puma/puma/pull/3707\"\u003epuma/puma#3707\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mopp\"\u003e\u003ccode\u003e@​mopp\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/puma/puma/pull/3783\"\u003epuma/puma#3783\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marksmith\"\u003e\u003ccode\u003e@​marksmith\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/puma/puma/pull/3657\"\u003epuma/puma#3657\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Nymuxyzo\"\u003e\u003ccode\u003e@​Nymuxyzo\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/puma/puma/pull/3762\"\u003epuma/puma#3762\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/puma/puma/compare/v7.0.4...v7.1.0\"\u003ehttps://github.com/puma/puma/compare/v7.0.4...v7.1.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/puma/puma/blob/main/History.md\"\u003epuma's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e7.1.0 / 2025-10-16\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFeatures\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eIntroduce \u003ccode\u003eafter_worker_shutdown\u003c/code\u003e hook (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3707\"\u003e#3707\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReintroduce keepalive \u0026quot;fast inline\u0026quot; behavior. Provides faster (8x on JRuby \u0026amp; 1.4x on Ruby) pipeline processing  (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3794\"\u003e#3794\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eBugfixes\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eSkip reading zero bytes when request body is buffered (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3795\"\u003e#3795\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003ePUMA_LOG_CONFIG=1\u003c/code\u003e logging twice with prune_bundler enabled (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3778\"\u003e#3778\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix prune_bundler not showing in \u003ccode\u003ePUMA_LOG_CONFIG=1\u003c/code\u003e output (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3779\"\u003e#3779\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGuard ThreadPool method call, which may be nil during shutdown (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3791\"\u003e#3791\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/puma/puma/issues/3790\"\u003e#3790\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSet \u003ccode\u003eThread.current.puma_server\u003c/code\u003e in Thread init code, not every request (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3774\"\u003e#3774\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix race condition while deleting pidfile (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3657\"\u003e#3657\u003c/a\u003e)\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/puma/puma/commit/fb2a0733e938c8786e033f22dc5bf66727dddb3a\"\u003e\u003ccode\u003efb2a073\u003c/code\u003e\u003c/a\u003e v7.1.0 (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3797\"\u003e#3797\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/4edb9e9b16835aa24bd037a88dad4d34a76952e4\"\u003e\u003ccode\u003e4edb9e9\u003c/code\u003e\u003c/a\u003e \u003ccode\u003eclient.rb\u003c/code\u003e - \u003ccode\u003eread_body\u003c/code\u003e - cleanup last lines of method (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3798\"\u003e#3798\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/84a568ab1c4d0c5cd0d29a167f5facba9699a35c\"\u003e\u003ccode\u003e84a568a\u003c/code\u003e\u003c/a\u003e Update wait_for_less_busy_worker docs (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3757\"\u003e#3757\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/e59a6049c3fc08ac2bd906a10d199bdf3949eb04\"\u003e\u003ccode\u003ee59a604\u003c/code\u003e\u003c/a\u003e Initialize only essential \u003ccode\u003eLauncher\u003c/code\u003e state before \u003ccode\u003eprune_bundler\u003c/code\u003e restart (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3\"\u003e#3\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/6844de7c4f2503751bad5e9c141de2bdb067f452\"\u003e\u003ccode\u003e6844de7\u003c/code\u003e\u003c/a\u003e client.rb - Skip reading zero bytes when request body is buffered (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3795\"\u003e#3795\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/1d3d6b792cdc870171d27cafbd0b7ceaf5e2dfb7\"\u003e\u003ccode\u003e1d3d6b7\u003c/code\u003e\u003c/a\u003e Set \u003ccode\u003eThread.current.puma_server\u003c/code\u003e in Thread init code, not every request (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3774\"\u003e#3774\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/9b34cde2c5ddf7fd65bfd5f8aea811659226662e\"\u003e\u003ccode\u003e9b34cde\u003c/code\u003e\u003c/a\u003e Adding syntax highlighting in k8s docs (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3782\"\u003e#3782\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/a2bd2f63476a719faa02eacac94b274d0cee1f6d\"\u003e\u003ccode\u003ea2bd2f6\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003eprune_bundler\u003c/code\u003e to \u003ccode\u003eConfiguration::DEFAULTS\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3779\"\u003e#3779\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/d7a0854a39bbb3f06f12c4a180e42ee6d36f7985\"\u003e\u003ccode\u003ed7a0854\u003c/code\u003e\u003c/a\u003e ci: Update hey benchmark files, minor fixes and formatting (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3796\"\u003e#3796\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/ff08099b1fc702093261a90e92da09feb577c683\"\u003e\u003ccode\u003eff08099\u003c/code\u003e\u003c/a\u003e ci: Update Update test/rackup/sleep_fibonacci.ru, add test script (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3793\"\u003e#3793\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/puma/puma/compare/v7.0.4...v7.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rails` from 8.0.3 to 8.1.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003erails's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.1.1\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Record\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction View\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eRespect \u003ccode\u003eremove_hidden_field_autocomplete\u003c/code\u003e config in form builder \u003ccode\u003ehidden_field\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction Pack\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAllow methods starting with underscore to be action methods.\u003c/p\u003e\n\u003cp\u003eDisallowing methods starting with an underscore from being action methods\nwas an unintended side effect of the performance optimization in\n207a254.\u003c/p\u003e\n\u003cp\u003eFixes \u003ca href=\"https://redirect.github.com/rails/rails/issues/55985\"\u003e#55985\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Job\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eOnly index new serializers.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eJesse Sharps\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction Mailer\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction Cable\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/rails/rails/commit/90a1eaa1b30ba1f2d524e197460e549c03cf5698\"\u003e\u003ccode\u003e90a1eaa\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.1 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/0ce0ce1ca2da1d36cdc149a72a777a956ea45dc7\"\u003e\u003ccode\u003e0ce0ce1\u003c/code\u003e\u003c/a\u003e Upgrade sigstore gem to 0.2.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/271acd57d1430be8c92fbd8f19a2069e62425803\"\u003e\u003ccode\u003e271acd5\u003c/code\u003e\u003c/a\u003e Sync CHANGELOG\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/7574698226c364ab98e69188539e2cf27517ef1f\"\u003e\u003ccode\u003e7574698\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56020\"\u003e#56020\u003c/a\u003e from harsh183/hd/getting_started/fix_line_num_typo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/89cb7bff192ce71267ae76f38942ca8f306ce273\"\u003e\u003ccode\u003e89cb7bf\u003c/code\u003e\u003c/a\u003e Fix railties/CHANGELOG.md offense at 8-1-stable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/7919bdab44688f1e7f121bc36a76169787cdfe60\"\u003e\u003ccode\u003e7919bda\u003c/code\u003e\u003c/a\u003e Restore header\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/f007f9ca53448379246a1901b213bd57955af26c\"\u003e\u003ccode\u003ef007f9c\u003c/code\u003e\u003c/a\u003e Disable SSL default config for out of the box Kamal deployments (\u003ca href=\"https://redirect.github.com/rails/rails/issues/56010\"\u003e#56010\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/234b56973bb453bb50850a1be07a2fcad7331592\"\u003e\u003ccode\u003e234b569\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56008\"\u003e#56008\u003c/a\u003e from chaadow/fix_nesting_loop_rails\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/21a8742bb6bb5720f0e67d67fe26874598d1afbe\"\u003e\u003ccode\u003e21a8742\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55992\"\u003e#55992\u003c/a\u003e from jsharpify/jsharpify-reduce-deprecation-warnings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/a7ba88b04e935d2a9cbc205382d6cd7c514f425c\"\u003e\u003ccode\u003ea7ba88b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56001\"\u003e#56001\u003c/a\u003e from hachi8833/update_wishlists\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/rails/compare/v8.0.3...v8.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sentry-rails` from 5.27.1 to 6.2.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/getsentry/sentry-ruby/blob/master/CHANGELOG.md\"\u003esentry-rails's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e6.2.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eInclude otel as custom sampling context (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2683\"\u003e2683\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eIgnore new rails rate limit errors (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2774\"\u003e#2774\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePrevent logging from crashing main thread (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2795\"\u003e2795\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove error handling in ActiveRecord subscriber (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2798\"\u003e2798\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e6.1.2\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eHandle positioned binds in logging (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2787\"\u003e#2787\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHandle cached queries with binds correctly when logging (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2789\"\u003e#2789\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e6.1.1\u003c/h2\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eOptimize getting query source location in ActiveRecord tracing - this makes tracing up to roughly 40-60% faster depending on the use cases (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2769\"\u003e#2769\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eProperly skip silenced \u003ccode\u003eActiveRecord::Base.logger\u003c/code\u003e's log entries in the ActiveRecord log subscriber (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2775\"\u003e#2775\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHandle malformed utf-8 log messages and attributes (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2777\"\u003e#2777\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2780\"\u003e#2780\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix initialized check in Sentry::Rails::CaptureExceptions (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2783\"\u003e#2783\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e6.1.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for ActiveRecord binds in the log events (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2761\"\u003e#2761\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eGuard log subscribers with initialized check (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2765\"\u003e#2765\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e6.0.0\u003c/h2\u003e\n\u003ch3\u003eBreaking Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for rubies below 2.7 \u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2743\"\u003e#2743\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for Rails below 5.2.0\u003c/li\u003e\n\u003cli\u003eDrop support for Sidekiq below 5.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eRemove deprecated \u003ccode\u003econfig.async\u003c/code\u003e \u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/1894\"\u003e#1894\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove deprecated \u003ccode\u003eSentry::Metrics\u003c/code\u003e and \u003ccode\u003econfig.metrics\u003c/code\u003e and all metrics related code (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2729\"\u003e#2729\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/getsentry/sentry-ruby/commit/0da2bde916965f02ce12c57df4c915aaf3353cba\"\u003e\u003ccode\u003e0da2bde\u003c/code\u003e\u003c/a\u003e release: 6.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/bcc0fe7d211b6dffd273a13ebeb2bcf8af0f0fb7\"\u003e\u003ccode\u003ebcc0fe7\u003c/code\u003e\u003c/a\u003e fix(logging): improve error handling in AR subscriber (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/issues/2798\"\u003e#2798\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/5aa2643123c4020308ecd365c7c07113612b4ca3\"\u003e\u003ccode\u003e5aa2643\u003c/code\u003e\u003c/a\u003e release: 6.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/78a5a08950025b029132b81198f0279dbf42f34c\"\u003e\u003ccode\u003e78a5a08\u003c/code\u003e\u003c/a\u003e fix(rails): fix logging of cached queries with binds (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/issues/2789\"\u003e#2789\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/a5cee1bdbf51747d719db5a998b36ed303107ae4\"\u003e\u003ccode\u003ea5cee1b\u003c/code\u003e\u003c/a\u003e fix(rails): handle positioned binds in logging (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/issues/2787\"\u003e#2787\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/6aed46375b6992a87a74efc83fd1e9ca5ecf854d\"\u003e\u003ccode\u003e6aed463\u003c/code\u003e\u003c/a\u003e release: 6.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/9eea7de5be955fcae928341703dac57402d8b69b\"\u003e\u003ccode\u003e9eea7de\u003c/code\u003e\u003c/a\u003e Fix initialized check in Sentry::Rails::CaptureExceptions (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/issues/2783\"\u003e#2783\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/6049bfdbbd006c1c81cffd5cf3396162fa7417aa\"\u003e\u003ccode\u003e6049bfd\u003c/code\u003e\u003c/a\u003e fix(rails): properly skip silenced logs from AR (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/issues/2775\"\u003e#2775\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/98f97b401c3225f6e2fe48a95456116a7bccbd60\"\u003e\u003ccode\u003e98f97b4\u003c/code\u003e\u003c/a\u003e [rails] improve AR tracing performance (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/issues/2769\"\u003e#2769\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/3e1981aacd7095669b23d9233db2e43c6d1aab5a\"\u003e\u003ccode\u003e3e1981a\u003c/code\u003e\u003c/a\u003e chore(jruby): fixes and updates (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/issues/2772\"\u003e#2772\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/getsentry/sentry-ruby/compare/5.27.1...6.2.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sentry-sidekiq` from 5.27.1 to 6.2.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/getsentry/sentry-ruby/blob/master/CHANGELOG.md\"\u003esentry-sidekiq's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e6.2.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eInclude otel as custom sampling context (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2683\"\u003e2683\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eIgnore new rails rate limit errors (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2774\"\u003e#2774\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePrevent logging from crashing main thread (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2795\"\u003e2795\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove error handling in ActiveRecord subscriber (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2798\"\u003e2798\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e6.1.2\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eHandle positioned binds in logging (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2787\"\u003e#2787\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHandle cached queries with binds correctly when logging (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2789\"\u003e#2789\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e6.1.1\u003c/h2\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eOptimize getting query source location in ActiveRecord tracing - this makes tracing up to roughly 40-60% faster depending on the use cases (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2769\"\u003e#2769\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eProperly skip silenced \u003ccode\u003eActiveRecord::Base.logger\u003c/code\u003e's log entries in the ActiveRecord log subscriber (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2775\"\u003e#2775\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHandle malformed utf-8 log messages and attributes (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2777\"\u003e#2777\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2780\"\u003e#2780\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix initialized check in Sentry::Rails::CaptureExceptions (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2783\"\u003e#2783\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e6.1.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for ActiveRecord binds in the log events (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2761\"\u003e#2761\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eGuard log subscribers with initialized check (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2765\"\u003e#2765\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e6.0.0\u003c/h2\u003e\n\u003ch3\u003eBreaking Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for rubies below 2.7 \u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2743\"\u003e#2743\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for Rails below 5.2.0\u003c/li\u003e\n\u003cli\u003eDrop support for Sidekiq below 5.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eRemove deprecated \u003ccode\u003econfig.async\u003c/code\u003e \u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/1894\"\u003e#1894\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove deprecated \u003ccode\u003eSentry::Metrics\u003c/code\u003e and \u003ccode\u003econfig.metrics\u003c/code\u003e and all metrics related code (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2729\"\u003e#2729\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/getsentry/sentry-ruby/commit/0da2bde916965f02ce12c57df4c915aaf3353cba\"\u003e\u003ccode\u003e0da2bde\u003c/code\u003e\u003c/a\u003e release: 6.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/5aa2643123c4020308ecd365c7c07113612b4ca3\"\u003e\u003ccode\u003e5aa2643\u003c/code\u003e\u003c/a\u003e release: 6.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/6aed46375b6992a87a74efc83fd1e9ca5ecf854d\"\u003e\u003ccode\u003e6aed463\u003c/code\u003e\u003c/a\u003e release: 6.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/3e1981aacd7095669b23d9233db2e43c6d1aab5a\"\u003e\u003ccode\u003e3e1981a\u003c/code\u003e\u003c/a\u003e chore(jruby): fixes and updates (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/issues/2772\"\u003e#2772\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/7755dab0f5b59a729ae7a130c674d531261418fd\"\u003e\u003ccode\u003e7755dab\u003c/code\u003e\u003c/a\u003e [sidekiq] better and isolated rails specs (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/issues/2723\"\u003e#2723\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/1ca3afdadba4832239309f1b686943a73b2bf420\"\u003e\u003ccode\u003e1ca3afd\u003c/code\u003e\u003c/a\u003e release: 6.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/ecdcac07500cc85d375edf8dc399f7a65e286e72\"\u003e\u003ccode\u003eecdcac0\u003c/code\u003e\u003c/a\u003e release: 6.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/a1bd7e2020e6065287dd91dec3f9817c334a996d\"\u003e\u003ccode\u003ea1bd7e2\u003c/code\u003e\u003c/a\u003e 6.0 major (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/issues/2352\"\u003e#2352\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/eb6063d054741b8bf54eb07d3d5e28e5410c9b4c\"\u003e\u003ccode\u003eeb6063d\u003c/code\u003e\u003c/a\u003e release: 5.28.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/44d588ecc66247fc191a96a802593ac55505067d\"\u003e\u003ccode\u003e44d588e\u003c/code\u003e\u003c/a\u003e release: 5.28.0\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/getsentry/sentry-ruby/compare/5.27.1...6.2.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `dotenv-rails` from 3.1.8 to 3.2.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/bkeepers/dotenv/releases\"\u003edotenv-rails's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.2.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBoost app startup time by removing to_sentence usage by \u003ca href=\"https://github.com/ThomasCrambert\"\u003e\u003ccode\u003e@​ThomasCrambert\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/bkeepers/dotenv/pull/534\"\u003ebkeepers/dotenv#534\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHandle parentheses in variables in commands by \u003ca href=\"https://github.com/i7an\"\u003e\u003ccode\u003e@​i7an\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/bkeepers/dotenv/pull/540\"\u003ebkeepers/dotenv#540\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eallow warning when a env var was not overwritten by \u003ca href=\"https://github.com/grosser\"\u003e\u003ccode\u003e@​grosser\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/bkeepers/dotenv/pull/531\"\u003ebkeepers/dotenv#531\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix a few small issues by \u003ca href=\"https://github.com/grosser\"\u003e\u003ccode\u003e@​grosser\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/bkeepers/dotenv/pull/532\"\u003ebkeepers/dotenv#532\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/ThomasCrambert\"\u003e\u003ccode\u003e@​ThomasCrambert\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/bkeepers/dotenv/pull/534\"\u003ebkeepers/dotenv#534\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/i7an\"\u003e\u003ccode\u003e@​i7an\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/bkeepers/dotenv/pull/540\"\u003ebkeepers/dotenv#540\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/bkeepers/dotenv/compare/v3.1.8...v3.2.0\"\u003ehttps://github.com/bkeepers/dotenv/compare/v3.1.8...v3.2.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/bkeepers/dotenv/commit/34156bf400cd67387fa6ed9f146778f6a2f5f743\"\u003e\u003ccode\u003e34156bf\u003c/code\u003e\u003c/a\u003e Prepare for 3.2.0 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bkeepers/dotenv/commit/ab478201bdb487bfebd9e89875fd4edcf19dc064\"\u003e\u003ccode\u003eab47820\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/bkeepers/dotenv/issues/531\"\u003e#531\u003c/a\u003e from grosser/grosser/warn\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bkeepers/dotenv/commit/fae61202e432f39742e2592817cc7bb38f559852\"\u003e\u003ccode\u003efae6120\u003c/code\u003e\u003c/a\u003e Merge branch 'main' into grosser/warn\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bkeepers/dotenv/commit/4f510f41073cabb9786e3a5ea57263933497e696\"\u003e\u003ccode\u003e4f510f4\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/bkeepers/dotenv/issues/532\"\u003e#532\u003c/a\u003e from grosser/grosser/fixes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bkeepers/dotenv/commit/959e1dac9d933a7ffe6a2ab17081f8235b7822a9\"\u003e\u003ccode\u003e959e1da\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/bkeepers/dotenv/issues/539\"\u003e#539\u003c/a\u003e from bkeepers/dependabot/github_actions/actions/check...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bkeepers/dotenv/commit/041451e4ef7fd3a4ea604fcabef0cfb6fb5e79a3\"\u003e\u003ccode\u003e041451e\u003c/code\u003e\u003c/a\u003e Update spec message\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bkeepers/dotenv/commit/b300f262bdf1cfd6ac5215fd44baa771753702b9\"\u003e\u003ccode\u003eb300f26\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 4 to 6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bkeepers/dotenv/commit/5f4ca012b03c82343ad3f926e2fd281aa30a434b\"\u003e\u003ccode\u003e5f4ca01\u003c/code\u003e\u003c/a\u003e Merge branch 'main' into grosser/warn\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bkeepers/dotenv/commit/209dca47e453f7288aac9f31330e67e3f0b83e78\"\u003e\u003ccode\u003e209dca4\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/bkeepers/dotenv/issues/540\"\u003e#540\u003c/a\u003e from i7an/handle-parentheses\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bkeepers/dotenv/commit/48c495683008c5dd1816a89329e59f8386324bb2\"\u003e\u003ccode\u003e48c4956\u003c/code\u003e\u003c/a\u003e Merge branch 'main' into handle-parentheses\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/bkeepers/dotenv/compare/v3.1.8...v3.2.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sentry-sidekiq` from 5.27.1 to 6.2.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/getsentry/sentry-ruby/blob/master/CHANGELOG.md\"\u003esentry-sidekiq's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e6.2.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eInclude otel as custom sampling context (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2683\"\u003e2683\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eIgnore new rails rate limit errors (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2774\"\u003e#2774\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePrevent logging from crashing main thread (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2795\"\u003e2795\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove error handling in ActiveRecord subscriber (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2798\"\u003e2798\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e6.1.2\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eHandle positioned binds in logging (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2787\"\u003e#2787\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHandle cached queries with binds correctly when logging (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2789\"\u003e#2789\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e6.1.1\u003c/h2\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eOptimize getting query source location in ActiveRecord tracing - this makes tracing up to roughly 40-60% faster depending on the use cases (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2769\"\u003e#2769\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eProperly skip silenced \u003ccode\u003eActiveRecord::Base.logger\u003c/code\u003e's log entries in the ActiveRecord log subscriber (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2775\"\u003e#2775\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHandle malformed utf-8 log messages and attributes (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2777\"\u003e#2777\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2780\"\u003e#2780\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix initialized check in Sentry::Rails::CaptureExceptions (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2783\"\u003e#2783\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e6.1.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for ActiveRecord binds in the log events (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2761\"\u003e#2761\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eGuard log subscribers with initialized check (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2765\"\u003e#2765\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e6.0.0\u003c/h2\u003e\n\u003ch3\u003eBreaking Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for rubies below 2.7 \u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2743\"\u003e#2743\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for Rails below 5.2.0\u003c/li\u003e\n\u003cli\u003eDrop support for Sidekiq below 5.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eRemove deprecated \u003ccode\u003econfig.async\u003c/code\u003e \u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/1894\"\u003e#1894\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove deprecated \u003ccode\u003eSentry::Metrics\u003c/code\u003e and \u003ccode\u003econfig.metrics\u003c/code\u003e and all metrics related code (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2729\"\u003e#2729\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/getsentry/sentry-ruby/commit/0da2bde916965f02ce12c57df4c915aaf3353cba\"\u003e\u003ccode\u003e0da2bde\u003c/code\u003e\u003c/a\u003e release: 6.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/5aa2643123c4020308ecd365c7c07113612b4ca3\"\u003e\u003ccode\u003e5aa2643\u003c/code\u003e\u003c/a\u003e release: 6.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/6aed46375b6992a87a74efc83fd1e9ca5ecf854d\"\u003e\u003ccode\u003e6aed463\u003c/code\u003e\u003c/a\u003e release: 6.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/3e1981aacd7095669b23d9233db2e43c6d1aab5a\"\u003e\u003ccode\u003e3e1981a\u003c/code\u003e\u003c/a\u003e chore(jruby): fixes and updates (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/issues/2772\"\u003e#2772\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/7755dab0f5b59a729ae7a130c674d531261418fd\"\u003e\u003ccode\u003e7755dab\u003c/code\u003e\u003c/a\u003e [sidekiq] better and isolated rails specs (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/issues/2723\"\u003e#2723\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/1ca3afdadba4832239309f1b686943a73b2bf420\"\u003e\u003ccode\u003e1ca3afd\u003c/code\u003e\u003c/a\u003e release: 6.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/ecdcac07500cc85d375edf8dc399f7a65e286e72\"\u003e\u003ccode\u003eecdcac0\u003c/code\u003e\u003c/a\u003e release: 6.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/a1bd7e2020e6065287dd91dec3f9817c334a996d\"\u003e\u003ccode\u003ea1bd7e2\u003c/code\u003e\u003c/a\u003e 6.0 major (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/issues/2352\"\u003e#2352\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/eb6063d054741b8bf54eb07d3d5e28e5410c9b4c\"\u003e\u003ccode\u003eeb6063d\u003c/code\u003e\u003c/a\u003e release: 5.28.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/44d588ecc66247fc191a96a802593ac55505067d\"\u003e\u003ccode\u003e44d588e\u003c/code\u003e\u003c/a\u003e release: 5.28.0\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/getsentry/sentry-ruby/compare/5.27.1...6.2.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sidekiq` from 8.0.7 to 8.1.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sidekiq/sidekiq/blob/main/Changes.md\"\u003esidekiq's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.1.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eretry_for\u003c/code\u003e and \u003ccode\u003eretry\u003c/code\u003e are now mutually exclusive [#6878, Saidbek]\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eperform_inline\u003c/code\u003e now enforces \u003ccode\u003estrict_args!\u003c/code\u003e [#6718, Saidbek]\u003c/li\u003e\n\u003cli\u003eIntegrate Herb linting for ERB templates [#6760, Saidbek]\u003c/li\u003e\n\u003cli\u003eRemove CSRF code, use \u003ccode\u003eSec-Fetch-Site\u003c/code\u003e header [#6874, deve1212]\u003c/li\u003e\n\u003cli\u003eAllow custom Web UI \u003ccode\u003eassets_path\u003c/code\u003e for CDN purposes [#6865, stanhu]\u003c/li\u003e\n\u003cli\u003eUpgrade to connection_pool 3.0\u003c/li\u003e\n\u003cli\u003eAllow idle connection reaping after N seconds.\nYou can activate this \u003cstrong\u003ebeta\u003c/strong\u003e feature like below.\nFeedback requested: is this feature stable and useful for you in production?\nThis feature may or may not be enabled by default in Sidekiq 9.0.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eSidekiq.configure_server do |cfg|\n  cfg.reap_idle_redis_connections(60)\nend\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003e8.0.10\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd confirm dialog for Delete All buttons in Web UI \u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/6853\"\u003e#6853\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdjust scheduler to run closer to poll average \u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/6866\"\u003e#6866\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eForward compatibility changes for connection_pool 3.0.0\u003c/li\u003e\n\u003cli\u003eBackwards compatibility fix for \u0026lt;8.0.9 process data in Redis \u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/6870\"\u003e#6870\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBacktrace dump can now be triggered with the INFO signal, since Puma uses the\nsame signal \u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/6857\"\u003e#6857\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.0.9\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImplement idle Redis connection reaping, will be activated in 8.1 \u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/6663\"\u003e#6663\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdated \u003ccode\u003eSidekiq::Process\u003c/code\u003e API to provide capsule data. The \u003ccode\u003equeues\u003c/code\u003e and \u003ccode\u003eweights\u003c/code\u003e\ndata will be removed from Redis in Sidekiq 8.1, as this data can now be found in the\n\u003ccode\u003ecapsules\u003c/code\u003e element. \u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/6295\"\u003e#6295\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRestore bulk action buttons on Scheduled, Retry and Dead tabs [#6833, deve1212]\u003c/li\u003e\n\u003cli\u003eSupport logging additional job attributes [#6846, bschrag620]\u003c/li\u003e\n\u003cli\u003eFix display of long job args \u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/6836\"\u003e#6836\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCreate development lifecycle (\u003ccode\u003edocs/sdlc.md\u003c/code\u003e) and security (\u003ccode\u003edocs/SECURITY.md\u003c/code\u003e) policy\ndocumentation for Sidekiq's current workflows\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.0.8\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAllow an optional global iteration max runtime. After executing for this length of time,\nSidekiq will re-queue the job to continue execution at a later time [#6819, fatkodima]\u003c/li\u003e\n\u003c/ul\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eSidekiq.configure_server do |cfg|\n  cfg[:max_iteration_runtime] = 600 # ten minutes\n\u0026lt;/tr\u0026gt;\u0026lt;/table\u0026gt; \n\u003c/code\u003e\u003c/pre\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/sidekiq/sidekiq/commit/bb172d9b2b17a086c9cfa2763f58eb0b89937a77\"\u003e\u003ccode\u003ebb172d9\u003c/code\u003e\u003c/a\u003e doc(changes)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/1f8d7f5a40f1a996558c305cba5418cb3cc4af08\"\u003e\u003ccode\u003e1f8d7f5\u003c/code\u003e\u003c/a\u003e announce TTIN deprecation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/761e2d3f00666d115153d611cdeab1a4b89566a6\"\u003e\u003ccode\u003e761e2d3\u003c/code\u003e\u003c/a\u003e doc(changes)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/c8753b9fc8e51e07c65f0bb19e637007c255d540\"\u003e\u003ccode\u003ec8753b9\u003c/code\u003e\u003c/a\u003e pro changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/bdda9f5096e8cc48a07eeffdc076f51a2ff3116d\"\u003e\u003ccode\u003ebdda9f5\u003c/code\u003e\u003c/a\u003e 8.1 changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/fae17a28e58ccda85f9e09b7ad1b098529e5f491\"\u003e\u003ccode\u003efae17a2\u003c/code\u003e\u003c/a\u003e Remove old CSRF code\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/878d687cf3f32c910c95820e63294fb11bae1ad2\"\u003e\u003ccode\u003e878d687\u003c/code\u003e\u003c/a\u003e Use pool 3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/6d3be2c91b97263e37c0b0d8cd3dc92d093b2cb1\"\u003e\u003ccode\u003e6d3be2c\u003c/code\u003e\u003c/a\u003e fmt\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/3ab97e9a1c48298b572eee3cf9b16c20b7cbb74a\"\u003e\u003ccode\u003e3ab97e9\u003c/code\u003e\u003c/a\u003e Allow Redis connection reaping with connection_pool 3.0+\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/b7f71bad9bac866d914b62270ff16b64a466a25f\"\u003e\u003ccode\u003eb7f71ba\u003c/code\u003e\u003c/a\u003e Upgrade dependencies to latest minor version\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sidekiq/sidekiq/compare/v8.0.7...v8.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `turbo-rails` from 2.0.16 to 2.0.20\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/hotwired/turbo-rails/releases\"\u003eturbo-rails's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.0.20\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/hotwired/turbo-rails/compare/v2.0.19.....\n\n_Description has been truncated_","html_url":"https://github.com/ministryofjustice/laa-court-data-ui/pull/3158","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/ministryofjustice%2Flaa-court-data-ui/issues/3158","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/3158/packages"},{"uuid":"3787187600","node_id":"PR_kwDODLuhc86707-p","number":1031,"state":"closed","title":"Bump the bundler group across 1 directory with 70 updates","user":"dependabot[bot]","labels":["dependencies","ruby"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-01-14T03:09:07.000Z","author_association":null,"state_reason":null,"created_at":"2026-01-07T03:07:59.000Z","updated_at":"2026-01-14T03:09:09.000Z","time_to_close":604868,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"bundler","update_count":70,"packages":[{"name":"rails","old_version":"8.0.3","new_version":"8.1.1","repository_url":"https://github.com/rails/rails"},{"name":"pg","old_version":"1.6.2","new_version":"1.6.3","repository_url":"https://github.com/ged/ruby-pg"},{"name":"puma","old_version":"7.0.4","new_version":"7.1.0","repository_url":"https://github.com/puma/puma"},{"name":"bootsnap","old_version":"1.18.6","new_version":"1.20.1","repository_url":"https://github.com/rails/bootsnap"},{"name":"faker","old_version":"3.5.2","new_version":"3.5.3","repository_url":"https://github.com/faker-ruby/faker"},{"name":"faraday","old_version":"2.13.4","new_version":"2.14.0","repository_url":"https://github.com/lostisland/faraday"},{"name":"oauth2","old_version":"2.0.17","new_version":"2.0.18","repository_url":"https://github.com/ruby-oauth/oauth2"},{"name":"dotenv-rails","old_version":"3.1.8","new_version":"3.2.0","repository_url":"https://github.com/bkeepers/dotenv"},{"name":"sinatra","old_version":"4.1.1","new_version":"4.2.1","repository_url":"https://github.com/sinatra/sinatra"},{"name":"vcr","old_version":"6.3.1","new_version":"6.4.0","repository_url":"https://github.com/vcr/vcr"},{"name":"webmock","old_version":"3.25.1","new_version":"3.26.1","repository_url":"https://github.com/bblimke/webmock"},{"name":"brakeman","old_version":"7.1.0","new_version":"7.1.2","repository_url":"https://github.com/presidentbeef/brakeman"},{"name":"shoulda-matchers","old_version":"6.5.0","new_version":"7.0.1","repository_url":"https://github.com/thoughtbot/shoulda-matchers"},{"name":"dry-core","old_version":"1.1.0","new_version":"1.2.0","repository_url":"https://github.com/dry-rb/dry-core"},{"name":"factory_bot","old_version":"6.5.5","new_version":"6.5.6","repository_url":"https://github.com/thoughtbot/factory_bot"},{"name":"ffi","old_version":"1.17.2","new_version":"1.17.3","repository_url":"https://github.com/ffi/ffi"},{"name":"parser","old_version":"3.3.9.0","new_version":"3.3.10.0","repository_url":"https://github.com/whitequark/parser"},{"name":"rspec","old_version":"3.13.1","new_version":"3.13.2","repository_url":"https://github.com/rspec/rspec"},{"name":"unicode-emoji","old_version":"4.1.0","new_version":"4.2.0","repository_url":"https://github.com/janlelis/unicode-emoji"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps the bundler group with 19 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [rails](https://github.com/rails/rails) | `8.0.3` | `8.1.1` |\n| [pg](https://github.com/ged/ruby-pg) | `1.6.2` | `1.6.3` |\n| [puma](https://github.com/puma/puma) | `7.0.4` | `7.1.0` |\n| [bootsnap](https://github.com/rails/bootsnap) | `1.18.6` | `1.20.1` |\n| [faker](https://github.com/faker-ruby/faker) | `3.5.2` | `3.5.3` |\n| [faraday](https://github.com/lostisland/faraday) | `2.13.4` | `2.14.0` |\n| [oauth2](https://github.com/ruby-oauth/oauth2) | `2.0.17` | `2.0.18` |\n| [dotenv-rails](https://github.com/bkeepers/dotenv) | `3.1.8` | `3.2.0` |\n| [sinatra](https://github.com/sinatra/sinatra) | `4.1.1` | `4.2.1` |\n| [vcr](https://github.com/vcr/vcr) | `6.3.1` | `6.4.0` |\n| [webmock](https://github.com/bblimke/webmock) | `3.25.1` | `3.26.1` |\n| [brakeman](https://github.com/presidentbeef/brakeman) | `7.1.0` | `7.1.2` |\n| [shoulda-matchers](https://github.com/thoughtbot/shoulda-matchers) | `6.5.0` | `7.0.1` |\n| [dry-core](https://github.com/dry-rb/dry-core) | `1.1.0` | `1.2.0` |\n| [factory_bot](https://github.com/thoughtbot/factory_bot) | `6.5.5` | `6.5.6` |\n| [ffi](https://github.com/ffi/ffi) | `1.17.2` | `1.17.3` |\n| [parser](https://github.com/whitequark/parser) | `3.3.9.0` | `3.3.10.0` |\n| [rspec](https://github.com/rspec/rspec) | `3.13.1` | `3.13.2` |\n| [unicode-emoji](https://github.com/janlelis/unicode-emoji) | `4.1.0` | `4.2.0` |\n\n\nUpdates `rails` from 8.0.3 to 8.1.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003erails's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.1.1\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Record\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction View\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eRespect \u003ccode\u003eremove_hidden_field_autocomplete\u003c/code\u003e config in form builder \u003ccode\u003ehidden_field\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction Pack\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAllow methods starting with underscore to be action methods.\u003c/p\u003e\n\u003cp\u003eDisallowing methods starting with an underscore from being action methods\nwas an unintended side effect of the performance optimization in\n207a254.\u003c/p\u003e\n\u003cp\u003eFixes \u003ca href=\"https://redirect.github.com/rails/rails/issues/55985\"\u003e#55985\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Job\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eOnly index new serializers.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eJesse Sharps\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction Mailer\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction Cable\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/rails/rails/commit/90a1eaa1b30ba1f2d524e197460e549c03cf5698\"\u003e\u003ccode\u003e90a1eaa\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.1 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/0ce0ce1ca2da1d36cdc149a72a777a956ea45dc7\"\u003e\u003ccode\u003e0ce0ce1\u003c/code\u003e\u003c/a\u003e Upgrade sigstore gem to 0.2.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/271acd57d1430be8c92fbd8f19a2069e62425803\"\u003e\u003ccode\u003e271acd5\u003c/code\u003e\u003c/a\u003e Sync CHANGELOG\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/7574698226c364ab98e69188539e2cf27517ef1f\"\u003e\u003ccode\u003e7574698\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56020\"\u003e#56020\u003c/a\u003e from harsh183/hd/getting_started/fix_line_num_typo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/89cb7bff192ce71267ae76f38942ca8f306ce273\"\u003e\u003ccode\u003e89cb7bf\u003c/code\u003e\u003c/a\u003e Fix railties/CHANGELOG.md offense at 8-1-stable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/7919bdab44688f1e7f121bc36a76169787cdfe60\"\u003e\u003ccode\u003e7919bda\u003c/code\u003e\u003c/a\u003e Restore header\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/f007f9ca53448379246a1901b213bd57955af26c\"\u003e\u003ccode\u003ef007f9c\u003c/code\u003e\u003c/a\u003e Disable SSL default config for out of the box Kamal deployments (\u003ca href=\"https://redirect.github.com/rails/rails/issues/56010\"\u003e#56010\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/234b56973bb453bb50850a1be07a2fcad7331592\"\u003e\u003ccode\u003e234b569\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56008\"\u003e#56008\u003c/a\u003e from chaadow/fix_nesting_loop_rails\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/21a8742bb6bb5720f0e67d67fe26874598d1afbe\"\u003e\u003ccode\u003e21a8742\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55992\"\u003e#55992\u003c/a\u003e from jsharpify/jsharpify-reduce-deprecation-warnings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/a7ba88b04e935d2a9cbc205382d6cd7c514f425c\"\u003e\u003ccode\u003ea7ba88b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56001\"\u003e#56001\u003c/a\u003e from hachi8833/update_wishlists\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/rails/compare/v8.0.3...v8.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pg` from 1.6.2 to 1.6.3\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ged/ruby-pg/blob/master/CHANGELOG.md\"\u003epg's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.6.3 [2025-12-29] Lars Kanis \u003ca href=\"mailto:lars@greiz-reinsdorf.de\"\u003elars@greiz-reinsdorf.de\u003c/a\u003e\u003c/h2\u003e\n\u003cp\u003eAdded:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd binary gems for ruby-4.0, now providing ruby-3.0 to 4.0. \u003ca href=\"https://redirect.github.com/ged/ruby-pg/issues/682\"\u003e#682\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate fat binary gem to OpenSSL-3.6.0 and PostgreSQL-18.1.\u003c/li\u003e\n\u003cli\u003eImprove documentation of PG::Result and README. \u003ca href=\"https://redirect.github.com/ged/ruby-pg/issues/676\"\u003e#676\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate errorcodes to PostgreSQL-18.\u003c/li\u003e\n\u003cli\u003eUse \u003ccode\u003erb_hash_new_capa\u003c/code\u003e on Ruby-3.2+ . \u003ca href=\"https://redirect.github.com/ged/ruby-pg/issues/674\"\u003e#674\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDeny any server communication on a frozen PG::Connection . \u003ca href=\"https://redirect.github.com/ged/ruby-pg/issues/677\"\u003e#677\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix possible race condition in PG::Result in Ractor context. \u003ca href=\"https://redirect.github.com/ged/ruby-pg/issues/674\"\u003e#674\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eRemoved:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDrop binary gem support for platform \u003ccode\u003ex86-mingw32\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/ged/ruby-pg/issues/682\"\u003e#682\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDrop binary gems for ruby-2.7.\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/ged/ruby-pg/commit/d4539c25dcc89d47088e1423f8d1915c041920f5\"\u003e\u003ccode\u003ed4539c2\u003c/code\u003e\u003c/a\u003e Bump VERSION to pg-1.6.3 and add release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ged/ruby-pg/commit/720900dbb9d16aa855793146f15c3772e14f627a\"\u003e\u003ccode\u003e720900d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ged/ruby-pg/issues/682\"\u003e#682\u003c/a\u003e from larskanis/ruby-4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ged/ruby-pg/commit/f605b5937093884089109c8baa5fe268fc513eaf\"\u003e\u003ccode\u003ef605b59\u003c/code\u003e\u003c/a\u003e Remove x86-mingw32 from binary builds\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ged/ruby-pg/commit/5c690006ba158da70d73d939a233cf75ecdd30ef\"\u003e\u003ccode\u003e5c69000\u003c/code\u003e\u003c/a\u003e Update to ruby-4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ged/ruby-pg/commit/2acaf3d0f76334e056229efe260e1f558a8c6b42\"\u003e\u003ccode\u003e2acaf3d\u003c/code\u003e\u003c/a\u003e CI: workaround missing ruby-4.0 on Window\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ged/ruby-pg/commit/b500ded81127963603e1f724e82bed649c9ca8a1\"\u003e\u003ccode\u003eb500ded\u003c/code\u003e\u003c/a\u003e fix comment\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ged/ruby-pg/commit/bc3f2f8b1110e9bcb225d65554e1a7fc842d0506\"\u003e\u003ccode\u003ebc3f2f8\u003c/code\u003e\u003c/a\u003e CI: Macos-13 on Intel is deprecated\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ged/ruby-pg/commit/77667eb4313bd7b79356f402b0fa7fba409483b8\"\u003e\u003ccode\u003e77667eb\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ged/ruby-pg/issues/678\"\u003e#678\u003c/a\u003e from larskanis/ci-update\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ged/ruby-pg/commit/6e52ce504d05c5359d55f45d9580672103263b54\"\u003e\u003ccode\u003e6e52ce5\u003c/code\u003e\u003c/a\u003e CI: Update PostgreSQL on Macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ged/ruby-pg/commit/6d40f50e51a037022495fe6d98181435652464ff\"\u003e\u003ccode\u003e6d40f50\u003c/code\u003e\u003c/a\u003e CI: Print mkmf.log on failure on Macos\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ged/ruby-pg/compare/v1.6.2...v1.6.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `puma` from 7.0.4 to 7.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/puma/puma/releases\"\u003epuma's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev7.1.0\u003c/h2\u003e\n\u003ch2\u003e7.1.0 / 2025-10-16 - Neon Witch\u003c/h2\u003e\n\u003cp\u003e\u003cimg src=\"https://github.com/user-attachments/assets/6f013211-35fb-46ce-84d8-00794e020294\" alt=\"neon_witch\" /\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFeatures\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eIntroduce \u003ccode\u003eafter_worker_shutdown\u003c/code\u003e hook (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3707\"\u003e#3707\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReintroduce keepalive \u0026quot;fast inline\u0026quot; behavior. Provides faster (8x on JRuby \u0026amp; 1.4x on Ruby) pipeline processing  (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3794\"\u003e#3794\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eBugfixes\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eSkip reading zero bytes when request body is buffered (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3795\"\u003e#3795\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003ePUMA_LOG_CONFIG=1\u003c/code\u003e logging twice with prune_bundler enabled (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3778\"\u003e#3778\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix prune_bundler not showing in \u003ccode\u003ePUMA_LOG_CONFIG=1\u003c/code\u003e output (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3779\"\u003e#3779\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGuard ThreadPool method call, which may be nil during shutdown (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3791\"\u003e#3791\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/puma/puma/issues/3790\"\u003e#3790\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSet \u003ccode\u003eThread.current.puma_server\u003c/code\u003e in Thread init code, not every request (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3774\"\u003e#3774\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix race condition while deleting pidfile (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3657\"\u003e#3657\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\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/nerdrew\"\u003e\u003ccode\u003e@​nerdrew\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/puma/puma/pull/3707\"\u003epuma/puma#3707\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mopp\"\u003e\u003ccode\u003e@​mopp\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/puma/puma/pull/3783\"\u003epuma/puma#3783\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marksmith\"\u003e\u003ccode\u003e@​marksmith\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/puma/puma/pull/3657\"\u003epuma/puma#3657\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Nymuxyzo\"\u003e\u003ccode\u003e@​Nymuxyzo\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/puma/puma/pull/3762\"\u003epuma/puma#3762\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/puma/puma/compare/v7.0.4...v7.1.0\"\u003ehttps://github.com/puma/puma/compare/v7.0.4...v7.1.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/puma/puma/blob/main/History.md\"\u003epuma's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e7.1.0 / 2025-10-16\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFeatures\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eIntroduce \u003ccode\u003eafter_worker_shutdown\u003c/code\u003e hook (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3707\"\u003e#3707\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReintroduce keepalive \u0026quot;fast inline\u0026quot; behavior. Provides faster (8x on JRuby \u0026amp; 1.4x on Ruby) pipeline processing  (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3794\"\u003e#3794\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eBugfixes\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eSkip reading zero bytes when request body is buffered (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3795\"\u003e#3795\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003ePUMA_LOG_CONFIG=1\u003c/code\u003e logging twice with prune_bundler enabled (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3778\"\u003e#3778\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix prune_bundler not showing in \u003ccode\u003ePUMA_LOG_CONFIG=1\u003c/code\u003e output (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3779\"\u003e#3779\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGuard ThreadPool method call, which may be nil during shutdown (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3791\"\u003e#3791\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/puma/puma/issues/3790\"\u003e#3790\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSet \u003ccode\u003eThread.current.puma_server\u003c/code\u003e in Thread init code, not every request (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3774\"\u003e#3774\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix race condition while deleting pidfile (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3657\"\u003e#3657\u003c/a\u003e)\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/puma/puma/commit/fb2a0733e938c8786e033f22dc5bf66727dddb3a\"\u003e\u003ccode\u003efb2a073\u003c/code\u003e\u003c/a\u003e v7.1.0 (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3797\"\u003e#3797\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/4edb9e9b16835aa24bd037a88dad4d34a76952e4\"\u003e\u003ccode\u003e4edb9e9\u003c/code\u003e\u003c/a\u003e \u003ccode\u003eclient.rb\u003c/code\u003e - \u003ccode\u003eread_body\u003c/code\u003e - cleanup last lines of method (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3798\"\u003e#3798\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/84a568ab1c4d0c5cd0d29a167f5facba9699a35c\"\u003e\u003ccode\u003e84a568a\u003c/code\u003e\u003c/a\u003e Update wait_for_less_busy_worker docs (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3757\"\u003e#3757\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/e59a6049c3fc08ac2bd906a10d199bdf3949eb04\"\u003e\u003ccode\u003ee59a604\u003c/code\u003e\u003c/a\u003e Initialize only essential \u003ccode\u003eLauncher\u003c/code\u003e state before \u003ccode\u003eprune_bundler\u003c/code\u003e restart (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3\"\u003e#3\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/6844de7c4f2503751bad5e9c141de2bdb067f452\"\u003e\u003ccode\u003e6844de7\u003c/code\u003e\u003c/a\u003e client.rb - Skip reading zero bytes when request body is buffered (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3795\"\u003e#3795\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/1d3d6b792cdc870171d27cafbd0b7ceaf5e2dfb7\"\u003e\u003ccode\u003e1d3d6b7\u003c/code\u003e\u003c/a\u003e Set \u003ccode\u003eThread.current.puma_server\u003c/code\u003e in Thread init code, not every request (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3774\"\u003e#3774\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/9b34cde2c5ddf7fd65bfd5f8aea811659226662e\"\u003e\u003ccode\u003e9b34cde\u003c/code\u003e\u003c/a\u003e Adding syntax highlighting in k8s docs (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3782\"\u003e#3782\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/a2bd2f63476a719faa02eacac94b274d0cee1f6d\"\u003e\u003ccode\u003ea2bd2f6\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003eprune_bundler\u003c/code\u003e to \u003ccode\u003eConfiguration::DEFAULTS\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3779\"\u003e#3779\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/d7a0854a39bbb3f06f12c4a180e42ee6d36f7985\"\u003e\u003ccode\u003ed7a0854\u003c/code\u003e\u003c/a\u003e ci: Update hey benchmark files, minor fixes and formatting (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3796\"\u003e#3796\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/ff08099b1fc702093261a90e92da09feb577c683\"\u003e\u003ccode\u003eff08099\u003c/code\u003e\u003c/a\u003e ci: Update Update test/rackup/sleep_fibonacci.ru, add test script (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3793\"\u003e#3793\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/puma/puma/compare/v7.0.4...v7.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `actionpack` from 8.0.3 to 8.1.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003eactionpack's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.1.1\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Record\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction View\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eRespect \u003ccode\u003eremove_hidden_field_autocomplete\u003c/code\u003e config in form builder \u003ccode\u003ehidden_field\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction Pack\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAllow methods starting with underscore to be action methods.\u003c/p\u003e\n\u003cp\u003eDisallowing methods starting with an underscore from being action methods\nwas an unintended side effect of the performance optimization in\n207a254.\u003c/p\u003e\n\u003cp\u003eFixes \u003ca href=\"https://redirect.github.com/rails/rails/issues/55985\"\u003e#55985\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Job\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eOnly index new serializers.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eJesse Sharps\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction Mailer\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction Cable\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/rails/rails/blob/v8.1.1/actionpack/CHANGELOG.md\"\u003eactionpack's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRails 8.1.1 (October 28, 2025)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAllow methods starting with underscore to be action methods.\u003c/p\u003e\n\u003cp\u003eDisallowing methods starting with an underscore from being action methods\nwas an unintended side effect of the performance optimization in\n207a254.\u003c/p\u003e\n\u003cp\u003eFixes \u003ca href=\"https://redirect.github.com/rails/rails/issues/55985\"\u003e#55985\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRails 8.1.0 (October 22, 2025)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eSubmit test requests using \u003ccode\u003eas: :html\u003c/code\u003e with \u003ccode\u003eContent-Type: x-www-form-urlencoded\u003c/code\u003e\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eSean Doyle\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd link-local IP ranges to \u003ccode\u003eActionDispatch::RemoteIp\u003c/code\u003e default proxies.\u003c/p\u003e\n\u003cp\u003eLink-local addresses (\u003ccode\u003e169.254.0.0/16\u003c/code\u003e for IPv4 and \u003ccode\u003efe80::/10\u003c/code\u003e for IPv6)\nare now included in the default trusted proxy list, similar to private IP ranges.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eAdam Daniels\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003eremote_ip\u003c/code\u003e will no longer ignore IPs in X-Forwarded-For headers if they\nare accompanied by port information.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eDuncan Brown\u003c/em\u003e, \u003cem\u003ePrevenios Marinos\u003c/em\u003e, \u003cem\u003eMasafumi Koba\u003c/em\u003e, \u003cem\u003eAdam Daniels\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd \u003ccode\u003eaction_dispatch.verbose_redirect_logs\u003c/code\u003e setting that logs where redirects were called from.\u003c/p\u003e\n\u003cp\u003eSimilar to \u003ccode\u003eactive_record.verbose_query_logs\u003c/code\u003e and \u003ccode\u003eactive_job.verbose_enqueue_logs\u003c/code\u003e, this adds a line in your logs that shows where a redirect was called from.\u003c/p\u003e\n\u003cp\u003eExample:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eRedirected to http://localhost:3000/posts/1\n↳ app/controllers/posts_controller.rb:32:in `block (2 levels) in create'\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003cem\u003eDennis Paagman\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd engine route filtering and better formatting in \u003ccode\u003ebin/rails routes\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eAllow engine routes to be filterable in the routing inspector, and\nimprove formatting of engine routing output.\u003c/p\u003e\n\u003cp\u003eBefore:\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/rails/rails/commit/90a1eaa1b30ba1f2d524e197460e549c03cf5698\"\u003e\u003ccode\u003e90a1eaa\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.1 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/271acd57d1430be8c92fbd8f19a2069e62425803\"\u003e\u003ccode\u003e271acd5\u003c/code\u003e\u003c/a\u003e Sync CHANGELOG\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/df9f43214c637c54773581c85c910b356b16fa44\"\u003e\u003ccode\u003edf9f432\u003c/code\u003e\u003c/a\u003e Allow methods starting with underscore to be action methods.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/53c4ed887450cc2dee4b373148162c485999a400\"\u003e\u003ccode\u003e53c4ed8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55973\"\u003e#55973\u003c/a\u003e from rails/fix-ci\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/f77a1c3654afdf599fa927e7910d6e9c5e9df7cf\"\u003e\u003ccode\u003ef77a1c3\u003c/code\u003e\u003c/a\u003e Require 'rails' at the top of railltie files to ensure Rails is loaded first\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/1cdd190a25e483b65f1f25bbd0f13a25d696b461\"\u003e\u003ccode\u003e1cdd190\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.0 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/62a109a53f1471274a150a267239441d0592f389\"\u003e\u003ccode\u003e62a109a\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55947\"\u003e#55947\u003c/a\u003e from c0nspiracy/patch-1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/0777f23945aa498c280279b16091789b402daa64\"\u003e\u003ccode\u003e0777f23\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55921\"\u003e#55921\u003c/a\u003e from skipkayhil/hm-ykpyzlmxovpttksv\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/4663af7e5c5263fa7b5ec5cdd529fc0c357ae037\"\u003e\u003ccode\u003e4663af7\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55922\"\u003e#55922\u003c/a\u003e from Shopify/event_subscriber_additionss\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/ca45ef19a745b1283ba3bf6b1076c998a3e559e4\"\u003e\u003ccode\u003eca45ef1\u003c/code\u003e\u003c/a\u003e Remove mention of raise_on_open_redirects from doc\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/rails/compare/v8.0.3...v8.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `actionview` from 8.0.3 to 8.1.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003eactionview's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.1.1\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Record\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction View\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eRespect \u003ccode\u003eremove_hidden_field_autocomplete\u003c/code\u003e config in form builder \u003ccode\u003ehidden_field\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction Pack\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAllow methods starting with underscore to be action methods.\u003c/p\u003e\n\u003cp\u003eDisallowing methods starting with an underscore from being action methods\nwas an unintended side effect of the performance optimization in\n207a254.\u003c/p\u003e\n\u003cp\u003eFixes \u003ca href=\"https://redirect.github.com/rails/rails/issues/55985\"\u003e#55985\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Job\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eOnly index new serializers.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eJesse Sharps\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction Mailer\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction Cable\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/rails/rails/blob/v8.1.1/actionview/CHANGELOG.md\"\u003eactionview's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRails 8.1.1 (October 28, 2025)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eRespect \u003ccode\u003eremove_hidden_field_autocomplete\u003c/code\u003e config in form builder \u003ccode\u003ehidden_field\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRails 8.1.0 (October 22, 2025)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eThe BEGIN template annotation/comment was previously printed on the same line as the following element. We now insert a newline inside the comment so it spans two lines without adding visible whitespace to the HTML output to enhance readability.\u003c/p\u003e\n\u003cp\u003eBefore:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\u0026lt;!-- BEGIN /Users/siaw23/Desktop/rails/actionview/test/fixtures/actionpack/test/greeting.html.erb --\u0026gt;\u0026lt;p\u0026gt;This is grand!\u0026lt;/p\u0026gt;\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eAfter:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\u0026lt;!-- BEGIN /Users/siaw23/Desktop/rails/actionview/test/fixtures/actionpack/test/greeting.html.erb\n--\u0026gt;\u0026lt;p\u0026gt;This is grand!\u0026lt;/p\u0026gt;\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003cem\u003eEmmanuel Hayford\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd structured events for Action View:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eaction_view.render_template\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eaction_view.render_partial\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eaction_view.render_layout\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eaction_view.render_collection\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eaction_view.render_start\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cem\u003eGannon McGibbon\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix label with \u003ccode\u003efor\u003c/code\u003e option not getting prefixed by form \u003ccode\u003enamespace\u003c/code\u003e value\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eAbeid Ahmed\u003c/em\u003e, \u003cem\u003eHartley McGuire\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd \u003ccode\u003efetchpriority\u003c/code\u003e to Link headers to match HTML generated by \u003ccode\u003epreload_link_tag\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eGuillermo Iguaran\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd CSP \u003ccode\u003enonce\u003c/code\u003e to Link headers generated by \u003ccode\u003epreload_link_tag\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eAlexander Gitter\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAllow \u003ccode\u003ecurrent_page?\u003c/code\u003e to match against specific HTTP method(s) with a \u003ccode\u003emethod:\u003c/code\u003e option.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eBen Sheldon\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove \u003ccode\u003eautocomplete=\u0026quot;off\u0026quot;\u003c/code\u003e on hidden inputs generated by the following\ntags:\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/rails/rails/commit/90a1eaa1b30ba1f2d524e197460e549c03cf5698\"\u003e\u003ccode\u003e90a1eaa\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.1 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/271acd57d1430be8c92fbd8f19a2069e62425803\"\u003e\u003ccode\u003e271acd5\u003c/code\u003e\u003c/a\u003e Sync CHANGELOG\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/ae6c5a23948f0a5c02a19ce625048b4579eace7d\"\u003e\u003ccode\u003eae6c5a2\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55989\"\u003e#55989\u003c/a\u003e from rails/rm-fix-remove_hidden_field_autocomplete\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/53c4ed887450cc2dee4b373148162c485999a400\"\u003e\u003ccode\u003e53c4ed8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55973\"\u003e#55973\u003c/a\u003e from rails/fix-ci\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/f77a1c3654afdf599fa927e7910d6e9c5e9df7cf\"\u003e\u003ccode\u003ef77a1c3\u003c/code\u003e\u003c/a\u003e Require 'rails' at the top of railltie files to ensure Rails is loaded first\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/1cdd190a25e483b65f1f25bbd0f13a25d696b461\"\u003e\u003ccode\u003e1cdd190\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.0 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/1ace68361ed9e87fecbf32604c087d096f7b7f8a\"\u003e\u003ccode\u003e1ace683\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.0.rc1 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/d6f9f62d49750fee6a45f3672e2227d5c4198a62\"\u003e\u003ccode\u003ed6f9f62\u003c/code\u003e\u003c/a\u003e Make the Structured Event Subscriber emit events in format that are useful fo...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/4ae5bfc3a04db36d0f274b272eb68d6136ffb63b\"\u003e\u003ccode\u003e4ae5bfc\u003c/code\u003e\u003c/a\u003e Place template annotation on a separate line\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/7d12071e9fe94bd5c01a488ef61718fe88de65b4\"\u003e\u003ccode\u003e7d12071\u003c/code\u003e\u003c/a\u003e Micro optimize ActiveRecord::RuntimeRegistry\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/rails/compare/v8.0.3...v8.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `activemodel` from 8.0.3 to 8.1.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003eactivemodel's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.1.1\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Record\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction View\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eRespect \u003ccode\u003eremove_hidden_field_autocomplete\u003c/code\u003e config in form builder \u003ccode\u003ehidden_field\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction Pack\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAllow methods starting with underscore to be action methods.\u003c/p\u003e\n\u003cp\u003eDisallowing methods starting with an underscore from being action methods\nwas an unintended side effect of the performance optimization in\n207a254.\u003c/p\u003e\n\u003cp\u003eFixes \u003ca href=\"https://redirect.github.com/rails/rails/issues/55985\"\u003e#55985\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Job\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eOnly index new serializers.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eJesse Sharps\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction Mailer\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction Cable\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/rails/rails/blob/v8.1.1/activemodel/CHANGELOG.md\"\u003eactivemodel's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRails 8.1.1 (October 28, 2025)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRails 8.1.0 (October 22, 2025)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd \u003ccode\u003ereset_token: { expires_in: ... }\u003c/code\u003e option to \u003ccode\u003ehas_secure_password\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eAllows configuring the expiry duration of password reset tokens (default remains 15 minutes for backwards compatibility).\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003ehas_secure_password reset_token: { expires_in: 1.hour }\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003cem\u003eJevin Sew\u003c/em\u003e, \u003cem\u003eAbeid Ahmed\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd \u003ccode\u003eexcept_on:\u003c/code\u003e option for validation callbacks.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eBen Sheldon\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eBackport \u003ccode\u003eActiveRecord::Normalization\u003c/code\u003e to \u003ccode\u003eActiveModel::Attributes::Normalization\u003c/code\u003e\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eclass User\n  include ActiveModel::Attributes\n  include ActiveModel::Attributes::Normalization\n\u003cp\u003eattribute :email, :string\u003c/p\u003e\n\u003cp\u003enormalizes :email, with: -\u0026gt; email { email.strip.downcase }\u003cbr /\u003e\nend\u003c/p\u003e\n\u003cp\u003euser = User.new\u003cbr /\u003e\nuser.email =    \u0026quot; \u003ca href=\"mailto:CRUISE-CONTROL@EXAMPLE.COM\"\u003eCRUISE-CONTROL@EXAMPLE.COM\u003c/a\u003e\\n\u0026quot;\u003cbr /\u003e\nuser.email # =\u0026gt; \u0026quot;\u003ca href=\"mailto:cruise-control@example.com\"\u003ecruise-control@example.com\u003c/a\u003e\u0026quot;\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eSean Doyle\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003ePlease check \u003ca href=\"https://github.com/rails/rails/blob/8-0-stable/activemodel/CHANGELOG.md\"\u003e8-0-stable\u003c/a\u003e for previous changes.\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/rails/rails/commit/90a1eaa1b30ba1f2d524e197460e549c03cf5698\"\u003e\u003ccode\u003e90a1eaa\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.1 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/53c4ed887450cc2dee4b373148162c485999a400\"\u003e\u003ccode\u003e53c4ed8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55973\"\u003e#55973\u003c/a\u003e from rails/fix-ci\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/f77a1c3654afdf599fa927e7910d6e9c5e9df7cf\"\u003e\u003ccode\u003ef77a1c3\u003c/code\u003e\u003c/a\u003e Require 'rails' at the top of railltie files to ensure Rails is loaded first\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/1cdd190a25e483b65f1f25bbd0f13a25d696b461\"\u003e\u003ccode\u003e1cdd190\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.0 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/1ace68361ed9e87fecbf32604c087d096f7b7f8a\"\u003e\u003ccode\u003e1ace683\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.0.rc1 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/b182bc607041b640f1e5f51e678f3ca4ab077920\"\u003e\u003ccode\u003eb182bc6\u003c/code\u003e\u003c/a\u003e Give credit to the first author of this feature\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/d0486d0aefc8a487a20a582868df7e0662fd3520\"\u003e\u003ccode\u003ed0486d0\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55574\"\u003e#55574\u003c/a\u003e from jevin/feature/reset-password-token-duration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/ee29930f58bf125763aeecedaa5048d95f3f1d4b\"\u003e\u003ccode\u003eee29930\u003c/code\u003e\u003c/a\u003e ActiveModel::SecurePassword: configurable reset token expiry\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/2446a70b0eee6424c90e5a262600c337006096ad\"\u003e\u003ccode\u003e2446a70\u003c/code\u003e\u003c/a\u003e Removing the string option for validations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/80827ca7ff33ca3026f2c74fe8249ccc6f513318\"\u003e\u003ccode\u003e80827ca\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.0.beta1 release\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/rails/compare/v8.0.3...v8.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `activerecord` from 8.0.3 to 8.1.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003eactiverecord's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.1.1\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Record\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction View\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eRespect \u003ccode\u003eremove_hidden_field_autocomplete\u003c/code\u003e config in form builder \u003ccode\u003ehidden_field\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction Pack\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAllow methods starting with underscore to be action methods.\u003c/p\u003e\n\u003cp\u003eDisallowing methods starting with an underscore from being action methods\nwas an unintended side effect of the performance optimization in\n207a254.\u003c/p\u003e\n\u003cp\u003eFixes \u003ca href=\"https://redirect.github.com/rails/rails/issues/55985\"\u003e#55985\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Job\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eOnly index new serializers.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eJesse Sharps\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction Mailer\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction Cable\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/rails/rails/blob/v8.1.1/activerecord/CHANGELOG.md\"\u003eactiverecord's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRails 8.1.1 (October 28, 2025)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRails 8.1.0 (October 22, 2025)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix SQLite3 data loss during table alterations with CASCADE foreign keys.\u003c/p\u003e\n\u003cp\u003eWhen altering a table in SQLite3 that is referenced by child tables with\n\u003ccode\u003eON DELETE CASCADE\u003c/code\u003e foreign keys, ActiveRecord would silently delete all\ndata from the child tables. This occurred because SQLite requires table\nrecreation for schema changes, and during this process the original table\nis temporarily dropped, triggering CASCADE deletes on child tables.\u003c/p\u003e\n\u003cp\u003eThe root cause was incorrect ordering of operations. The original code\nwrapped \u003ccode\u003edisable_referential_integrity\u003c/code\u003e inside a transaction, but\n\u003ccode\u003ePRAGMA foreign_keys\u003c/code\u003e cannot be modified inside a transaction in SQLite -\nattempting to do so simply has no effect. This meant foreign keys remained\nenabled during table recreation, causing CASCADE deletes to fire.\u003c/p\u003e\n\u003cp\u003eThe fix reverses the order to follow the official SQLite 12-step ALTER TABLE\nprocedure: \u003ccode\u003edisable_referential_integrity\u003c/code\u003e now wraps the transaction instead\nof being wrapped by it. This ensures foreign keys are properly disabled\nbefore the transaction starts and re-enabled after it commits, preventing\nCASCADE deletes while maintaining data integrity through atomic transactions.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRuy Rocha\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd replicas to test database parallelization setup.\u003c/p\u003e\n\u003cp\u003eSetup and configuration of databases for parallel testing now includes replicas.\u003c/p\u003e\n\u003cp\u003eThis fixes an issue when using a replica database, database selector middleware,\nand non-transactional tests, where integration tests running in parallel would select\nthe base test database, i.e. \u003ccode\u003edb_test\u003c/code\u003e, instead of the numbered parallel worker database,\ni.e. \u003ccode\u003edb_test_{n}\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eAdam Maas\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSupport virtual (not persisted) generated columns on PostgreSQL 18+\u003c/p\u003e\n\u003cp\u003ePostgreSQL 18 introduces virtual (not persisted) generated columns,\nwhich are now the default unless the \u003ccode\u003estored: true\u003c/code\u003e option is explicitly specified on PostgreSQL 18+.\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003ecreate_table :users do |t|\n  t.string :name\n  t.virtual :lower_name,  type: :string,  as: \u0026quot;LOWER(name)\u0026quot;, stored: false\n  t.virtual :name_length, type: :integer, as: \u0026quot;LENGTH(name)\u0026quot;\n\u003c/code\u003e\u003c/pre\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/rails/rails/commit/90a1eaa1b30ba1f2d524e197460e549c03cf5698\"\u003e\u003ccode\u003e90a1eaa\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.1 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/fe609bf5ac0e61f445de9bea40f89a058b465ead\"\u003e\u003ccode\u003efe609bf\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/50598\"\u003e#50598\u003c/a\u003e from lucasmazza/lm/upsert_all-skip\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/53c4ed887450cc2dee4b373148162c485999a400\"\u003e\u003ccode\u003e53c4ed8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55973\"\u003e#55973\u003c/a\u003e from rails/fix-ci\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/f77a1c3654afdf599fa927e7910d6e9c5e9df7cf\"\u003e\u003ccode\u003ef77a1c3\u003c/code\u003e\u003c/a\u003e Require 'rails' at the top of railltie files to ensure Rails is loaded first\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/334ed8f172d6e77516e9832567626af9965d435d\"\u003e\u003ccode\u003e334ed8f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55969\"\u003e#55969\u003c/a\u003e from rails/fix-explain-tests-mysql-9.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/1cdd190a25e483b65f1f25bbd0f13a25d696b461\"\u003e\u003ccode\u003e1cdd190\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.0 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/bffa22d59214a125add8385e12ec691ed623aff7\"\u003e\u003ccode\u003ebffa22d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55949\"\u003e#55949\u003c/a\u003e from ima1zumi/revert-53969-and-add-test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/be5e9fc703ee86a6ba12bbd7256c43142a3d07dc\"\u003e\u003ccode\u003ebe5e9fc\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55945\"\u003e#55945\u003c/a\u003e from claudiob/create_enum\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/04c6f1497eb3cd0f21449113747f2b72862a0937\"\u003e\u003ccode\u003e04c6f14\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55938\"\u003e#55938\u003c/a\u003e from aidanharan/truthy-condition-mssql\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/d4fb183ac2d8f6a3fad83e160c435ef4dbe9c149\"\u003e\u003ccode\u003ed4fb183\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55925\"\u003e#55925\u003c/a\u003e from flavorjones/flavorjones/shard-swap-prohibition...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/rails/compare/v8.0.3...v8.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `activesupport` from 8.0.3 to 8.1.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003eactivesupport's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.1.1\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Record\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction View\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eRespect \u003ccode\u003eremove_hidden_field_autocomplete\u003c/code\u003e config in form builder \u003ccode\u003ehidden_field\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction Pack\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAllow methods starting with underscore to be action methods.\u003c/p\u003e\n\u003cp\u003eDisallowing methods starting with an underscore from being action methods\nwas an unintended side effect of the performance optimization in\n207a254.\u003c/p\u003e\n\u003cp\u003eFixes \u003ca href=\"https://redirect.github.com/rails/rails/issues/55985\"\u003e#55985\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Job\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eOnly index new serializers.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eJesse Sharps\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction Mailer\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction Cable\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/rails/rails/blob/v8.1.1/activesupport/CHANGELOG.md\"\u003eactivesupport's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRails 8.1.1 (October 28, 2025)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRails 8.1.0 (October 22, 2025)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eRemove deprecated passing a Time object to \u003ccode\u003eTime#since\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove deprecated \u003ccode\u003eBenchmark.ms\u003c/code\u003e method. It is now defined in the \u003ccode\u003ebenchmark\u003c/code\u003e gem.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove deprecated addition for \u003ccode\u003eTime\u003c/code\u003e instances with \u003ccode\u003eActiveSupport::TimeWithZone\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove deprecated support for \u003ccode\u003eto_time\u003c/code\u003e to preserve the system local time. It will now always preserve the receiver\ntimezone.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDeprecate \u003ccode\u003econfig.active_support.to_time_preserves_timezone\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eStandardize event name formatting in \u003ccode\u003eassert_event_reported\u003c/code\u003e error messages.\u003c/p\u003e\n\u003cp\u003eThe event name in failure messages now uses \u003ccode\u003e.inspect\u003c/code\u003e (e.g., \u003ccode\u003ename: \u0026quot;user.created\u0026quot;\u003c/code\u003e)\nto match \u003ccode\u003eassert_events_reported\u003c/code\u003e and provide type clarity between strings and symbols.\nThis only affects tests that assert on the failure message format itself.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eGeorge Ma\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eEnumerable#sole\u003c/code\u003e to return the full tuple instead of just the first element of the tuple.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eOlivier Bellone\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix parallel tests hanging when worker processes die abruptly.\u003c/p\u003e\n\u003cp\u003ePreviously, if a worker process was killed (e.g., OOM killed, \u003ccode\u003ekill -9\u003c/code\u003e) during parallel\ntest execution, the test suite would hang forever waiting for the dead worker.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eJoshua Young\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd \u003ccode\u003econfig.active_support.escape_js_separators_in_json\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eIntroduce a new framework default to skip escaping LINE SEPARATOR (U+2028) and PARAGRAPH SEPARATOR (U+2029) in JSON.\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/rails/rails/commit/90a1eaa1b30ba1f2d524e197460e549c03cf5698\"\u003e\u003ccode\u003e90a1eaa\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.1 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/234b56973bb453bb50850a1be07a2fcad7331592\"\u003e\u003ccode\u003e234b569\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56008\"\u003e#56008\u003c/a\u003e from chaadow/fix_nesting_loop_rails\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/53c4ed887450cc2dee4b373148162c485999a400\"\u003e\u003ccode\u003e53c4ed8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55973\"\u003e#55973\u003c/a\u003e from rails/fix-ci\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/f77a1c3654afdf599fa927e7910d6e9c5e9df7cf\"\u003e\u003ccode\u003ef77a1c3\u003c/code\u003e\u003c/a\u003e Require 'rails' at the top of railltie files to ensure Rails is loaded first\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/cd53d57fe363eef44dd4a58dbe69c77cad041550\"\u003e\u003ccode\u003ecd53d57\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55962\"\u003e#55962\u003c/a\u003e from coderhs/patch-1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/1cdd190a25e483b65f1f25bbd0f13a25d696b461\"\u003e\u003ccode\u003e1cdd190\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.0 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/096f1c7c77cf857a1ca12116678599faac2f0522\"\u003e\u003ccode\u003e096f1c7\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55943\"\u003e#55943\u003c/a\u003e from skipkayhil/hm-oyxvtrxvupxqzprn\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/1ace68361ed9e87fecbf32604c087d096f7b7f8a\"\u003e\u003ccode\u003e1ace683\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.0.rc1 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/d156ee00602eab9044bc23ac8de8f245379d6af5\"\u003e\u003ccode\u003ed156ee0\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55871\"\u003e#55871\u003c/a\u003e from Shopify/refresh_event_reporter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/48ca2f8b91f69ae7c08cc16426481a5e17fd2209\"\u003e\u003ccode\u003e48ca2f8\u003c/code\u003e\u003c/a\u003e Load core extensions with require_relative\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/rails/compare/v8.0.3...v8.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `railties` from 8.0.3 to 8.1.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003erailties's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.1.1\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Record\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction View\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eRespect \u003ccode\u003eremove_hidden_field_autocomplete\u003c/code\u003e config in form builder \u003ccode\u003ehidden_field\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction Pack\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAllow methods starting with underscore to be action methods.\u003c/p\u003e\n\u003cp\u003eDisallowing methods starting with an underscore from being action methods\nwas an unintended side effect of the performance optimization in\n207a254.\u003c/p\u003e\n\u003cp\u003eFixes \u003ca href=\"https://redirect.github.com/rails/rails/issues/55985\"\u003e#55985\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Job\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eOnly index new serializers.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eJesse Sharps\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction Mailer\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction Cable\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/rails/rails/blob/v8.1.1/railties/CHANGELOG.md\"\u003erailties's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRails 8.1.1 (October 28, 2025)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eDo not assume and force SSL in production by default when using Kamal, to allow for out of the box Kamal deployments.\u003c/p\u003e\n\u003cp\u003eIt is still recommended to assume and force SSL in production as soon as you can.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eJerome Dalbert\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRails 8.1.0 (October 22, 2025)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eSuggest \u003ccode\u003ebin/rails action_text:install\u003c/code\u003e from Action Dispatch error page\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eSean Doyle\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove deprecated \u003ccode\u003eSTATS_DIRECTORIES\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove deprecated \u003ccode\u003ebin/rake stats\u003c/code\u003e command.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove deprecated \u003ccode\u003erails/console/methods.rb\u003c/code\u003e file.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDon't generate system tests by default.\u003c/p\u003e\n\u003cp\u003eRails scaffold generator will no longer generate system tests by default. To enable this pass \u003ccode\u003e--system-tests=true\u003c/code\u003e or generate them with \u003ccode\u003ebin/rails generate system_test name_of_test\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eEileen M. Uchitelle\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eOptionally skip bundler-audit.\u003c/p\u003e\n\u003cp\u003eSkips adding the \u003ccode\u003ebin/bundler-audit\u003c/code\u003e \u0026amp; \u003ccode\u003econfig/bundler-audit.yml\u003c/code\u003e if the gem is not installed when \u003ccode\u003ebin/rails app:update\u003c/code\u003e runs.\u003c/p\u003e\n\u003cp\u003ePasses an option to \u003ccode\u003e--skip-bundler-audit\u003c/code\u003e when new apps are generated \u0026amp; adds that same option to the \u003ccode\u003e--minimal\u003c/code\u003e generator flag.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eJill Klang\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eShow engine routes in \u003ccode\u003e/rails/info/routes\u003c/code\u003e as well.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003ePetrik de Heus\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eExclude \u003ccode\u003easset_path\u003c/code\u003e configuration from Kamal \u003ccode\u003edeploy.yml\u003c/code\u003e for API applications.\u003c/p\u003e\n\u003cp\u003eAPI applications don't serve assets, so the \u003ccode\u003easset_path\u003c/code\u003e configuration in \u003ccode\u003edeploy.yml\u003c/code\u003e\nis not needed and can cause 404 errors on in-flight requests. The asset_path is now\nonly included for regular Rails applications that serve assets.\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/rails/rails/commit/90a1eaa1b30ba1f2d524e197460e549c03cf5698\"\u003e\u003ccode\u003e90a1eaa\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.1 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/89cb7bff192ce71267ae76f38942ca8f306ce273\"\u003e\u003ccode\u003e89cb7bf\u003c/code\u003e\u003c/a\u003e Fix railties/CHANGELOG.md offense at 8-1-stable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/7919bdab44688f1e7f121bc36a76169787cdfe60\"\u003e\u003ccode\u003e7919bda\u003c/code\u003e\u003c/a\u003e Restore header\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/f007f9ca53448379246a1901b213bd57955af26c\"\u003e\u003ccode\u003ef007f9c\u003c/code\u003e\u003c/a\u003e Disable SSL default config for out of the box Kamal deployments (\u003ca href=\"https://redirect.github.com/rails/rails/issues/56010\"\u003e#56010\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/29606f8c7b3aea3991343ee2c1aa5dd1860df283\"\u003e\u003ccode\u003e29606f8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55964\"\u003e#55964\u003c/a\u003e from viralpraxis/skip-ci-rb-tests-if-tests-are-skipped\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/1cdd190a25e483b65f1f25bbd0f13a25d696b461\"\u003e\u003ccode\u003e1cdd190\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.0 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/5e231ae6548f1c5686f75e61832638937b134961\"\u003e\u003ccode\u003e5e231ae\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/54914\"\u003e#54914\u003c/a\u003e from chaadow/fix_autoloaded_content_helper\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/1a8109e0fe8f10fa38a8f6c7fb11daf8a09394d5\"\u003e\u003ccode\u003e1a8109e\u003c/code\u003e\u003c/a\u003e Actually turn this off by default too\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/25af9250bf072ac24df2ea058c12284da5a99948\"\u003e\u003ccode\u003e25af925\u003c/code\u003e\u003c/a\u003e Kamal localhost registry (\u003ca href=\"https://redirect.github.com/rails/rails/issues/55934\"\u003e#55934\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/f58a75a5cf35a94cbf8a45fa64b95a0ea9055e64\"\u003e\u003ccode\u003ef58a75a\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55940\"\u003e#55940\u003c/a\u003e from jeromedalbert/fix-ci-yml-whitespace\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/rails/compare/v8.0.3...v8.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `bootsnap` from 1.18.6 to 1.20.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/bootsnap/releases\"\u003ebootsnap's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.20.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eHandle broken symlinks in load path scanning code.\nShould fix \u003ccode\u003eErrno::ENOENT fstatat\u003c/code\u003e issues some users have encountered after upgrading to 1.20.0.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/rails/bootsnap/compare/v1.20.0...v1.20.1\"\u003ehttps://github.com/rails/bootsnap/compare/v1.20.0...v1.20.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.20.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eOptimized load path scanning with a C extension. Should be about 2x faster on supported platforms.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/rails/bootsnap/compare/v1.19.0...v1.20.0\"\u003ehttps://github.com/rails/bootsnap/compare/v1.19.0...v1.20.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/rails/bootsnap/blob/main/CHANGELOG.md\"\u003ebootsnap's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e1.20.1\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eHandle broken symlinks in load path scanning code.\nShould fix \u003ccode\u003eErrno::ENOENT fstatat\u003c/code\u003e issues some users have encountered after upgrading to 1.20.0.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e1.20.0\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eOptimized load path scanning with a C extension. Should be about 2x faster on supported platforms.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e1.19.0\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eRemove JSON parsing cache. Recent versions of the \u003ccode\u003ejson\u003c/code\u003e gem are as fast as \u003ccode\u003emsgpack\u003c/code\u003e if not faster.\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/rails/bootsnap/commit/ba59bb8e012ddbe592b0de85d06304afed65688c\"\u003e\u003ccode\u003eba59bb8\u003c/code\u003e\u003c/a\u003e Release 1.20.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/302b7dbbc31c917456369fe136b86c1ffc591a64\"\u003e\u003ccode\u003e302b7db\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/bootsnap/issues/514\"\u003e#514\u003c/a\u003e from byroot/handle-broken-symlink\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/fd1ddc33aa8a247e204c152ec700167b285188b2\"\u003e\u003ccode\u003efd1ddc3\u003c/code\u003e\u003c/a\u003e Handle broken symlinks in load path\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/fac34b899341134389dd8067678230d95e409939\"\u003e\u003ccode\u003efac34b8\u003c/code\u003e\u003c/a\u003e Release 1.20.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/71311d4c599a2d4eebec29652889577ff430499c\"\u003e\u003ccode\u003e71311d4\u003c/code\u003e\u003c/a\u003e Include Bootsnap::VERSION in LoadPathCache version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/f5c43ac14b11e9771155d5a5a402c6a8ef0f8ef6\"\u003e\u003ccode\u003ef5c43ac\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/bootsnap/issues/512\"\u003e#512\u003c/a\u003e from byroot/prune-load-dir\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/f94f668c545122c26462d31cec647095282b68a1\"\u003e\u003ccode\u003ef94f668\u003c/code\u003e\u003c/a\u003e Stop caching directories in LoadPathCache\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/e3b5292b2f00012130b2529ec01ac42bdddbe0b2\"\u003e\u003ccode\u003ee3b5292\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/bootsnap/issues/511\"\u003e#511\u003c/a\u003e from byroot/c-ext-load-path-scan\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/e91dd2158b014d7f233028475942b9fbe2c9ed2c\"\u003e\u003ccode\u003ee91dd21\u003c/code\u003e\u003c/a\u003e Implement PathScanner in C to avoid N+1 \u003ccode\u003estat(2)\u003c/code\u003e calls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/c77d5ccfec3188c8feb259963eaad5debc955bcf\"\u003e\u003ccode\u003ec77d5cc\u003c/code\u003e\u003c/a\u003e Cleanup the c extension\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/bootsnap/compare/v1.18.6...v1.20.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `faker` from 3.5.2 to 3.5.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/faker-ruby/faker/releases\"\u003efaker's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.5.3\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/faker-ruby/faker/tree/v3.5.3\"\u003ev3.5.3\u003c/a\u003e (2025-12-02)\u003c/h2\u003e\n\u003cp\u003eWishing you a cozy and calm Holiday season ☃️\u003c/p\u003e\n\u003cp\u003eThis version adds and improves some locales, fixes some bugs, and deprecates some generators.\u003c/p\u003e\n\u003cp\u003eThanks to all contributors!\u003c/p\u003e\n\u003ch2\u003eDeprecated generators\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRefactor: move \u003ccode\u003eFaker::BossaNova\u003c/code\u003e under \u003ccode\u003eFaker::Music::BossaNova\u003c/code\u003e by \u003ca href=\"https://github.com/thdaraujo\"\u003e\u003ccode\u003e@​thdaraujo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3140\"\u003efaker-ruby/faker#3140\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDeprecate \u003ccode\u003eFaker::Twitter\u003c/code\u003e in favor of \u003ccode\u003eFaker::X\u003c/code\u003e and update attributes by \u003ca href=\"https://github.com/stefannibrasil\"\u003e\u003ccode\u003e@​stefannibrasil\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3138\"\u003efaker-ruby/faker#3138\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eImprovements \u0026amp; Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRemove duplicate entry \u003ccode\u003eamateur radio\u003c/code\u003e from \u003ccode\u003elocales/en/hobby.yml\u003c/code\u003e by \u003ca href=\"https://github.com/Leenday\"\u003e\u003ccode\u003e@​Leenday\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3099\"\u003efaker-ruby/faker#3099\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix \u003ca href=\"https://redirect.github.com/faker-ruby/faker/issues/3114\"\u003e#3114\u003c/a\u003e: prevent scientific notation when generating bank account number by \u003ca href=\"https://github.com/AhmedHisham552\"\u003e\u003ccode\u003e@​AhmedHisham552\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3118\"\u003efaker-ruby/faker#3118\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix: typos in locales for \u003ccode\u003eoverwatch.yml\u003c/code\u003e, \u003ccode\u003erajnikanth.yml\u003c/code\u003e and \u003ccode\u003estreet_fighter.ym\u003c/code\u003e by \u003ca href=\"https://github.com/smorttey\"\u003e\u003ccode\u003e@​smorttey\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3106\"\u003efaker-ruby/faker#3106\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eArtist\u003c/code\u003e translations for the japanese locale by \u003ca href=\"https://github.com/neco-nico\"\u003e\u003ccode\u003e@​neco-nico\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3110\"\u003efaker-ruby/faker#3110\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003ecountry_code\u003c/code\u003e to Estonia locale (\u003ccode\u003elocales/ee.yml\u003c/code\u003e) by \u003ca href=\"https://github.com/HassanAkbar\"\u003e\u003ccode\u003e@​HassanAkbar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3111\"\u003efaker-ruby/faker#3111\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReformat Arabic locale (\u003ccode\u003elocales/ar.yml\u003c/code\u003e) by \u003ca href=\"https://github.com/ramzieus\"\u003e\u003ccode\u003e@​ramzieus\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3130\"\u003efaker-ruby/faker#3130\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRefactor: Improve UK Phone number false failure hit-rate by \u003ca href=\"https://github.com/luke-hill\"\u003e\u003ccode\u003e@​luke-hill\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3136\"\u003efaker-ruby/faker#3136\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprovements and fixes for Elder Scrolls locale (\u003ccode\u003eelder_scrolls.yml\u003c/code\u003e) by \u003ca href=\"https://github.com/SleekMutt\"\u003e\u003ccode\u003e@​SleekMutt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3129\"\u003efaker-ruby/faker#3129\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd en-GB ID Numbers (aka National Insurance Numbers) by \u003ca href=\"https://github.com/stefanjcollier\"\u003e\u003ccode\u003e@​stefanjcollier\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3032\"\u003efaker-ruby/faker#3032\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate ukrainian city locales to the modern ones by \u003ca href=\"https://github.com/SleekMutt\"\u003e\u003ccode\u003e@​SleekMutt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3127\"\u003efaker-ruby/faker#3127\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRevamp the docs to make them easier to find by \u003ca href=\"https://github.com/stefannibrasil\"\u003e\u003ccode\u003e@​stefannibrasil\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3151\"\u003efaker-ruby/faker#3151\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChores\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003etest: fix flaky test on \u003ccode\u003eFaker::IdNumber\u003c/code\u003e by \u003ca href=\"https://github.com/thdaraujo\"\u003e\u003ccode\u003e@​thdaraujo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3126\"\u003efaker-ruby/faker#3126\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove minitest dependency on i18n reload test by \u003ca href=\"https://github.com/stefannibrasil\"\u003e\u003ccode\u003e@​stefannibrasil\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3149\"\u003efaker-ruby/faker#3149\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove unused release workflow by \u003ca href=\"https://github.com/stefannibrasil\"\u003e\u003ccode\u003e@​stefannibrasil\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3133\"\u003efaker-ruby/faker#3133\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eUpdate local dependencies\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump benchmark from 0.4.1 to 0.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/faker-ruby/faker/pull/3122\"\u003efaker-ruby/faker#3122\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump rake from 13.3.0 to 13.3.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/faker-ruby/faker/pull/3124\"\u003efaker-ruby/faker#3124\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump test-unit from 3.7.0 to 3.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/faker-ruby/faker/pull/3128\"\u003efaker-ruby/faker#3128\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump rubocop-minitest from 0.38.1 to 0.38.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/faker-ruby/faker/pull/3116\"\u003efaker-ruby/faker#3116\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edeps: bump dependencies by \u003ca href=\"https://github.com/thdaraujo\"\u003e\u003ccode\u003e@​thdaraujo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3141\"\u003efaker-ruby/faker#3141\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edeps: bump Minitest version to \u003ccode\u003ev5.26.1\u003c/code\u003e and fix issues by \u003ca href=\"https://github.com/stefannibrasil\"\u003e\u003ccode\u003e@​stefannibrasil\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3144\"\u003efaker-ruby/faker#3144\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edeps: bump rubocop version to \u003ccode\u003ev1.81.7\u003c/code\u003e by \u003ca href=\"https://github.com/thdaraujo\"\u003e\u003ccode\u003e@​thdaraujo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3143\"\u003efaker-ruby/faker#3143\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/Leenday\"\u003e\u003ccode\u003e@​Leenday\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3099\"\u003efaker-ruby/faker#3099\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/AhmedHisham552\"\u003e\u003ccode\u003e@​AhmedHisham552\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3118\"\u003efaker-ruby/faker#3118\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/smorttey\"\u003e\u003ccode\u003e@​smorttey\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3106\"\u003efaker-ruby/faker#3106\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/neco-nico\"\u003e\u003ccode\u003e@​neco-nico\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3110\"\u003efaker-ruby/faker#3110\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HassanAkbar\"\u003e\u003ccode\u003e@​HassanAkbar\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3111\"\u003efaker-ruby/faker#3111\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ramzieus\"\u003e\u003ccode\u003e@​ramzieus\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3130\"\u003efaker-ruby/faker#3130\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/luke-hill\"\u003e\u003ccode\u003e@​luke-hill\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3136\"\u003efaker-ruby/faker#3136\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/SleekMutt\"\u003e\u003ccode\u003e@​SleekMutt\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3129\"\u003efaker-ruby/faker#3129\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/stefanjcollier\"\u003e\u003ccode\u003e@​stefanjcollier\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3032\"\u003efaker-ruby/faker#3032\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/faker-ruby/faker/blob/main/CHANGELOG.md\"\u003efaker's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/faker-ruby/faker/tree/v3.5.3\"\u003ev3.5.3\u003c/a\u003e (2025-12-02)\u003c/h2\u003e\n\u003cp\u003eWishing you a cozy and calm Holiday season ☃️\u003c/p\u003e\n\u003cp\u003eThis version adds and improves some locales, fixes some bugs, and deprecates some generators.\u003c/p\u003e\n\u003cp\u003eThanks to all contributors!\u003c/p\u003e\n\u003ch3\u003eDeprecated generators\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRefactor: move \u003ccode\u003eFaker::BossaNova\u003c/code\u003e under \u003ccode\u003eFaker::Music::BossaNova\u003c/code\u003e by \u003ca href=\"https://github.com/thdaraujo\"\u003e\u003ccode\u003e@​thdaraujo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3140\"\u003efaker-ruby/faker#3140\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDeprecate \u003ccode\u003eFaker::Twitter\u003c/code\u003e in favor of \u003ccode\u003eFaker::X\u003c/code\u003e and update attributes by \u003ca href=\"https://github.com/stefannibrasil\"\u003e\u003ccode\u003e@​stefannibrasil\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3138\"\u003efaker-ruby/faker#3138\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements \u0026amp; Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove duplicate entry \u003ccode\u003eamateur radio\u003c/code\u003e from \u003ccode\u003elocales/en/hobby.yml\u003c/code\u003e by \u003ca href=\"https://github.com/Leenday\"\u003e\u003ccode\u003e@​Leenday\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3099\"\u003efaker-ruby/faker#3099\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix \u003ca href=\"https://redirect.github.com/faker-ruby/faker/issues/3114\"\u003e#3114\u003c/a\u003e: prevent scientific notation when generating bank account number by \u003ca href=\"https://github.com/AhmedHisham552\"\u003e\u003ccode\u003e@​AhmedHisham552\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3118\"\u003efaker-ruby/faker#3118\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix: typos in locales for \u003ccode\u003eoverwatch.yml\u003c/code\u003e, \u003ccode\u003erajnikanth.yml\u003c/code\u003e and \u003ccode\u003estreet_fighter.ym\u003c/code\u003e by \u003ca href=\"https://github.com/smorttey\"\u003e\u003ccode\u003e@​smorttey\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3106\"\u003efaker-ruby/faker#3106\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eArtist\u003c/code\u003e translations for the japanese locale by \u003ca href=\"https://github.com/neco-nico\"\u003e\u003ccode\u003e@​neco-nico\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3110\"\u003efaker-ruby/faker#3110\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003ecountry_code\u003c/code\u003e to Estonia locale (\u003ccode\u003elocales/ee.yml\u003c/code\u003e) by \u003ca href=\"https://github.com/HassanAkbar\"\u003e\u003ccode\u003e@​HassanAkbar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3111\"\u003efaker-ruby/faker#3111\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReformat Arabic locale (\u003ccode\u003elocales/ar.yml\u003c/code\u003e) by \u003ca href=\"https://github.com/ramzieus\"\u003e\u003ccode\u003e@​ramzieus\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3130\"\u003efaker-ruby/faker#3130\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRefactor: Improve UK Phone number false failure hit-rate by \u003ca href=\"https://github.com/luke-hill\"\u003e\u003ccode\u003e@​luke-hill\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3136\"\u003efaker-ruby/faker#3136\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprovements and fixes for Elder Scrolls locale (\u003ccode\u003eelder_scrolls.yml\u003c/code\u003e) by \u003ca href=\"https://github.com/SleekMutt\"\u003e\u003ccode\u003e@​SleekMutt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3129\"\u003efaker-ruby/faker#3129\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd en-GB ID Numbers (aka National Insurance Numbers) by \u003ca href=\"https://github.com/stefanjcollier\"\u003e\u003ccode\u003e@​stefanjcollier\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3032\"\u003efaker-ruby/faker#3032\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate ukrainian city locales to the modern ones by \u003ca href=\"https://github.com/SleekMutt\"\u003e\u003ccode\u003e@​SleekMutt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3127\"\u003efaker-ruby/faker#3127\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRevamp the docs to make them easier to find by \u003ca href=\"https://github.com/stefannibrasil\"\u003e\u003ccode\u003e@​stefannibrasil\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3151\"\u003efaker-ruby/faker#3151\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003etest: fix flaky test on \u003ccode\u003eFaker::IdNumber\u003c/code\u003e by \u003ca href=\"https://github.com/thdaraujo\"\u003e\u003ccode\u003e@​thdaraujo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3126\"\u003efaker-ruby/faker#3126\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove minitest dependency on i18n reload test by \u003ca href=\"https://github.com/stefannibrasil\"\u003e\u003ccode\u003e@​stefannibrasil\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3149\"\u003efaker-ruby/faker#3149\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove unused release workflow by \u003ca href=\"https://github.com/stefannibrasil\"\u003e\u003ccode\u003e@​stefannibrasil\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3133\"\u003efaker-ruby/faker#3133\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eUpdate local dependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBump benchmark from 0.4.1 to 0.5.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca ...\n\n_Description has been truncated_","html_url":"https://github.com/ministryofjustice/hmcts-common-platform-mock-api/pull/1031","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/ministryofjustice%2Fhmcts-common-platform-mock-api/issues/1031","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1031/packages"},{"uuid":"3783136584","node_id":"PR_kwDOIy0ZTM67njYy","number":4492,"state":"closed","title":"Bump the production-dependencies group across 1 directory with 28 updates","user":"dependabot[bot]","labels":["dependencies","ruby"],"assignees":[],"locked":true,"comments_count":1,"pull_request":true,"closed_at":"2026-01-06T23:09:48.000Z","author_association":null,"state_reason":null,"created_at":"2026-01-05T23:10:45.000Z","updated_at":"2026-01-06T23:10:21.000Z","time_to_close":86343,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"production-dependencies","update_count":28,"packages":[{"name":"acme-client","old_version":"2.0.26","new_version":"2.0.30","repository_url":"https://github.com/unixcharles/acme-client"},{"name":"aws-sdk-ec2","old_version":"1.569.0","new_version":"1.587.0","repository_url":"https://github.com/aws/aws-sdk-ruby"},{"name":"aws-sdk-iam","old_version":"1.132.0","new_version":"1.137.0","repository_url":"https://github.com/aws/aws-sdk-ruby"},{"name":"bcrypt_pbkdf","old_version":"1.1.1","new_version":"1.1.2","repository_url":"https://github.com/net-ssh/bcrypt_pbkdf-ruby"},{"name":"excon","old_version":"1.3.0","new_version":"1.3.2","repository_url":"https://github.com/excon/excon"},{"name":"reline","old_version":"0.6.2","new_version":"0.6.3","repository_url":"https://github.com/ruby/reline"},{"name":"roda","old_version":"3.97.0","new_version":"3.99.0","repository_url":"https://github.com/jeremyevans/roda"},{"name":"rodauth","old_version":"2.41.0","new_version":"2.42.0","repository_url":"https://github.com/jeremyevans/rodauth"},{"name":"rqrcode","old_version":"3.1.0","new_version":"3.1.1","repository_url":"https://github.com/whomwah/rqrcode"},{"name":"sequel_pg","old_version":"1.18.0","new_version":"1.18.2","repository_url":"https://github.com/jeremyevans/sequel_pg"},{"name":"addressable","old_version":"2.8.7","new_version":"2.8.8","repository_url":"https://github.com/sporkmonger/addressable"},{"name":"date","old_version":"3.5.0","new_version":"3.5.1","repository_url":"https://github.com/ruby/date"},{"name":"net-imap","old_version":"0.5.12","new_version":"0.6.2","repository_url":"https://github.com/ruby/net-imap"},{"name":"oauth2","old_version":"2.0.17","new_version":"2.0.18","repository_url":"https://github.com/ruby-oauth/oauth2"},{"name":"omniauth-oauth2","old_version":"1.8.0","new_version":"1.9.0","repository_url":"https://github.com/omniauth/omniauth-oauth2"},{"name":"openapi_parser","old_version":"2.3.0","new_version":"2.3.1","repository_url":"https://github.com/ota42y/openapi_parser"},{"name":"openssl","old_version":"3.3.2","new_version":"4.0.0","repository_url":"https://github.com/ruby/openssl"},{"name":"optparse","old_version":"0.8.0","new_version":"0.8.1","repository_url":"https://github.com/ruby/optparse"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps the production-dependencies group with 18 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [acme-client](https://github.com/unixcharles/acme-client) | `2.0.26` | `2.0.30` |\n| [aws-sdk-ec2](https://github.com/aws/aws-sdk-ruby) | `1.569.0` | `1.587.0` |\n| [aws-sdk-iam](https://github.com/aws/aws-sdk-ruby) | `1.132.0` | `1.137.0` |\n| [bcrypt_pbkdf](https://github.com/net-ssh/bcrypt_pbkdf-ruby) | `1.1.1` | `1.1.2` |\n| [excon](https://github.com/excon/excon) | `1.3.0` | `1.3.2` |\n| [reline](https://github.com/ruby/reline) | `0.6.2` | `0.6.3` |\n| [roda](https://github.com/jeremyevans/roda) | `3.97.0` | `3.99.0` |\n| [rodauth](https://github.com/jeremyevans/rodauth) | `2.41.0` | `2.42.0` |\n| [rqrcode](https://github.com/whomwah/rqrcode) | `3.1.0` | `3.1.1` |\n| [sequel_pg](https://github.com/jeremyevans/sequel_pg) | `1.18.0` | `1.18.2` |\n| [addressable](https://github.com/sporkmonger/addressable) | `2.8.7` | `2.8.8` |\n| [date](https://github.com/ruby/date) | `3.5.0` | `3.5.1` |\n| [net-imap](https://github.com/ruby/net-imap) | `0.5.12` | `0.6.2` |\n| [oauth2](https://github.com/ruby-oauth/oauth2) | `2.0.17` | `2.0.18` |\n| [omniauth-oauth2](https://github.com/omniauth/omniauth-oauth2) | `1.8.0` | `1.9.0` |\n| [openapi_parser](https://github.com/ota42y/openapi_parser) | `2.3.0` | `2.3.1` |\n| [openssl](https://github.com/ruby/openssl) | `3.3.2` | `4.0.0` |\n| [optparse](https://github.com/ruby/optparse) | `0.8.0` | `0.8.1` |\n\n\nUpdates `acme-client` from 2.0.26 to 2.0.30\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/unixcharles/acme-client/blob/master/CHANGELOG.md\"\u003eacme-client's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ccode\u003e2.0.30\u003c/code\u003e\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd a default message to RateLimited error\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThis fix avoid argument error on RateLimited object when stubbing without passing arguments.\u003c/p\u003e\n\u003ch2\u003e\u003ccode\u003e2.0.29\u003c/code\u003e\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eIP support to the CertificateRequest helper\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ccode\u003e2.0.28\u003c/code\u003e\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMake \u003ca href=\"https://datatracker.ietf.org/doc/html/rfc8555/#section-6.6\"\u003eRetry-After\u003c/a\u003e accessible from RateLimited#retry_after exceptions\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ccode\u003e2.0.27\u003c/code\u003e\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Renewal Information (ARI) (RFC 9773)\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/unixcharles/acme-client/commit/dbd7481ff141647094d907cfd9e4598208ba19eb\"\u003e\u003ccode\u003edbd7481\u003c/code\u003e\u003c/a\u003e Bump 2.0.30\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unixcharles/acme-client/commit/d9a9328769a055da0771b33a4a006f20a3371b65\"\u003e\u003ccode\u003ed9a9328\u003c/code\u003e\u003c/a\u003e Add a default message to RateLimited error.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unixcharles/acme-client/commit/1e5d529d17bc35d559627fdafc27b99a6fdf60b9\"\u003e\u003ccode\u003e1e5d529\u003c/code\u003e\u003c/a\u003e bump to 2.0.29\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unixcharles/acme-client/commit/cfc29429faab0e278ee1260ad9375bab6549e984\"\u003e\u003ccode\u003ecfc2942\u003c/code\u003e\u003c/a\u003e Add IP support to the CertificateRequest helper (\u003ca href=\"https://redirect.github.com/unixcharles/acme-client/issues/261\"\u003e#261\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unixcharles/acme-client/commit/559889f21df6e765152687ffd6a973b61f7befa3\"\u003e\u003ccode\u003e559889f\u003c/code\u003e\u003c/a\u003e Bump to 2.0.28\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unixcharles/acme-client/commit/5e15c9f17d21eef85d01190344aa462191a2b486\"\u003e\u003ccode\u003e5e15c9f\u003c/code\u003e\u003c/a\u003e Add retry_after property to RateLimited client error (\u003ca href=\"https://redirect.github.com/unixcharles/acme-client/issues/260\"\u003e#260\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unixcharles/acme-client/commit/ff515cab615d682cbaaada9ac6ab52dc160e4b01\"\u003e\u003ccode\u003eff515ca\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 5 to 6 (\u003ca href=\"https://redirect.github.com/unixcharles/acme-client/issues/259\"\u003e#259\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unixcharles/acme-client/commit/443a45d2266463b91b5f1935c16139b6021f3c99\"\u003e\u003ccode\u003e443a45d\u003c/code\u003e\u003c/a\u003e Bump to 2.0.27\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unixcharles/acme-client/commit/d32e7f92ad6d542d49b3ed8907e349c109013512\"\u003e\u003ccode\u003ed32e7f9\u003c/code\u003e\u003c/a\u003e Add Renewal Information (ARI) support (RFC 9773) (\u003ca href=\"https://redirect.github.com/unixcharles/acme-client/issues/257\"\u003e#257\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/unixcharles/acme-client/compare/v2.0.26...v2.0.30\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `aws-sdk-ec2` from 1.569.0 to 1.587.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/aws/aws-sdk-ruby/blob/version-3/gems/aws-sdk-ec2/CHANGELOG.md\"\u003eaws-sdk-ec2's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.587.0 (2025-12-22)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Adds support for linkedGroupId on the CreatePlacementGroup and DescribePlacementGroups APIs. The linkedGroupId parameter is reserved for future use.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.586.0 (2025-12-18)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - This release adds AvailabilityZoneId support for CreateFleet, ModifyFleet, DescribeFleets, RequestSpotFleet, ModifySpotFleetRequests and DescribeSpotFleetRequests APIs.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.585.0 (2025-12-15)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - EC2 Capacity Manager now supports SpotTotalCount, SpotTotalInterruptions and SpotInterruptionRate metrics for both vCPU and instance units.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.584.0 (2025-12-08)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Amazon EC2 P6-B300 instances provide 8x NVIDIA Blackwell Ultra GPUs with 2.1 TB high bandwidth GPU memory, 6.4 Tbps EFA networking, 300 Gbps dedicated ENA throughput, and 4 TB of system memory. Amazon EC2 C8a instances are powered by 5th Gen AMD EPYC processors with a maximum frequency of 4.5 GHz.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.583.0 (2025-11-25)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - This release adds support to view Network firewall proxy appliances attached to an existing NAT Gateway via DescribeNatGateways API NatGatewayAttachedAppliance structure.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.582.0 (2025-11-21)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - This release adds a new capability to create and manage interruptible EC2 Capacity Reservations.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.581.0 (2025-11-20)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - This release adds support for multiple features including: VPC Encryption Control for the status of traffic flow; S2S VPN BGP Logging; TGW Flexible Costs; IPAM allocation of static IPs from IPAM pools to CF Anycast IP lists used on CloudFront distribution; and EBS Volume Integration with Recycle Bin\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.580.0 (2025-11-19)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - This launch adds support for two new features: Regional NAT Gateway and IPAM Policies. IPAM policies offers customers central control for public IPv4 assignments across AWS services. Regional NAT is a single NAT Gateway that automatically expands across AZs in a VPC to maintain high availability.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.579.0 (2025-11-18)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - AWS Site-to-Site VPN now supports VPN Concentrator, a new feature that enables customers to connect multiple low-bandwidth sites connections through a single attachment, simplifying multi-site connectivity for distributed enterprises.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.578.0 (2025-11-17)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - This release introduces new APIs: DescribeInstanceSqlHaStates, DescribeInstanceSqlHaHistoryStates, EnableInstanceSqlHaStandbyDetections and DisableInstanceSqlHaStandbyDetections on Amazon EC2, allowing customers to enroll and monitor SQL Server licensing fee savings for their SQL HA EC2 instances.\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\u003eSee full diff in \u003ca href=\"https://github.com/aws/aws-sdk-ruby/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `aws-sdk-iam` from 1.132.0 to 1.137.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/aws/aws-sdk-ruby/blob/version-3/gems/aws-sdk-iam/CHANGELOG.md\"\u003eaws-sdk-iam's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.137.0 (2025-12-05)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Adding the ExpirationTime attribute to the delegation request resource.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.136.0 (2025-11-21)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Code Generated Changes, see \u003ccode\u003e./build_tools\u003c/code\u003e or \u003ccode\u003eaws-sdk-core\u003c/code\u003e's CHANGELOG.md for details.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.135.0 (2025-11-19)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Added the EnableOutboundWebIdentityFederation, DisableOutboundWebIdentityFederation and GetOutboundWebIdentityFederationInfo APIs for the IAM outbound federation feature.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.134.0 (2025-11-18)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Added the AssociateDelegationRequest, GetDelegationRequest, AcceptDelegationRequest, RejectDelegatonRequest, ListDelegationRequests, UpdateDelegationRequest, SendDelegationToken and GetHumanReadableSummary APIs for the IAM temporary delegation feature.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.133.0 (2025-11-10)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Added CreateDelegationRequest API, which is not available for general use at this time.\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\u003eSee full diff in \u003ca href=\"https://github.com/aws/aws-sdk-ruby/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `bcrypt_pbkdf` from 1.1.1 to 1.1.2\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/net-ssh/bcrypt_pbkdf-ruby/commit/e52088f9a28e34321a9b359f30d472097f1d7f01\"\u003e\u003ccode\u003ee52088f\u003c/code\u003e\u003c/a\u003e chore: bump version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/net-ssh/bcrypt_pbkdf-ruby/commit/26919975ca7b77425609387955d31784381c3af6\"\u003e\u003ccode\u003e2691997\u003c/code\u003e\u003c/a\u003e added benchmark gem to gemspec\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/net-ssh/bcrypt_pbkdf-ruby/commit/fc2498597f6f556979ccc8ee58acce10e39ff09a\"\u003e\u003ccode\u003efc24985\u003c/code\u003e\u003c/a\u003e chore: bump version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/net-ssh/bcrypt_pbkdf-ruby/commit/25919bbc4a148ba2031e6c52ec777ded97560df4\"\u003e\u003ccode\u003e25919bb\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/net-ssh/bcrypt_pbkdf-ruby/issues/26\"\u003e#26\u003c/a\u003e from brendon/Ruby-3.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/net-ssh/bcrypt_pbkdf-ruby/commit/77d005a0be09f848cf8838d09e611290b027a791\"\u003e\u003ccode\u003e77d005a\u003c/code\u003e\u003c/a\u003e Add Ruby 3.4 support\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/net-ssh/bcrypt_pbkdf-ruby/compare/v1.1.1...v1.1.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `excon` from 1.3.0 to 1.3.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/excon/excon/blob/master/changelog.txt\"\u003eexcon's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e1.3.2 2025-12-03\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eupdate bundled certs\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e1.3.1 2025-11-05\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eupdate bundled certs\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/excon/excon/commit/e94efe6637d9d99a66e8a39b52c0131c706432b7\"\u003e\u003ccode\u003ee94efe6\u003c/code\u003e\u003c/a\u003e v1.3.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/excon/excon/commit/7e858751ff850bafc4000fcca4f3f331c70c07bc\"\u003e\u003ccode\u003e7e85875\u003c/code\u003e\u003c/a\u003e update bundled certs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/excon/excon/commit/f076a7657782c518cbff2c1683309c2c106e6275\"\u003e\u003ccode\u003ef076a76\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 5 to 6 (\u003ca href=\"https://redirect.github.com/excon/excon/issues/893\"\u003e#893\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/excon/excon/commit/fbe4748d49ac87504ee8d3e7352da0de3485144c\"\u003e\u003ccode\u003efbe4748\u003c/code\u003e\u003c/a\u003e adjust ractor usage for Ruby 3.5+\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/excon/excon/commit/7900bec2e4f4916b0d8994e5e7f3b57ca10ddb68\"\u003e\u003ccode\u003e7900bec\u003c/code\u003e\u003c/a\u003e v1.3.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/excon/excon/commit/a18079c2a55780951d61da712d68554217106ede\"\u003e\u003ccode\u003ea18079c\u003c/code\u003e\u003c/a\u003e update bundled certs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/excon/excon/commit/60ac6aa966172e6bd20264366e213943d891329c\"\u003e\u003ccode\u003e60ac6aa\u003c/code\u003e\u003c/a\u003e update bundled certs\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/excon/excon/compare/v1.3.0...v1.3.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `reline` from 0.6.2 to 0.6.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/reline/releases\"\u003ereline's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.6.3\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix CSI pattern regexp to accept parameter bytes and intermediate bytes by \u003ca href=\"https://github.com/tompng\"\u003e\u003ccode\u003e@​tompng\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/reline/pull/848\"\u003eruby/reline#848\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse key symbol names instead of hardcoded C-r C-s C-h C-? in reverse/forward i-search by \u003ca href=\"https://github.com/tompng\"\u003e\u003ccode\u003e@​tompng\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/reline/pull/855\"\u003eruby/reline#855\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🛠 Other Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBump actions/checkout from 4 to 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/ruby/reline/pull/846\"\u003eruby/reline#846\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump step-security/harden-runner from 2.12.2 to 2.13.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/ruby/reline/pull/844\"\u003eruby/reline#844\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/upload-pages-artifact 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/ruby/reline/pull/849\"\u003eruby/reline#849\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump step-security/harden-runner from 2.13.0 to 2.13.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/ruby/reline/pull/850\"\u003eruby/reline#850\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse test-unit-ruby-core by \u003ca href=\"https://github.com/tompng\"\u003e\u003ccode\u003e@​tompng\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/reline/pull/852\"\u003eruby/reline#852\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove retrieve_keybuffer by \u003ca href=\"https://github.com/tompng\"\u003e\u003ccode\u003e@​tompng\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/reline/pull/851\"\u003eruby/reline#851\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump rubygems/release-gem from 1.1.1 to 1.1.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/ruby/reline/pull/857\"\u003eruby/reline#857\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse bundler/setup instead of Bunlder.require in multiline_repl by \u003ca href=\"https://github.com/tompng\"\u003e\u003ccode\u003e@​tompng\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/reline/pull/860\"\u003eruby/reline#860\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump version to 0.6.3 by \u003ca href=\"https://github.com/ima1zumi\"\u003e\u003ccode\u003e@​ima1zumi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/reline/pull/858\"\u003eruby/reline#858\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ruby/reline/compare/v0.6.2...v0.6.3\"\u003ehttps://github.com/ruby/reline/compare/v0.6.2...v0.6.3\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/ruby/reline/commit/55390d5c0cfb8916b170b9146428c8de98ff7dc8\"\u003e\u003ccode\u003e55390d5\u003c/code\u003e\u003c/a\u003e Bump up to 0.6.3 (\u003ca href=\"https://redirect.github.com/ruby/reline/issues/858\"\u003e#858\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/reline/commit/07255abec99bb6daaf87cc13c8f35e205ace9bbb\"\u003e\u003ccode\u003e07255ab\u003c/code\u003e\u003c/a\u003e Use bundler/setup instead of Bunlder.require in multiline_repl (\u003ca href=\"https://redirect.github.com/ruby/reline/issues/860\"\u003e#860\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/reline/commit/7eef150d6e3c7e85836b1a6da40a15f06a3c487e\"\u003e\u003ccode\u003e7eef150\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/reline/issues/857\"\u003e#857\u003c/a\u003e from ruby/dependabot/github_actions/rubygems/release-...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/reline/commit/63dfa17da92da947082d9d6e8336f3f5cd69b974\"\u003e\u003ccode\u003e63dfa17\u003c/code\u003e\u003c/a\u003e Bump rubygems/release-gem from 1.1.1 to 1.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/reline/commit/1d1e8081f20d4603b3342ee01ab63303304f69c0\"\u003e\u003ccode\u003e1d1e808\u003c/code\u003e\u003c/a\u003e Use key symbol names instead of hardcoded C-r C-s C-h C-? in reverse/forward ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/reline/commit/433a93076eee3bc30bb9d6c43df355a414bfbfdd\"\u003e\u003ccode\u003e433a930\u003c/code\u003e\u003c/a\u003e Fix CSI pattern regexp to accept parameter bytes and intermediate bytes (\u003ca href=\"https://redirect.github.com/ruby/reline/issues/848\"\u003e#848\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/reline/commit/5d5c1ff0cc0662b8a6285b6a9b56283bca2e5e5d\"\u003e\u003ccode\u003e5d5c1ff\u003c/code\u003e\u003c/a\u003e Remove retrieve_keybuffer (\u003ca href=\"https://redirect.github.com/ruby/reline/issues/851\"\u003e#851\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/reline/commit/199c26a2c07d83c9281cc8b97892d60b595173eb\"\u003e\u003ccode\u003e199c26a\u003c/code\u003e\u003c/a\u003e Use test-unit-ruby-core (\u003ca href=\"https://redirect.github.com/ruby/reline/issues/852\"\u003e#852\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/reline/commit/19aa19f1bfa2b738603f2c65de81a15b19b14594\"\u003e\u003ccode\u003e19aa19f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/reline/issues/850\"\u003e#850\u003c/a\u003e from ruby/dependabot/github_actions/step-security/har...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/reline/commit/9300d4de899868ea554c1a522f37a5d3eee94926\"\u003e\u003ccode\u003e9300d4d\u003c/code\u003e\u003c/a\u003e Bump step-security/harden-runner from 2.13.0 to 2.13.1\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby/reline/compare/v0.6.2...v0.6.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `roda` from 3.97.0 to 3.99.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jeremyevans/roda/blob/master/CHANGELOG\"\u003eroda's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e=== 3.99.0 (2025-12-12)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for set matchers by default, as Set will be a core class in Ruby 4 (jeremyevans)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e=== 3.98.0 (2025-11-13)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for the :env_key option to the sessions plugin (jeremyevans) (\u003ca href=\"https://redirect.github.com/jeremyevans/roda/issues/403\"\u003e#403\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/jeremyevans/roda/commit/81b22346444027538f53a59d29f73b4f716598fd\"\u003e\u003ccode\u003e81b2234\u003c/code\u003e\u003c/a\u003e Bump version to 3.99.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jeremyevans/roda/commit/180d499a9178f31d29b669c7591e5b3dd8f4e1f1\"\u003e\u003ccode\u003e180d499\u003c/code\u003e\u003c/a\u003e Update run_require_slash plugin docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jeremyevans/roda/commit/8f190dfd7484ab0f7ab1e07d41b800b738c5987e\"\u003e\u003ccode\u003e8f190df\u003c/code\u003e\u003c/a\u003e Update website home page\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jeremyevans/roda/commit/ca50e40ed039b64c821609333a8290c0512b1327\"\u003e\u003ccode\u003eca50e40\u003c/code\u003e\u003c/a\u003e Add Understandability as a goal\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jeremyevans/roda/commit/578ca9a106790c87f799b6b6e337099d5c8d99b1\"\u003e\u003ccode\u003e578ca9a\u003c/code\u003e\u003c/a\u003e Add support for set matchers by default, as Set will be a core class in Ruby 4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jeremyevans/roda/commit/8fc5b77fcd0d49625bcc77007622fe94a0f2afc2\"\u003e\u003ccode\u003e8fc5b77\u003c/code\u003e\u003c/a\u003e Bump version to 3.98.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jeremyevans/roda/commit/5b1a58ec704add896d1e8442c1e4bb80a0c5d85e\"\u003e\u003ccode\u003e5b1a58e\u003c/code\u003e\u003c/a\u003e Add support for the :env_key option to the sessions plugin\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/jeremyevans/roda/compare/3.97.0...3.99.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rodauth` from 2.41.0 to 2.42.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jeremyevans/rodauth/blob/master/CHANGELOG\"\u003erodauth's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e=== 2.42.0 (2025-12-18)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid mixed string/symbol keys in JSON when using the jwt_refresh feature (jeremyevans)\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/jeremyevans/rodauth/commit/8c07562f8c481b514dcbd42cc0cc5827699f8daf\"\u003e\u003ccode\u003e8c07562\u003c/code\u003e\u003c/a\u003e Bump version to 2.42.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jeremyevans/rodauth/commit/3724d1cc7b9e9cdb386d183f74197af6fad672c5\"\u003e\u003ccode\u003e3724d1c\u003c/code\u003e\u003c/a\u003e Avoid mixed string/symbol keys in JSON in a few specs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jeremyevans/rodauth/commit/e067e0bce6189fd1dce5c4eccddf593ab417ae4d\"\u003e\u003ccode\u003ee067e0b\u003c/code\u003e\u003c/a\u003e Avoid mixed string/symbol keys in JSON when using the jwt_refresh feature\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/jeremyevans/rodauth/compare/2.41.0...2.42.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rqrcode` from 3.1.0 to 3.1.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/whomwah/rqrcode/releases\"\u003erqrcode's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.1.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRelease 3.1.0 mergeback by \u003ca href=\"https://github.com/whomwah\"\u003e\u003ccode\u003e@​whomwah\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/whomwah/rqrcode/pull/158\"\u003ewhomwah/rqrcode#158\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate required_ruby_version to allow Ruby 4.0 by \u003ca href=\"https://github.com/k0kubun\"\u003e\u003ccode\u003e@​k0kubun\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/whomwah/rqrcode/pull/160\"\u003ewhomwah/rqrcode#160\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReleases/v3.1.1 by \u003ca href=\"https://github.com/whomwah\"\u003e\u003ccode\u003e@​whomwah\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/whomwah/rqrcode/pull/161\"\u003ewhomwah/rqrcode#161\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/k0kubun\"\u003e\u003ccode\u003e@​k0kubun\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/whomwah/rqrcode/pull/160\"\u003ewhomwah/rqrcode#160\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/whomwah/rqrcode/compare/v3.1.0...v3.1.1\"\u003ehttps://github.com/whomwah/rqrcode/compare/v3.1.0...v3.1.1\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/whomwah/rqrcode/blob/main/CHANGELOG.md\"\u003erqrcode's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[3.1.1] - 2025-11-25\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate required_ruby_version to support \u0026gt;= rather than ~\u0026gt; ready for Ruby 4\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/whomwah/rqrcode/commit/30cfc62415a2e48b3089ab22ae11ab96e64e2a52\"\u003e\u003ccode\u003e30cfc62\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/whomwah/rqrcode/issues/161\"\u003e#161\u003c/a\u003e from whomwah/releases/v3.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/whomwah/rqrcode/commit/b6a0d1ae92ff2a2cc98c6caa4572ce2e88004515\"\u003e\u003ccode\u003eb6a0d1a\u003c/code\u003e\u003c/a\u003e release: Bump version to 3.1.1 and update changelog for release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/whomwah/rqrcode/commit/f9fa33704951158a38b3cf04311e295d3a0e947d\"\u003e\u003ccode\u003ef9fa337\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/whomwah/rqrcode/issues/160\"\u003e#160\u003c/a\u003e from k0kubun/ruby-4-0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/whomwah/rqrcode/commit/12a47520383c1d61d627a5107ba72fb80518ae7e\"\u003e\u003ccode\u003e12a4752\u003c/code\u003e\u003c/a\u003e Update required_ruby_version to allow Ruby 4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/whomwah/rqrcode/commit/f57261619716bb1d0fc9658c45948f8740faed68\"\u003e\u003ccode\u003ef572616\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/whomwah/rqrcode/issues/158\"\u003e#158\u003c/a\u003e from whomwah/release\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/whomwah/rqrcode/compare/v3.1.0...v3.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sequel_pg` from 1.18.0 to 1.18.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jeremyevans/sequel_pg/blob/master/CHANGELOG\"\u003esequel_pg's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e=== 1.18.2 (2025-12-18)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid bogus warnings about the implicit block parameter in Ruby 3.3 (jeremyevans) (\u003ca href=\"https://redirect.github.com/jeremyevans/sequel_pg/issues/64\"\u003e#64\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e=== 1.18.1 (2025-12-16)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix truncated results for map/select_map/select_order_map/as_hash/to_hash_groups/select_hash/select_hash_groups/as_set/select_set for datasets using use_cursor (jeremyevans) (\u003ca href=\"https://redirect.github.com/jeremyevans/sequel_pg/issues/62\"\u003e#62\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAvoid compilation warnings checking for HAVE_* definitions (jeremyevans)\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/jeremyevans/sequel_pg/commit/de99106f589629cb3813371a8d534a4d2a811298\"\u003e\u003ccode\u003ede99106\u003c/code\u003e\u003c/a\u003e Bump version to 1.18.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jeremyevans/sequel_pg/commit/72bf00a5a6c655aa6451d2639600be02a5ab32d4\"\u003e\u003ccode\u003e72bf00a\u003c/code\u003e\u003c/a\u003e Avoid bogus warnings about the implicit block parameter in Ruby 3.3 (Fixes \u003ca href=\"https://redirect.github.com/jeremyevans/sequel_pg/issues/64\"\u003e#64\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jeremyevans/sequel_pg/commit/556edaaa9c2d06510cd51885d46666b6e2c87d8d\"\u003e\u003ccode\u003e556edaa\u003c/code\u003e\u003c/a\u003e Bump version to 1.18.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jeremyevans/sequel_pg/commit/82f812e85135924a2ec1410d76f53037514698ef\"\u003e\u003ccode\u003e82f812e\u003c/code\u003e\u003c/a\u003e Fix truncated results for map/select_map/select_order_map/as_hash/to_hash_gro...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jeremyevans/sequel_pg/commit/998030d04be6b9439d8783c94da664fc68dc4a4b\"\u003e\u003ccode\u003e998030d\u003c/code\u003e\u003c/a\u003e Avoid compilation warnings checking for HAVE_* definitions\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/jeremyevans/sequel_pg/compare/1.18.0...1.18.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `addressable` from 2.8.7 to 2.8.8\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sporkmonger/addressable/blob/main/CHANGELOG.md\"\u003eaddressable's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eAddressable 2.8.8 \u003c!-- raw HTML omitted --\u003e\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eReplace the \u003ccode\u003eunicode.data\u003c/code\u003e blob by a ruby constant (\u003ca href=\"https://redirect.github.com/sporkmonger/addressable/issues/561\"\u003e#561\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow \u003ccode\u003epublic_suffix\u003c/code\u003e 7 (\u003ca href=\"https://redirect.github.com/sporkmonger/addressable/issues/558\"\u003e#558\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/sporkmonger/addressable/issues/561\"\u003e#561\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/sporkmonger/addressable/pull/561\"\u003esporkmonger/addressable#561\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/sporkmonger/addressable/issues/558\"\u003e#558\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/sporkmonger/addressable/pull/558\"\u003esporkmonger/addressable#558\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/sporkmonger/addressable/commit/111af8e8d3260dbd5b10a2dfec42a4e129d18705\"\u003e\u003ccode\u003e111af8e\u003c/code\u003e\u003c/a\u003e Update version, gemspec, and CHANGELOG for 2.8.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sporkmonger/addressable/commit/d923a5e9a7b20ed57199e9a37366446c7f8fde4f\"\u003e\u003ccode\u003ed923a5e\u003c/code\u003e\u003c/a\u003e Fix heading levels in README and Changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sporkmonger/addressable/commit/88f14727fffea367e3801e05f72d17f9079281a9\"\u003e\u003ccode\u003e88f1472\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 5 to 6 (\u003ca href=\"https://redirect.github.com/sporkmonger/addressable/issues/560\"\u003e#560\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sporkmonger/addressable/commit/22528139b10c9697a4790f334d9323ecc02c59fe\"\u003e\u003ccode\u003e2252813\u003c/code\u003e\u003c/a\u003e Replace the \u003ccode\u003eunicode.data\u003c/code\u003e blob by a ruby constant (\u003ca href=\"https://redirect.github.com/sporkmonger/addressable/issues/561\"\u003e#561\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sporkmonger/addressable/commit/af2d3f6e70b9551f94124e2dbab0d739127a8234\"\u003e\u003ccode\u003eaf2d3f6\u003c/code\u003e\u003c/a\u003e Allow \u003ccode\u003epublic_suffix\u003c/code\u003e v7 (\u003ca href=\"https://redirect.github.com/sporkmonger/addressable/issues/558\"\u003e#558\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sporkmonger/addressable/commit/aaa53fe23417b0bb5ce198ed081a70e70f240260\"\u003e\u003ccode\u003eaaa53fe\u003c/code\u003e\u003c/a\u003e CI: restore older rubies for \u003ccode\u003epublic_suffix\u003c/code\u003e jobs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sporkmonger/addressable/commit/49fc47477dc39f816bee25419c687e9a1f0282ef\"\u003e\u003ccode\u003e49fc474\u003c/code\u003e\u003c/a\u003e CI: fix \u003ccode\u003eprofile:template_match_memory\u003c/code\u003e task for Ruby \u0026gt;2.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sporkmonger/addressable/commit/c0f98d5f18e428a601b55f3740546293a18fc371\"\u003e\u003ccode\u003ec0f98d5\u003c/code\u003e\u003c/a\u003e CI: use latest stable ruby outside the version matrix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sporkmonger/addressable/commit/7cb10aae0353bc3c280aecaf3f62645b62c1ccce\"\u003e\u003ccode\u003e7cb10aa\u003c/code\u003e\u003c/a\u003e CI: test with modern JVM Rubies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sporkmonger/addressable/commit/dd1adcfc8368ab188526f7160c6e74fe2ef4cafa\"\u003e\u003ccode\u003edd1adcf\u003c/code\u003e\u003c/a\u003e CI: less \u003ccode\u003eubuntu-22.04\u003c/code\u003e, more \u003ccode\u003eubuntu-24.04\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sporkmonger/addressable/compare/addressable-2.8.7...addressable-2.8.8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `aws-partitions` from 1.1196.0 to 1.1200.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/aws/aws-sdk-ruby/blob/version-3/gems/aws-partitions/CHANGELOG.md\"\u003eaws-partitions's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.1200.0 (2025-12-30)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Updated the partitions source data the determines the AWS service regions and endpoints.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.1199.0 (2025-12-26)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Updated the partitions source data the determines the AWS service regions and endpoints.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.1198.0 (2025-12-19)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Added support for enumerating regions for  \u003ccode\u003eAws::Wickr\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.1197.0 (2025-12-18)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Updated the partitions source data the determines the AWS service regions and endpoints.\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\u003eSee full diff in \u003ca href=\"https://github.com/aws/aws-sdk-ruby/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `aws-sdk-core` from 3.240.0 to 3.241.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/aws/aws-sdk-ruby/blob/version-3/gems/aws-sdk-core/CHANGELOG.md\"\u003eaws-sdk-core's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.241.0 (2026-01-05)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Improved memory efficiency when calculating request checksums.\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\u003eSee full diff in \u003ca href=\"https://github.com/aws/aws-sdk-ruby/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `date` from 3.5.0 to 3.5.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/date/releases\"\u003edate's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.5.1\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRemove archaic conditions by \u003ca href=\"https://github.com/nobu\"\u003e\u003ccode\u003e@​nobu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/date/pull/144\"\u003eruby/date#144\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[DOC] Remove the name from same file references by \u003ca href=\"https://github.com/nobu\"\u003e\u003ccode\u003e@​nobu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/date/pull/147\"\u003eruby/date#147\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCall rb_gc_register_mark_object after object allocation by \u003ca href=\"https://github.com/peterzhu2118\"\u003e\u003ccode\u003e@​peterzhu2118\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/date/pull/149\"\u003eruby/date#149\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/peterzhu2118\"\u003e\u003ccode\u003e@​peterzhu2118\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/date/pull/149\"\u003eruby/date#149\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ruby/date/compare/v3.5.0...v3.5.1\"\u003ehttps://github.com/ruby/date/compare/v3.5.0...v3.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/ruby/date/commit/2b5442d85a97859a680eb4be20c6e1a28f3af282\"\u003e\u003ccode\u003e2b5442d\u003c/code\u003e\u003c/a\u003e v3.5.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/date/commit/2cd5033b42f1bdac8c2a762b854a6c1db71310d5\"\u003e\u003ccode\u003e2cd5033\u003c/code\u003e\u003c/a\u003e Reorganize page documentations (\u003ca href=\"https://redirect.github.com/ruby/date/issues/15154\"\u003e#15154\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/date/commit/b8d37ac27c9d7b2e5401c1cede0d260d7176d824\"\u003e\u003ccode\u003eb8d37ac\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/date/issues/150\"\u003e#150\u003c/a\u003e from ruby/dependabot/github_actions/step-security/har...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/date/commit/2ecd780a4761e1ef31306bf495d11b93bc0c2b1d\"\u003e\u003ccode\u003e2ecd780\u003c/code\u003e\u003c/a\u003e Bump step-security/harden-runner from 2.13.2 to 2.13.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/date/commit/184aac08653a9e9ef139ebe4c3677ff82bf3df46\"\u003e\u003ccode\u003e184aac0\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/date/issues/149\"\u003e#149\u003c/a\u003e from ruby/pz-init-register-mark-obj\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/date/commit/cbec5948e013e0f6cf7cba9a7a582eb0a92a181d\"\u003e\u003ccode\u003ecbec594\u003c/code\u003e\u003c/a\u003e Call rb_gc_register_mark_object after object allocation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/date/commit/de80b014b3ae0a883e81f988f859795222583c08\"\u003e\u003ccode\u003ede80b01\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/date/issues/148\"\u003e#148\u003c/a\u003e from ruby/dependabot/github_actions/actions/checkout-6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/date/commit/6de721a3db73fcce483782f43a5b4914f91aebea\"\u003e\u003ccode\u003e6de721a\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 5 to 6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/date/commit/e41082e068bbbe2f5c65285695c93cda794de059\"\u003e\u003ccode\u003ee41082e\u003c/code\u003e\u003c/a\u003e [DOC] Remove the name from same file references\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/date/commit/cd1c0ab38ec5b5f674664a89eac7402bccf17189\"\u003e\u003ccode\u003ecd1c0ab\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/date/issues/146\"\u003e#146\u003c/a\u003e from ruby/dependabot/github_actions/step-security/har...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby/date/compare/v3.5.0...v3.5.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `faraday-net_http` from 3.4.1 to 3.4.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/lostisland/faraday-net_http/releases\"\u003efaraday-net_http's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.4.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUse more conservative net-http version constraint by \u003ca href=\"https://github.com/RDeckard\"\u003e\u003ccode\u003e@​RDeckard\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lostisland/faraday-net_http/pull/53\"\u003elostisland/faraday-net_http#53\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/RDeckard\"\u003e\u003ccode\u003e@​RDeckard\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/lostisland/faraday-net_http/pull/53\"\u003elostisland/faraday-net_http#53\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/lostisland/faraday-net_http/compare/v3.4.1...v3.4.2\"\u003ehttps://github.com/lostisland/faraday-net_http/compare/v3.4.1...v3.4.2\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/lostisland/faraday-net_http/commit/821a73a0f1fb2fd109b3ef58312b6ee10b4f2944\"\u003e\u003ccode\u003e821a73a\u003c/code\u003e\u003c/a\u003e Update ci.yml to allow manual runs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lostisland/faraday-net_http/commit/d71af6b6da15597311c59c90a02a4fe27013fb4a\"\u003e\u003ccode\u003ed71af6b\u003c/code\u003e\u003c/a\u003e Version bump to 3.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lostisland/faraday-net_http/commit/9c90d68d674de4f1a0d24f13cf05169816773840\"\u003e\u003ccode\u003e9c90d68\u003c/code\u003e\u003c/a\u003e Use more conservative net-http version constraint (\u003ca href=\"https://redirect.github.com/lostisland/faraday-net_http/issues/53\"\u003e#53\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lostisland/faraday-net_http/commit/2047b9ab36a25b595b9f444e3b12d7661c2fa818\"\u003e\u003ccode\u003e2047b9a\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 4 to 5 (\u003ca href=\"https://redirect.github.com/lostisland/faraday-net_http/issues/51\"\u003e#51\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/lostisland/faraday-net_http/compare/v3.4.1...v3.4.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `faraday-retry` from 2.3.2 to 2.4.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/lostisland/faraday-retry/releases\"\u003efaraday-retry's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.4.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump actions/checkout from 4 to 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/lostisland/faraday-retry/pull/49\"\u003elostisland/faraday-retry#49\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/lostisland/faraday-retry/pull/50\"\u003elostisland/faraday-retry#50\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRelax \u003ccode\u003erequired_ruby_version\u003c/code\u003e to support Ruby 4.0 by \u003ca href=\"https://github.com/taketo1113\"\u003e\u003ccode\u003e@​taketo1113\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lostisland/faraday-retry/pull/51\"\u003elostisland/faraday-retry#51\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/taketo1113\"\u003e\u003ccode\u003e@​taketo1113\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/lostisland/faraday-retry/pull/51\"\u003elostisland/faraday-retry#51\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/lostisland/faraday-retry/compare/v2.3.2...v2.4.0\"\u003ehttps://github.com/lostisland/faraday-retry/compare/v2.3.2...v2.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/lostisland/faraday-retry/commit/a422231c8dbd6f3667b99bcb04f4927d33fab2a5\"\u003e\u003ccode\u003ea422231\u003c/code\u003e\u003c/a\u003e Version bump to 2.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lostisland/faraday-retry/commit/8fa8cc2fac5c168229ad2f5670e910d8fbf0ec01\"\u003e\u003ccode\u003e8fa8cc2\u003c/code\u003e\u003c/a\u003e Relax \u003ccode\u003erequired_ruby_version\u003c/code\u003e to support Ruby 4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lostisland/faraday-retry/commit/611150171d8075cdd3e61662c16847dac1438d7e\"\u003e\u003ccode\u003e6111501\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 5 to 6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lostisland/faraday-retry/commit/59688458e818b65d09b3ada441c1cfb63fac6ce9\"\u003e\u003ccode\u003e5968845\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 4 to 5\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/lostisland/faraday-retry/compare/v2.3.2...v2.4.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io-console` from 0.8.1 to 0.8.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/io-console/releases\"\u003eio-console's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.8.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump step-security/harden-runner from 2.12.2 to 2.13.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/ruby/io-console/pull/98\"\u003eruby/io-console#98\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/checkout from 4 to 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/ruby/io-console/pull/99\"\u003eruby/io-console#99\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump step-security/harden-runner from 2.13.0 to 2.13.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/ruby/io-console/pull/101\"\u003eruby/io-console#101\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd a workflow to sync commits to ruby/ruby by \u003ca href=\"https://github.com/k0kubun\"\u003e\u003ccode\u003e@​k0kubun\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/io-console/pull/102\"\u003eruby/io-console#102\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReorder dispatching by host_os by \u003ca href=\"https://github.com/nobu\"\u003e\u003ccode\u003e@​nobu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/io-console/pull/103\"\u003eruby/io-console#103\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/upload-artifact from 4 to 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/ruby/io-console/pull/104\"\u003eruby/io-console#104\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump rubygems/release-gem from 1.1.1 to 1.1.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/ruby/io-console/pull/106\"\u003eruby/io-console#106\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump step-security/harden-runner from 2.13.1 to 2.13.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/ruby/io-console/pull/108\"\u003eruby/io-console#108\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/ruby/io-console/pull/109\"\u003eruby/io-console#109\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump step-security/harden-runner from 2.13.2 to 2.13.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/ruby/io-console/pull/110\"\u003eruby/io-console#110\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix set winsize on windows by \u003ca href=\"https://github.com/YO4\"\u003e\u003ccode\u003e@​YO4\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/io-console/pull/111\"\u003eruby/io-console#111\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/YO4\"\u003e\u003ccode\u003e@​YO4\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/io-console/pull/111\"\u003eruby/io-console#111\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ruby/io-console/compare/v0.8.1...v0.8.2\"\u003ehttps://github.com/ruby/io-console/compare/v0.8.1...v0.8.2\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/ruby/io-console/commit/fbc7e1f31f1fc2cf21baf96a845bfdbc88e47f95\"\u003e\u003ccode\u003efbc7e1f\u003c/code\u003e\u003c/a\u003e bump up to 0.8.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/io-console/commit/04fbf93609312bab0db6b6f35643f15d2af96a4e\"\u003e\u003ccode\u003e04fbf93\u003c/code\u003e\u003c/a\u003e [ci skip] wip\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/io-console/commit/379e7c17ed27af9e7ec90f5994a566b9770f6777\"\u003e\u003ccode\u003e379e7c1\u003c/code\u003e\u003c/a\u003e strip trailing spaces [ci skip]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/io-console/commit/ae337858205871ba252c934e8d095340bfe19787\"\u003e\u003ccode\u003eae33785\u003c/code\u003e\u003c/a\u003e console_cursor_pos respects scroll position on windows\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/io-console/commit/d2a6c69697c95411faf5dd69731a9d3deb056103\"\u003e\u003ccode\u003ed2a6c69\u003c/code\u003e\u003c/a\u003e console_goto respects scroll position on windows\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/io-console/commit/817aa65ea3feab358d50f7dfb70087523dd84314\"\u003e\u003ccode\u003e817aa65\u003c/code\u003e\u003c/a\u003e avoid jumping scroll position when winsize changed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/io-console/commit/df444b93f1e74322bf6d3a7c8fbbfd794c78c1e3\"\u003e\u003ccode\u003edf444b9\u003c/code\u003e\u003c/a\u003e Remove useless rb_check_arity() call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/io-console/commit/78858b0324a2abd7c6bdb8f8c4e9b92cf60370e3\"\u003e\u003ccode\u003e78858b0\u003c/code\u003e\u003c/a\u003e Bump step-security/harden-runner from 2.13.2 to 2.13.3 (\u003ca href=\"https://redirect.github.com/ruby/io-console/issues/110\"\u003e#110\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/io-console/commit/ba83488a9fe222d4cd55d8f3a321aefe25b0cdc8\"\u003e\u003ccode\u003eba83488\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 5 to 6 (\u003ca href=\"https://redirect.github.com/ruby/io-console/issues/109\"\u003e#109\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/io-console/commit/961e4a535811fd917847e60eba77ba6f9ae58c68\"\u003e\u003ccode\u003e961e4a5\u003c/code\u003e\u003c/a\u003e Bump step-security/harden-runner from 2.13.1 to 2.13.2 (\u003ca href=\"https://redirect.github.com/ruby/io-console/issues/108\"\u003e#108\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby/io-console/compare/v0.8.1...v0.8.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `net-http` from 0.7.0 to 0.9.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/net-http/releases\"\u003enet-http's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.9.1\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRaise \u003ccode\u003eNet::OpenTimeout\u003c/code\u003e when \u003ccode\u003eTCPSocket.open\u003c/code\u003e raises \u003ccode\u003eIO::TimeoutError\u003c/code\u003e. by \u003ca href=\"https://github.com/shioimm\"\u003e\u003ccode\u003e@​shioimm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-http/pull/263\"\u003eruby/net-http#263\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFreeze more constants for Ractor compatibility by \u003ca href=\"https://github.com/rhenium\"\u003e\u003ccode\u003e@​rhenium\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-http/pull/256\"\u003eruby/net-http#256\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/shioimm\"\u003e\u003ccode\u003e@​shioimm\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/net-http/pull/263\"\u003eruby/net-http#263\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ruby/net-http/compare/v0.9.0...v0.9.1\"\u003ehttps://github.com/ruby/net-http/compare/v0.9.0...v0.9.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.9.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eopen: Never call Timeout.timeout in rescue clause by \u003ca href=\"https://github.com/osyoyu\"\u003e\u003ccode\u003e@​osyoyu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-http/pull/250\"\u003eruby/net-http#250\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed by \u003ccode\u003emisspell -w -error -source=text\u003c/code\u003e by \u003ca href=\"https://github.com/hsbt\"\u003e\u003ccode\u003e@​hsbt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-http/pull/254\"\u003eruby/net-http#254\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCheck whether TCPSocket#initialize supports open_timeout once and without exceptions by \u003ca href=\"https://github.com/eregon\"\u003e\u003ccode\u003e@​eregon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-http/pull/252\"\u003eruby/net-http#252\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRefactor HTTPS tests by \u003ca href=\"https://github.com/rhenium\"\u003e\u003ccode\u003e@​rhenium\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-http/pull/255\"\u003eruby/net-http#255\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/eregon\"\u003e\u003ccode\u003e@​eregon\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/net-http/pull/252\"\u003eruby/net-http#252\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ruby/net-http/compare/v0.8.0...v0.9.0\"\u003ehttps://github.com/ruby/net-http/compare/v0.8.0...v0.9.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.8.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eBreaking changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMinimum Ruby version raised to 2.7 along with the raise of minimum \u003ccode\u003euri\u003c/code\u003e gem version (0.11.1)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e[DOC] Fix too stopped documentations by \u003ca href=\"https://github.com/nobu\"\u003e\u003ccode\u003e@​nobu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-http/pull/244\"\u003eruby/net-http#244\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReplace Timeout.timeout with TCPSocket.open(open_timeout:) when available by \u003ca href=\"https://github.com/osyoyu\"\u003e\u003ccode\u003e@​osyoyu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-http/pull/224\"\u003eruby/net-http#224\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReplace Ruby 3.5 with Ruby 4.0 by \u003ca href=\"https://github.com/yahonda\"\u003e\u003ccode\u003e@​yahonda\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-http/pull/246\"\u003eruby/net-http#246\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix handling of IPv6 literal hosts in \u003ccode\u003eNet::HTTPGenericRequest\u003c/code\u003e by \u003ca href=\"https://github.com/taketo1113\"\u003e\u003ccode\u003e@​taketo1113\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-http/pull/237\"\u003eruby/net-http#237\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003eThis fixes compatibility issue with \u003ccode\u003euri\u003c/code\u003e gem 1.1.0+, which made relevant validations strict.\u003c/li\u003e\n\u003c/ul\u003e\n\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/yahonda\"\u003e\u003ccode\u003e@​yahonda\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/net-http/pull/246\"\u003eruby/net-http#246\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/taketo1113\"\u003e\u003ccode\u003e@​taketo1113\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/net-http/pull/237\"\u003eruby/net-http#237\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ruby/net-http/compare/v0.7.0...v0.8.0\"\u003ehttps://github.com/ruby/net-http/compare/v0.7.0...v0.8.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/ruby/net-http/commit/8cee86e939f69bd0906864e7eb740bb471a205bd\"\u003e\u003ccode\u003e8cee86e\u003c/code\u003e\u003c/a\u003e v0.9.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-http/commit/76978323d43cf96e057a16adfd72c9d4e6373279\"\u003e\u003ccode\u003e7697832\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/net-http/issues/256\"\u003e#256\u003c/a\u003e from rhenium/ky/freeze-more-constants\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-http/commit/ce9ac4765a891589bc5e524d2b877dec3c6d60fd\"\u003e\u003ccode\u003ece9ac47\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/net-http/issues/263\"\u003e#263\u003c/a\u003e from shioimm/catch-ETIMEDOUT-or-IOTimeoutError\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-http/commit/f64109e1cff0b640ff6eba1bff441c229d8a2012\"\u003e\u003ccode\u003ef64109e\u003c/code\u003e\u003c/a\u003e Raise \u003ccode\u003eNet::OpenTimeout\u003c/code\u003e when \u003ccode\u003eTCPSocket.open\u003c/code\u003e raises \u003ccode\u003eIO::TimeoutError\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-http/commit/3ccf0c8e6add12f2d99062e5a1575d63ced36c1a\"\u003e\u003ccode\u003e3ccf0c8\u003c/code\u003e\u003c/a\u003e v0.9.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-http/commit/e8e37bbdfbb5684aa6a86abdbb25b3ebf3c27be4\"\u003e\u003ccode\u003ee8e37bb\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/net-http/issues/257\"\u003e#257\u003c/a\u003e from ruby/dependabot/github_actions/step-security/har...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-http/commit/f4b30da864f3bc20b60a93838e8f34e6d207b717\"\u003e\u003ccode\u003ef4b30da\u003c/code\u003e\u003c/a\u003e Bump step-security/harden-runner from 2.13.3 to 2.14.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-http/commit/836ad704fc8066d30aade68d5015e7010057c83d\"\u003e\u003ccode\u003e836ad70\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/net-http/issues/255\"\u003e#255\u003c/a\u003e from rhenium/ky/refactor-https-tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-http/commit/f24b3b358b161f84b855da36e36029fb1bea904e\"\u003e\u003ccode\u003ef24b3b3\u003c/code\u003e\u003c/a\u003e Freeze more constants for Ractor compatibility\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-http/commit/35c1745a2602f73036661a0bb070e989c33a0052\"\u003e\u003ccode\u003e35c1745\u003c/code\u003e\u003c/a\u003e Refactor HTTPS tests\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby/net-http/compare/v0.7.0...v0.9.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `net-imap` from 0.5.12 to 0.6.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/net-imap/releases\"\u003enet-imap's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.6.2\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Fix \u003ccode\u003eSequenceSet#delete?(num..num)\u003c/code\u003e to return set by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/583\"\u003eruby/net-imap#583\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 Fix \u003ccode\u003e#responses()\u003c/code\u003e freezing internal arrays by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/587\"\u003eruby/net-imap#587\u003c/a\u003e, reported by \u003ca href=\"https://github.com/yurikoval\"\u003e\u003ccode\u003e@​yurikoval\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/issues/581\"\u003eruby/net-imap#581\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ruby/net-imap/compare/v0.6.1...v0.6.2\"\u003ehttps://github.com/ruby/net-imap/compare/v0.6.1...v0.6.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.6.1\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Fix \u003ccode\u003eSequenceSet#max(n)\u003c/code\u003e when \u003ccode\u003ecardinality \u0026lt; n \u0026lt;= size\u003c/code\u003e by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/580\"\u003eruby/net-imap#580\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMiscellaneous\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e⬆️ Bump step-security/harden-runner from 2.13.3 to 2.14.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/ruby/net-imap/pull/579\"\u003eruby/net-imap#579\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ruby/net-imap/compare/v0.6.0...v0.6.1\"\u003ehttps://github.com/ruby/net-imap/compare/v0.6.0...v0.6.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.6.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eBreaking Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🔧 Update default config for \u003ccode\u003ev0.6\u003c/code\u003e by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/539\"\u003eruby/net-imap#539\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eresponses_without_block\u003c/code\u003e changed from \u003ccode\u003e:warn\u003c/code\u003e to \u003ccode\u003e:frozen_dup\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eparser_use_deprecated_uidplus_data\u003c/code\u003e changed from \u003ccode\u003e:up_to_max_size\u003c/code\u003e to \u003ccode\u003efalse\u003c/code\u003e \u003cem\u003e(and is deprecated)\u003c/em\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eparser_max_deprecated_uidplus_data_size\u003c/code\u003e changed from \u003ccode\u003e100\u003c/code\u003e to \u003ccode\u003e0\u003c/code\u003e \u003cem\u003e(and is deprecated)\u003c/em\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e🔥 Use psych (\u0026gt;= 5.2.5) for encoding Data objects by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/543\"\u003eruby/net-imap#543\u003c/a\u003e\nThis changes the YAML tag for \u003ccode\u003eData\u003c/code\u003e subclasses from \u003ccode\u003eruby/object:Net::IMAP::DataSubclass\u003c/code\u003e to \u003ccode\u003eruby/data:Net::IMAP::DataSubclass\u003c/code\u003e.  YAML dumped by earlier \u003ccode\u003enet-imap\u003c/code\u003e versions may not load correctly.  Psych \u0026gt;= 5.2.5 is required to dump these objects correctly.\u003c/li\u003e\n\u003cli\u003e💥 Require ruby \u0026gt;= 3.2 (drop support for 3.1) by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/538\"\u003eruby/net-imap#538\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e💥✨ Change \u003ccode\u003eSequenceSet#size\u003c/code\u003e to count \u003ccode\u003e*\u003c/code\u003e and repeated numbers by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/564\"\u003eruby/net-imap#564\u003c/a\u003e\n\u003ccode\u003eSequenceSet\u003c/code\u003e is used to represent both sorted sets and ordered lists (which may contain duplicates).  Members are non-zero UInt32 numbers, but \u003ccode\u003e\u0026quot;*\u0026quot;\u003c/code\u003e has special meaning as \u0026quot;the number corresponding to the last mailbox entry\u0026quot;.  So there are four different ways to count the members of a \u003ccode\u003eSequenceSet\u003c/code\u003e.\nPreviously, \u003ccode\u003e#size\u003c/code\u003e was an alias for \u003ccode\u003e#count\u003c/code\u003e.  Now it differs in both relevant aspects.\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003e\u003c/th\u003e\n\u003cth\u003e\u003cstrong\u003e\u003ccode\u003e*\u003c/code\u003e is a unique member\u003c/strong\u003e\u003c/th\u003e\n\u003cth\u003e\u003cstrong\u003e\u003ccode\u003e*\u003c/code\u003e is treated like 2³² - 1\u003c/strong\u003e\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cstrong\u003edistinct set members\u003c/strong\u003e\u003c/td\u003e\n\u003ctd\u003e\u003ccode\u003e#cardinality\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\u003ccode\u003e#count\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cstrong\u003eordered list, including duplicates\u003c/strong\u003e\u003c/td\u003e\n\u003ctd\u003e\u003ccode\u003e#size\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\u003ccode\u003e#count_with_duplicates\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c/li\u003e\n\u003cli\u003e🔥 Remove deprecated UIDPlusData class by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/540\"\u003eruby/net-imap#540\u003c/a\u003e\n\u003cem\u003e\u003ccode\u003eUIDPlusData\u003c/code\u003e was deprecated by v0.5.6.  \u003ccode\u003eAppendUIDData\u003c/code\u003e or \u003ccode\u003eCopyUIDData\u003c/code\u003e will always be returned instead.\u003c/em\u003e\u003c/li\u003e\n\u003cli\u003e🔥 Delete deprecated \u003ccode\u003eMessageSet\u003c/code\u003e by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/573\"\u003eruby/net-imap#573\u003c/a\u003e\n\u003cem\u003e\u003ccode\u003eMessageSet\u003c/code\u003e was deprecated by v0.5.0.  Use \u003ccode\u003eSequenceSet\u003c/code\u003e instead.\u003c/em\u003e\u003c/li\u003e\n\u003cli\u003e💥 Do not include \u003ccode\u003eOpenSSL\u003c/code\u003e and \u003ccode\u003eOpenSSL::SSL\u003c/code\u003e modules into \u003ccode\u003eNet::IMAP\u003c/code\u003e by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/533\"\u003eruby/net-imap#533\u003c/a\u003e\n\u003cem\u003eThis only affects the ability to use OpenSSL constants from the \u003ccode\u003eNet::IMAP\u003c/code\u003e namespace.\u003c/em\u003e\u003c/li\u003e\n\u003cli\u003e💥 Don't set \u003ccode\u003everify_callback\u003c/code\u003e to \u003ccode\u003eVerifyCallbackProc\u003c/code\u003e by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/534\"\u003eruby/net-imap#534\u003c/a\u003e\n\u003cem\u003eThis functionality was never documented and is redundant with the \u003ccode\u003everify_callback\u003c/code\u003e option.\u003c/em\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/ruby/net-imap/commit/38622aa7bf4cb1c412ac246561161228f04d22ac\"\u003e\u003ccode\u003e38622aa\u003c/code\u003e\u003c/a\u003e 🔖 Bump version to 0.6.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/96fd33b0439bce0e1917781b944aa581c919821d\"\u003e\u003ccode\u003e96fd33b\u003c/code\u003e\u003c/a\u003e 🐛 Fix \u003ccode\u003e#responses()\u003c/code\u003e freezing internal arrays\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/dde67cf388fbb9da68c51dd4d3a60bec94b6a66f\"\u003e\u003ccode\u003edde67cf\u003c/code\u003e\u003c/a\u003e 🔀 Merge tag 'v0.6.1'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/59350022befb2f47187a68b6332f8d4e55bc0dfb\"\u003e\u003ccode\u003e5935002\u003c/code\u003e\u003c/a\u003e 🔖 Bump version to 0.6.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/d455729a42a02cb5c048731385537d67b35a6bd4\"\u003e\u003ccode\u003ed455729\u003c/code\u003e\u003c/a\u003e 🐛 Fix SequenceSet#delete?(num..num) to return set\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/ce176b4537228c6df592ac44106090adb38375c1\"\u003e\u003ccode\u003ece176b4\u003c/code\u003e\u003c/a\u003e 🐛 Fix SequenceSet#max(n), cardinality \u0026lt; n \u0026lt;= size\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/6b07bf414173a35b9d11309e424e2243fee16117\"\u003e\u003ccode\u003e6b07bf4\u003c/code\u003e\u003c/a\u003e ⬆️ Bump step-security/harden-runner from 2.13.3 to 2.14.0 (\u003ca href=\"https://redirect.github.com/ruby/net-imap/issues/579\"\u003e#579\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/567518cae5500f7c4776a1fd4e9bbd599e98b9bf\"\u003e\u003ccode\u003e567518c\u003c/code\u003e\u003c/a\u003e 📦 Drop digest from Gemfile (workaround for \u003ca href=\"https://redirect.github.com/ruby/net-imap/issues/576\"\u003e#576\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/4af9ed4a737ae615cad25ecfa54fd7ff4ad31076\"\u003e\u003ccode\u003e4af9ed4\u003c/code\u003e\u003c/a\u003e 📦 Use latest rubygems/bundler to release gem\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/4e38b1fa1c44f1f5e60c06bcb415c5ec66c7fba0\"\u003e\u003ccode\u003e4e38b1f\u003c/code\u003e\u003c/a\u003e 🔖 Bump version to 0.6.0\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby/net-imap/compare/v0.5.12...v0.6.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `oauth2` from 2.0.17 to 2.0.18\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby-oauth/oauth2/releases\"\u003eoauth2's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.0.18\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/compare/v2.0.17...v2.0.18\"\u003e2.0.18\u003c/a\u003e - 2025-11-08\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eTAG: \u003ca href=\"https://github.com/ruby-oauth/oauth2/releases/tag/v2.0.18\"\u003ev2.0.18\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCOVERAGE: 100.00% -- 526/526 lines in 14 files\u003c/li\u003e\n\u003cli\u003eBRANCH COVERAGE: 100.00% -- 178/178 branches in 14 files\u003c/li\u003e\n\u003cli\u003e90.48% documented\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/683\"\u003egh!683\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/684\"\u003egh!684\u003c/a\u003e - Improve documentation by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/686\"\u003egh!686\u003c/a\u003e- Add Incident Response Plan by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/687\"\u003egh!687\u003c/a\u003e- Add Threat Model by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/685\"\u003egh!685\u003c/a\u003e - upgrade kettle-dev v1.1.24 by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eupgrade kettle-dev v1.1.52 by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003eAdd open collective donors to README\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/690\"\u003egh!690\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/691\"\u003egh!691\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/692\"\u003egh!692\u003c/a\u003e - Add yard-fence\n\u003cul\u003e\n\u003cli\u003ehandle braces within code fences in markdown properly by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cp\u003eOfficial Discord 👉️ [![Live Chat on Discord][✉️discord-invite-img]][✉️discord-invite]\u003c/p\u003e\n\u003cp\u003eMany paths lead to being a sponsor or a backer of this project. Are you on such a path?\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://opencollective.com/ruby-oauth#backer\"\u003e![OpenCollective Backers][🖇osc-backers-i]\u003c/a\u003e [![OpenCollective Sponsors][🖇osc-sponsors-i]][🖇osc-sponsors] [![Sponsor Me on Github][🖇sponsor-img]][🖇sponsor] \u003ca href=\"https://liberapay.com/pboling/donate\"\u003e\u003cimg src=\"https://img.shields.io/liberapay/goal/pboling.svg?logo=liberapay\u0026amp;color=a51611\u0026amp;style=flat\" alt=\"Liberapay Goal Progress\" /\u003e\u003c/a\u003e [![Donate on PayPal][🖇paypal-img]][🖇paypal]\u003c/p\u003e\n\u003cp\u003e[![Buy me a coffee][🖇buyme-small-img]][🖇buyme] [![Donate on Polar][🖇polar-img]][🖇polar] [![Donate to my FLOSS efforts at ko-fi.com][🖇kofi-img]][🖇kofi] [![Donate to my FLOSS efforts using Patreon][🖇patreon-img]][🖇patreon]\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\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby-oauth/oauth2/blob/main/CHANGELOG.md\"\u003eoauth2's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[2.0.18] - 2025-11-08\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eTAG: [v2.0.18][2.0.18t]\u003c/li\u003e\n\u003cli\u003eCOVERAGE: 100.00% -- 526/526 lines in 14 files\u003c/li\u003e\n\u003cli\u003eBRANCH COVERAGE: 100.00% -- 178/178 branches in 14 files\u003c/li\u003e\n\u003cli\u003e90.48% documented\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/683\"\u003egh!683\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/684\"\u003egh!684\u003c/a\u003e - Improve documentation by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/686\"\u003egh!686\u003c/a\u003e- Add Incident Response Plan by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/687\"\u003egh!687\u003c/a\u003e- Add Threat Model by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/685\"\u003egh!685\u003c/a\u003e - upgrade kettle-dev v1.1.24 by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eupgrade kettle-dev v1.1.52 by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003eAdd open collective donors to README\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/690\"\u003egh!690\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/691\"\u003egh!691\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/692\"\u003egh!692\u003c/a\u003e - Add yard-fence\n\u003cul\u003e\n\u003cli\u003ehandle braces within code fences in markdown properly by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSecurity\u003c/h3\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/ruby-oauth/oauth2/commit/b5753116121553d56937039dafc5ea472d9a99ed\"\u003e\u003ccode\u003eb575311\u003c/code\u003e\u003c/a\u003e 🔖 Prepare release v2.0.18\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/b5af77ba42ec111dda68abdee33d631e27fdfe61\"\u003e\u003ccode\u003eb5af77b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/issues/693\"\u003e#693\u003c/a\u003e from ruby-oauth/feat/docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/cf2853d9fa05999f88c9df8b1b3a8a3ed21c64e8\"\u003e\u003ccode\u003ecf2853d\u003c/code\u003e\u003c/a\u003e 📝 Update docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/18434156bfc988527d2453b2174e6356e233757d\"\u003e\u003ccode\u003e1843415\u003c/code\u003e\u003c/a\u003e ⬆️ kettle-dev v1.1.52, yard-fence v0.8.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/f592dd8753966a30671ebc2e8a28ab26138b6c2b\"\u003e\u003ccode\u003ef592dd8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/issues/692\"\u003e#692\u003c/a\u003e from ruby-oauth/feat/docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/2095732d7cd4eeb80fe74c89e2a2d012517e40d6\"\u003e\u003ccode\u003e2095732\u003c/code\u003e\u003c/a\u003e ⬆️ yard-fence v0.7.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/50f3fd08e733ed75b2cc99e077e9ea9d64a3d5d5\"\u003e\u003ccode\u003e50f3fd0\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/issues/691\"\u003e#691\u003c/a\u003e from ruby-oauth/feat/docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/bcb0e40bfca989f164a04cbf46a4175822b7cb28\"\u003e\u003ccode\u003ebcb0e40\u003c/code\u003e\u003c/a\u003e ✏️ Fix typos in docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/f24f1a8bfbf546595aa16cd6fa82119c8218c1d3\"\u003e\u003ccode\u003ef24f1a8\u003c/code\u003e\u003c/a\u003e Create CNAME\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/bff58e1afec541feca2a337664d09c58b8a22419\"\u003e\u003ccode\u003ebff58e1\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/issues/690\"\u003e#690\u003c/a\u003e from ruby-oauth/feat/yard-fence\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby-oauth/oauth2/compare/v2.0.17...v2.0.18\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `omniauth-oauth2` from 1.8.0 to 1.9.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/omniauth/omniauth-oauth2/releases\"\u003eomniauth-oauth2's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.9.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRefactor GitHub Actions config by \u003ca href=\"https://github.com/ybiquitous\"\u003e\u003ccode\u003e@​ybiquitous\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/omniauth/omniauth-oauth2/pull/168\"\u003eomniauth/omniauth-oauth2#168\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erescue oauth2 timeout by \u003ca href=\"https://github.com/nov\"\u003e\u003ccode\u003e@​nov\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/omniauth/omniauth-oauth2/pull/169\"\u003eomniauth/omniauth-oauth2#169\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Ruby 3.2 to CI by \u003ca href=\"https://github.com/ybiquitous\"\u003e\u003ccode\u003e@​ybiquitous\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/omniauth/omniauth-oauth2/pull/167\"\u003eomniauth/omniauth-oauth2#167\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix coverage artifact handling by \u003ca href=\"https://github.com/nov\"\u003e\u003ccode\u003e@​nov\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/omniauth/omniauth-oauth2/pull/172\"\u003eomniauth/omniauth-oauth2#172\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePrevent timing attack on CSRF, completing wonderful pr by \u003ca href=\"https://github.com/eutopian...\n\n_Description has been truncated_","html_url":"https://github.com/ubicloud/ubicloud/pull/4492","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/ubicloud%2Fubicloud/issues/4492","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/4492/packages"},{"uuid":"3762172644","node_id":"PR_kwDOPvEE5s66kjcl","number":59,"state":"closed","title":"Bump the production-dependencies group across 1 directory with 55 updates","user":"dependabot[bot]","labels":["dependencies","ruby"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2025-12-26T16:18:43.000Z","author_association":null,"state_reason":null,"created_at":"2025-12-25T16:21:50.000Z","updated_at":"2025-12-26T16:18:45.000Z","time_to_close":86213,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"production-dependencies","update_count":55,"packages":[{"name":"acme-client","old_version":"2.0.25","new_version":"2.0.30","repository_url":"https://github.com/unixcharles/acme-client"},{"name":"aws-sdk-ec2","old_version":"1.512.0","new_version":"1.587.0","repository_url":"https://github.com/aws/aws-sdk-ruby"},{"name":"aws-sdk-iam","old_version":"1.123.0","new_version":"1.137.0","repository_url":"https://github.com/aws/aws-sdk-ruby"},{"name":"aws-sdk-s3","old_version":"1.182.0","new_version":"1.209.0","repository_url":"https://github.com/aws/aws-sdk-ruby"},{"name":"bcrypt_pbkdf","old_version":"1.1.1","new_version":"1.1.2","repository_url":"https://github.com/net-ssh/bcrypt_pbkdf-ruby"},{"name":"committee","old_version":"5.5.5","new_version":"5.6.1","repository_url":"https://github.com/interagent/committee"},{"name":"countries","old_version":"7.0.0","new_version":"8.0.4","repository_url":"https://github.com/countries/countries"},{"name":"excon","old_version":"1.3.0","new_version":"1.3.2","repository_url":"https://github.com/excon/excon"},{"name":"forme","old_version":"2.6.0","new_version":"2.7.0","repository_url":"https://github.com/jeremyevans/forme"},{"name":"jwt","old_version":"2.10.2","new_version":"3.1.2","repository_url":"https://github.com/jwt/ruby-jwt"},{"name":"mail","old_version":"2.8.1","new_version":"2.9.0","repository_url":"https://github.com/mikel/mail"},{"name":"nokogiri","old_version":"1.18.9","new_version":"1.18.10","repository_url":"https://github.com/sparklemotion/nokogiri"},{"name":"octokit","old_version":"9.2.0","new_version":"10.0.0","repository_url":"https://github.com/octokit/octokit.rb"},{"name":"puma","old_version":"7.0.0","new_version":"7.1.0","repository_url":"https://github.com/puma/puma"},{"name":"rake","old_version":"13.3.0","new_version":"13.3.1","repository_url":"https://github.com/ruby/rake"},{"name":"reline","old_version":"0.6.2","new_version":"0.6.3","repository_url":"https://github.com/ruby/reline"},{"name":"rodauth","old_version":"2.40.0","new_version":"2.42.0","repository_url":"https://github.com/jeremyevans/rodauth"},{"name":"rqrcode","old_version":"3.1.0","new_version":"3.1.1","repository_url":"https://github.com/whomwah/rqrcode"},{"name":"sequel","old_version":"5.96.0","new_version":"5.99.0","repository_url":"https://github.com/jeremyevans/sequel"},{"name":"sequel_pg","old_version":"1.17.2","new_version":"1.18.2","repository_url":"https://github.com/jeremyevans/sequel_pg"},{"name":"stripe","old_version":"12.6.0","new_version":"18.1.0","repository_url":"https://github.com/stripe/stripe-ruby"},{"name":"hashie","old_version":"5.0.0","new_version":"5.1.0","repository_url":"https://github.com/hashie/hashie"},{"name":"multi_xml","old_version":"0.7.2","new_version":"0.8.0","repository_url":"https://github.com/sferik/multi_xml"},{"name":"oauth2","old_version":"2.0.12","new_version":"2.0.18","repository_url":"https://github.com/ruby-oauth/oauth2"},{"name":"omniauth","old_version":"2.1.3","new_version":"2.1.4","repository_url":"https://github.com/omniauth/omniauth"},{"name":"omniauth-oauth2","old_version":"1.8.0","new_version":"1.9.0","repository_url":"https://github.com/omniauth/omniauth-oauth2"},{"name":"openssl","old_version":"3.3.0","new_version":"4.0.0","repository_url":"https://github.com/ruby/openssl"},{"name":"optparse","old_version":"0.6.0","new_version":"0.8.1","repository_url":"https://github.com/ruby/optparse"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps the production-dependencies group with 28 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [acme-client](https://github.com/unixcharles/acme-client) | `2.0.25` | `2.0.30` |\n| [aws-sdk-ec2](https://github.com/aws/aws-sdk-ruby) | `1.512.0` | `1.587.0` |\n| [aws-sdk-iam](https://github.com/aws/aws-sdk-ruby) | `1.123.0` | `1.137.0` |\n| [aws-sdk-s3](https://github.com/aws/aws-sdk-ruby) | `1.182.0` | `1.209.0` |\n| [bcrypt_pbkdf](https://github.com/net-ssh/bcrypt_pbkdf-ruby) | `1.1.1` | `1.1.2` |\n| [committee](https://github.com/interagent/committee) | `5.5.5` | `5.6.1` |\n| [countries](https://github.com/countries/countries) | `7.0.0` | `8.0.4` |\n| [excon](https://github.com/excon/excon) | `1.3.0` | `1.3.2` |\n| [forme](https://github.com/jeremyevans/forme) | `2.6.0` | `2.7.0` |\n| [jwt](https://github.com/jwt/ruby-jwt) | `2.10.2` | `3.1.2` |\n| [mail](https://github.com/mikel/mail) | `2.8.1` | `2.9.0` |\n| [nokogiri](https://github.com/sparklemotion/nokogiri) | `1.18.9` | `1.18.10` |\n| [octokit](https://github.com/octokit/octokit.rb) | `9.2.0` | `10.0.0` |\n| [puma](https://github.com/puma/puma) | `7.0.0` | `7.1.0` |\n| [rake](https://github.com/ruby/rake) | `13.3.0` | `13.3.1` |\n| [reline](https://github.com/ruby/reline) | `0.6.2` | `0.6.3` |\n| [rodauth](https://github.com/jeremyevans/rodauth) | `2.40.0` | `2.42.0` |\n| [rqrcode](https://github.com/whomwah/rqrcode) | `3.1.0` | `3.1.1` |\n| [sequel](https://github.com/jeremyevans/sequel) | `5.96.0` | `5.99.0` |\n| [sequel_pg](https://github.com/jeremyevans/sequel_pg) | `1.17.2` | `1.18.2` |\n| [stripe](https://github.com/stripe/stripe-ruby) | `12.6.0` | `18.1.0` |\n| [hashie](https://github.com/hashie/hashie) | `5.0.0` | `5.1.0` |\n| [multi_xml](https://github.com/sferik/multi_xml) | `0.7.2` | `0.8.0` |\n| [oauth2](https://github.com/ruby-oauth/oauth2) | `2.0.12` | `2.0.18` |\n| [omniauth](https://github.com/omniauth/omniauth) | `2.1.3` | `2.1.4` |\n| [omniauth-oauth2](https://github.com/omniauth/omniauth-oauth2) | `1.8.0` | `1.9.0` |\n| [openssl](https://github.com/ruby/openssl) | `3.3.0` | `4.0.0` |\n| [optparse](https://github.com/ruby/optparse) | `0.6.0` | `0.8.1` |\n\n\nUpdates `acme-client` from 2.0.25 to 2.0.30\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/unixcharles/acme-client/blob/master/CHANGELOG.md\"\u003eacme-client's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ccode\u003e2.0.30\u003c/code\u003e\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd a default message to RateLimited error\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThis fix avoid argument error on RateLimited object when stubbing without passing arguments.\u003c/p\u003e\n\u003ch2\u003e\u003ccode\u003e2.0.29\u003c/code\u003e\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eIP support to the CertificateRequest helper\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ccode\u003e2.0.28\u003c/code\u003e\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMake \u003ca href=\"https://datatracker.ietf.org/doc/html/rfc8555/#section-6.6\"\u003eRetry-After\u003c/a\u003e accessible from RateLimited#retry_after exceptions\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ccode\u003e2.0.27\u003c/code\u003e\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Renewal Information (ARI) (RFC 9773)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ccode\u003e2.0.26\u003c/code\u003e\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for dns-account-01 challenge (RFC draft-ietf-acme-dns-account-label-01)\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/unixcharles/acme-client/commit/dbd7481ff141647094d907cfd9e4598208ba19eb\"\u003e\u003ccode\u003edbd7481\u003c/code\u003e\u003c/a\u003e Bump 2.0.30\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unixcharles/acme-client/commit/d9a9328769a055da0771b33a4a006f20a3371b65\"\u003e\u003ccode\u003ed9a9328\u003c/code\u003e\u003c/a\u003e Add a default message to RateLimited error.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unixcharles/acme-client/commit/1e5d529d17bc35d559627fdafc27b99a6fdf60b9\"\u003e\u003ccode\u003e1e5d529\u003c/code\u003e\u003c/a\u003e bump to 2.0.29\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unixcharles/acme-client/commit/cfc29429faab0e278ee1260ad9375bab6549e984\"\u003e\u003ccode\u003ecfc2942\u003c/code\u003e\u003c/a\u003e Add IP support to the CertificateRequest helper (\u003ca href=\"https://redirect.github.com/unixcharles/acme-client/issues/261\"\u003e#261\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unixcharles/acme-client/commit/559889f21df6e765152687ffd6a973b61f7befa3\"\u003e\u003ccode\u003e559889f\u003c/code\u003e\u003c/a\u003e Bump to 2.0.28\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unixcharles/acme-client/commit/5e15c9f17d21eef85d01190344aa462191a2b486\"\u003e\u003ccode\u003e5e15c9f\u003c/code\u003e\u003c/a\u003e Add retry_after property to RateLimited client error (\u003ca href=\"https://redirect.github.com/unixcharles/acme-client/issues/260\"\u003e#260\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unixcharles/acme-client/commit/ff515cab615d682cbaaada9ac6ab52dc160e4b01\"\u003e\u003ccode\u003eff515ca\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 5 to 6 (\u003ca href=\"https://redirect.github.com/unixcharles/acme-client/issues/259\"\u003e#259\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unixcharles/acme-client/commit/443a45d2266463b91b5f1935c16139b6021f3c99\"\u003e\u003ccode\u003e443a45d\u003c/code\u003e\u003c/a\u003e Bump to 2.0.27\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unixcharles/acme-client/commit/d32e7f92ad6d542d49b3ed8907e349c109013512\"\u003e\u003ccode\u003ed32e7f9\u003c/code\u003e\u003c/a\u003e Add Renewal Information (ARI) support (RFC 9773) (\u003ca href=\"https://redirect.github.com/unixcharles/acme-client/issues/257\"\u003e#257\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unixcharles/acme-client/commit/efdb724c45d3bca9272eef092d72eb3e346f3e9f\"\u003e\u003ccode\u003eefdb724\u003c/code\u003e\u003c/a\u003e Bump to 2.0.24\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/unixcharles/acme-client/compare/v2.0.25...v2.0.30\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `aws-sdk-ec2` from 1.512.0 to 1.587.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/aws/aws-sdk-ruby/blob/version-3/gems/aws-sdk-ec2/CHANGELOG.md\"\u003eaws-sdk-ec2's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.587.0 (2025-12-22)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Adds support for linkedGroupId on the CreatePlacementGroup and DescribePlacementGroups APIs. The linkedGroupId parameter is reserved for future use.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.586.0 (2025-12-18)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - This release adds AvailabilityZoneId support for CreateFleet, ModifyFleet, DescribeFleets, RequestSpotFleet, ModifySpotFleetRequests and DescribeSpotFleetRequests APIs.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.585.0 (2025-12-15)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - EC2 Capacity Manager now supports SpotTotalCount, SpotTotalInterruptions and SpotInterruptionRate metrics for both vCPU and instance units.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.584.0 (2025-12-08)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Amazon EC2 P6-B300 instances provide 8x NVIDIA Blackwell Ultra GPUs with 2.1 TB high bandwidth GPU memory, 6.4 Tbps EFA networking, 300 Gbps dedicated ENA throughput, and 4 TB of system memory. Amazon EC2 C8a instances are powered by 5th Gen AMD EPYC processors with a maximum frequency of 4.5 GHz.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.583.0 (2025-11-25)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - This release adds support to view Network firewall proxy appliances attached to an existing NAT Gateway via DescribeNatGateways API NatGatewayAttachedAppliance structure.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.582.0 (2025-11-21)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - This release adds a new capability to create and manage interruptible EC2 Capacity Reservations.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.581.0 (2025-11-20)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - This release adds support for multiple features including: VPC Encryption Control for the status of traffic flow; S2S VPN BGP Logging; TGW Flexible Costs; IPAM allocation of static IPs from IPAM pools to CF Anycast IP lists used on CloudFront distribution; and EBS Volume Integration with Recycle Bin\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.580.0 (2025-11-19)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - This launch adds support for two new features: Regional NAT Gateway and IPAM Policies. IPAM policies offers customers central control for public IPv4 assignments across AWS services. Regional NAT is a single NAT Gateway that automatically expands across AZs in a VPC to maintain high availability.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.579.0 (2025-11-18)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - AWS Site-to-Site VPN now supports VPN Concentrator, a new feature that enables customers to connect multiple low-bandwidth sites connections through a single attachment, simplifying multi-site connectivity for distributed enterprises.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.578.0 (2025-11-17)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - This release introduces new APIs: DescribeInstanceSqlHaStates, DescribeInstanceSqlHaHistoryStates, EnableInstanceSqlHaStandbyDetections and DisableInstanceSqlHaStandbyDetections on Amazon EC2, allowing customers to enroll and monitor SQL Server licensing fee savings for their SQL HA EC2 instances.\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\u003eSee full diff in \u003ca href=\"https://github.com/aws/aws-sdk-ruby/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `aws-sdk-iam` from 1.123.0 to 1.137.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/aws/aws-sdk-ruby/blob/version-3/gems/aws-sdk-iam/CHANGELOG.md\"\u003eaws-sdk-iam's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.137.0 (2025-12-05)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Adding the ExpirationTime attribute to the delegation request resource.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.136.0 (2025-11-21)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Code Generated Changes, see \u003ccode\u003e./build_tools\u003c/code\u003e or \u003ccode\u003eaws-sdk-core\u003c/code\u003e's CHANGELOG.md for details.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.135.0 (2025-11-19)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Added the EnableOutboundWebIdentityFederation, DisableOutboundWebIdentityFederation and GetOutboundWebIdentityFederationInfo APIs for the IAM outbound federation feature.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.134.0 (2025-11-18)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Added the AssociateDelegationRequest, GetDelegationRequest, AcceptDelegationRequest, RejectDelegatonRequest, ListDelegationRequests, UpdateDelegationRequest, SendDelegationToken and GetHumanReadableSummary APIs for the IAM temporary delegation feature.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.133.0 (2025-11-10)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Added CreateDelegationRequest API, which is not available for general use at this time.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.132.0 (2025-10-27)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Fixed missing SummaryMap keys in GetAccountSummary response that were being filtered out during deserialization in AWS Java SDK v2\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.131.0 (2025-10-22)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Updated OIDC and SAML apis to reject multiple simultaneous requests to change a unique object.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.130.0 (2025-10-21)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Code Generated Changes, see \u003ccode\u003e./build_tools\u003c/code\u003e or \u003ccode\u003eaws-sdk-core\u003c/code\u003e's CHANGELOG.md for details.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.129.0 (2025-08-26)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Code Generated Changes, see \u003ccode\u003e./build_tools\u003c/code\u003e or \u003ccode\u003eaws-sdk-core\u003c/code\u003e's CHANGELOG.md for details.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.128.0 (2025-08-20)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Remove incorrect endpoint tests\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\u003eSee full diff in \u003ca href=\"https://github.com/aws/aws-sdk-ruby/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `aws-sdk-s3` from 1.182.0 to 1.209.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/aws/aws-sdk-ruby/blob/version-3/gems/aws-sdk-s3/CHANGELOG.md\"\u003eaws-sdk-s3's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.209.0 (2025-12-23)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Add additional validation to Outpost bucket names.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.208.0 (2025-12-16)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Updates to the S3 Encryption Client. The V3 S3 Encryption Client now requires key committing algorithm suites by default.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.207.0 (2025-12-15)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - This release adds support for the new optional field 'LifecycleExpirationDate' in S3 Inventory configurations.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.206.0 (2025-12-02)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - New S3 Storage Class FSX_ONTAP\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.205.0 (2025-11-20)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Enable / Disable ABAC on a general purpose bucket.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.204.0 (2025-11-19)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Adds support for blocking SSE-C writes to general purpose buckets.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.203.1 (2025-11-10)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eIssue - Deprecated \u003ccode\u003e:checksum_mode\u003c/code\u003e parameter in \u003ccode\u003eFileDownloader#download\u003c/code\u003e. When set to \u0026quot;DISABLED\u0026quot;, a deprecation warning is issued and the parameter is ignored. Use \u003ccode\u003e:response_checksum_validation\u003c/code\u003e on the S3 client instead to control checksum validation behavior.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.203.0 (2025-11-05)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Launch IPv6 dual-stack support for S3 Express\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.202.0 (2025-10-28)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Amazon Simple Storage Service / Features: Add conditional writes in CopyObject on destination key to prevent unintended object modifications.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.201.0 (2025-10-21)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Code Generated Changes, see \u003ccode\u003e./build_tools\u003c/code\u003e or \u003ccode\u003eaws-sdk-core\u003c/code\u003e's CHANGELOG.md for details.\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\u003eSee full diff in \u003ca href=\"https://github.com/aws/aws-sdk-ruby/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `bcrypt_pbkdf` from 1.1.1 to 1.1.2\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/net-ssh/bcrypt_pbkdf-ruby/commit/e52088f9a28e34321a9b359f30d472097f1d7f01\"\u003e\u003ccode\u003ee52088f\u003c/code\u003e\u003c/a\u003e chore: bump version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/net-ssh/bcrypt_pbkdf-ruby/commit/26919975ca7b77425609387955d31784381c3af6\"\u003e\u003ccode\u003e2691997\u003c/code\u003e\u003c/a\u003e added benchmark gem to gemspec\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/net-ssh/bcrypt_pbkdf-ruby/commit/fc2498597f6f556979ccc8ee58acce10e39ff09a\"\u003e\u003ccode\u003efc24985\u003c/code\u003e\u003c/a\u003e chore: bump version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/net-ssh/bcrypt_pbkdf-ruby/commit/25919bbc4a148ba2031e6c52ec777ded97560df4\"\u003e\u003ccode\u003e25919bb\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/net-ssh/bcrypt_pbkdf-ruby/issues/26\"\u003e#26\u003c/a\u003e from brendon/Ruby-3.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/net-ssh/bcrypt_pbkdf-ruby/commit/77d005a0be09f848cf8838d09e611290b027a791\"\u003e\u003ccode\u003e77d005a\u003c/code\u003e\u003c/a\u003e Add Ruby 3.4 support\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/net-ssh/bcrypt_pbkdf-ruby/compare/v1.1.1...v1.1.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `committee` from 5.5.5 to 5.6.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/interagent/committee/blob/master/CHANGELOG.md\"\u003ecommittee's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e5.6.1 - 2025-10-30\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix content type parsing for complex types \u003ca href=\"https://redirect.github.com/interagent/committee/issues/455\"\u003e#455\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e5.6.0 - 2025-10-01\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ebump actions/checkout \u003ca href=\"https://redirect.github.com/interagent/committee/issues/450\"\u003e#450\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ereplace require with plugins in rubocop config \u003ca href=\"https://redirect.github.com/interagent/committee/issues/451\"\u003e#451\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ereturn to lenient status parsing for hyperschema \u003ca href=\"https://redirect.github.com/interagent/committee/issues/453\"\u003e#453\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/interagent/committee/commit/5866ca8cbe29479a5749b0e505b7ef7c596a80b6\"\u003e\u003ccode\u003e5866ca8\u003c/code\u003e\u003c/a\u003e v5.6.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/interagent/committee/commit/126127134d52bea958bfc7c86a56f6070d5c20cd\"\u003e\u003ccode\u003e1261271\u003c/code\u003e\u003c/a\u003e fix content type split/parsing, using racks implementation (\u003ca href=\"https://redirect.github.com/interagent/committee/issues/455\"\u003e#455\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/interagent/committee/commit/f5f627b9540710f6525657d9543851c6be094ebf\"\u003e\u003ccode\u003ef5f627b\u003c/code\u003e\u003c/a\u003e v5.6.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/interagent/committee/commit/f08b2ba5b0c6265c2a36204e30ea4069335ce87b\"\u003e\u003ccode\u003ef08b2ba\u003c/code\u003e\u003c/a\u003e feat(schema-validator): return to lenient status parsing for hyperschema (\u003ca href=\"https://redirect.github.com/interagent/committee/issues/453\"\u003e#453\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/interagent/committee/commit/ec516b4fa674709809a75a3500631ae943919b48\"\u003e\u003ccode\u003eec516b4\u003c/code\u003e\u003c/a\u003e Replace 'require' with 'plugins' in .rubocop.yml to configure RuboCop plugins...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/interagent/committee/commit/d615a07bae8e256883c957f72ac1e1e90499874e\"\u003e\u003ccode\u003ed615a07\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 4 to 5 (\u003ca href=\"https://redirect.github.com/interagent/committee/issues/450\"\u003e#450\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/interagent/committee/compare/v5.5.5...v5.6.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `countries` from 7.0.0 to 8.0.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/countries/countries/releases\"\u003ecountries's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.0.4\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd the old iso_short_names as unofficial_names. Fixes \u003ca href=\"https://redirect.github.com/countries/countries/issues/923\"\u003e#923\u003c/a\u003e by \u003ca href=\"https://github.com/pmor\"\u003e\u003ccode\u003e@​pmor\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/926\"\u003ecountries/countries#926\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRevert removal of empty keys from country data files. by \u003ca href=\"https://github.com/pmor\"\u003e\u003ccode\u003e@​pmor\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/927\"\u003ecountries/countries#927\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/countries/countries/compare/v8.0.3...v8.0.4\"\u003ehttps://github.com/countries/countries/compare/v8.0.3...v8.0.4\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e8.0.3\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: change french name of France subdivisions by \u003ca href=\"https://github.com/Bertrand-Bichat\"\u003e\u003ccode\u003e@​Bertrand-Bichat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/919\"\u003ecountries/countries#919\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: add guard clause to check if matches is nil by \u003ca href=\"https://github.com/ratheeshaditya\"\u003e\u003ccode\u003e@​ratheeshaditya\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/917\"\u003ecountries/countries#917\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate Estonia standard VAT from 22% to 24% (July 1st 2025 change)  by \u003ca href=\"https://github.com/jarthod\"\u003e\u003ccode\u003e@​jarthod\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/922\"\u003ecountries/countries#922\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/Bertrand-Bichat\"\u003e\u003ccode\u003e@​Bertrand-Bichat\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/countries/countries/pull/919\"\u003ecountries/countries#919\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ratheeshaditya\"\u003e\u003ccode\u003e@​ratheeshaditya\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/countries/countries/pull/917\"\u003ecountries/countries#917\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/countries/countries/compare/v8.0.2...v8.0.3\"\u003ehttps://github.com/countries/countries/compare/v8.0.2...v8.0.3\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e8.0.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: iso short names by \u003ca href=\"https://github.com/sabify\"\u003e\u003ccode\u003e@​sabify\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/907\"\u003ecountries/countries#907\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix error when searching \u003ccode\u003eISO3166::Country[nil]\u003c/code\u003e. Fixes \u003ca href=\"https://redirect.github.com/countries/countries/issues/912\"\u003e#912\u003c/a\u003e by \u003ca href=\"https://github.com/pmor\"\u003e\u003ccode\u003e@​pmor\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/913\"\u003ecountries/countries#913\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/countries/countries/compare/v8.0.1...v8.0.2\"\u003ehttps://github.com/countries/countries/compare/v8.0.1...v8.0.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e8.0.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix error in collect_countries_with and update specs by \u003ca href=\"https://github.com/pmor\"\u003e\u003ccode\u003e@​pmor\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/911\"\u003ecountries/countries#911\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/countries/countries/compare/v8.0.0...v8.0.1\"\u003ehttps://github.com/countries/countries/compare/v8.0.0...v8.0.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev8.0.0\u003c/h2\u003e\n\u003ch1\u003eBreaking Changes\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eDrop support for Ruby 3.1 (EOL 2025-03-26) by \u003ca href=\"https://github.com/pmor\"\u003e\u003ccode\u003e@​pmor\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/909\"\u003ecountries/countries#909\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eExperiment with symbol-keyed translation hashes to reduce string allocations by \u003ca href=\"https://github.com/pmor\"\u003e\u003ccode\u003e@​pmor\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/884\"\u003ecountries/countries#884\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eThis is a potentially breaking change because some translation-related methods return the translation hashes, which now have symbol keys instead of string keys\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFind correct subdivision when searching for Washington by \u003ca href=\"https://github.com/hieuk09\"\u003e\u003ccode\u003e@​hieuk09\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/900\"\u003ecountries/countries#900\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eThis is a potentially breaking change because the behaviour of \u003ccode\u003efind_subdivision_by_name\u003c/code\u003e has changed to fix \u003ca href=\"https://redirect.github.com/countries/countries/issues/888\"\u003ecountries/countries#888\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eupdate CR translations by \u003ca href=\"https://github.com/daviddinis\"\u003e\u003ccode\u003e@​daviddinis\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/892\"\u003ecountries/countries#892\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(data): DK \u003ccode\u003eaddress_format\u003c/code\u003e by \u003ca href=\"https://github.com/mroach\"\u003e\u003ccode\u003e@​mroach\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/890\"\u003ecountries/countries#890\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: the spec breakage in SK by \u003ca href=\"https://github.com/sabify\"\u003e\u003ccode\u003e@​sabify\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/893\"\u003ecountries/countries#893\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/countries/countries/blob/master/CHANGELOG.md\"\u003ecountries's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/countries/countries/releases/tag/v8.0.4\u0026#x27;\"\u003e8.0.4\u003c/a\u003e (2025/08/30 14:36 +00:00)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd the old iso_short_names as unofficial_names. Fixes \u003ca href=\"https://redirect.github.com/countries/countries/issues/923\"\u003e#923\u003c/a\u003e by \u003ca href=\"https://github.com/pmor\"\u003e\u003ccode\u003e@​pmor\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/926\"\u003ecountries/countries#926\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRevert removal of empty keys from country data files. by \u003ca href=\"https://github.com/pmor\"\u003e\u003ccode\u003e@​pmor\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/927\"\u003ecountries/countries#927\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/countries/countries/releases/tag/v8.0.3\u0026#x27;\"\u003e8.0.3\u003c/a\u003e (2025/07/11 14:25 +00:00)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: change french name of France subdivisions by \u003ca href=\"https://github.com/Bertrand-Bichat\"\u003e\u003ccode\u003e@​Bertrand-Bichat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/919\"\u003ecountries/countries#919\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: add guard clause to check if matches is nil by \u003ca href=\"https://github.com/ratheeshaditya\"\u003e\u003ccode\u003e@​ratheeshaditya\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/917\"\u003ecountries/countries#917\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate Estonia standard VAT from 22% to 24% (July 1st 2025 change)  by \u003ca href=\"https://github.com/jarthod\"\u003e\u003ccode\u003e@​jarthod\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/922\"\u003ecountries/countries#922\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/countries/countries/releases/tag/v8.0.2\u0026#x27;\"\u003e8.0.2\u003c/a\u003e (2025/06/01 13:30 +00:00)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: iso short names by \u003ca href=\"https://github.com/sabify\"\u003e\u003ccode\u003e@​sabify\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/907\"\u003ecountries/countries#907\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix error when searching \u003ccode\u003eISO3166::Country[nil]\u003c/code\u003e. Fixes \u003ca href=\"https://redirect.github.com/countries/countries/issues/912\"\u003e#912\u003c/a\u003e by \u003ca href=\"https://github.com/pmor\"\u003e\u003ccode\u003e@​pmor\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/913\"\u003ecountries/countries#913\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/countries/countries/releases/tag/v8.0.1\u0026#x27;\"\u003e8.0.1\u003c/a\u003e (2025/05/31 15:34 +00:00)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix error in collect_countries_with and update specs by \u003ca href=\"https://github.com/pmor\"\u003e\u003ccode\u003e@​pmor\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/911\"\u003ecountries/countries#911\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/countries/countries/releases/tag/v8.0.0\u0026#x27;\"\u003e8.0.0\u003c/a\u003e (2025/05/31 14:35 +00:00)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBreaking Changes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eDrop support for Ruby 3.1 (EOL 2025-03-26) by \u003ca href=\"https://github.com/pmor\"\u003e\u003ccode\u003e@​pmor\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/909\"\u003ecountries/countries#909\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eExperiment with symbol-keyed translation hashes to reduce string allocations by \u003ca href=\"https://github.com/pmor\"\u003e\u003ccode\u003e@​pmor\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/884\"\u003ecountries/countries#884\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eThis is a potentially breaking change because some translation-related methods return the translation hashes, which now have symbol keys instead of string keys\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFind correct subdivision when searching for Washington by \u003ca href=\"https://github.com/hieuk09\"\u003e\u003ccode\u003e@​hieuk09\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/900\"\u003ecountries/countries#900\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eThis is a potentially breaking change because the behaviour of \u003ccode\u003efind_subdivision_by_name\u003c/code\u003e has changed to fix \u003ca href=\"https://redirect.github.com/countries/countries/issues/888\"\u003ecountries/countries#888\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eWhat's Changed\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eupdate CR translations by \u003ca href=\"https://github.com/daviddinis\"\u003e\u003ccode\u003e@​daviddinis\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/892\"\u003ecountries/countries#892\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(data): DK \u003ccode\u003eaddress_format\u003c/code\u003e by \u003ca href=\"https://github.com/mroach\"\u003e\u003ccode\u003e@​mroach\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/890\"\u003ecountries/countries#890\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: the spec breakage in SK by \u003ca href=\"https://github.com/sabify\"\u003e\u003ccode\u003e@​sabify\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/893\"\u003ecountries/countries#893\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: currency code of Sierra Leone and Sao Tome and Principe by \u003ca href=\"https://github.com/sabify\"\u003e\u003ccode\u003e@​sabify\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/895\"\u003ecountries/countries#895\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: normalizing data files by \u003ca href=\"https://github.com/sabify\"\u003e\u003ccode\u003e@​sabify\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/894\"\u003ecountries/countries#894\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix Spanish translation of DZ (Algeria). Fixes \u003ca href=\"https://redirect.github.com/countries/countries/issues/889\"\u003e#889\u003c/a\u003e by \u003ca href=\"https://github.com/pmor\"\u003e\u003ccode\u003e@​pmor\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/896\"\u003ecountries/countries#896\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: currency of Curacao and Saint Maarten by \u003ca href=\"https://github.com/sabify\"\u003e\u003ccode\u003e@​sabify\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/899\"\u003ecountries/countries#899\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix SG - Singapore country name in pt-BR by \u003ca href=\"https://github.com/stephannv\"\u003e\u003ccode\u003e@​stephannv\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/904\"\u003ecountries/countries#904\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCorrect ZA province name by \u003ca href=\"https://github.com/yenshirak\"\u003e\u003ccode\u003e@​yenshirak\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/906\"\u003ecountries/countries#906\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCleanup some reek issues by \u003ca href=\"https://github.com/pmor\"\u003e\u003ccode\u003e@​pmor\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/897\"\u003ecountries/countries#897\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/countries/countries/releases/tag/v7.1.1\u0026#x27;\"\u003e7.1.1\u003c/a\u003e (2025/02/08 18:07 +00:00)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eWhat's Changed\u003c/strong\u003e\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\u003eUpgrade guide\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/countries/countries/blob/master/UPGRADE.md\"\u003ecountries's upgrade guide\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eUpgrading to 4.2 and 5.x\u003c/h1\u003e\n\u003cp\u003eIn release 4.2 the \u003ccode\u003e#name\u003c/code\u003e attribute was deprecated in favour of \u003ccode\u003e#iso_short_name\u003c/code\u003e and we added the \u003ccode\u003e#iso_long_name\u003c/code\u003e attribute, to make it clear that these attributes use the ISO3166 names, and are not the \u0026quot;common names\u0026quot; most people might expect, eg: The ISO name for \u0026quot;United Kingdom\u0026quot; is \u0026quot;United Kingdom of Great Britain and Northern Ireland\u0026quot;, but if you're building a dropdown box to select a country, you're likely expecting to see \u0026quot;United Kingdom\u0026quot; instead.\u003c/p\u003e\n\u003cp\u003e\u0026quot;Common names\u0026quot; in English have been available in the translation data, via \u003ccode\u003e#translation('en')\u003c/code\u003e. As of release 4.2, a shortcut method has been added for simplicity, \u003ccode\u003e#common_name\u003c/code\u003e, which delegates to \u003ccode\u003e#translation('en')\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eFor additional clarity, the \u003ccode\u003e#names\u003c/code\u003e method, which was an alias to \u003ccode\u003e#unofficial_names\u003c/code\u003e has also been deprecated, together with the finder methods that use \u003ccode\u003ename\u003c/code\u003e or \u003ccode\u003enames\u003c/code\u003e attributes.\u003c/p\u003e\n\u003cp\u003eThe \u003ccode\u003e#name\u003c/code\u003e and \u003ccode\u003e#names\u003c/code\u003e attributes, and corresponding finder methods were removed in 5.0.\u003c/p\u003e\n\u003cp\u003eThe replacement finders added in 5.0 are:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e#find_by_name\u003c/code\u003e =\u0026gt; \u003ccode\u003e#find_by_any_name\u003c/code\u003e - Searches all the name attributes, same as before\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e#find_by_names\u003c/code\u003e =\u0026gt; \u003ccode\u003e#find_by_unofficial_names\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e#find_*_by_name\u003c/code\u003e =\u0026gt; \u003ccode\u003e#find_*_by_any_name\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e#find_*_by_names\u003c/code\u003e =\u0026gt; \u003ccode\u003e#find_*_by_unofficial_names\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eWith the addition of the new name attributes, there are now also the following finders:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e#find_by_common_name\u003c/code\u003e/\u003ccode\u003e#find_*_by_common_name\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e#find_by_iso_short_name\u003c/code\u003e/\u003ccode\u003e#find_*_by_iso_short_name\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e#find_by_iso_long_name\u003c/code\u003e/\u003ccode\u003e#find_*_by_iso_long_name\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFor translated country names, we use data originally sourced from \u003ca href=\"https://salsa.debian.org/iso-codes-team/iso-codes\"\u003epkg-isocodes\u003c/a\u003e, via the \u003ca href=\"https://github.com/grosser/i18n_data\"\u003ei18n_data\u003c/a\u003e gem, and these generally correspond to the expected \u0026quot;common names\u0026quot;. Some corrections have been applied to these localized names. The methods to access translated names have not been changed.\u003c/p\u003e\n\u003cp\u003eThe 5.0 release removed support for Ruby 2.5 (EOL 2021-03-01) and 2.6 (EOL 2022-03-31)\u003c/p\u003e\n\u003ch1\u003eUpgrading to 5.1\u003c/h1\u003e\n\u003cp\u003eIn release 5.1 a \u003ccode\u003etype\u003c/code\u003e attribute was added to the subdivisions object, to allow filtering the collection of subdivisions.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eCountry#subdivision_types\u003c/code\u003e returns a list of subdivision types for that country (lowercase, snake_cased)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e#subdivisions_of_types(types)\u003c/code\u003e accepts an array of subdivision types and returns the subdivisions for those types\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThe \u003ccode\u003e#states\u003c/code\u003e method is deprecated to avoid confusion, as this method is an alias to \u003ccode\u003e#subdivisions\u003c/code\u003e and returns all subdivisions, regardless of type.\u003c/p\u003e\n\u003cp\u003eTo get a list of \u003ccode\u003estate\u003c/code\u003e subdivisions (something that was not possible before 5.1), use \u003ccode\u003esubdivisions_of_types(['state'])\u003c/code\u003e\u003c/p\u003e\n\u003cp\u003ePlease note that the subdivision types are obtained from ISO data, and each country defines its own subdivision types, eg: \u003ccode\u003estate\u003c/code\u003e, \u003ccode\u003edistrict\u003c/code\u003e, \u003ccode\u003eregion\u003c/code\u003e, \u003ccode\u003emunicipality\u003c/code\u003e and many others types exist.\u003c/p\u003e\n\u003ch1\u003eUpgrading to 7.0\u003c/h1\u003e\n\u003cp\u003eIn release 7.0, the long-deprecated \u003ccode\u003e#states\u003c/code\u003e method has been removed. More information above (Upgrading to 5.1)\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/countries/countries/commit/08dd4da549357a260a6ae34e11024b780e030559\"\u003e\u003ccode\u003e08dd4da\u003c/code\u003e\u003c/a\u003e Bump version, update cache and CHANGELOG\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/countries/countries/commit/53a4a547a0fa14a64c9ef60359cc0a465b5f9f79\"\u003e\u003ccode\u003e53a4a54\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/countries/countries/issues/927\"\u003e#927\u003c/a\u003e from countries/fix/revert_normalization\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/countries/countries/commit/2aeae5831a7f82c99d05d2e183f3c94957874d07\"\u003e\u003ccode\u003e2aeae58\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/countries/countries/issues/926\"\u003e#926\u003c/a\u003e from countries/fix/short_name_fallback\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/countries/countries/commit/12a3284b28faa1eec8d29ef6737850172e2798a4\"\u003e\u003ccode\u003e12a3284\u003c/code\u003e\u003c/a\u003e Add/update specs. Update cache so the new specs run\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/countries/countries/commit/ee324a448dfcaa6e55f4d710c74f093ca3201640\"\u003e\u003ccode\u003eee324a4\u003c/code\u003e\u003c/a\u003e Revert removal of empty keys from country data files. Fixes \u003ca href=\"https://redirect.github.com/countries/countries/issues/925\"\u003e#925\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/countries/countries/commit/bd66a065b033b6e44416d29ce9ef472d731c3784\"\u003e\u003ccode\u003ebd66a06\u003c/code\u003e\u003c/a\u003e Add the old iso_short_names as unofficial_names. Fixes \u003ca href=\"https://redirect.github.com/countries/countries/issues/923\"\u003e#923\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/countries/countries/commit/ee77f0734faac4ce9e0444113527913a46edb378\"\u003e\u003ccode\u003eee77f07\u003c/code\u003e\u003c/a\u003e Move to Qlty coverage\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/countries/countries/commit/30c88454521961555ef7d26e715ba7f955409a30\"\u003e\u003ccode\u003e30c8845\u003c/code\u003e\u003c/a\u003e Update Gemfile.lock\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/countries/countries/commit/ffb6ee03bbcc7bf20990f9146d26fc2c8a19b419\"\u003e\u003ccode\u003effb6ee0\u003c/code\u003e\u003c/a\u003e Remove CodeClimate badge\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/countries/countries/commit/345f7ea19838f4f0b9354fba0f687efc45f6d79c\"\u003e\u003ccode\u003e345f7ea\u003c/code\u003e\u003c/a\u003e Disable code coverage until the action is updated (codeclimate -\u0026gt; qlty change)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/countries/countries/compare/v7.0.0...v8.0.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `excon` from 1.3.0 to 1.3.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/excon/excon/blob/master/changelog.txt\"\u003eexcon's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e1.3.2 2025-12-03\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eupdate bundled certs\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e1.3.1 2025-11-05\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eupdate bundled certs\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/excon/excon/commit/e94efe6637d9d99a66e8a39b52c0131c706432b7\"\u003e\u003ccode\u003ee94efe6\u003c/code\u003e\u003c/a\u003e v1.3.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/excon/excon/commit/7e858751ff850bafc4000fcca4f3f331c70c07bc\"\u003e\u003ccode\u003e7e85875\u003c/code\u003e\u003c/a\u003e update bundled certs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/excon/excon/commit/f076a7657782c518cbff2c1683309c2c106e6275\"\u003e\u003ccode\u003ef076a76\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 5 to 6 (\u003ca href=\"https://redirect.github.com/excon/excon/issues/893\"\u003e#893\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/excon/excon/commit/fbe4748d49ac87504ee8d3e7352da0de3485144c\"\u003e\u003ccode\u003efbe4748\u003c/code\u003e\u003c/a\u003e adjust ractor usage for Ruby 3.5+\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/excon/excon/commit/7900bec2e4f4916b0d8994e5e7f3b57ca10ddb68\"\u003e\u003ccode\u003e7900bec\u003c/code\u003e\u003c/a\u003e v1.3.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/excon/excon/commit/a18079c2a55780951d61da712d68554217106ede\"\u003e\u003ccode\u003ea18079c\u003c/code\u003e\u003c/a\u003e update bundled certs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/excon/excon/commit/60ac6aa966172e6bd20264366e213943d891329c\"\u003e\u003ccode\u003e60ac6aa\u003c/code\u003e\u003c/a\u003e update bundled certs\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/excon/excon/compare/v1.3.0...v1.3.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `forme` from 2.6.0 to 2.7.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jeremyevans/forme/blob/master/CHANGELOG\"\u003eforme's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e=== 2.7.0 (2025-09-16)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eOmit closing / for void element tags (only used previously for xhtml compliance) (jeremyevans)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAllow emit: false option to work correctly for non-model template forms (jeremyevans)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSupport :label_attr as an option-specific option for radioset/checkboxset options (jeremyevans)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAllow Tag#initialize to accept a block, and treat it the same as the children argument (jeremyevans)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd Labeler::Explicit#id_for_input private method to allow subclasses to easily get the id (jeremyevans)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSupport Sequel::Model#forme_required_abbr_title to control the content of the title attribute for abbr tags (jeremyevans)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd Serializer#self_closing_tag? private method for easier overriding in subclasses (jeremyevans)\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/jeremyevans/forme/commit/388c069f9d5bfc0c9e93623f0b25dcd862150143\"\u003e\u003ccode\u003e388c069\u003c/code\u003e\u003c/a\u003e Bump version to 2.7.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jeremyevans/forme/commit/7ada3d690041111f50d27321ed332afaa21e0b8b\"\u003e\u003ccode\u003e7ada3d6\u003c/code\u003e\u003c/a\u003e Omit closing / for void element tags\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jeremyevans/forme/commit/6277bb1e7dc4b1876a3cae73fe3d6acadeb7617b\"\u003e\u003ccode\u003e6277bb1\u003c/code\u003e\u003c/a\u003e Allow emit: false option to work correctly for non-model template forms\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jeremyevans/forme/commit/fb176155e55819087ca66d11385f08c6b2ae362c\"\u003e\u003ccode\u003efb17615\u003c/code\u003e\u003c/a\u003e Use SimpleCov.add_filter block instead of string\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jeremyevans/forme/commit/f3f2206bdc3d137fba19cb759a38279f0b37c551\"\u003e\u003ccode\u003ef3f2206\u003c/code\u003e\u003c/a\u003e Add JRuby 10.0 to CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jeremyevans/forme/commit/62f43ca72a841eb271bde2d5d7355c65fdcf4f72\"\u003e\u003ccode\u003e62f43ca\u003c/code\u003e\u003c/a\u003e Switch rdoc task to normal rake task, avoid rdoc/task require\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jeremyevans/forme/commit/856e9abe62dde92b1efc1b06297ffaaec912bf27\"\u003e\u003ccode\u003e856e9ab\u003c/code\u003e\u003c/a\u003e Support :label_attr as an option-specific option for radioset/checkboxset opt...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jeremyevans/forme/commit/675c9dedd2d5675c344384f849bda46aa9da74d1\"\u003e\u003ccode\u003e675c9de\u003c/code\u003e\u003c/a\u003e Fix concurrent-ruby version in Ruby 2.5/2.6 CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jeremyevans/forme/commit/124fc548ddc5f32f2ccc3f5f0da200188883bfd8\"\u003e\u003ccode\u003e124fc54\u003c/code\u003e\u003c/a\u003e Allow Tag#initialize to accept a block, and treat it the same as the children...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jeremyevans/forme/commit/954bbeeb6bbd899fc0effa54326d401d9b19c5d8\"\u003e\u003ccode\u003e954bbee\u003c/code\u003e\u003c/a\u003e Add Labeler::Explicit#id_for_input private method to allow subclasses to easi...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jeremyevans/forme/compare/2.6.0...2.7.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `jwt` from 2.10.2 to 3.1.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jwt/ruby-jwt/blob/main/CHANGELOG.md\"\u003ejwt's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/jwt/ruby-jwt/tree/v3.1.2\"\u003ev3.1.2\u003c/a\u003e (2025-06-28)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/jwt/ruby-jwt/compare/v3.1.1...v3.1.2\"\u003eFull Changelog\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFixes and enhancements:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid using the same digest across calls in JWT::JWA::Ecdsa and JWT::JWA::Rsa \u003ca href=\"https://redirect.github.com/jwt/ruby-jwt/pull/697\"\u003e#697\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix signing with a EC JWK \u003ca href=\"https://redirect.github.com/jwt/ruby-jwt/pull/699\"\u003e#699\u003c/a\u003e (\u003ca href=\"https://github.com/anakinj\"\u003e\u003ccode\u003e@​anakinj\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/jwt/ruby-jwt/tree/v3.1.1\"\u003ev3.1.1\u003c/a\u003e (2025-06-24)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/jwt/ruby-jwt/compare/v3.1.0...v3.1.1\"\u003eFull Changelog\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFixes and enhancements:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRequire the algorithm to be provided when signing and verifying tokens using JWKs \u003ca href=\"https://redirect.github.com/jwt/ruby-jwt/pull/695\"\u003e#695\u003c/a\u003e (\u003ca href=\"https://github.com/anakinj\"\u003e\u003ccode\u003e@​anakinj\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/jwt/ruby-jwt/tree/v3.1.0\"\u003ev3.1.0\u003c/a\u003e (2025-06-23)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/jwt/ruby-jwt/compare/v3.0.0...v3.1.0\"\u003eFull Changelog\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFeatures:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for x5t header parameter for X.509 certificate thumbprint verification \u003ca href=\"https://redirect.github.com/jwt/ruby-jwt/pull/669\"\u003e#669\u003c/a\u003e (\u003ca href=\"https://github.com/hieuk09\"\u003e\u003ccode\u003e@​hieuk09\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRaise an error if the ECDSA signing or verification key is not an instance of \u003ccode\u003eOpenSSL::PKey::EC\u003c/code\u003e \u003ca href=\"https://redirect.github.com/jwt/ruby-jwt/pull/688\"\u003e#688\u003c/a\u003e (\u003ca href=\"https://github.com/anakinj\"\u003e\u003ccode\u003e@​anakinj\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow \u003ccode\u003eOpenSSL::PKey::EC::Point\u003c/code\u003e to be used as the verification key in ECDSA \u003ca href=\"https://redirect.github.com/jwt/ruby-jwt/pull/689\"\u003e#689\u003c/a\u003e (\u003ca href=\"https://github.com/anakinj\"\u003e\u003ccode\u003e@​anakinj\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRequire claims to have been verified before accessing the \u003ccode\u003eJWT::EncodedToken#payload\u003c/code\u003e \u003ca href=\"https://redirect.github.com/jwt/ruby-jwt/pull/690\"\u003e#690\u003c/a\u003e (\u003ca href=\"https://github.com/anakinj\"\u003e\u003ccode\u003e@​anakinj\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport signing and verifying tokens using a JWK \u003ca href=\"https://redirect.github.com/jwt/ruby-jwt/pull/692\"\u003e#692\u003c/a\u003e (\u003ca href=\"https://github.com/anakinj\"\u003e\u003ccode\u003e@​anakinj\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/jwt/ruby-jwt/tree/v3.0.0\"\u003ev3.0.0\u003c/a\u003e (2025-06-14)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/jwt/ruby-jwt/compare/v2.10.1...v3.0.0\"\u003eFull Changelog\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eBreaking changes:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRequire token signature to be verified before accessing payload \u003ca href=\"https://redirect.github.com/jwt/ruby-jwt/pull/648\"\u003e#648\u003c/a\u003e (\u003ca href=\"https://github.com/anakinj\"\u003e\u003ccode\u003e@​anakinj\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDrop support for the HS512256 algorithm \u003ca href=\"https://redirect.github.com/jwt/ruby-jwt/pull/650\"\u003e#650\u003c/a\u003e (\u003ca href=\"https://github.com/anakinj\"\u003e\u003ccode\u003e@​anakinj\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove deprecated claim verification methods \u003ca href=\"https://redirect.github.com/jwt/ruby-jwt/pull/654\"\u003e#654\u003c/a\u003e (\u003ca href=\"https://github.com/anakinj\"\u003e\u003ccode\u003e@​anakinj\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove dependency to rbnacl \u003ca href=\"https://redirect.github.com/jwt/ruby-jwt/pull/655\"\u003e#655\u003c/a\u003e (\u003ca href=\"https://github.com/anakinj\"\u003e\u003ccode\u003e@​anakinj\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport only stricter base64 decoding (RFC 4648) \u003ca href=\"https://redirect.github.com/jwt/ruby-jwt/pull/658\"\u003e#658\u003c/a\u003e (\u003ca href=\"https://github.com/anakinj\"\u003e\u003ccode\u003e@​anakinj\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCustom algorithms are required to include \u003ccode\u003eJWT::JWA::SigningAlgorithm\u003c/code\u003e \u003ca href=\"https://redirect.github.com/jwt/ruby-jwt/pull/660\"\u003e#660\u003c/a\u003e (\u003ca href=\"https://github.com/anakinj\"\u003e\u003ccode\u003e@​anakinj\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRequire RSA keys to be at least 2048 bits \u003ca href=\"https://redirect.github.com/jwt/ruby-jwt/pull/661\"\u003e#661\u003c/a\u003e (\u003ca href=\"https://github.com/anakinj\"\u003e\u003ccode\u003e@​anakinj\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBase64 encode and decode the k value for HMAC JWKs \u003ca href=\"https://redirect.github.com/jwt/ruby-jwt/pull/662\"\u003e#662\u003c/a\u003e (\u003ca href=\"https://github.com/anakinj\"\u003e\u003ccode\u003e@​anakinj\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eTake a look at the \u003ca href=\"https://github.com/jwt/ruby-jwt/blob/main/UPGRADING.md\"\u003eupgrade guide\u003c/a\u003e for more details.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFeatures:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eJWT::EncodedToken#verify! method that bundles signature and claim validation \u003ca href=\"https://redirect.github.com/jwt/ruby-jwt/pull/647\"\u003e#647\u003c/a\u003e (\u003ca href=\"https://github.com/anakinj\"\u003e\u003ccode\u003e@​anakinj\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDo not override the alg header if already given \u003ca href=\"https://redirect.github.com/jwt/ruby-jwt/pull/659\"\u003e#659\u003c/a\u003e (\u003ca href=\"https://github.com/anakinj\"\u003e\u003ccode\u003e@​anakinj\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/jwt/ruby-jwt/commit/bbe7ae3786568b041f03f50cb2e48d2b964a4eb4\"\u003e\u003ccode\u003ebbe7ae3\u003c/code\u003e\u003c/a\u003e Version 3.1.2 (\u003ca href=\"https://redirect.github.com/jwt/ruby-jwt/issues/700\"\u003e#700\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jwt/ruby-jwt/commit/205a58d9b65ee337291eadafa274b60f71220c53\"\u003e\u003ccode\u003e205a58d\u003c/code\u003e\u003c/a\u003e Fix signing with EC JWK (\u003ca href=\"https://redirect.github.com/jwt/ruby-jwt/issues/699\"\u003e#699\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jwt/ruby-jwt/commit/7231ef5927b4dcd3da97000b3ba3db9617255ba2\"\u003e\u003ccode\u003e7231ef5\u003c/code\u003e\u003c/a\u003e Avoid using the same digest across calls (\u003ca href=\"https://redirect.github.com/jwt/ruby-jwt/issues/697\"\u003e#697\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jwt/ruby-jwt/commit/9524614ff5135c6fa0e876061ac9280df7c36cb7\"\u003e\u003ccode\u003e9524614\u003c/code\u003e\u003c/a\u003e Re-enable Truffleruby on the CI (\u003ca href=\"https://redirect.github.com/jwt/ruby-jwt/issues/698\"\u003e#698\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jwt/ruby-jwt/commit/ad4fc0439f7ee8a8e8b855dad54bfc5f98bfa65e\"\u003e\u003ccode\u003ead4fc04\u003c/code\u003e\u003c/a\u003e Prepare next iteration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jwt/ruby-jwt/commit/50c01e07b53ea5a33bf29ac08d6c61775b6d5d1e\"\u003e\u003ccode\u003e50c01e0\u003c/code\u003e\u003c/a\u003e Prepare 3.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jwt/ruby-jwt/commit/b45219d7c98473a1a7603d2bf5961f6b5ea89576\"\u003e\u003ccode\u003eb45219d\u003c/code\u003e\u003c/a\u003e Do not automatically trust the JWA in the JWK (\u003ca href=\"https://redirect.github.com/jwt/ruby-jwt/issues/695\"\u003e#695\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jwt/ruby-jwt/commit/5c4fb4cfc6ff823744ce9db4fcf95ad058dc5efe\"\u003e\u003ccode\u003e5c4fb4c\u003c/code\u003e\u003c/a\u003e Prepare next iteration (\u003ca href=\"https://redirect.github.com/jwt/ruby-jwt/issues/694\"\u003e#694\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jwt/ruby-jwt/commit/646febebe8f26f353ce28e86ff9ace0bb0737314\"\u003e\u003ccode\u003e646febe\u003c/code\u003e\u003c/a\u003e Fix date for 3.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jwt/ruby-jwt/commit/a93b803adc6bc698e34e3f8244b26cb8cd40bea5\"\u003e\u003ccode\u003ea93b803\u003c/code\u003e\u003c/a\u003e Prepare release of 3.1.0 (\u003ca href=\"https://redirect.github.com/jwt/ruby-jwt/issues/693\"\u003e#693\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jwt/ruby-jwt/compare/v2.10.2...v3.1.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `mail` from 2.8.1 to 2.9.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mikel/mail/releases\"\u003email's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.9.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix little typo by \u003ca href=\"https://github.com/nbennke\"\u003e\u003ccode\u003e@​nbennke\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1462\"\u003emikel/mail#1462\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e2.8.0.rc1 Regression: Preserve message-level charset when adding parts (related to Rails ActionMailer) by \u003ca href=\"https://github.com/johnnyshields\"\u003e\u003ccode\u003e@​johnnyshields\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1495\"\u003emikel/mail#1495\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse Rake's default rakelib/ directory by \u003ca href=\"https://github.com/olleolleolle\"\u003e\u003ccode\u003e@​olleolleolle\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1488\"\u003emikel/mail#1488\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor: Use Dir.glob only once in gemspec's \u0026quot;files\u0026quot; directive by \u003ca href=\"https://github.com/olleolleolle\"\u003e\u003ccode\u003e@​olleolleolle\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1486\"\u003emikel/mail#1486\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eConfigure RSpec's zero-monkey patching mode by \u003ca href=\"https://github.com/olleolleolle\"\u003e\u003ccode\u003e@​olleolleolle\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1485\"\u003emikel/mail#1485\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove unnecessary gemfile dependency on strscan by \u003ca href=\"https://github.com/deivid-rodriguez\"\u003e\u003ccode\u003e@​deivid-rodriguez\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1483\"\u003emikel/mail#1483\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eREADME: sending multipart mail by \u003ca href=\"https://github.com/kapfenho\"\u003e\u003ccode\u003e@​kapfenho\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1479\"\u003emikel/mail#1479\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003edelivery_interceptors\u003c/code\u003e method to \u003ccode\u003eMail\u003c/code\u003e class to fetch registered interceptors by \u003ca href=\"https://github.com/ghousemohamed\"\u003e\u003ccode\u003e@​ghousemohamed\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1475\"\u003emikel/mail#1475\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate MIME-Version to have correct case per the RFC by \u003ca href=\"https://github.com/mikel\"\u003e\u003ccode\u003e@​mikel\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1503\"\u003emikel/mail#1503\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdding explicit JRuby support by \u003ca href=\"https://github.com/mikel\"\u003e\u003ccode\u003e@​mikel\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1508\"\u003emikel/mail#1508\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor: Use Ruby 2's \u003cstrong\u003edir\u003c/strong\u003e where possible by \u003ca href=\"https://github.com/olleolleolle\"\u003e\u003ccode\u003e@​olleolleolle\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1487\"\u003emikel/mail#1487\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[Corrected] Layout/TrailingWhitespace: Trailing whitespace detected. by \u003ca href=\"https://github.com/mikel\"\u003e\u003ccode\u003e@​mikel\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1510\"\u003emikel/mail#1510\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprove documentation by \u003ca href=\"https://github.com/fwolfst\"\u003e\u003ccode\u003e@​fwolfst\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1371\"\u003emikel/mail#1371\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSpan =\u0026gt; Spam by \u003ca href=\"https://github.com/sebbASF\"\u003e\u003ccode\u003e@​sebbASF\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1320\"\u003emikel/mail#1320\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003euse unpack1 by \u003ca href=\"https://github.com/ahorek\"\u003e\u003ccode\u003e@​ahorek\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1513\"\u003emikel/mail#1513\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLazy-load fields and elements by \u003ca href=\"https://github.com/c960657\"\u003e\u003ccode\u003e@​c960657\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1491\"\u003emikel/mail#1491\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eInstall libyaml-dev for Psych by \u003ca href=\"https://github.com/c960657\"\u003e\u003ccode\u003e@​c960657\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1522\"\u003emikel/mail#1522\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFeature/parse lf by \u003ca href=\"https://github.com/sebbASF\"\u003e\u003ccode\u003e@​sebbASF\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1520\"\u003emikel/mail#1520\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003euse match? by \u003ca href=\"https://github.com/ahorek\"\u003e\u003ccode\u003e@​ahorek\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1514\"\u003emikel/mail#1514\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/checkout to v3 by \u003ca href=\"https://github.com/sebbASF\"\u003e\u003ccode\u003e@​sebbASF\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1535\"\u003emikel/mail#1535\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix for \u003ca href=\"https://redirect.github.com/mikel/mail/issues/1527\"\u003e#1527\u003c/a\u003e by \u003ca href=\"https://github.com/sebbASF\"\u003e\u003ccode\u003e@​sebbASF\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1534\"\u003emikel/mail#1534\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStandardise on WARNING: prefix by \u003ca href=\"https://github.com/sebbASF\"\u003e\u003ccode\u003e@​sebbASF\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1533\"\u003emikel/mail#1533\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChecks are in the wrong place by \u003ca href=\"https://github.com/sebbASF\"\u003e\u003ccode\u003e@​sebbASF\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1531\"\u003emikel/mail#1531\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAllow manual trigger by \u003ca href=\"https://github.com/sebbASF\"\u003e\u003ccode\u003e@​sebbASF\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1524\"\u003emikel/mail#1524\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHandle parsing of LF-only body with separate parts by \u003ca href=\"https://github.com/mikel\"\u003e\u003ccode\u003e@​mikel\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1511\"\u003emikel/mail#1511\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake activesupport gem optional by \u003ca href=\"https://github.com/sebbASF\"\u003e\u003ccode\u003e@​sebbASF\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1532\"\u003emikel/mail#1532\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSMTP: refactor and accept starttls :always and :auto by \u003ca href=\"https://github.com/eval\"\u003e\u003ccode\u003e@​eval\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1536\"\u003emikel/mail#1536\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdds Ruby 3.2 to the CI matrix by \u003ca href=\"https://github.com/petergoldstein\"\u003e\u003ccode\u003e@​petergoldstein\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1552\"\u003emikel/mail#1552\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLayout conventions are not the same as syntax by \u003ca href=\"https://github.com/sebbASF\"\u003e\u003ccode\u003e@​sebbASF\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1558\"\u003emikel/mail#1558\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDon't shadow local variable by \u003ca href=\"https://github.com/sebbASF\"\u003e\u003ccode\u003e@​sebbASF\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1318\"\u003emikel/mail#1318\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRevert PR \u003ca href=\"https://redirect.github.com/mikel/mail/issues/1495\"\u003e#1495\u003c/a\u003e because it is a dupe of \u003ca href=\"https://redirect.github.com/mikel/mail/issues/1470\"\u003e#1470\u003c/a\u003e by \u003ca href=\"https://github.com/johnnyshields\"\u003e\u003ccode\u003e@​johnnyshields\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1559\"\u003emikel/mail#1559\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Ruby 3.3 to CI matrix by \u003ca href=\"https://github.com/m-nakamura145\"\u003e\u003ccode\u003e@​m-nakamura145\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1595\"\u003emikel/mail#1595\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTruffleRuby is flaky by \u003ca href=\"https://github.com/sebbASF\"\u003e\u003ccode\u003e@​sebbASF\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1599\"\u003emikel/mail#1599\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse require_relative where possible by \u003ca href=\"https://github.com/eval\"\u003e\u003ccode\u003e@​eval\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1598\"\u003emikel/mail#1598\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTest string is 1 char short of 78 by \u003ca href=\"https://github.com/sebbASF\"\u003e\u003ccode\u003e@​sebbASF\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1568\"\u003emikel/mail#1568\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate documentation regarding errors array by \u003ca href=\"https://github.com/mikehale\"\u003e\u003ccode\u003e@​mikehale\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1605\"\u003emikel/mail#1605\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix all 'assigned but unused variable' warnings by \u003ca href=\"https://github.com/skipkayhil\"\u003e\u003ccode\u003e@​skipkayhil\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1551\"\u003emikel/mail#1551\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix IMAP search issues by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1611\"\u003emikel/mail#1611\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocument SMTP TLS/STARTTLS settings (cherry-picked from 2.8 stable branch) by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1613\"\u003emikel/mail#1613\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCI: Use checkout@v4 by \u003ca href=\"https://github.com/olleolleolle\"\u003e\u003ccode\u003e@​olleolleolle\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1616\"\u003emikel/mail#1616\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDrop unused \u0026quot;ad hoc\u0026quot; GH Actions workflow by \u003ca href=\"https://github.com/olleolleolle\"\u003e\u003ccode\u003e@​olleolleolle\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1615\"\u003emikel/mail#1615\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003einclude rfc822 as attachments by \u003ca href=\"https://github.com/ahorek\"\u003e\u003ccode\u003e@​ahorek\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1389\"\u003emikel/mail#1389\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAddress \u003ccode\u003ewarning: URI::RFC3986_PARSER\u003c/code\u003e warnings by \u003ca href=\"https://github.com/yahonda\"\u003e\u003ccode\u003e@​yahonda\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1620\"\u003emikel/mail#1620\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd logger as a dependency for Ruby 3.4 warnings by \u003ca href=\"https://github.com/yahonda\"\u003e\u003ccode\u003e@​yahonda\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1619\"\u003emikel/mail#1619\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix regression in content_type for text part after converted to multipart by \u003ca href=\"https://github.com/jeremyevans\"\u003e\u003ccode\u003e@​jeremyevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1330\"\u003emikel/mail#1330\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/nbennke\"\u003e\u003ccode\u003e@​nbennke\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1462\"\u003emikel/mail#1462\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/mikel/mail/blob/master/CHANGELOG.rdoc\"\u003email's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e== Version 2.9.0 (unreleased)\u003c/p\u003e\n\u003cp\u003eBreaking changes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eMail::Field::FIELDS_MAP now contains class names, not Class instances (c960657)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eCompatibility:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate MIME-Version to have correct case per RFC 2045 \u003ca href=\"https://github.com/mikel\"\u003e\u003ccode\u003e@​mikel\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFeatures:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated README to improve around sending multipart mail \u003ca href=\"https://github.com/kapfenho\"\u003e\u003ccode\u003e@​kapfenho\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd delivery_interceptors method to Mail class to fetch registered interceptors \u003ca href=\"https://github.com/ghousemohamed\"\u003e\u003ccode\u003e@​ghousemohamed\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eCode Improvements:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUse Rake's default rakelib/ directory \u003ca href=\"https://github.com/olleolleolle\"\u003e\u003ccode\u003e@​olleolleolle\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor: Use Dir.glob only once in gemspec's \u0026quot;files\u0026quot; directive \u003ca href=\"https://github.com/olleolleolle\"\u003e\u003ccode\u003e@​olleolleolle\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eConfigure RSpec's zero-monkey patching mode \u003ca href=\"https://github.com/olleolleolle\"\u003e\u003ccode\u003e@​olleolleolle\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded support for JRuby 9.4 \u003ca href=\"https://github.com/mikel\"\u003e\u003ccode\u003e@​mikel\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePrefer \u003ccode\u003e__dir__\u003c/code\u003e \u003ca href=\"https://github.com/olleolleolle\"\u003e\u003ccode\u003e@​olleolleolle\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBug Fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRegression: Preserve message-level charset when adding parts (related to Rails ActionMailer) \u003ca href=\"https://github.com/shields\"\u003e\u003ccode\u003e@​shields\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRegression: Adding a part should not reset the mail's charset to nil \u003ca href=\"https://github.com/railsbob\"\u003e\u003ccode\u003e@​railsbob\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003ePerformance:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ereduce object allocations by replacing =~ and Regexp#match by Regexp#match? \u003ca href=\"https://github.com/ahorek\"\u003e\u003ccode\u003e@​ahorek\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ereduce object allocations by replacing String#unpack[0] by String#unpack1 \u003ca href=\"https://github.com/ahorek\"\u003e\u003ccode\u003e@​ahorek\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003ePlease check \u003ca href=\"https://github.com/mikel/mail/blob/2-8-stable/CHANGELOG.rdoc\"\u003e2-8-stable\u003c/a\u003e for previous changes.\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/mikel/mail/commit/490fe219712829ce763fd46eea7fbd3d4eaa102d\"\u003e\u003ccode\u003e490fe21\u003c/code\u003e\u003c/a\u003e Prepare for 2.9.0 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mikel/mail/commit/717f220d2318380cf295ac6745eb1005136b1217\"\u003e\u003ccode\u003e717f220\u003c/code\u003e\u003c/a\u003e Bump to beta2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mikel/mail/commit/d1d65b370b109b98e673a934e8b70a0c1f58cc59\"\u003e\u003ccode\u003ed1d65b3\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/mikel/mail/issues/1330\"\u003e#1330\u003c/a\u003e from jeremyevans/content-type-regression-fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mikel/mail/commit/30302c779d4f3250f6fccbe1361fac54449d7732\"\u003e\u003ccode\u003e30302c7\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/mikel/mail/issues/1619\"\u003e#1619\u003c/a\u003e from yahonda/add_dependency_logger\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mikel/mail/commit/182f2beaeef716f3b003b9916d40251f4ae12317\"\u003e\u003ccode\u003e182f2be\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/mikel/mail/issues/1620\"\u003e#1620\u003c/a\u003e from yahonda/address_uri_rfc_3986_parser_warnings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mikel/mail/commit/73db11a6463ec330a36d68cfb77ef99511126cb0\"\u003e\u003ccode\u003e73db11a\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/mikel/mail/issues/1389\"\u003e#1389\u003c/a\u003e from ahorek/attachments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mikel/mail/commit/26f413e9aa16b652ac38605d063c082c9097cad7\"\u003e\u003ccode\u003e26f413e\u003c/code\u003e\u003c/a\u003e rfc822 attachments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mikel/mail/commit/a2da80f24c680cea0c50cf56655b1a1fce6c013d\"\u003e\u003ccode\u003ea2da80f\u003c/code\u003e\u003c/a\u003e Address \u003ccode\u003ewarning: URI::RFC3986_PARSER\u003c/code\u003e warnings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mikel/mail/commit/98c835a544f6f9697df4719858ba58b4396f2dfb\"\u003e\u003ccode\u003e98c835a\u003c/code\u003e\u003c/a\u003e Add logger as a dependency for Ruby 3.4 warnings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mikel/mail/commit/9a7e2bf499d7a35658113c4042ed7ebb7d9f865e\"\u003e\u003ccode\u003e9a7e2bf\u003c/code\u003e\u003c/a\u003e Drop unused GH Ation workflow (\u003ca href=\"https://redirect.github.com/mikel/mail/issues/1615\"\u003e#1615\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/mikel/mail/compare/2.8.1...2.9.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `nokogiri` from 1.18.9 to 1.18.10\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sparklemotion/nokogiri/releases\"\u003enokogiri's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.18.10 / 2025-09-15\u003c/h2\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[CRuby] Vendored libxml2 is updated to \u003ca href=\"https://gitlab.gnome.org/GNOME/libxml2/-/releases/v2.13.9\"\u003ev2.13.9\u003c/a\u003e. Note that the security fixes published in v2.13.9 were already present in Nokogiri v1.18.9.\u003c/li\u003e\n\u003cli\u003e[CRuby] [Windows and MacOS] Vendored libiconv is updated to \u003ca href=\"https://savannah.gnu.org/news/?id=10703\"\u003ev1.18\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cpre\u003e\u003ccode\u003e7fb87235d729c74a2be635376d82b1d459230cc17c50300f8e4fcaabc6195344  nokogiri-1.18.10-aarch64-linux-gnu.gem\n7e74e58314297cc8a8f1b533f7212d1999dbe2639a9ee6d97b483ea2acc18944  nokogiri-1.18.10-aarch64-linux-musl.gem\n51f4f25ab5d5ba1012d6b16aad96b840a10b067b93f35af6a55a2c104a7ee322  nokogiri-1.18.10-arm-linux-gnu.gem\n1c6ea754e51cecc85c30ee8ab1e6aa4ce6b6e134d01717e9290e79374a9e00aa  nokogiri-1.18.10-arm-linux-musl.gem\nc2b0de30770f50b92c9323fa34a4e1cf5a0af322afcacd239cd66ee1c1b22c85  nokogiri-1.18.10-arm64-darwin.gem\ncd431a09c45d84a2f870ba0b7e8f571199b3727d530f2b4888a73639f76510b5  nokogiri-1.18.10-java.gem\n64f40d4a41af9f7f83a4e236ad0cf8cca621b97e31f727b1bebdae565a653104  nokogiri-1.18.10-x64-mingw-ucrt.gem\n536e74bed6db2b5076769cab5e5f5af0cd1dccbbd75f1b3e1fa69d1f5c2d79e2  nokogiri-1.18.10-x86_64-darwin.gem\nff5ba26ba2dbce5c04b9ea200777fd225061d7a3930548806f31db907e500f72  nokogiri-1.18.10-x86_64-linux-gnu.gem\n0651fccf8c2ebbc2475c8b1dfd7ccac3a0a6d09f8a41b72db8c21808cb483385  nokogiri-1.18.10-x86_64-linux-musl.gem\nd5cc0731008aa3b3a87b361203ea3d19b2069628cb55e46ac7d84a0445e69cc1  nokogiri-1.18.10.gem\n\u003c/code\u003e\u003c/pre\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/sparklemotion/nokogiri/blob/main/CHANGELOG.md\"\u003enokogiri's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.18.10 / 2025-09-15\u003c/h2\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[CRuby] Vendored libxml2 is updated to \u003ca href=\"https://gitlab.gnome.org/GNOME/libxml2/-/releases/v2.13.9\"\u003ev2.13.9\u003c/a\u003e. Note that the security fixes published in v2.13.9 were already present in Nokogiri v1.18.9.\u003c/li\u003e\n\u003cli\u003e[CRuby] [Windows and MacOS] Vendored libiconv is updated to \u003ca href=\"https://savannah.gnu.org/news/?id=10703\"\u003ev1.18\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/sparklemotion/nokogiri/commit/680374099b3570b97471f822acc978cc847fee46\"\u003e\u003ccode\u003e6803740\u003c/code\u003e\u003c/a\u003e version bump to v1.18.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/93337de8323fa5269c07e913495d5d2b2535f912\"\u003e\u003ccode\u003e93337de\u003c/code\u003e\u003c/a\u003e dep: bump vendored libxml2 to v2.13.9 (\u003ca href=\"https://redirect.github.com/sparklemotion/nokogiri/issues/3555\"\u003e#3555\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/15dde1793c81bdffdc173ff975674a6299b65d6c\"\u003e\u003ccode\u003e15dde17\u003c/code\u003e\u003c/a\u003e ci: work around repeated bundler deadlocks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/9906071faef26c6c27452f93780eae9674aed3ec\"\u003e\u003ccode\u003e9906071\u003c/code\u003e\u003c/a\u003e dep: bump vendored libxml2 to v2.13.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/adf72e3e6dda49556f519260406332252f0581c0\"\u003e\u003ccode\u003eadf72e3\u003c/code\u003e\u003c/a\u003e [v1.18.x] backport libiconv upgrade to v1.18 (\u003ca href=\"https://redirect.github.com/sparklemotion/nokogiri/issues/3550\"\u003e#3550\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/92cab09a7dea7ad81c935464c618d7ccb9272ef4\"\u003e\u003ccode\u003e92cab09\u003c/code\u003e\u003c/a\u003e dep: update vendored libiconv to 1.18\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/f1c5ea84ce2805aded8ab625a4b6da177f3a2162\"\u003e\u003ccode\u003ef1c5ea8\u003c/code\u003e\u003c/a\u003e Use mirror site to download libiconv\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/dcd272155c99097068383cc00b79db0bc126f045\"\u003e\u003ccode\u003edcd2721\u003c/code\u003e\u003c/a\u003e ci: stop testing Ruby 3.1 windows source builds\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/cf856e626748655f81f35449f67822c472a9b707\"\u003e\u003ccode\u003ecf856e6\u003c/code\u003e\u003c/a\u003e ci: fix the aarch64 segfault by using a more modern qemu\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/6d77443f359588c113c043c22ba4c38c8dff27a1\"\u003e\u003ccode\u003e6d77443\u003c/code\u003e\u003c/a\u003e Fix errors building Ruby 3.1 on windows\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sparklemotion/nokogiri/compare/v1.18.9...v1.18.10\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `octokit` from 9.2.0 to 10.0.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/octokit/octokit.rb/releases\"\u003eoctokit's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev10.0.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBREAKING CHANGE: Re...\n\n_Description has been truncated_","html_url":"https://github.com/NameawaShinderu/ubicloud-main/pull/59","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/NameawaShinderu%2Fubicloud-main/issues/59","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/59/packages"},{"uuid":"3761136076","node_id":"PR_kwDOIy0ZTM66hYVS","number":4445,"state":"closed","title":"Bump the production-dependencies group across 1 directory with 20 updates","user":"dependabot[bot]","labels":["dependencies","ruby"],"assignees":[],"locked":true,"comments_count":1,"pull_request":true,"closed_at":"2025-12-25T23:07:21.000Z","author_association":null,"state_reason":null,"created_at":"2025-12-24T23:08:32.000Z","updated_at":"2025-12-25T23:08:46.000Z","time_to_close":86329,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"production-dependencies","update_count":20,"packages":[{"name":"acme-client","old_version":"2.0.26","new_version":"2.0.28","repository_url":"https://github.com/unixcharles/acme-client"},{"name":"aws-sdk-ec2","old_version":"1.569.0","new_version":"1.584.0","repository_url":"https://github.com/aws/aws-sdk-ruby"},{"name":"aws-sdk-iam","old_version":"1.132.0","new_version":"1.137.0","repository_url":"https://github.com/aws/aws-sdk-ruby"},{"name":"bcrypt_pbkdf","old_version":"1.1.1","new_version":"1.1.2","repository_url":"https://github.com/net-ssh/bcrypt_pbkdf-ruby"},{"name":"excon","old_version":"1.3.0","new_version":"1.3.2","repository_url":"https://github.com/excon/excon"},{"name":"reline","old_version":"0.6.2","new_version":"0.6.3","repository_url":"https://github.com/ruby/reline"},{"name":"roda","old_version":"3.97.0","new_version":"3.98.0","repository_url":"https://github.com/jeremyevans/roda"},{"name":"rqrcode","old_version":"3.1.0","new_version":"3.1.1","repository_url":"https://github.com/whomwah/rqrcode"},{"name":"addressable","old_version":"2.8.7","new_version":"2.8.8","repository_url":"https://github.com/sporkmonger/addressable"},{"name":"date","old_version":"3.5.0","new_version":"3.5.1","repository_url":"https://github.com/ruby/date"},{"name":"oauth2","old_version":"2.0.17","new_version":"2.0.18","repository_url":"https://github.com/ruby-oauth/oauth2"},{"name":"openapi_parser","old_version":"2.3.0","new_version":"2.3.1","repository_url":"https://github.com/ota42y/openapi_parser"},{"name":"optparse","old_version":"0.8.0","new_version":"0.8.1","repository_url":"https://github.com/ruby/optparse"},{"name":"timeout","old_version":"0.4.4","new_version":"0.6.0","repository_url":"https://github.com/ruby/timeout"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps the production-dependencies group with 14 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [acme-client](https://github.com/unixcharles/acme-client) | `2.0.26` | `2.0.28` |\n| [aws-sdk-ec2](https://github.com/aws/aws-sdk-ruby) | `1.569.0` | `1.584.0` |\n| [aws-sdk-iam](https://github.com/aws/aws-sdk-ruby) | `1.132.0` | `1.137.0` |\n| [bcrypt_pbkdf](https://github.com/net-ssh/bcrypt_pbkdf-ruby) | `1.1.1` | `1.1.2` |\n| [excon](https://github.com/excon/excon) | `1.3.0` | `1.3.2` |\n| [reline](https://github.com/ruby/reline) | `0.6.2` | `0.6.3` |\n| [roda](https://github.com/jeremyevans/roda) | `3.97.0` | `3.98.0` |\n| [rqrcode](https://github.com/whomwah/rqrcode) | `3.1.0` | `3.1.1` |\n| [addressable](https://github.com/sporkmonger/addressable) | `2.8.7` | `2.8.8` |\n| [date](https://github.com/ruby/date) | `3.5.0` | `3.5.1` |\n| [oauth2](https://github.com/ruby-oauth/oauth2) | `2.0.17` | `2.0.18` |\n| [openapi_parser](https://github.com/ota42y/openapi_parser) | `2.3.0` | `2.3.1` |\n| [optparse](https://github.com/ruby/optparse) | `0.8.0` | `0.8.1` |\n| [timeout](https://github.com/ruby/timeout) | `0.4.4` | `0.6.0` |\n\n\nUpdates `acme-client` from 2.0.26 to 2.0.28\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/unixcharles/acme-client/blob/master/CHANGELOG.md\"\u003eacme-client's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ccode\u003e2.0.28\u003c/code\u003e\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMake \u003ca href=\"https://datatracker.ietf.org/doc/html/rfc8555/#section-6.6\"\u003eRetry-After\u003c/a\u003e accessible from RateLimited#retry_after exceptions\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ccode\u003e2.0.27\u003c/code\u003e\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Renewal Information (ARI) (RFC 9773)\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/unixcharles/acme-client/commit/559889f21df6e765152687ffd6a973b61f7befa3\"\u003e\u003ccode\u003e559889f\u003c/code\u003e\u003c/a\u003e Bump to 2.0.28\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unixcharles/acme-client/commit/5e15c9f17d21eef85d01190344aa462191a2b486\"\u003e\u003ccode\u003e5e15c9f\u003c/code\u003e\u003c/a\u003e Add retry_after property to RateLimited client error (\u003ca href=\"https://redirect.github.com/unixcharles/acme-client/issues/260\"\u003e#260\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unixcharles/acme-client/commit/ff515cab615d682cbaaada9ac6ab52dc160e4b01\"\u003e\u003ccode\u003eff515ca\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 5 to 6 (\u003ca href=\"https://redirect.github.com/unixcharles/acme-client/issues/259\"\u003e#259\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unixcharles/acme-client/commit/443a45d2266463b91b5f1935c16139b6021f3c99\"\u003e\u003ccode\u003e443a45d\u003c/code\u003e\u003c/a\u003e Bump to 2.0.27\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unixcharles/acme-client/commit/d32e7f92ad6d542d49b3ed8907e349c109013512\"\u003e\u003ccode\u003ed32e7f9\u003c/code\u003e\u003c/a\u003e Add Renewal Information (ARI) support (RFC 9773) (\u003ca href=\"https://redirect.github.com/unixcharles/acme-client/issues/257\"\u003e#257\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/unixcharles/acme-client/compare/v2.0.26...v2.0.28\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `aws-sdk-ec2` from 1.569.0 to 1.584.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/aws/aws-sdk-ruby/blob/version-3/gems/aws-sdk-ec2/CHANGELOG.md\"\u003eaws-sdk-ec2's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.584.0 (2025-12-08)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Amazon EC2 P6-B300 instances provide 8x NVIDIA Blackwell Ultra GPUs with 2.1 TB high bandwidth GPU memory, 6.4 Tbps EFA networking, 300 Gbps dedicated ENA throughput, and 4 TB of system memory. Amazon EC2 C8a instances are powered by 5th Gen AMD EPYC processors with a maximum frequency of 4.5 GHz.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.583.0 (2025-11-25)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - This release adds support to view Network firewall proxy appliances attached to an existing NAT Gateway via DescribeNatGateways API NatGatewayAttachedAppliance structure.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.582.0 (2025-11-21)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - This release adds a new capability to create and manage interruptible EC2 Capacity Reservations.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.581.0 (2025-11-20)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - This release adds support for multiple features including: VPC Encryption Control for the status of traffic flow; S2S VPN BGP Logging; TGW Flexible Costs; IPAM allocation of static IPs from IPAM pools to CF Anycast IP lists used on CloudFront distribution; and EBS Volume Integration with Recycle Bin\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.580.0 (2025-11-19)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - This launch adds support for two new features: Regional NAT Gateway and IPAM Policies. IPAM policies offers customers central control for public IPv4 assignments across AWS services. Regional NAT is a single NAT Gateway that automatically expands across AZs in a VPC to maintain high availability.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.579.0 (2025-11-18)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - AWS Site-to-Site VPN now supports VPN Concentrator, a new feature that enables customers to connect multiple low-bandwidth sites connections through a single attachment, simplifying multi-site connectivity for distributed enterprises.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.578.0 (2025-11-17)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - This release introduces new APIs: DescribeInstanceSqlHaStates, DescribeInstanceSqlHaHistoryStates, EnableInstanceSqlHaStandbyDetections and DisableInstanceSqlHaStandbyDetections on Amazon EC2, allowing customers to enroll and monitor SQL Server licensing fee savings for their SQL HA EC2 instances.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.577.0 (2025-11-14)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - This release adds AvailabilityZoneId support for CreateInstanceConnectEndpoint, DescribeInstanceConnectEndpoints, and DeleteInstanceConnectEndpoint APIs.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.576.0 (2025-11-13)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Added support for new accelerator types (\u0026quot;media\u0026quot;) and accelerator names (\u0026quot;L4\u0026quot;, \u0026quot;L40s\u0026quot;, \u0026quot;GAUDI_HL_205\u0026quot;, \u0026quot;INFERENTIA2\u0026quot;, \u0026quot;TRAINIUM\u0026quot;, \u0026quot;TRAINIUM2\u0026quot;, \u0026quot;U30\u0026quot;) in Attributes Based Instance Type Selection for launched instance types.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.575.0 (2025-11-12)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Adds complete AMI ancestry tracing from immediate parent through each preceding generation back to the root AMI\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\u003eSee full diff in \u003ca href=\"https://github.com/aws/aws-sdk-ruby/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `aws-sdk-iam` from 1.132.0 to 1.137.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/aws/aws-sdk-ruby/blob/version-3/gems/aws-sdk-iam/CHANGELOG.md\"\u003eaws-sdk-iam's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.137.0 (2025-12-05)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Adding the ExpirationTime attribute to the delegation request resource.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.136.0 (2025-11-21)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Code Generated Changes, see \u003ccode\u003e./build_tools\u003c/code\u003e or \u003ccode\u003eaws-sdk-core\u003c/code\u003e's CHANGELOG.md for details.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.135.0 (2025-11-19)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Added the EnableOutboundWebIdentityFederation, DisableOutboundWebIdentityFederation and GetOutboundWebIdentityFederationInfo APIs for the IAM outbound federation feature.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.134.0 (2025-11-18)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Added the AssociateDelegationRequest, GetDelegationRequest, AcceptDelegationRequest, RejectDelegatonRequest, ListDelegationRequests, UpdateDelegationRequest, SendDelegationToken and GetHumanReadableSummary APIs for the IAM temporary delegation feature.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.133.0 (2025-11-10)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Added CreateDelegationRequest API, which is not available for general use at this time.\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\u003eSee full diff in \u003ca href=\"https://github.com/aws/aws-sdk-ruby/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `bcrypt_pbkdf` from 1.1.1 to 1.1.2\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/net-ssh/bcrypt_pbkdf-ruby/commit/e52088f9a28e34321a9b359f30d472097f1d7f01\"\u003e\u003ccode\u003ee52088f\u003c/code\u003e\u003c/a\u003e chore: bump version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/net-ssh/bcrypt_pbkdf-ruby/commit/26919975ca7b77425609387955d31784381c3af6\"\u003e\u003ccode\u003e2691997\u003c/code\u003e\u003c/a\u003e added benchmark gem to gemspec\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/net-ssh/bcrypt_pbkdf-ruby/commit/fc2498597f6f556979ccc8ee58acce10e39ff09a\"\u003e\u003ccode\u003efc24985\u003c/code\u003e\u003c/a\u003e chore: bump version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/net-ssh/bcrypt_pbkdf-ruby/commit/25919bbc4a148ba2031e6c52ec777ded97560df4\"\u003e\u003ccode\u003e25919bb\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/net-ssh/bcrypt_pbkdf-ruby/issues/26\"\u003e#26\u003c/a\u003e from brendon/Ruby-3.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/net-ssh/bcrypt_pbkdf-ruby/commit/77d005a0be09f848cf8838d09e611290b027a791\"\u003e\u003ccode\u003e77d005a\u003c/code\u003e\u003c/a\u003e Add Ruby 3.4 support\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/net-ssh/bcrypt_pbkdf-ruby/compare/v1.1.1...v1.1.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `excon` from 1.3.0 to 1.3.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/excon/excon/blob/master/changelog.txt\"\u003eexcon's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e1.3.2 2025-12-03\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eupdate bundled certs\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e1.3.1 2025-11-05\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eupdate bundled certs\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/excon/excon/commit/e94efe6637d9d99a66e8a39b52c0131c706432b7\"\u003e\u003ccode\u003ee94efe6\u003c/code\u003e\u003c/a\u003e v1.3.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/excon/excon/commit/7e858751ff850bafc4000fcca4f3f331c70c07bc\"\u003e\u003ccode\u003e7e85875\u003c/code\u003e\u003c/a\u003e update bundled certs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/excon/excon/commit/f076a7657782c518cbff2c1683309c2c106e6275\"\u003e\u003ccode\u003ef076a76\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 5 to 6 (\u003ca href=\"https://redirect.github.com/excon/excon/issues/893\"\u003e#893\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/excon/excon/commit/fbe4748d49ac87504ee8d3e7352da0de3485144c\"\u003e\u003ccode\u003efbe4748\u003c/code\u003e\u003c/a\u003e adjust ractor usage for Ruby 3.5+\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/excon/excon/commit/7900bec2e4f4916b0d8994e5e7f3b57ca10ddb68\"\u003e\u003ccode\u003e7900bec\u003c/code\u003e\u003c/a\u003e v1.3.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/excon/excon/commit/a18079c2a55780951d61da712d68554217106ede\"\u003e\u003ccode\u003ea18079c\u003c/code\u003e\u003c/a\u003e update bundled certs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/excon/excon/commit/60ac6aa966172e6bd20264366e213943d891329c\"\u003e\u003ccode\u003e60ac6aa\u003c/code\u003e\u003c/a\u003e update bundled certs\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/excon/excon/compare/v1.3.0...v1.3.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `reline` from 0.6.2 to 0.6.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/reline/releases\"\u003ereline's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.6.3\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix CSI pattern regexp to accept parameter bytes and intermediate bytes by \u003ca href=\"https://github.com/tompng\"\u003e\u003ccode\u003e@​tompng\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/reline/pull/848\"\u003eruby/reline#848\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse key symbol names instead of hardcoded C-r C-s C-h C-? in reverse/forward i-search by \u003ca href=\"https://github.com/tompng\"\u003e\u003ccode\u003e@​tompng\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/reline/pull/855\"\u003eruby/reline#855\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🛠 Other Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBump actions/checkout from 4 to 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/ruby/reline/pull/846\"\u003eruby/reline#846\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump step-security/harden-runner from 2.12.2 to 2.13.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/ruby/reline/pull/844\"\u003eruby/reline#844\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/upload-pages-artifact 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/ruby/reline/pull/849\"\u003eruby/reline#849\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump step-security/harden-runner from 2.13.0 to 2.13.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/ruby/reline/pull/850\"\u003eruby/reline#850\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse test-unit-ruby-core by \u003ca href=\"https://github.com/tompng\"\u003e\u003ccode\u003e@​tompng\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/reline/pull/852\"\u003eruby/reline#852\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove retrieve_keybuffer by \u003ca href=\"https://github.com/tompng\"\u003e\u003ccode\u003e@​tompng\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/reline/pull/851\"\u003eruby/reline#851\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump rubygems/release-gem from 1.1.1 to 1.1.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/ruby/reline/pull/857\"\u003eruby/reline#857\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse bundler/setup instead of Bunlder.require in multiline_repl by \u003ca href=\"https://github.com/tompng\"\u003e\u003ccode\u003e@​tompng\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/reline/pull/860\"\u003eruby/reline#860\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump version to 0.6.3 by \u003ca href=\"https://github.com/ima1zumi\"\u003e\u003ccode\u003e@​ima1zumi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/reline/pull/858\"\u003eruby/reline#858\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ruby/reline/compare/v0.6.2...v0.6.3\"\u003ehttps://github.com/ruby/reline/compare/v0.6.2...v0.6.3\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/ruby/reline/commit/55390d5c0cfb8916b170b9146428c8de98ff7dc8\"\u003e\u003ccode\u003e55390d5\u003c/code\u003e\u003c/a\u003e Bump up to 0.6.3 (\u003ca href=\"https://redirect.github.com/ruby/reline/issues/858\"\u003e#858\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/reline/commit/07255abec99bb6daaf87cc13c8f35e205ace9bbb\"\u003e\u003ccode\u003e07255ab\u003c/code\u003e\u003c/a\u003e Use bundler/setup instead of Bunlder.require in multiline_repl (\u003ca href=\"https://redirect.github.com/ruby/reline/issues/860\"\u003e#860\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/reline/commit/7eef150d6e3c7e85836b1a6da40a15f06a3c487e\"\u003e\u003ccode\u003e7eef150\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/reline/issues/857\"\u003e#857\u003c/a\u003e from ruby/dependabot/github_actions/rubygems/release-...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/reline/commit/63dfa17da92da947082d9d6e8336f3f5cd69b974\"\u003e\u003ccode\u003e63dfa17\u003c/code\u003e\u003c/a\u003e Bump rubygems/release-gem from 1.1.1 to 1.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/reline/commit/1d1e8081f20d4603b3342ee01ab63303304f69c0\"\u003e\u003ccode\u003e1d1e808\u003c/code\u003e\u003c/a\u003e Use key symbol names instead of hardcoded C-r C-s C-h C-? in reverse/forward ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/reline/commit/433a93076eee3bc30bb9d6c43df355a414bfbfdd\"\u003e\u003ccode\u003e433a930\u003c/code\u003e\u003c/a\u003e Fix CSI pattern regexp to accept parameter bytes and intermediate bytes (\u003ca href=\"https://redirect.github.com/ruby/reline/issues/848\"\u003e#848\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/reline/commit/5d5c1ff0cc0662b8a6285b6a9b56283bca2e5e5d\"\u003e\u003ccode\u003e5d5c1ff\u003c/code\u003e\u003c/a\u003e Remove retrieve_keybuffer (\u003ca href=\"https://redirect.github.com/ruby/reline/issues/851\"\u003e#851\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/reline/commit/199c26a2c07d83c9281cc8b97892d60b595173eb\"\u003e\u003ccode\u003e199c26a\u003c/code\u003e\u003c/a\u003e Use test-unit-ruby-core (\u003ca href=\"https://redirect.github.com/ruby/reline/issues/852\"\u003e#852\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/reline/commit/19aa19f1bfa2b738603f2c65de81a15b19b14594\"\u003e\u003ccode\u003e19aa19f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/reline/issues/850\"\u003e#850\u003c/a\u003e from ruby/dependabot/github_actions/step-security/har...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/reline/commit/9300d4de899868ea554c1a522f37a5d3eee94926\"\u003e\u003ccode\u003e9300d4d\u003c/code\u003e\u003c/a\u003e Bump step-security/harden-runner from 2.13.0 to 2.13.1\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby/reline/compare/v0.6.2...v0.6.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `roda` from 3.97.0 to 3.98.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jeremyevans/roda/blob/master/CHANGELOG\"\u003eroda's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e=== 3.98.0 (2025-11-13)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for the :env_key option to the sessions plugin (jeremyevans) (\u003ca href=\"https://redirect.github.com/jeremyevans/roda/issues/403\"\u003e#403\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/jeremyevans/roda/commit/8fc5b77fcd0d49625bcc77007622fe94a0f2afc2\"\u003e\u003ccode\u003e8fc5b77\u003c/code\u003e\u003c/a\u003e Bump version to 3.98.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jeremyevans/roda/commit/5b1a58ec704add896d1e8442c1e4bb80a0c5d85e\"\u003e\u003ccode\u003e5b1a58e\u003c/code\u003e\u003c/a\u003e Add support for the :env_key option to the sessions plugin\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/jeremyevans/roda/compare/3.97.0...3.98.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rqrcode` from 3.1.0 to 3.1.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/whomwah/rqrcode/releases\"\u003erqrcode's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.1.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRelease 3.1.0 mergeback by \u003ca href=\"https://github.com/whomwah\"\u003e\u003ccode\u003e@​whomwah\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/whomwah/rqrcode/pull/158\"\u003ewhomwah/rqrcode#158\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate required_ruby_version to allow Ruby 4.0 by \u003ca href=\"https://github.com/k0kubun\"\u003e\u003ccode\u003e@​k0kubun\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/whomwah/rqrcode/pull/160\"\u003ewhomwah/rqrcode#160\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReleases/v3.1.1 by \u003ca href=\"https://github.com/whomwah\"\u003e\u003ccode\u003e@​whomwah\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/whomwah/rqrcode/pull/161\"\u003ewhomwah/rqrcode#161\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/k0kubun\"\u003e\u003ccode\u003e@​k0kubun\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/whomwah/rqrcode/pull/160\"\u003ewhomwah/rqrcode#160\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/whomwah/rqrcode/compare/v3.1.0...v3.1.1\"\u003ehttps://github.com/whomwah/rqrcode/compare/v3.1.0...v3.1.1\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/whomwah/rqrcode/blob/main/CHANGELOG.md\"\u003erqrcode's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[3.1.1] - 2025-11-25\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate required_ruby_version to support \u0026gt;= rather than ~\u0026gt; ready for Ruby 4\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/whomwah/rqrcode/commit/30cfc62415a2e48b3089ab22ae11ab96e64e2a52\"\u003e\u003ccode\u003e30cfc62\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/whomwah/rqrcode/issues/161\"\u003e#161\u003c/a\u003e from whomwah/releases/v3.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/whomwah/rqrcode/commit/b6a0d1ae92ff2a2cc98c6caa4572ce2e88004515\"\u003e\u003ccode\u003eb6a0d1a\u003c/code\u003e\u003c/a\u003e release: Bump version to 3.1.1 and update changelog for release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/whomwah/rqrcode/commit/f9fa33704951158a38b3cf04311e295d3a0e947d\"\u003e\u003ccode\u003ef9fa337\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/whomwah/rqrcode/issues/160\"\u003e#160\u003c/a\u003e from k0kubun/ruby-4-0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/whomwah/rqrcode/commit/12a47520383c1d61d627a5107ba72fb80518ae7e\"\u003e\u003ccode\u003e12a4752\u003c/code\u003e\u003c/a\u003e Update required_ruby_version to allow Ruby 4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/whomwah/rqrcode/commit/f57261619716bb1d0fc9658c45948f8740faed68\"\u003e\u003ccode\u003ef572616\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/whomwah/rqrcode/issues/158\"\u003e#158\u003c/a\u003e from whomwah/release\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/whomwah/rqrcode/compare/v3.1.0...v3.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `addressable` from 2.8.7 to 2.8.8\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sporkmonger/addressable/blob/main/CHANGELOG.md\"\u003eaddressable's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eAddressable 2.8.8 \u003c!-- raw HTML omitted --\u003e\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eReplace the \u003ccode\u003eunicode.data\u003c/code\u003e blob by a ruby constant (\u003ca href=\"https://redirect.github.com/sporkmonger/addressable/issues/561\"\u003e#561\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow \u003ccode\u003epublic_suffix\u003c/code\u003e 7 (\u003ca href=\"https://redirect.github.com/sporkmonger/addressable/issues/558\"\u003e#558\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/sporkmonger/addressable/issues/561\"\u003e#561\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/sporkmonger/addressable/pull/561\"\u003esporkmonger/addressable#561\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/sporkmonger/addressable/issues/558\"\u003e#558\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/sporkmonger/addressable/pull/558\"\u003esporkmonger/addressable#558\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/sporkmonger/addressable/commit/111af8e8d3260dbd5b10a2dfec42a4e129d18705\"\u003e\u003ccode\u003e111af8e\u003c/code\u003e\u003c/a\u003e Update version, gemspec, and CHANGELOG for 2.8.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sporkmonger/addressable/commit/d923a5e9a7b20ed57199e9a37366446c7f8fde4f\"\u003e\u003ccode\u003ed923a5e\u003c/code\u003e\u003c/a\u003e Fix heading levels in README and Changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sporkmonger/addressable/commit/88f14727fffea367e3801e05f72d17f9079281a9\"\u003e\u003ccode\u003e88f1472\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 5 to 6 (\u003ca href=\"https://redirect.github.com/sporkmonger/addressable/issues/560\"\u003e#560\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sporkmonger/addressable/commit/22528139b10c9697a4790f334d9323ecc02c59fe\"\u003e\u003ccode\u003e2252813\u003c/code\u003e\u003c/a\u003e Replace the \u003ccode\u003eunicode.data\u003c/code\u003e blob by a ruby constant (\u003ca href=\"https://redirect.github.com/sporkmonger/addressable/issues/561\"\u003e#561\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sporkmonger/addressable/commit/af2d3f6e70b9551f94124e2dbab0d739127a8234\"\u003e\u003ccode\u003eaf2d3f6\u003c/code\u003e\u003c/a\u003e Allow \u003ccode\u003epublic_suffix\u003c/code\u003e v7 (\u003ca href=\"https://redirect.github.com/sporkmonger/addressable/issues/558\"\u003e#558\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sporkmonger/addressable/commit/aaa53fe23417b0bb5ce198ed081a70e70f240260\"\u003e\u003ccode\u003eaaa53fe\u003c/code\u003e\u003c/a\u003e CI: restore older rubies for \u003ccode\u003epublic_suffix\u003c/code\u003e jobs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sporkmonger/addressable/commit/49fc47477dc39f816bee25419c687e9a1f0282ef\"\u003e\u003ccode\u003e49fc474\u003c/code\u003e\u003c/a\u003e CI: fix \u003ccode\u003eprofile:template_match_memory\u003c/code\u003e task for Ruby \u0026gt;2.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sporkmonger/addressable/commit/c0f98d5f18e428a601b55f3740546293a18fc371\"\u003e\u003ccode\u003ec0f98d5\u003c/code\u003e\u003c/a\u003e CI: use latest stable ruby outside the version matrix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sporkmonger/addressable/commit/7cb10aae0353bc3c280aecaf3f62645b62c1ccce\"\u003e\u003ccode\u003e7cb10aa\u003c/code\u003e\u003c/a\u003e CI: test with modern JVM Rubies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sporkmonger/addressable/commit/dd1adcfc8368ab188526f7160c6e74fe2ef4cafa\"\u003e\u003ccode\u003edd1adcf\u003c/code\u003e\u003c/a\u003e CI: less \u003ccode\u003eubuntu-22.04\u003c/code\u003e, more \u003ccode\u003eubuntu-24.04\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sporkmonger/addressable/compare/addressable-2.8.7...addressable-2.8.8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `aws-partitions` from 1.1196.0 to 1.1198.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/aws/aws-sdk-ruby/blob/version-3/gems/aws-partitions/CHANGELOG.md\"\u003eaws-partitions's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.1198.0 (2025-12-19)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Added support for enumerating regions for  \u003ccode\u003eAws::Wickr\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.1197.0 (2025-12-18)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Updated the partitions source data the determines the AWS service regions and endpoints.\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\u003eSee full diff in \u003ca href=\"https://github.com/aws/aws-sdk-ruby/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `date` from 3.5.0 to 3.5.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/date/releases\"\u003edate's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.5.1\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRemove archaic conditions by \u003ca href=\"https://github.com/nobu\"\u003e\u003ccode\u003e@​nobu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/date/pull/144\"\u003eruby/date#144\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[DOC] Remove the name from same file references by \u003ca href=\"https://github.com/nobu\"\u003e\u003ccode\u003e@​nobu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/date/pull/147\"\u003eruby/date#147\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCall rb_gc_register_mark_object after object allocation by \u003ca href=\"https://github.com/peterzhu2118\"\u003e\u003ccode\u003e@​peterzhu2118\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/date/pull/149\"\u003eruby/date#149\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/peterzhu2118\"\u003e\u003ccode\u003e@​peterzhu2118\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/date/pull/149\"\u003eruby/date#149\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ruby/date/compare/v3.5.0...v3.5.1\"\u003ehttps://github.com/ruby/date/compare/v3.5.0...v3.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/ruby/date/commit/2b5442d85a97859a680eb4be20c6e1a28f3af282\"\u003e\u003ccode\u003e2b5442d\u003c/code\u003e\u003c/a\u003e v3.5.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/date/commit/2cd5033b42f1bdac8c2a762b854a6c1db71310d5\"\u003e\u003ccode\u003e2cd5033\u003c/code\u003e\u003c/a\u003e Reorganize page documentations (\u003ca href=\"https://redirect.github.com/ruby/date/issues/15154\"\u003e#15154\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/date/commit/b8d37ac27c9d7b2e5401c1cede0d260d7176d824\"\u003e\u003ccode\u003eb8d37ac\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/date/issues/150\"\u003e#150\u003c/a\u003e from ruby/dependabot/github_actions/step-security/har...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/date/commit/2ecd780a4761e1ef31306bf495d11b93bc0c2b1d\"\u003e\u003ccode\u003e2ecd780\u003c/code\u003e\u003c/a\u003e Bump step-security/harden-runner from 2.13.2 to 2.13.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/date/commit/184aac08653a9e9ef139ebe4c3677ff82bf3df46\"\u003e\u003ccode\u003e184aac0\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/date/issues/149\"\u003e#149\u003c/a\u003e from ruby/pz-init-register-mark-obj\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/date/commit/cbec5948e013e0f6cf7cba9a7a582eb0a92a181d\"\u003e\u003ccode\u003ecbec594\u003c/code\u003e\u003c/a\u003e Call rb_gc_register_mark_object after object allocation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/date/commit/de80b014b3ae0a883e81f988f859795222583c08\"\u003e\u003ccode\u003ede80b01\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/date/issues/148\"\u003e#148\u003c/a\u003e from ruby/dependabot/github_actions/actions/checkout-6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/date/commit/6de721a3db73fcce483782f43a5b4914f91aebea\"\u003e\u003ccode\u003e6de721a\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 5 to 6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/date/commit/e41082e068bbbe2f5c65285695c93cda794de059\"\u003e\u003ccode\u003ee41082e\u003c/code\u003e\u003c/a\u003e [DOC] Remove the name from same file references\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/date/commit/cd1c0ab38ec5b5f674664a89eac7402bccf17189\"\u003e\u003ccode\u003ecd1c0ab\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/date/issues/146\"\u003e#146\u003c/a\u003e from ruby/dependabot/github_actions/step-security/har...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby/date/compare/v3.5.0...v3.5.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `faraday-net_http` from 3.4.1 to 3.4.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/lostisland/faraday-net_http/releases\"\u003efaraday-net_http's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.4.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUse more conservative net-http version constraint by \u003ca href=\"https://github.com/RDeckard\"\u003e\u003ccode\u003e@​RDeckard\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lostisland/faraday-net_http/pull/53\"\u003elostisland/faraday-net_http#53\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/RDeckard\"\u003e\u003ccode\u003e@​RDeckard\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/lostisland/faraday-net_http/pull/53\"\u003elostisland/faraday-net_http#53\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/lostisland/faraday-net_http/compare/v3.4.1...v3.4.2\"\u003ehttps://github.com/lostisland/faraday-net_http/compare/v3.4.1...v3.4.2\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/lostisland/faraday-net_http/commit/821a73a0f1fb2fd109b3ef58312b6ee10b4f2944\"\u003e\u003ccode\u003e821a73a\u003c/code\u003e\u003c/a\u003e Update ci.yml to allow manual runs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lostisland/faraday-net_http/commit/d71af6b6da15597311c59c90a02a4fe27013fb4a\"\u003e\u003ccode\u003ed71af6b\u003c/code\u003e\u003c/a\u003e Version bump to 3.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lostisland/faraday-net_http/commit/9c90d68d674de4f1a0d24f13cf05169816773840\"\u003e\u003ccode\u003e9c90d68\u003c/code\u003e\u003c/a\u003e Use more conservative net-http version constraint (\u003ca href=\"https://redirect.github.com/lostisland/faraday-net_http/issues/53\"\u003e#53\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lostisland/faraday-net_http/commit/2047b9ab36a25b595b9f444e3b12d7661c2fa818\"\u003e\u003ccode\u003e2047b9a\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 4 to 5 (\u003ca href=\"https://redirect.github.com/lostisland/faraday-net_http/issues/51\"\u003e#51\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/lostisland/faraday-net_http/compare/v3.4.1...v3.4.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io-console` from 0.8.1 to 0.8.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/io-console/releases\"\u003eio-console's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.8.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump step-security/harden-runner from 2.12.2 to 2.13.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/ruby/io-console/pull/98\"\u003eruby/io-console#98\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/checkout from 4 to 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/ruby/io-console/pull/99\"\u003eruby/io-console#99\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump step-security/harden-runner from 2.13.0 to 2.13.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/ruby/io-console/pull/101\"\u003eruby/io-console#101\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd a workflow to sync commits to ruby/ruby by \u003ca href=\"https://github.com/k0kubun\"\u003e\u003ccode\u003e@​k0kubun\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/io-console/pull/102\"\u003eruby/io-console#102\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReorder dispatching by host_os by \u003ca href=\"https://github.com/nobu\"\u003e\u003ccode\u003e@​nobu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/io-console/pull/103\"\u003eruby/io-console#103\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/upload-artifact from 4 to 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/ruby/io-console/pull/104\"\u003eruby/io-console#104\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump rubygems/release-gem from 1.1.1 to 1.1.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/ruby/io-console/pull/106\"\u003eruby/io-console#106\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump step-security/harden-runner from 2.13.1 to 2.13.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/ruby/io-console/pull/108\"\u003eruby/io-console#108\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/ruby/io-console/pull/109\"\u003eruby/io-console#109\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump step-security/harden-runner from 2.13.2 to 2.13.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/ruby/io-console/pull/110\"\u003eruby/io-console#110\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix set winsize on windows by \u003ca href=\"https://github.com/YO4\"\u003e\u003ccode\u003e@​YO4\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/io-console/pull/111\"\u003eruby/io-console#111\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/YO4\"\u003e\u003ccode\u003e@​YO4\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/io-console/pull/111\"\u003eruby/io-console#111\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ruby/io-console/compare/v0.8.1...v0.8.2\"\u003ehttps://github.com/ruby/io-console/compare/v0.8.1...v0.8.2\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/ruby/io-console/commit/fbc7e1f31f1fc2cf21baf96a845bfdbc88e47f95\"\u003e\u003ccode\u003efbc7e1f\u003c/code\u003e\u003c/a\u003e bump up to 0.8.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/io-console/commit/04fbf93609312bab0db6b6f35643f15d2af96a4e\"\u003e\u003ccode\u003e04fbf93\u003c/code\u003e\u003c/a\u003e [ci skip] wip\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/io-console/commit/379e7c17ed27af9e7ec90f5994a566b9770f6777\"\u003e\u003ccode\u003e379e7c1\u003c/code\u003e\u003c/a\u003e strip trailing spaces [ci skip]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/io-console/commit/ae337858205871ba252c934e8d095340bfe19787\"\u003e\u003ccode\u003eae33785\u003c/code\u003e\u003c/a\u003e console_cursor_pos respects scroll position on windows\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/io-console/commit/d2a6c69697c95411faf5dd69731a9d3deb056103\"\u003e\u003ccode\u003ed2a6c69\u003c/code\u003e\u003c/a\u003e console_goto respects scroll position on windows\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/io-console/commit/817aa65ea3feab358d50f7dfb70087523dd84314\"\u003e\u003ccode\u003e817aa65\u003c/code\u003e\u003c/a\u003e avoid jumping scroll position when winsize changed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/io-console/commit/df444b93f1e74322bf6d3a7c8fbbfd794c78c1e3\"\u003e\u003ccode\u003edf444b9\u003c/code\u003e\u003c/a\u003e Remove useless rb_check_arity() call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/io-console/commit/78858b0324a2abd7c6bdb8f8c4e9b92cf60370e3\"\u003e\u003ccode\u003e78858b0\u003c/code\u003e\u003c/a\u003e Bump step-security/harden-runner from 2.13.2 to 2.13.3 (\u003ca href=\"https://redirect.github.com/ruby/io-console/issues/110\"\u003e#110\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/io-console/commit/ba83488a9fe222d4cd55d8f3a321aefe25b0cdc8\"\u003e\u003ccode\u003eba83488\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 5 to 6 (\u003ca href=\"https://redirect.github.com/ruby/io-console/issues/109\"\u003e#109\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/io-console/commit/961e4a535811fd917847e60eba77ba6f9ae58c68\"\u003e\u003ccode\u003e961e4a5\u003c/code\u003e\u003c/a\u003e Bump step-security/harden-runner from 2.13.1 to 2.13.2 (\u003ca href=\"https://redirect.github.com/ruby/io-console/issues/108\"\u003e#108\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby/io-console/compare/v0.8.1...v0.8.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `net-http` from 0.7.0 to 0.9.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/net-http/releases\"\u003enet-http's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.9.1\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRaise \u003ccode\u003eNet::OpenTimeout\u003c/code\u003e when \u003ccode\u003eTCPSocket.open\u003c/code\u003e raises \u003ccode\u003eIO::TimeoutError\u003c/code\u003e. by \u003ca href=\"https://github.com/shioimm\"\u003e\u003ccode\u003e@​shioimm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-http/pull/263\"\u003eruby/net-http#263\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFreeze more constants for Ractor compatibility by \u003ca href=\"https://github.com/rhenium\"\u003e\u003ccode\u003e@​rhenium\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-http/pull/256\"\u003eruby/net-http#256\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/shioimm\"\u003e\u003ccode\u003e@​shioimm\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/net-http/pull/263\"\u003eruby/net-http#263\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ruby/net-http/compare/v0.9.0...v0.9.1\"\u003ehttps://github.com/ruby/net-http/compare/v0.9.0...v0.9.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.9.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eopen: Never call Timeout.timeout in rescue clause by \u003ca href=\"https://github.com/osyoyu\"\u003e\u003ccode\u003e@​osyoyu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-http/pull/250\"\u003eruby/net-http#250\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed by \u003ccode\u003emisspell -w -error -source=text\u003c/code\u003e by \u003ca href=\"https://github.com/hsbt\"\u003e\u003ccode\u003e@​hsbt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-http/pull/254\"\u003eruby/net-http#254\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCheck whether TCPSocket#initialize supports open_timeout once and without exceptions by \u003ca href=\"https://github.com/eregon\"\u003e\u003ccode\u003e@​eregon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-http/pull/252\"\u003eruby/net-http#252\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRefactor HTTPS tests by \u003ca href=\"https://github.com/rhenium\"\u003e\u003ccode\u003e@​rhenium\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-http/pull/255\"\u003eruby/net-http#255\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/eregon\"\u003e\u003ccode\u003e@​eregon\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/net-http/pull/252\"\u003eruby/net-http#252\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ruby/net-http/compare/v0.8.0...v0.9.0\"\u003ehttps://github.com/ruby/net-http/compare/v0.8.0...v0.9.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.8.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eBreaking changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMinimum Ruby version raised to 2.7 along with the raise of minimum \u003ccode\u003euri\u003c/code\u003e gem version (0.11.1)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e[DOC] Fix too stopped documentations by \u003ca href=\"https://github.com/nobu\"\u003e\u003ccode\u003e@​nobu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-http/pull/244\"\u003eruby/net-http#244\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReplace Timeout.timeout with TCPSocket.open(open_timeout:) when available by \u003ca href=\"https://github.com/osyoyu\"\u003e\u003ccode\u003e@​osyoyu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-http/pull/224\"\u003eruby/net-http#224\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReplace Ruby 3.5 with Ruby 4.0 by \u003ca href=\"https://github.com/yahonda\"\u003e\u003ccode\u003e@​yahonda\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-http/pull/246\"\u003eruby/net-http#246\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix handling of IPv6 literal hosts in \u003ccode\u003eNet::HTTPGenericRequest\u003c/code\u003e by \u003ca href=\"https://github.com/taketo1113\"\u003e\u003ccode\u003e@​taketo1113\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-http/pull/237\"\u003eruby/net-http#237\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003eThis fixes compatibility issue with \u003ccode\u003euri\u003c/code\u003e gem 1.1.0+, which made relevant validations strict.\u003c/li\u003e\n\u003c/ul\u003e\n\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/yahonda\"\u003e\u003ccode\u003e@​yahonda\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/net-http/pull/246\"\u003eruby/net-http#246\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/taketo1113\"\u003e\u003ccode\u003e@​taketo1113\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/net-http/pull/237\"\u003eruby/net-http#237\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ruby/net-http/compare/v0.7.0...v0.8.0\"\u003ehttps://github.com/ruby/net-http/compare/v0.7.0...v0.8.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/ruby/net-http/commit/8cee86e939f69bd0906864e7eb740bb471a205bd\"\u003e\u003ccode\u003e8cee86e\u003c/code\u003e\u003c/a\u003e v0.9.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-http/commit/76978323d43cf96e057a16adfd72c9d4e6373279\"\u003e\u003ccode\u003e7697832\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/net-http/issues/256\"\u003e#256\u003c/a\u003e from rhenium/ky/freeze-more-constants\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-http/commit/ce9ac4765a891589bc5e524d2b877dec3c6d60fd\"\u003e\u003ccode\u003ece9ac47\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/net-http/issues/263\"\u003e#263\u003c/a\u003e from shioimm/catch-ETIMEDOUT-or-IOTimeoutError\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-http/commit/f64109e1cff0b640ff6eba1bff441c229d8a2012\"\u003e\u003ccode\u003ef64109e\u003c/code\u003e\u003c/a\u003e Raise \u003ccode\u003eNet::OpenTimeout\u003c/code\u003e when \u003ccode\u003eTCPSocket.open\u003c/code\u003e raises \u003ccode\u003eIO::TimeoutError\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-http/commit/3ccf0c8e6add12f2d99062e5a1575d63ced36c1a\"\u003e\u003ccode\u003e3ccf0c8\u003c/code\u003e\u003c/a\u003e v0.9.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-http/commit/e8e37bbdfbb5684aa6a86abdbb25b3ebf3c27be4\"\u003e\u003ccode\u003ee8e37bb\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/net-http/issues/257\"\u003e#257\u003c/a\u003e from ruby/dependabot/github_actions/step-security/har...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-http/commit/f4b30da864f3bc20b60a93838e8f34e6d207b717\"\u003e\u003ccode\u003ef4b30da\u003c/code\u003e\u003c/a\u003e Bump step-security/harden-runner from 2.13.3 to 2.14.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-http/commit/836ad704fc8066d30aade68d5015e7010057c83d\"\u003e\u003ccode\u003e836ad70\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/net-http/issues/255\"\u003e#255\u003c/a\u003e from rhenium/ky/refactor-https-tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-http/commit/f24b3b358b161f84b855da36e36029fb1bea904e\"\u003e\u003ccode\u003ef24b3b3\u003c/code\u003e\u003c/a\u003e Freeze more constants for Ractor compatibility\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-http/commit/35c1745a2602f73036661a0bb070e989c33a0052\"\u003e\u003ccode\u003e35c1745\u003c/code\u003e\u003c/a\u003e Refactor HTTPS tests\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby/net-http/compare/v0.7.0...v0.9.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `oauth2` from 2.0.17 to 2.0.18\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby-oauth/oauth2/releases\"\u003eoauth2's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.0.18\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/compare/v2.0.17...v2.0.18\"\u003e2.0.18\u003c/a\u003e - 2025-11-08\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eTAG: \u003ca href=\"https://github.com/ruby-oauth/oauth2/releases/tag/v2.0.18\"\u003ev2.0.18\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCOVERAGE: 100.00% -- 526/526 lines in 14 files\u003c/li\u003e\n\u003cli\u003eBRANCH COVERAGE: 100.00% -- 178/178 branches in 14 files\u003c/li\u003e\n\u003cli\u003e90.48% documented\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/683\"\u003egh!683\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/684\"\u003egh!684\u003c/a\u003e - Improve documentation by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/686\"\u003egh!686\u003c/a\u003e- Add Incident Response Plan by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/687\"\u003egh!687\u003c/a\u003e- Add Threat Model by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/685\"\u003egh!685\u003c/a\u003e - upgrade kettle-dev v1.1.24 by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eupgrade kettle-dev v1.1.52 by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003eAdd open collective donors to README\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/690\"\u003egh!690\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/691\"\u003egh!691\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/692\"\u003egh!692\u003c/a\u003e - Add yard-fence\n\u003cul\u003e\n\u003cli\u003ehandle braces within code fences in markdown properly by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cp\u003eOfficial Discord 👉️ [![Live Chat on Discord][✉️discord-invite-img]][✉️discord-invite]\u003c/p\u003e\n\u003cp\u003eMany paths lead to being a sponsor or a backer of this project. Are you on such a path?\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://opencollective.com/ruby-oauth#backer\"\u003e![OpenCollective Backers][🖇osc-backers-i]\u003c/a\u003e [![OpenCollective Sponsors][🖇osc-sponsors-i]][🖇osc-sponsors] [![Sponsor Me on Github][🖇sponsor-img]][🖇sponsor] \u003ca href=\"https://liberapay.com/pboling/donate\"\u003e\u003cimg src=\"https://img.shields.io/liberapay/goal/pboling.svg?logo=liberapay\u0026amp;color=a51611\u0026amp;style=flat\" alt=\"Liberapay Goal Progress\" /\u003e\u003c/a\u003e [![Donate on PayPal][🖇paypal-img]][🖇paypal]\u003c/p\u003e\n\u003cp\u003e[![Buy me a coffee][🖇buyme-small-img]][🖇buyme] [![Donate on Polar][🖇polar-img]][🖇polar] [![Donate to my FLOSS efforts at ko-fi.com][🖇kofi-img]][🖇kofi] [![Donate to my FLOSS efforts using Patreon][🖇patreon-img]][🖇patreon]\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\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby-oauth/oauth2/blob/main/CHANGELOG.md\"\u003eoauth2's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[2.0.18] - 2025-11-08\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eTAG: [v2.0.18][2.0.18t]\u003c/li\u003e\n\u003cli\u003eCOVERAGE: 100.00% -- 526/526 lines in 14 files\u003c/li\u003e\n\u003cli\u003eBRANCH COVERAGE: 100.00% -- 178/178 branches in 14 files\u003c/li\u003e\n\u003cli\u003e90.48% documented\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/683\"\u003egh!683\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/684\"\u003egh!684\u003c/a\u003e - Improve documentation by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/686\"\u003egh!686\u003c/a\u003e- Add Incident Response Plan by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/687\"\u003egh!687\u003c/a\u003e- Add Threat Model by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/685\"\u003egh!685\u003c/a\u003e - upgrade kettle-dev v1.1.24 by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eupgrade kettle-dev v1.1.52 by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003eAdd open collective donors to README\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/690\"\u003egh!690\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/691\"\u003egh!691\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/692\"\u003egh!692\u003c/a\u003e - Add yard-fence\n\u003cul\u003e\n\u003cli\u003ehandle braces within code fences in markdown properly by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSecurity\u003c/h3\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/ruby-oauth/oauth2/commit/b5753116121553d56937039dafc5ea472d9a99ed\"\u003e\u003ccode\u003eb575311\u003c/code\u003e\u003c/a\u003e 🔖 Prepare release v2.0.18\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/b5af77ba42ec111dda68abdee33d631e27fdfe61\"\u003e\u003ccode\u003eb5af77b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/issues/693\"\u003e#693\u003c/a\u003e from ruby-oauth/feat/docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/cf2853d9fa05999f88c9df8b1b3a8a3ed21c64e8\"\u003e\u003ccode\u003ecf2853d\u003c/code\u003e\u003c/a\u003e 📝 Update docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/18434156bfc988527d2453b2174e6356e233757d\"\u003e\u003ccode\u003e1843415\u003c/code\u003e\u003c/a\u003e ⬆️ kettle-dev v1.1.52, yard-fence v0.8.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/f592dd8753966a30671ebc2e8a28ab26138b6c2b\"\u003e\u003ccode\u003ef592dd8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/issues/692\"\u003e#692\u003c/a\u003e from ruby-oauth/feat/docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/2095732d7cd4eeb80fe74c89e2a2d012517e40d6\"\u003e\u003ccode\u003e2095732\u003c/code\u003e\u003c/a\u003e ⬆️ yard-fence v0.7.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/50f3fd08e733ed75b2cc99e077e9ea9d64a3d5d5\"\u003e\u003ccode\u003e50f3fd0\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/issues/691\"\u003e#691\u003c/a\u003e from ruby-oauth/feat/docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/bcb0e40bfca989f164a04cbf46a4175822b7cb28\"\u003e\u003ccode\u003ebcb0e40\u003c/code\u003e\u003c/a\u003e ✏️ Fix typos in docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/f24f1a8bfbf546595aa16cd6fa82119c8218c1d3\"\u003e\u003ccode\u003ef24f1a8\u003c/code\u003e\u003c/a\u003e Create CNAME\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/bff58e1afec541feca2a337664d09c58b8a22419\"\u003e\u003ccode\u003ebff58e1\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/issues/690\"\u003e#690\u003c/a\u003e from ruby-oauth/feat/yard-fence\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby-oauth/oauth2/compare/v2.0.17...v2.0.18\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `openapi_parser` from 2.3.0 to 2.3.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ota42y/openapi_parser/blob/master/CHANGELOG.md\"\u003eopenapi_parser's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.1 (2025-11-14)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eadd optional date coercion with behavior matching existing datetime coercion\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/ota42y/openapi_parser/commit/0b68c8c019b9201911b41fb0fc86717f1372ca72\"\u003e\u003ccode\u003e0b68c8c\u003c/code\u003e\u003c/a\u003e v2.3.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ota42y/openapi_parser/commit/2e4e4403b548030fcf941cbddff9424703cab575\"\u003e\u003ccode\u003e2e4e440\u003c/code\u003e\u003c/a\u003e Add date coercion (\u003ca href=\"https://redirect.github.com/ota42y/openapi_parser/issues/188\"\u003e#188\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ota42y/openapi_parser/commit/2361ec7e94a8d4d3e4b179853c64acdc68a2073e\"\u003e\u003ccode\u003e2361ec7\u003c/code\u003e\u003c/a\u003e ci: expand workflow trigger events\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/ota42y/openapi_parser/compare/v2.3.0...v2.3.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `optparse` from 0.8.0 to 0.8.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/optparse/releases\"\u003eoptparse's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.8.1\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate comments to use $HOME instead of ~ by \u003ca href=\"https://github.com/sampersand\"\u003e\u003ccode\u003e@​sampersand\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/optparse/pull/117\"\u003eruby/optparse#117\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePut \u003ccode\u003eprivate\u003c/code\u003e before method declarations by \u003ca href=\"https://github.com/sampersand\"\u003e\u003ccode\u003e@​sampersand\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/optparse/pull/119\"\u003eruby/optparse#119\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove \u003ccode\u003econst_set\u003c/code\u003e and instead use explicit assignments by \u003ca href=\"https://github.com/sampersand\"\u003e\u003ccode\u003e@​sampersand\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/optparse/pull/118\"\u003eruby/optparse#118\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/sampersand\"\u003e\u003ccode\u003e@​sampersand\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/optparse/pull/117\"\u003eruby/optparse#117\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ruby/optparse/compare/v0.8.0...v0.8.1\"\u003ehttps://github.com/ruby/optparse/compare/v0.8.0...v0.8.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/ruby/optparse/commit/f2e31e81a50cb3c7c7e8523c41497c7588bc5669\"\u003e\u003ccode\u003ef2e31e8\u003c/code\u003e\u003c/a\u003e v0.8.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/optparse/commit/1cf9522367f352545e942ffaae6f4b3741c648b3\"\u003e\u003ccode\u003e1cf9522\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 6.0.0 to 6.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/optparse/commit/920f0b6177ffeb93cb218cd464c025530bf6a6b9\"\u003e\u003ccode\u003e920f0b6\u003c/code\u003e\u003c/a\u003e Bump step-security/harden-runner from 2.13.2 to 2.13.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/optparse/commit/6e2709a5fd29fb7c189b28393a61759c99c691ad\"\u003e\u003ccode\u003e6e2709a\u003c/code\u003e\u003c/a\u003e Remove \u003ccode\u003econst_set\u003c/code\u003e and instead use explicit assignments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/optparse/commit/1ceceeb2de67704092af8b392608ead7ca2f7a7b\"\u003e\u003ccode\u003e1ceceeb\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 5.0.1 to 6.0.0 (\u003ca href=\"https://redirect.github.com/ruby/optparse/issues/120\"\u003e#120\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/optparse/commit/9a784a89a22ac439e31b99e8004c446662766da2\"\u003e\u003ccode\u003e9a784a8\u003c/code\u003e\u003c/a\u003e Remove unneeded \u003ccode\u003epublic\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/optparse/commit/5478354d4f80b11e213723e8195f423b6c6aff41\"\u003e\u003ccode\u003e5478354\u003c/code\u003e\u003c/a\u003e Put \u003ccode\u003eprivate\u003c/code\u003e before method declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/optparse/commit/ff6a342bc2e935a41a59afe0fccb8048979f97ea\"\u003e\u003ccode\u003eff6a342\u003c/code\u003e\u003c/a\u003e Update comments to use $HOME instead of ~\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/optparse/commit/208c515c6d467723f016a621473aca5808a47e4a\"\u003e\u003ccode\u003e208c515\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 5 to 6 (\u003ca href=\"https://redirect.github.com/ruby/optparse/issues/114\"\u003e#114\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/optparse/commit/aae488004ce8703abfcadb79a51405211e6e8911\"\u003e\u003ccode\u003eaae4880\u003c/code\u003e\u003c/a\u003e Bump step-security/harden-runner from 2.13.1 to 2.13.2\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby/optparse/compare/v0.8.0...v0.8.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `public_suffix` from 6.0.2 to 7.0.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/weppos/publicsuffix-ruby/blob/main/CHANGELOG.md\"\u003epublic_suffix's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e7.0.0\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated definitions.\u003c/li\u003e\n\u003cli\u003eMinimum Ruby version is 3.2\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/weppos/publicsuffix-ruby/commit/af45298523be055dd86ec9d7bac1bb26621ddbb2\"\u003e\u003ccode\u003eaf45298\u003c/code\u003e\u003c/a\u003e Release 7.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weppos/publicsuffix-ruby/commit/93b01019a89a226d4b59a7d0203d9c19eec18ee0\"\u003e\u003ccode\u003e93b0101\u003c/code\u003e\u003c/a\u003e Create RELEASING.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weppos/publicsuffix-ruby/commit/0b56a7c26fedd381f1bc50269dfcd17b51ca8c62\"\u003e\u003ccode\u003e0b56a7c\u003c/code\u003e\u003c/a\u003e Cleanup README\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weppos/publicsuffix-ruby/commit/12fc739d726b8e4de1b40b7e9a7860c1b8bd2a5e\"\u003e\u003ccode\u003e12fc739\u003c/code\u003e\u003c/a\u003e Reorganize README\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weppos/publicsuffix-ruby/commit/193be1d045a8e935ff80457c6cd81c497d0b8b11\"\u003e\u003ccode\u003e193be1d\u003c/code\u003e\u003c/a\u003e Minimum Ruby version is 3.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weppos/publicsuffix-ruby/commit/8e8bf6b4724a21ef07f653c879d6bad0f63e8f44\"\u003e\u003ccode\u003e8e8bf6b\u003c/code\u003e\u003c/a\u003e build(deps): update mocha requirement from ~\u0026gt; 2.7.0 to ~\u0026gt; 2.8.2 (\u003ca href=\"https://redirect.github.com/weppos/publicsuffix-ruby/issues/476\"\u003e#476\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weppos/publicsuffix-ruby/commit/f0553bfcc529d05ce5bac951cf735a147c6a417a\"\u003e\u003ccode\u003ef0553bf\u003c/code\u003e\u003c/a\u003e Updated list from source (\u003ca href=\"https://redirect.github.com/weppos/publicsuffix-ruby/issues/475\"\u003e#475\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weppos/publicsuffix-ruby/commit/34ea4ed4ae67afb24c6b0dbc09669ecc8e362156\"\u003e\u003ccode\u003e34ea4ed\u003c/code\u003e\u003c/a\u003e Updated list from source (\u003ca href=\"https://redirect.github.com/weppos/publicsuffix-ruby/issues/474\"\u003e#474\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weppos/publicsuffix-ruby/commit/0f5aace9b679d9f9a3ad2a8564454726a3cdb2e5\"\u003e\u003ccode\u003e0f5aace\u003c/code\u003e\u003c/a\u003e Updated list from source (\u003ca href=\"https://redirect.github.com/weppos/publicsuffix-ruby/issues/473\"\u003e#473\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weppos/publicsuffix-ruby/commit/a6c373a2265863d7463e81e52dceada6202ab2e4\"\u003e\u003ccode\u003ea6c373a\u003c/code\u003e\u003c/a\u003e Updated list from source (\u003ca href=\"https://redirect.github.com/weppos/publicsuffix-ruby/issues/472\"\u003e#472\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/weppos/publicsuffix-ruby/compare/v6.0.2...v7.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rqrcode_core` from 2.0.0 to 2.0.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/whomwah/rqrcode_core/releases\"\u003erqrcode_core's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.0.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ev2.0.0 Release mergeback by \u003ca href=\"https://github.com/whomwah\"\u003e\u003ccode\u003e@​whomwah\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/whomwah/rqrcode_core/pull/46\"\u003ewhomwah/rqrcode_core#46\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix compare link for version 2.0.0 [ci skip] by \u003ca href=\"https://github.com/prognostikos\"\u003e\u003ccode\u003e@​prognostikos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/whomwah/rqrcode_core/pull/47\"\u003ewhomwah/rqrcode_core#47\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate required_ruby_version to Ruby 4.0 by \u003ca href=\"https://github.com/k0kubun\"\u003e\u003ccode\u003e@​k0kubun\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/whomwah/rqrcode_core/pull/48\"\u003ewhomwah/rqrcode_core#48\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReleases/v2.0.1 by \u003ca href=\"https://github.com/whomwah\"\u003e\u003ccode\u003e@​whomwah\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/whomwah/rqrcode_core/pull/49\"\u003ewhomwah/rqrcode_core#49\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/prognostikos\"\u003e\u003ccode\u003e@​prognostikos\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/whomwah/rqrcode_core/pull/47\"\u003ewhomwah/rqrcode_core#47\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/k0kubun\"\u003e\u003ccode\u003e@​k0kubun\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/whomwah/rqrcode_core/pull/48\"\u003ewhomwah/rqrcode_core#48\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/whomwah/rqrcode_core/compare/v2.0.0...v2.0.1\"\u003ehttps://github.com/whomwah/rqrcode_core/compare/v2.0.0...v2.0.1\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/whomwah/rqrcode_core/blob/main/CHANGELOG.md\"\u003erqrcode_core's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[2.0.1] - 2025-11-25\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate required_ruby_version to support \u0026gt;= rather than ~\u0026gt; ready for Ruby 4\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/whomwah/rqrcode_core/commit/e90cd933aca95575367bbc267b22cc04fce4ec4f\"\u003e\u003ccode\u003ee90cd93\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/whomwah/rqrcode_core/issues/49\"\u003e#49\u003c/a\u003e from whomwah/releases/v2.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/whomwah/rqrcode_core/commit/5e48a2f0a007d35ce169f6d4d45ae60f528c2f72\"\u003e\u003ccode\u003e5e48a2f\u003c/code\u003e\u003c/a\u003e release: Bump version to 2.0.1 and update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/whomwah/rqrcode_core/commit/a35eebde0f650074331206ccc7c6dc39a3fbb664\"\u003e\u003ccode\u003ea35eebd\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/whomwah/rqrcode_core/issues/48\"\u003e#48\u003c/a\u003e from k0kubun/ruby-4-0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/whomwah/rqrcode_core/commit/5108d47343eac062b5d8bb2526425575f1b645f5\"\u003e\u003ccode\u003e5108d47\u003c/code\u003e\u003c/a\u003e Update required_ruby_version to Ruby 4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/whomwah/rqrcode_core/commit/ccf2c64185c9c22c9e55ebaedcf61cc45d5addad\"\u003e\u003ccode\u003eccf2c64\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/whomwah/rqrcode_core/issues/47\"\u003e#47\u003c/a\u003e from prognostikos/patch-1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/whomwah/rqrcode_core/commit/4ad199bb61771d06da4401d06d8b7b70d791db25\"\u003e\u003ccode\u003e4ad199b\u003c/code\u003e\u003c/a\u003e Fix compare link for version 2.0.0 [ci skip]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/whomwah/rqrcode_core/commit/c1dc8b2daaea5fe35f92416ab0d22ea25fc790aa\"\u003e\u003ccode\u003ec1dc8b2\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/whomwah/rqrcode_core/issues/46\"\u003e#46\u003c/a\u003e from whomwah/release\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/whomwah/rqrcode_core/compare/v2.0.0...v2.0.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `timeout` from 0.4.4 to 0.6.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/timeout/releases\"\u003etimeout's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.6.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSuppress warnings in two tests by \u003ca href=\"https://github.com/olleolleolle\"\u003e\u003ccode\u003e@​olleolleolle\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/timeout/pull/71\"\u003eruby/timeout#71\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRevert \u0026quot;Suppress warnings in two tests\u0026quot; by \u003ca href=\"https://github.com/nobu\"\u003e\u003ccode\u003e@​nobu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/timeout/pull/74\"\u003eruby/timeout#74\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOnly the timeout method should be public on the Timeout module by \u003ca href=\"https://github.com/eregon\"\u003e\u003ccode\u003e@​eregon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/timeout/pull/76\"\u003eruby/timeout#76\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003esupport Ractor by \u003ca href=\"https://github.com/ko1\"\u003e\u003ccode\u003e@​ko1\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/timeout/pull/75\"\u003eruby/timeout#75\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTest that Timeout does not expose extra constants by \u003ca href=\"https://github.com/eregon\"\u003e\u003ccode\u003e@​eregon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/timeout/pull/77\"\u003eruby/timeout#77\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRevert \u0026quot;Exclude constantly-failing test on x86_64-darwin\u0026quot; by \u003ca href=\"https://github.com/ko1\"\u003e\u003ccode\u003e@​ko1\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/timeout/pull/79\"\u003eruby/timeout#79\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReset the interrupt mask when creating the Timeout thread by \u003ca href=\"https://github.com/eregon\"\u003e\u003ccode\u003e@​eregon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/timeout/pull/80\"\u003eruby/timeout#80\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake Timeout.timeout work in a trap handler on CRuby by \u003ca href=\"https://github.com/eregon\"\u003e\u003ccode\u003e@​eregon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/timeout/pull/81\"\u003eruby/timeout#81\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSkip signal test on windows by \u003ca href=\"https://github.com/byroot\"\u003e\u003ccode\u003e@​byroot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/timeout/pull/82\"\u003eruby/timeout#82\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd windows to CI matrix by \u003ca href=\"https://github.com/byroot\"\u003e\u003ccode\u003e@​byroot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/timeout/pull/83\"\u003eruby/timeout#83\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix failing timeout test by \u003ca href=\"https://github.com/luke-gruber\"\u003e\u003ccode\u003e@​luke-gruber\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/timeout/pull/85\"\u003eruby/timeout#85\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRestore original signal handler in test_timeout_in_trap_handler by \u003ca href=\"https://github.com/eregon\"\u003e\u003ccode\u003e@​eregon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/timeout/pull/87\"\u003eruby/timeout#87\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRun on Windows for all versions and remove old excludes by \u003ca href=\"https://github.com/eregon\"\u003e\u003ccode\u003e@​eregon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/timeout/pull/84\"\u003eruby/timeout#84\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/ko1\"\u003e\u003ccode\u003e@​ko1\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/timeout/pull/75\"\u003eruby/timeout#75\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/byroot\"\u003e\u003ccode\u003e@​byroot\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/timeout/pull/82\"\u003eruby/timeout#82\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/luke-gruber\"\u003e\u003ccode\u003e@​luke-gruber\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/timeout/pull/85\"\u003eruby/timeout#85\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ruby/timeout/compare/v0.4.4...v0.6.0\"\u003ehttps://github.com/ruby/timeout/compare/v0.4.4...v0.6.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.5.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSuppress warnings in two tests by \u003ca href=\"https://github.com/olleolleolle\"\u003e\u003ccode\u003e@​olleolleolle\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/timeout/pull/71\"\u003eruby/timeout#71\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRevert \u0026quot;Suppress warnings in two tests\u0026quot; by \u003ca href=\"https://github.com/nobu\"\u003e\u003ccode\u003e@​nobu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/timeout/pull/74\"\u003eruby/timeout#74\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOnly the timeout method should be public on the Timeout module by \u003ca href=\"https://github.com/eregon\"\u003e\u003ccode\u003e@​eregon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/timeout/pull/76\"\u003eruby/timeout#76\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003esupport Ractor by \u003ca href=\"https://github.com/ko1\"\u003e\u003ccode\u003e@​ko1\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/timeout/pull/75\"\u003eruby/timeout#75\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTest that Timeout does not expose extra constants by \u003ca href=\"https://github.com/eregon\"\u003e\u003ccode\u003e@​eregon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/timeout/pull/77\"\u003eruby/timeout#77\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/ko1\"\u003e\u003ccode\u003e@​ko1\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/timeout/pull/75\"\u003eruby/timeout#75\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ruby/timeout/compare/v0.4.4...v0.5.0\"\u003ehttps://github.com/ruby/timeout/compare/v0.4.4...v0.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/ruby/timeout/commit/ab79dfff47092008ce08520763c846eba3a3a5f1\"\u003e\u003ccode\u003eab79dff\u003c/code\u003e\u003c/a\u003e v0.6.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/timeout/commit/2eb16dc3c02387fcdd3de265e755fc6956c0bf51\"\u003e\u003ccode\u003e2eb16dc\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/timeout/issues/88\"\u003e#88\u003c/a\u003e from ruby/dependabot/github_actions/step-security/hard...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/timeout/commit/179ea36ef1849c7fe1bd72c4ecd418f2bba5bb3e\"\u003e\u003ccode\u003e179ea36\u003c/code\u003e\u003c/a\u003e Bump step-security/harden-runner from 2.13.3 to 2.14.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/timeout/commit/549605db39602a4fc351165d061e70953b03bb9c\"\u003e\u003ccode\u003e549605d\u003c/code\u003e\u003c/a\u003e Run on Windows for all versions and remove old excludes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/timeout/commit/4ae8631acfe8fb94964b8f3c56c1d3b4e8a92be7\"\u003e\u003ccode\u003e4ae8631\u003c/code\u003e\u003c/a\u003e Restore original signal handler in test_timeout_in_trap_handler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/timeout/commit/e5bc1de901ed40227c462863a16f1e13715f9228\"\u003e\u003ccode\u003ee5bc1de\u003c/code\u003e\u003c/a\u003e Fix failing timeout test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/timeout/commit/d95f1b8e6e9100e0ee62611c9c6b7cbb7fe9dd23\"\u003e\u003ccode\u003ed95f1b8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/timeout/issues/83\"\u003e#83\u003c/a\u003e from byroot/test-on-windows\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/timeout/commit/c8d63ce3fecc201cc19303f766cfc81f0cada921\"\u003e\u003ccode\u003ec8d63ce\u003c/code\u003e\u003c/a\u003e Add windows to CI matrix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/ti...\n\n_Description has been truncated_","html_url":"https://github.com/ubicloud/ubicloud/pull/4445","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/ubicloud%2Fubicloud/issues/4445","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/4445/packages"},{"uuid":"3759066912","node_id":"PR_kwDODdTws866aovB","number":3153,"state":"closed","title":"Bump the bundler group across 1 directory with 97 updates","user":"dependabot[bot]","labels":["dependencies","ruby"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2025-12-31T03:08:04.000Z","author_association":null,"state_reason":null,"created_at":"2025-12-24T03:12:11.000Z","updated_at":"2025-12-31T03:08:06.000Z","time_to_close":604553,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"bundler","update_count":97,"packages":[{"name":"bootsnap","old_version":"1.18.6","new_version":"1.20.0","repository_url":"https://github.com/rails/bootsnap"},{"name":"govuk-components","old_version":"5.11.3","new_version":"5.13.1","repository_url":"https://github.com/x-govuk/govuk-components"},{"name":"govuk_design_system_formbuilder","old_version":"5.11.0","new_version":"5.13.0","repository_url":"https://github.com/x-govuk/govuk-form-builder"},{"name":"haml-rails","old_version":"2.1.0","new_version":"3.0.0","repository_url":"https://github.com/haml/haml-rails"},{"name":"oauth2","old_version":"2.0.17","new_version":"2.0.18","repository_url":"https://github.com/ruby-oauth/oauth2"},{"name":"omniauth-rails_csrf_protection","old_version":"1.0.2","new_version":"2.0.1","repository_url":"https://github.com/cookpad/omniauth-rails_csrf_protection"},{"name":"prometheus_exporter","old_version":"2.3.0","new_version":"2.3.1","repository_url":"https://github.com/discourse/prometheus_exporter"},{"name":"puma","old_version":"7.0.4","new_version":"7.1.0","repository_url":"https://github.com/puma/puma"},{"name":"rails","old_version":"8.0.3","new_version":"8.1.1","repository_url":"https://github.com/rails/rails"},{"name":"sentry-rails","old_version":"5.27.1","new_version":"6.2.0","repository_url":"https://github.com/getsentry/sentry-ruby"},{"name":"sentry-sidekiq","old_version":"5.27.1","new_version":"6.2.0","repository_url":"https://github.com/getsentry/sentry-ruby"},{"name":"dotenv-rails","old_version":"3.1.8","new_version":"3.2.0","repository_url":"https://github.com/bkeepers/dotenv"},{"name":"sidekiq","old_version":"8.0.7","new_version":"8.1.0","repository_url":"https://github.com/sidekiq/sidekiq"},{"name":"turbo-rails","old_version":"2.0.16","new_version":"2.0.20","repository_url":"https://github.com/hotwired/turbo-rails"},{"name":"axe-core-rspec","old_version":"4.10.3","new_version":"4.11.0","repository_url":"https://github.com/dequelabs/axe-core-gems"},{"name":"brakeman","old_version":"7.1.0","new_version":"7.1.1","repository_url":"https://github.com/presidentbeef/brakeman"},{"name":"haml_lint","old_version":"0.66.0","new_version":"0.68.0","repository_url":"https://github.com/sds/haml-lint"},{"name":"i18n-tasks","old_version":"1.0.15","new_version":"1.1.2","repository_url":"https://github.com/glebm/i18n-tasks"},{"name":"rubocop","old_version":"1.80.2","new_version":"1.82.0","repository_url":"https://github.com/rubocop/rubocop"},{"name":"rubocop-factory_bot","old_version":"2.27.1","new_version":"2.28.0","repository_url":"https://github.com/rubocop/rubocop-factory_bot"},{"name":"rubocop-performance","old_version":"1.26.0","new_version":"1.26.1","repository_url":"https://github.com/rubocop/rubocop-performance"},{"name":"rubocop-rails","old_version":"2.33.3","new_version":"2.34.2","repository_url":"https://github.com/rubocop/rubocop-rails"},{"name":"rubocop-rspec","old_version":"3.7.0","new_version":"3.8.0","repository_url":"https://github.com/rubocop/rubocop-rspec"},{"name":"rubocop-rspec_rails","old_version":"2.31.0","new_version":"2.32.0","repository_url":"https://github.com/rubocop/rubocop-rspec_rails"},{"name":"selenium-webdriver","old_version":"4.35.0","new_version":"4.39.0","repository_url":"https://github.com/SeleniumHQ/selenium"},{"name":"shoulda-matchers","old_version":"6.5.0","new_version":"7.0.1","repository_url":"https://github.com/thoughtbot/shoulda-matchers"},{"name":"vcr","old_version":"6.3.1","new_version":"6.4.0","repository_url":"https://github.com/vcr/vcr"},{"name":"webmock","old_version":"3.25.1","new_version":"3.26.1","repository_url":"https://github.com/bblimke/webmock"},{"name":"faker","old_version":"3.5.2","new_version":"3.5.3","repository_url":"https://github.com/faker-ruby/faker"},{"name":"net-imap","old_version":"0.5.10","new_version":"0.6.2","repository_url":"https://github.com/ruby/net-imap"},{"name":"factory_bot","old_version":"6.5.5","new_version":"6.5.6","repository_url":"https://github.com/thoughtbot/factory_bot"},{"name":"faraday-follow_redirects","old_version":"0.3.0","new_version":"0.4.0","repository_url":"https://github.com/tisba/faraday-follow-redirects"},{"name":"json-jwt","old_version":"1.16.7","new_version":"1.17.0","repository_url":"https://github.com/nov/json-jwt"},{"name":"rack-oauth2","old_version":"2.2.1","new_version":"2.3.0","repository_url":"https://github.com/nov/rack-oauth2"},{"name":"responders","old_version":"3.1.1","new_version":"3.2.0","repository_url":"https://github.com/heartcombo/responders"},{"name":"rspec","old_version":"3.13.1","new_version":"3.13.2","repository_url":"https://github.com/rspec/rspec"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps the bundler group with 36 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [bootsnap](https://github.com/rails/bootsnap) | `1.18.6` | `1.20.0` |\n| [govuk-components](https://github.com/x-govuk/govuk-components) | `5.11.3` | `5.13.1` |\n| [govuk_design_system_formbuilder](https://github.com/x-govuk/govuk-form-builder) | `5.11.0` | `5.13.0` |\n| [haml-rails](https://github.com/haml/haml-rails) | `2.1.0` | `3.0.0` |\n| [oauth2](https://github.com/ruby-oauth/oauth2) | `2.0.17` | `2.0.18` |\n| [omniauth-rails_csrf_protection](https://github.com/cookpad/omniauth-rails_csrf_protection) | `1.0.2` | `2.0.1` |\n| [prometheus_exporter](https://github.com/discourse/prometheus_exporter) | `2.3.0` | `2.3.1` |\n| [puma](https://github.com/puma/puma) | `7.0.4` | `7.1.0` |\n| [rails](https://github.com/rails/rails) | `8.0.3` | `8.1.1` |\n| [sentry-rails](https://github.com/getsentry/sentry-ruby) | `5.27.1` | `6.2.0` |\n| [sentry-sidekiq](https://github.com/getsentry/sentry-ruby) | `5.27.1` | `6.2.0` |\n| [dotenv-rails](https://github.com/bkeepers/dotenv) | `3.1.8` | `3.2.0` |\n| [sidekiq](https://github.com/sidekiq/sidekiq) | `8.0.7` | `8.1.0` |\n| [turbo-rails](https://github.com/hotwired/turbo-rails) | `2.0.16` | `2.0.20` |\n| [axe-core-rspec](https://github.com/dequelabs/axe-core-gems) | `4.10.3` | `4.11.0` |\n| [brakeman](https://github.com/presidentbeef/brakeman) | `7.1.0` | `7.1.1` |\n| [haml_lint](https://github.com/sds/haml-lint) | `0.66.0` | `0.68.0` |\n| [i18n-tasks](https://github.com/glebm/i18n-tasks) | `1.0.15` | `1.1.2` |\n| [rubocop](https://github.com/rubocop/rubocop) | `1.80.2` | `1.82.0` |\n| [rubocop-factory_bot](https://github.com/rubocop/rubocop-factory_bot) | `2.27.1` | `2.28.0` |\n| [rubocop-performance](https://github.com/rubocop/rubocop-performance) | `1.26.0` | `1.26.1` |\n| [rubocop-rails](https://github.com/rubocop/rubocop-rails) | `2.33.3` | `2.34.2` |\n| [rubocop-rspec](https://github.com/rubocop/rubocop-rspec) | `3.7.0` | `3.8.0` |\n| [rubocop-rspec_rails](https://github.com/rubocop/rubocop-rspec_rails) | `2.31.0` | `2.32.0` |\n| [selenium-webdriver](https://github.com/SeleniumHQ/selenium) | `4.35.0` | `4.39.0` |\n| [shoulda-matchers](https://github.com/thoughtbot/shoulda-matchers) | `6.5.0` | `7.0.1` |\n| [vcr](https://github.com/vcr/vcr) | `6.3.1` | `6.4.0` |\n| [webmock](https://github.com/bblimke/webmock) | `3.25.1` | `3.26.1` |\n| [faker](https://github.com/faker-ruby/faker) | `3.5.2` | `3.5.3` |\n| [net-imap](https://github.com/ruby/net-imap) | `0.5.10` | `0.6.2` |\n| [factory_bot](https://github.com/thoughtbot/factory_bot) | `6.5.5` | `6.5.6` |\n| [faraday-follow_redirects](https://github.com/tisba/faraday-follow-redirects) | `0.3.0` | `0.4.0` |\n| [json-jwt](https://github.com/nov/json-jwt) | `1.16.7` | `1.17.0` |\n| [rack-oauth2](https://github.com/nov/rack-oauth2) | `2.2.1` | `2.3.0` |\n| [responders](https://github.com/heartcombo/responders) | `3.1.1` | `3.2.0` |\n| [rspec](https://github.com/rspec/rspec) | `3.13.1` | `3.13.2` |\n\n\nUpdates `bootsnap` from 1.18.6 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/rails/bootsnap/releases\"\u003ebootsnap'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\u003cul\u003e\n\u003cli\u003eOptimized load path scanning with a C extension. Should be about 2x faster on supported platforms.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/rails/bootsnap/compare/v1.19.0...v1.20.0\"\u003ehttps://github.com/rails/bootsnap/compare/v1.19.0...v1.20.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/rails/bootsnap/blob/main/CHANGELOG.md\"\u003ebootsnap's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e1.20.0\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eOptimized load path scanning with a C extension. Should be about 2x faster on supported platforms.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e1.19.0\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eRemove JSON parsing cache. Recent versions of the \u003ccode\u003ejson\u003c/code\u003e gem are as fast as \u003ccode\u003emsgpack\u003c/code\u003e if not faster.\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/rails/bootsnap/commit/fac34b899341134389dd8067678230d95e409939\"\u003e\u003ccode\u003efac34b8\u003c/code\u003e\u003c/a\u003e Release 1.20.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/71311d4c599a2d4eebec29652889577ff430499c\"\u003e\u003ccode\u003e71311d4\u003c/code\u003e\u003c/a\u003e Include Bootsnap::VERSION in LoadPathCache version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/f5c43ac14b11e9771155d5a5a402c6a8ef0f8ef6\"\u003e\u003ccode\u003ef5c43ac\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/bootsnap/issues/512\"\u003e#512\u003c/a\u003e from byroot/prune-load-dir\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/f94f668c545122c26462d31cec647095282b68a1\"\u003e\u003ccode\u003ef94f668\u003c/code\u003e\u003c/a\u003e Stop caching directories in LoadPathCache\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/e3b5292b2f00012130b2529ec01ac42bdddbe0b2\"\u003e\u003ccode\u003ee3b5292\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/bootsnap/issues/511\"\u003e#511\u003c/a\u003e from byroot/c-ext-load-path-scan\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/e91dd2158b014d7f233028475942b9fbe2c9ed2c\"\u003e\u003ccode\u003ee91dd21\u003c/code\u003e\u003c/a\u003e Implement PathScanner in C to avoid N+1 \u003ccode\u003estat(2)\u003c/code\u003e calls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/c77d5ccfec3188c8feb259963eaad5debc955bcf\"\u003e\u003ccode\u003ec77d5cc\u003c/code\u003e\u003c/a\u003e Cleanup the c extension\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/73f65128eccdd258818494e64c4230ae78af599b\"\u003e\u003ccode\u003e73f6512\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/bootsnap/issues/510\"\u003e#510\u003c/a\u003e from rails/dependabot/github_actions/actions/checkout-6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/55683073bdb836220a0d8d53fe8d1a4a6dc54caa\"\u003e\u003ccode\u003e5568307\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 5 to 6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/d4ad1673943b416cd46491ffe236df29862ce37f\"\u003e\u003ccode\u003ed4ad167\u003c/code\u003e\u003c/a\u003e Release 1.19.0\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/bootsnap/compare/v1.18.6...v1.20.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `govuk-components` from 5.11.3 to 5.13.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/x-govuk/govuk-components/releases\"\u003egovuk-components's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 5.13.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix a bug in the service nav where \u003ccode\u003earia-current=\u0026quot;true\u0026quot;\u003c/code\u003e was showing where it shouldn't have been. Thanks \u003ca href=\"https://github.com/DavidBiddle\"\u003e\u003ccode\u003e@​DavidBiddle\u003c/code\u003e\u003c/a\u003e for diagnosing (\u003ca href=\"https://redirect.github.com/x-govuk/govuk-components/issues/621\"\u003e#621\u003c/a\u003e) and fixing (\u003ca href=\"https://redirect.github.com/x-govuk/govuk-components/issues/622\"\u003e#622\u003c/a\u003e) this :heart:\u003c/li\u003e\n\u003cli\u003eChange some links in the docs from netlify.app to x-govuk.org\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 5.13.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Rails 8.1. Thanks \u003ca href=\"https://github.com/thomasleese\"\u003e\u003ccode\u003e@​thomasleese\u003c/code\u003e\u003c/a\u003e. \u003ca href=\"https://redirect.github.com/x-govuk/govuk-components/issues/619\"\u003e#619\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to govuk-frontend 5.13.0\u003c/li\u003e\n\u003cli\u003eAdd Netlify link to the footer to qualify for Netlify's open source plan which we're using for the \u003ca href=\"https://govuk-components.x-govuk.org/\"\u003enew guide domain\u003c/a\u003e  ccb566fd4cd1ed5a8\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/x-govuk/govuk-components/commit/ae1d8499a1abb27f460bbf27f2bff7783aac258e\"\u003e\u003ccode\u003eae1d849\u003c/code\u003e\u003c/a\u003e Release version 5.13.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/x-govuk/govuk-components/commit/11c9b1a68c1527fd1ee7ce5ce7cd156404cf606c\"\u003e\u003ccode\u003e11c9b1a\u003c/code\u003e\u003c/a\u003e Change links from netlify.app to x-govuk.org\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/x-govuk/govuk-components/commit/fb64c67029b5be08c0d9ade7033a11034d2ccae9\"\u003e\u003ccode\u003efb64c67\u003c/code\u003e\u003c/a\u003e Only show aria-current attribute for current and active links (\u003ca href=\"https://redirect.github.com/x-govuk/govuk-components/issues/622\"\u003e#622\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/x-govuk/govuk-components/commit/f5af8cfe23c2f9af1c106068073175836239408b\"\u003e\u003ccode\u003ef5af8cf\u003c/code\u003e\u003c/a\u003e Update links in pagination component\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/x-govuk/govuk-components/commit/fe3af03967d65eedade3396e00b85ce0fde10721\"\u003e\u003ccode\u003efe3af03\u003c/code\u003e\u003c/a\u003e Fix stale links to x-govuk.github.io\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/x-govuk/govuk-components/commit/73cfab8a9995fec57277c7f46bd46b64cc06532a\"\u003e\u003ccode\u003e73cfab8\u003c/code\u003e\u003c/a\u003e Only show aria-current attribute for current and active links\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/x-govuk/govuk-components/commit/03365a4ae4c13d67f710e313d5420fb383cf6258\"\u003e\u003ccode\u003e03365a4\u003c/code\u003e\u003c/a\u003e Release version 5.13.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/x-govuk/govuk-components/commit/4cc7cd132e65748edb74abf89da9c2ac40328c52\"\u003e\u003ccode\u003e4cc7cd1\u003c/code\u003e\u003c/a\u003e Upgrade to govuk-frontend 5.13.0 (\u003ca href=\"https://redirect.github.com/x-govuk/govuk-components/issues/620\"\u003e#620\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/x-govuk/govuk-components/commit/7e2ac2f76d0bf2b9200ba4e59371fc617db6d724\"\u003e\u003ccode\u003e7e2ac2f\u003c/code\u003e\u003c/a\u003e Upgrade to govuk-frontend 5.13.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/x-govuk/govuk-components/commit/775c0185f0211fee2a02694058643b0458193ec3\"\u003e\u003ccode\u003e775c018\u003c/code\u003e\u003c/a\u003e Update rubocop-govuk requirement from = 5.1.18 to = 5.1.20 (\u003ca href=\"https://redirect.github.com/x-govuk/govuk-components/issues/614\"\u003e#614\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/x-govuk/govuk-components/compare/v5.11.3...v5.13.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `govuk_design_system_formbuilder` from 5.11.0 to 5.13.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/x-govuk/govuk-form-builder/releases\"\u003egovuk_design_system_formbuilder's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 5.13.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eupgrade to govuk-frontend 5.13.0 \u003ca href=\"https://redirect.github.com/x-govuk/govuk-form-builder/issues/586\"\u003e#586\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003evarious minor version bumps\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/x-govuk/govuk-form-builder/commit/8706eb080e4adbec086c9df6b23c10d2392d67d9\"\u003e\u003ccode\u003e8706eb0\u003c/code\u003e\u003c/a\u003e Release version 5.13.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/x-govuk/govuk-form-builder/commit/4ee1610b38f2ad724ad35f46d4cd9f2ada8657fa\"\u003e\u003ccode\u003e4ee1610\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/x-govuk/govuk-form-builder/issues/586\"\u003e#586\u003c/a\u003e from x-govuk/govuk-frontend-5.13.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/x-govuk/govuk-form-builder/commit/e4152cf35f1210fbf41a7f8c6326561ae34b08f2\"\u003e\u003ccode\u003ee4152cf\u003c/code\u003e\u003c/a\u003e Upgrade to govuk-frontend 5.13.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/x-govuk/govuk-form-builder/commit/1d621fec728b9ad3e68713d77fe418ff15f25938\"\u003e\u003ccode\u003e1d621fe\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/x-govuk/govuk-form-builder/issues/583\"\u003e#583\u003c/a\u003e from x-govuk/dependabot/npm_and_yarn/guide/sass-1.93.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/x-govuk/govuk-form-builder/commit/b719555a4517528f64ab8060176527ef16b8ab52\"\u003e\u003ccode\u003eb719555\u003c/code\u003e\u003c/a\u003e Bump sass from 1.91.0 to 1.93.2 in /guide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/x-govuk/govuk-form-builder/commit/8220652d0d66644b84e71e73799526182e26e0dc\"\u003e\u003ccode\u003e8220652\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/x-govuk/govuk-form-builder/issues/578\"\u003e#578\u003c/a\u003e from x-govuk/dependabot/bundler/rubocop-govuk-tw-5.1.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/x-govuk/govuk-form-builder/commit/d044ef7485504f87b5249d193cedfaa165e7dc5f\"\u003e\u003ccode\u003ed044ef7\u003c/code\u003e\u003c/a\u003e Update rubocop-govuk requirement from ~\u0026gt; 5.0.1 to ~\u0026gt; 5.1.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/x-govuk/govuk-form-builder/commit/c7a77bf283ae692234739d731466d4afea709d88\"\u003e\u003ccode\u003ec7a77bf\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/x-govuk/govuk-form-builder/issues/581\"\u003e#581\u003c/a\u003e from x-govuk/dependabot/bundler/rouge-tw-4.6.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/x-govuk/govuk-form-builder/commit/14991675d0b937d6d22fab58fc218678800292cd\"\u003e\u003ccode\u003e1499167\u003c/code\u003e\u003c/a\u003e Update rouge requirement from ~\u0026gt; 4.5.1 to ~\u0026gt; 4.6.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/x-govuk/govuk-form-builder/commit/865fd13d39821adac617aadccf6df3e3f70a4e47\"\u003e\u003ccode\u003e865fd13\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/x-govuk/govuk-form-builder/issues/569\"\u003e#569\u003c/a\u003e from x-govuk/dependabot/npm_and_yarn/guide/sass-1.89.2\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/x-govuk/govuk-form-builder/compare/v5.11.0...v5.13.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `haml-rails` from 2.1.0 to 3.0.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/haml/haml-rails/commit/6c7c8ca772b2c8d36b58278c2c09498385979f85\"\u003e\u003ccode\u003e6c7c8ca\u003c/code\u003e\u003c/a\u003e Version 3.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/haml/haml-rails/commit/e364abbc6a54f84b344c1ec846d683f927e1ae59\"\u003e\u003ccode\u003ee364abb\u003c/code\u003e\u003c/a\u003e Just use the newest one\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/haml/haml-rails/commit/30005dc31f9926dac33ba776389e9456e068b20f\"\u003e\u003ccode\u003e30005dc\u003c/code\u003e\u003c/a\u003e [CI] uses: actions/checkout@v5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/haml/haml-rails/commit/e639b11fe1571cdc1e8bb48143d13a63110e09e1\"\u003e\u003ccode\u003ee639b11\u003c/code\u003e\u003c/a\u003e Properly state the supported version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/haml/haml-rails/commit/3e1b70552ca28a42a4741d3bfd3cf7cf379c6486\"\u003e\u003ccode\u003e3e1b705\u003c/code\u003e\u003c/a\u003e frozen_string_literal: ❄️\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/haml/haml-rails/commit/2c51fd5848e6d36e36f831cf827578003525d08f\"\u003e\u003ccode\u003e2c51fd5\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/haml/haml-rails/issues/197\"\u003e#197\u003c/a\u003e from amatsuda/rails_versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/haml/haml-rails/commit/9f4703ddff0644ba52529c5cf41c1624829b16a7\"\u003e\u003ccode\u003e9f4703d\u003c/code\u003e\u003c/a\u003e Fall back to the newest templates by default\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/haml/haml-rails/commit/f0a9ff88ef682af3d6023e1d453ed978597abd72\"\u003e\u003ccode\u003ef0a9ff8\u003c/code\u003e\u003c/a\u003e Rails 5.1 scaffold templates\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/haml/haml-rails/commit/852cf01c9831ee09049f7b990a648d441c876093\"\u003e\u003ccode\u003e852cf01\u003c/code\u003e\u003c/a\u003e Rails 5.2 scaffold templates\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/haml/haml-rails/commit/8bb0351a85b83e81d1b27f18fdda17a77961c1af\"\u003e\u003ccode\u003e8bb0351\u003c/code\u003e\u003c/a\u003e Rails 6.0 scaffold templates\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/haml/haml-rails/compare/v2.1.0...v3.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `oauth2` from 2.0.17 to 2.0.18\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby-oauth/oauth2/releases\"\u003eoauth2's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.0.18\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/compare/v2.0.17...v2.0.18\"\u003e2.0.18\u003c/a\u003e - 2025-11-08\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eTAG: \u003ca href=\"https://github.com/ruby-oauth/oauth2/releases/tag/v2.0.18\"\u003ev2.0.18\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCOVERAGE: 100.00% -- 526/526 lines in 14 files\u003c/li\u003e\n\u003cli\u003eBRANCH COVERAGE: 100.00% -- 178/178 branches in 14 files\u003c/li\u003e\n\u003cli\u003e90.48% documented\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/683\"\u003egh!683\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/684\"\u003egh!684\u003c/a\u003e - Improve documentation by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/686\"\u003egh!686\u003c/a\u003e- Add Incident Response Plan by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/687\"\u003egh!687\u003c/a\u003e- Add Threat Model by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/685\"\u003egh!685\u003c/a\u003e - upgrade kettle-dev v1.1.24 by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eupgrade kettle-dev v1.1.52 by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003eAdd open collective donors to README\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/690\"\u003egh!690\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/691\"\u003egh!691\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/692\"\u003egh!692\u003c/a\u003e - Add yard-fence\n\u003cul\u003e\n\u003cli\u003ehandle braces within code fences in markdown properly by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cp\u003eOfficial Discord 👉️ [![Live Chat on Discord][✉️discord-invite-img]][✉️discord-invite]\u003c/p\u003e\n\u003cp\u003eMany paths lead to being a sponsor or a backer of this project. Are you on such a path?\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://opencollective.com/ruby-oauth#backer\"\u003e![OpenCollective Backers][🖇osc-backers-i]\u003c/a\u003e [![OpenCollective Sponsors][🖇osc-sponsors-i]][🖇osc-sponsors] [![Sponsor Me on Github][🖇sponsor-img]][🖇sponsor] \u003ca href=\"https://liberapay.com/pboling/donate\"\u003e\u003cimg src=\"https://img.shields.io/liberapay/goal/pboling.svg?logo=liberapay\u0026amp;color=a51611\u0026amp;style=flat\" alt=\"Liberapay Goal Progress\" /\u003e\u003c/a\u003e [![Donate on PayPal][🖇paypal-img]][🖇paypal]\u003c/p\u003e\n\u003cp\u003e[![Buy me a coffee][🖇buyme-small-img]][🖇buyme] [![Donate on Polar][🖇polar-img]][🖇polar] [![Donate to my FLOSS efforts at ko-fi.com][🖇kofi-img]][🖇kofi] [![Donate to my FLOSS efforts using Patreon][🖇patreon-img]][🖇patreon]\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\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby-oauth/oauth2/blob/main/CHANGELOG.md\"\u003eoauth2's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[2.0.18] - 2025-11-08\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eTAG: [v2.0.18][2.0.18t]\u003c/li\u003e\n\u003cli\u003eCOVERAGE: 100.00% -- 526/526 lines in 14 files\u003c/li\u003e\n\u003cli\u003eBRANCH COVERAGE: 100.00% -- 178/178 branches in 14 files\u003c/li\u003e\n\u003cli\u003e90.48% documented\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/683\"\u003egh!683\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/684\"\u003egh!684\u003c/a\u003e - Improve documentation by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/686\"\u003egh!686\u003c/a\u003e- Add Incident Response Plan by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/687\"\u003egh!687\u003c/a\u003e- Add Threat Model by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/685\"\u003egh!685\u003c/a\u003e - upgrade kettle-dev v1.1.24 by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eupgrade kettle-dev v1.1.52 by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003eAdd open collective donors to README\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/690\"\u003egh!690\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/691\"\u003egh!691\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/692\"\u003egh!692\u003c/a\u003e - Add yard-fence\n\u003cul\u003e\n\u003cli\u003ehandle braces within code fences in markdown properly by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSecurity\u003c/h3\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/ruby-oauth/oauth2/commit/b5753116121553d56937039dafc5ea472d9a99ed\"\u003e\u003ccode\u003eb575311\u003c/code\u003e\u003c/a\u003e 🔖 Prepare release v2.0.18\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/b5af77ba42ec111dda68abdee33d631e27fdfe61\"\u003e\u003ccode\u003eb5af77b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/issues/693\"\u003e#693\u003c/a\u003e from ruby-oauth/feat/docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/cf2853d9fa05999f88c9df8b1b3a8a3ed21c64e8\"\u003e\u003ccode\u003ecf2853d\u003c/code\u003e\u003c/a\u003e 📝 Update docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/18434156bfc988527d2453b2174e6356e233757d\"\u003e\u003ccode\u003e1843415\u003c/code\u003e\u003c/a\u003e ⬆️ kettle-dev v1.1.52, yard-fence v0.8.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/f592dd8753966a30671ebc2e8a28ab26138b6c2b\"\u003e\u003ccode\u003ef592dd8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/issues/692\"\u003e#692\u003c/a\u003e from ruby-oauth/feat/docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/2095732d7cd4eeb80fe74c89e2a2d012517e40d6\"\u003e\u003ccode\u003e2095732\u003c/code\u003e\u003c/a\u003e ⬆️ yard-fence v0.7.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/50f3fd08e733ed75b2cc99e077e9ea9d64a3d5d5\"\u003e\u003ccode\u003e50f3fd0\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/issues/691\"\u003e#691\u003c/a\u003e from ruby-oauth/feat/docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/bcb0e40bfca989f164a04cbf46a4175822b7cb28\"\u003e\u003ccode\u003ebcb0e40\u003c/code\u003e\u003c/a\u003e ✏️ Fix typos in docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/f24f1a8bfbf546595aa16cd6fa82119c8218c1d3\"\u003e\u003ccode\u003ef24f1a8\u003c/code\u003e\u003c/a\u003e Create CNAME\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/bff58e1afec541feca2a337664d09c58b8a22419\"\u003e\u003ccode\u003ebff58e1\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/issues/690\"\u003e#690\u003c/a\u003e from ruby-oauth/feat/yard-fence\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby-oauth/oauth2/compare/v2.0.17...v2.0.18\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `omniauth-rails_csrf_protection` from 1.0.2 to 2.0.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/cookpad/omniauth-rails_csrf_protection/releases\"\u003eomniauth-rails_csrf_protection's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 2.0.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix an issue with configuration delegation in Rails \u0026lt; 8.1 (\u003ca href=\"https://redirect.github.com/cookpad/omniauth-rails_csrf_protection/issues/26\"\u003e#26\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003eFor more details, please see 1a0d39099957675f549e1f23c836f57b99b09a00.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 2.0.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eStop using deprecated \u003ccode\u003eActiveSupport::Configurable\u003c/code\u003e when this gem is running against Action Pack version 8.1 and later (\u003ca href=\"https://redirect.github.com/cookpad/omniauth-rails_csrf_protection/issues/23\"\u003e#23\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/cookpad/omniauth-rails_csrf_protection/issues/24\"\u003e#24\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/cookpad/omniauth-rails_csrf_protection/commit/c4f53d72e6a278c02f1a6d294c4f8004354ee0b7\"\u003e\u003ccode\u003ec4f53d7\u003c/code\u003e\u003c/a\u003e Bump to 2.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cookpad/omniauth-rails_csrf_protection/commit/1a0d39099957675f549e1f23c836f57b99b09a00\"\u003e\u003ccode\u003e1a0d390\u003c/code\u003e\u003c/a\u003e Fix an issue with configuration delegation in Rails \u0026lt; 8.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cookpad/omniauth-rails_csrf_protection/commit/bc315e1b09fbf6a363d5293067b42675f020fc4c\"\u003e\u003ccode\u003ebc315e1\u003c/code\u003e\u003c/a\u003e Properly silence Rails 8.0.x warning message in test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cookpad/omniauth-rails_csrf_protection/commit/23483750b4a0a803347e02778b975886ecb82875\"\u003e\u003ccode\u003e2348375\u003c/code\u003e\u003c/a\u003e Bump to 2.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cookpad/omniauth-rails_csrf_protection/commit/c283d1d159a292c5fce8ed1a2f5997f6bde209f5\"\u003e\u003ccode\u003ec283d1d\u003c/code\u003e\u003c/a\u003e Update README to add OmniAuth's built-in solution\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cookpad/omniauth-rails_csrf_protection/commit/2cf722bd7cc310009ee626cce28a7ea52b47f649\"\u003e\u003ccode\u003e2cf722b\u003c/code\u003e\u003c/a\u003e Add workaround for deprecated AS::Configurable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cookpad/omniauth-rails_csrf_protection/commit/431597eb44ff8ae0bf9802d1a1dc85ebb8d2cfa3\"\u003e\u003ccode\u003e431597e\u003c/code\u003e\u003c/a\u003e Silence \u003ccode\u003e#to_time\u003c/code\u003e warning in Rails 8.0.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cookpad/omniauth-rails_csrf_protection/commit/5e9c8a27b0ccac54ca3bec7f3b49d43ddefdc4d6\"\u003e\u003ccode\u003e5e9c8a2\u003c/code\u003e\u003c/a\u003e Print Ruby version in the test output\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cookpad/omniauth-rails_csrf_protection/commit/3e62c0572bf5c9796fff5fe197f07d5ed172a7c5\"\u003e\u003ccode\u003e3e62c05\u003c/code\u003e\u003c/a\u003e Remove unnecessary logger gem entry in Gemfile\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cookpad/omniauth-rails_csrf_protection/commit/f9810a5886d692312c6d015914fdad00cf7f41b2\"\u003e\u003ccode\u003ef9810a5\u003c/code\u003e\u003c/a\u003e Update build matrix and fix build errors\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/cookpad/omniauth-rails_csrf_protection/compare/v1.0.2...v2.0.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `prometheus_exporter` from 2.3.0 to 2.3.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/discourse/prometheus_exporter/blob/main/CHANGELOG\"\u003eprometheus_exporter's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[2.3.1] - 2025-11-11\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFIX: get controller full path instead of controller name - Alex Platteeuw\u003c/li\u003e\n\u003cli\u003eFEATURE: Secure PrometheusExporter scraping with SSL - Nicolas Rodriquez\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/discourse/prometheus_exporter/commit/15e9d4783db8267fb3b0c48e5464ec4c1ae58c00\"\u003e\u003ccode\u003e15e9d47\u003c/code\u003e\u003c/a\u003e version bump (\u003ca href=\"https://redirect.github.com/discourse/prometheus_exporter/issues/358\"\u003e#358\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/discourse/prometheus_exporter/commit/4bd3817744bb5011aed6c669696ed957c23cd3fe\"\u003e\u003ccode\u003e4bd3817\u003c/code\u003e\u003c/a\u003e fix: get controller full path instead of controller name (\u003ca href=\"https://redirect.github.com/discourse/prometheus_exporter/issues/353\"\u003e#353\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/discourse/prometheus_exporter/commit/4bb4fa333386b166a745df92be5620b11be3872a\"\u003e\u003ccode\u003e4bb4fa3\u003c/code\u003e\u003c/a\u003e Secure PrometheusExporter scraping with SSL (\u003ca href=\"https://redirect.github.com/discourse/prometheus_exporter/issues/350\"\u003e#350\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/discourse/prometheus_exporter/commit/b10933453f0952cd17d143487c5adc8bb74b492a\"\u003e\u003ccode\u003eb109334\u003c/code\u003e\u003c/a\u003e Add connect_timeout: settings to PrometheusExporter::Client (\u003ca href=\"https://redirect.github.com/discourse/prometheus_exporter/issues/352\"\u003e#352\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/discourse/prometheus_exporter/compare/v2.3.0...v2.3.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `puma` from 7.0.4 to 7.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/puma/puma/releases\"\u003epuma's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev7.1.0\u003c/h2\u003e\n\u003ch2\u003e7.1.0 / 2025-10-16 - Neon Witch\u003c/h2\u003e\n\u003cp\u003e\u003cimg src=\"https://github.com/user-attachments/assets/6f013211-35fb-46ce-84d8-00794e020294\" alt=\"neon_witch\" /\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFeatures\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eIntroduce \u003ccode\u003eafter_worker_shutdown\u003c/code\u003e hook (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3707\"\u003e#3707\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReintroduce keepalive \u0026quot;fast inline\u0026quot; behavior. Provides faster (8x on JRuby \u0026amp; 1.4x on Ruby) pipeline processing  (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3794\"\u003e#3794\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eBugfixes\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eSkip reading zero bytes when request body is buffered (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3795\"\u003e#3795\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003ePUMA_LOG_CONFIG=1\u003c/code\u003e logging twice with prune_bundler enabled (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3778\"\u003e#3778\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix prune_bundler not showing in \u003ccode\u003ePUMA_LOG_CONFIG=1\u003c/code\u003e output (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3779\"\u003e#3779\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGuard ThreadPool method call, which may be nil during shutdown (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3791\"\u003e#3791\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/puma/puma/issues/3790\"\u003e#3790\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSet \u003ccode\u003eThread.current.puma_server\u003c/code\u003e in Thread init code, not every request (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3774\"\u003e#3774\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix race condition while deleting pidfile (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3657\"\u003e#3657\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\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/nerdrew\"\u003e\u003ccode\u003e@​nerdrew\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/puma/puma/pull/3707\"\u003epuma/puma#3707\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mopp\"\u003e\u003ccode\u003e@​mopp\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/puma/puma/pull/3783\"\u003epuma/puma#3783\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marksmith\"\u003e\u003ccode\u003e@​marksmith\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/puma/puma/pull/3657\"\u003epuma/puma#3657\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Nymuxyzo\"\u003e\u003ccode\u003e@​Nymuxyzo\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/puma/puma/pull/3762\"\u003epuma/puma#3762\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/puma/puma/compare/v7.0.4...v7.1.0\"\u003ehttps://github.com/puma/puma/compare/v7.0.4...v7.1.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/puma/puma/blob/main/History.md\"\u003epuma's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e7.1.0 / 2025-10-16\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFeatures\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eIntroduce \u003ccode\u003eafter_worker_shutdown\u003c/code\u003e hook (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3707\"\u003e#3707\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReintroduce keepalive \u0026quot;fast inline\u0026quot; behavior. Provides faster (8x on JRuby \u0026amp; 1.4x on Ruby) pipeline processing  (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3794\"\u003e#3794\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eBugfixes\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eSkip reading zero bytes when request body is buffered (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3795\"\u003e#3795\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003ePUMA_LOG_CONFIG=1\u003c/code\u003e logging twice with prune_bundler enabled (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3778\"\u003e#3778\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix prune_bundler not showing in \u003ccode\u003ePUMA_LOG_CONFIG=1\u003c/code\u003e output (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3779\"\u003e#3779\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGuard ThreadPool method call, which may be nil during shutdown (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3791\"\u003e#3791\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/puma/puma/issues/3790\"\u003e#3790\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSet \u003ccode\u003eThread.current.puma_server\u003c/code\u003e in Thread init code, not every request (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3774\"\u003e#3774\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix race condition while deleting pidfile (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3657\"\u003e#3657\u003c/a\u003e)\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/puma/puma/commit/fb2a0733e938c8786e033f22dc5bf66727dddb3a\"\u003e\u003ccode\u003efb2a073\u003c/code\u003e\u003c/a\u003e v7.1.0 (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3797\"\u003e#3797\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/4edb9e9b16835aa24bd037a88dad4d34a76952e4\"\u003e\u003ccode\u003e4edb9e9\u003c/code\u003e\u003c/a\u003e \u003ccode\u003eclient.rb\u003c/code\u003e - \u003ccode\u003eread_body\u003c/code\u003e - cleanup last lines of method (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3798\"\u003e#3798\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/84a568ab1c4d0c5cd0d29a167f5facba9699a35c\"\u003e\u003ccode\u003e84a568a\u003c/code\u003e\u003c/a\u003e Update wait_for_less_busy_worker docs (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3757\"\u003e#3757\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/e59a6049c3fc08ac2bd906a10d199bdf3949eb04\"\u003e\u003ccode\u003ee59a604\u003c/code\u003e\u003c/a\u003e Initialize only essential \u003ccode\u003eLauncher\u003c/code\u003e state before \u003ccode\u003eprune_bundler\u003c/code\u003e restart (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3\"\u003e#3\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/6844de7c4f2503751bad5e9c141de2bdb067f452\"\u003e\u003ccode\u003e6844de7\u003c/code\u003e\u003c/a\u003e client.rb - Skip reading zero bytes when request body is buffered (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3795\"\u003e#3795\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/1d3d6b792cdc870171d27cafbd0b7ceaf5e2dfb7\"\u003e\u003ccode\u003e1d3d6b7\u003c/code\u003e\u003c/a\u003e Set \u003ccode\u003eThread.current.puma_server\u003c/code\u003e in Thread init code, not every request (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3774\"\u003e#3774\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/9b34cde2c5ddf7fd65bfd5f8aea811659226662e\"\u003e\u003ccode\u003e9b34cde\u003c/code\u003e\u003c/a\u003e Adding syntax highlighting in k8s docs (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3782\"\u003e#3782\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/a2bd2f63476a719faa02eacac94b274d0cee1f6d\"\u003e\u003ccode\u003ea2bd2f6\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003eprune_bundler\u003c/code\u003e to \u003ccode\u003eConfiguration::DEFAULTS\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3779\"\u003e#3779\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/d7a0854a39bbb3f06f12c4a180e42ee6d36f7985\"\u003e\u003ccode\u003ed7a0854\u003c/code\u003e\u003c/a\u003e ci: Update hey benchmark files, minor fixes and formatting (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3796\"\u003e#3796\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/ff08099b1fc702093261a90e92da09feb577c683\"\u003e\u003ccode\u003eff08099\u003c/code\u003e\u003c/a\u003e ci: Update Update test/rackup/sleep_fibonacci.ru, add test script (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3793\"\u003e#3793\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/puma/puma/compare/v7.0.4...v7.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rails` from 8.0.3 to 8.1.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003erails's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.1.1\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Record\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction View\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eRespect \u003ccode\u003eremove_hidden_field_autocomplete\u003c/code\u003e config in form builder \u003ccode\u003ehidden_field\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction Pack\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAllow methods starting with underscore to be action methods.\u003c/p\u003e\n\u003cp\u003eDisallowing methods starting with an underscore from being action methods\nwas an unintended side effect of the performance optimization in\n207a254.\u003c/p\u003e\n\u003cp\u003eFixes \u003ca href=\"https://redirect.github.com/rails/rails/issues/55985\"\u003e#55985\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Job\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eOnly index new serializers.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eJesse Sharps\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction Mailer\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction Cable\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/rails/rails/commit/90a1eaa1b30ba1f2d524e197460e549c03cf5698\"\u003e\u003ccode\u003e90a1eaa\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.1 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/0ce0ce1ca2da1d36cdc149a72a777a956ea45dc7\"\u003e\u003ccode\u003e0ce0ce1\u003c/code\u003e\u003c/a\u003e Upgrade sigstore gem to 0.2.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/271acd57d1430be8c92fbd8f19a2069e62425803\"\u003e\u003ccode\u003e271acd5\u003c/code\u003e\u003c/a\u003e Sync CHANGELOG\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/7574698226c364ab98e69188539e2cf27517ef1f\"\u003e\u003ccode\u003e7574698\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56020\"\u003e#56020\u003c/a\u003e from harsh183/hd/getting_started/fix_line_num_typo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/89cb7bff192ce71267ae76f38942ca8f306ce273\"\u003e\u003ccode\u003e89cb7bf\u003c/code\u003e\u003c/a\u003e Fix railties/CHANGELOG.md offense at 8-1-stable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/7919bdab44688f1e7f121bc36a76169787cdfe60\"\u003e\u003ccode\u003e7919bda\u003c/code\u003e\u003c/a\u003e Restore header\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/f007f9ca53448379246a1901b213bd57955af26c\"\u003e\u003ccode\u003ef007f9c\u003c/code\u003e\u003c/a\u003e Disable SSL default config for out of the box Kamal deployments (\u003ca href=\"https://redirect.github.com/rails/rails/issues/56010\"\u003e#56010\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/234b56973bb453bb50850a1be07a2fcad7331592\"\u003e\u003ccode\u003e234b569\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56008\"\u003e#56008\u003c/a\u003e from chaadow/fix_nesting_loop_rails\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/21a8742bb6bb5720f0e67d67fe26874598d1afbe\"\u003e\u003ccode\u003e21a8742\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55992\"\u003e#55992\u003c/a\u003e from jsharpify/jsharpify-reduce-deprecation-warnings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/a7ba88b04e935d2a9cbc205382d6cd7c514f425c\"\u003e\u003ccode\u003ea7ba88b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56001\"\u003e#56001\u003c/a\u003e from hachi8833/update_wishlists\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/rails/compare/v8.0.3...v8.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sentry-rails` from 5.27.1 to 6.2.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/getsentry/sentry-ruby/blob/master/CHANGELOG.md\"\u003esentry-rails's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e6.2.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eInclude otel as custom sampling context (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2683\"\u003e2683\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eIgnore new rails rate limit errors (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2774\"\u003e#2774\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePrevent logging from crashing main thread (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2795\"\u003e2795\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove error handling in ActiveRecord subscriber (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2798\"\u003e2798\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e6.1.2\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eHandle positioned binds in logging (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2787\"\u003e#2787\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHandle cached queries with binds correctly when logging (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2789\"\u003e#2789\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e6.1.1\u003c/h2\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eOptimize getting query source location in ActiveRecord tracing - this makes tracing up to roughly 40-60% faster depending on the use cases (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2769\"\u003e#2769\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eProperly skip silenced \u003ccode\u003eActiveRecord::Base.logger\u003c/code\u003e's log entries in the ActiveRecord log subscriber (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2775\"\u003e#2775\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHandle malformed utf-8 log messages and attributes (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2777\"\u003e#2777\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2780\"\u003e#2780\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix initialized check in Sentry::Rails::CaptureExceptions (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2783\"\u003e#2783\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e6.1.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for ActiveRecord binds in the log events (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2761\"\u003e#2761\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eGuard log subscribers with initialized check (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2765\"\u003e#2765\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e6.0.0\u003c/h2\u003e\n\u003ch3\u003eBreaking Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for rubies below 2.7 \u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2743\"\u003e#2743\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for Rails below 5.2.0\u003c/li\u003e\n\u003cli\u003eDrop support for Sidekiq below 5.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eRemove deprecated \u003ccode\u003econfig.async\u003c/code\u003e \u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/1894\"\u003e#1894\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove deprecated \u003ccode\u003eSentry::Metrics\u003c/code\u003e and \u003ccode\u003econfig.metrics\u003c/code\u003e and all metrics related code (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2729\"\u003e#2729\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/getsentry/sentry-ruby/commit/0da2bde916965f02ce12c57df4c915aaf3353cba\"\u003e\u003ccode\u003e0da2bde\u003c/code\u003e\u003c/a\u003e release: 6.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/bcc0fe7d211b6dffd273a13ebeb2bcf8af0f0fb7\"\u003e\u003ccode\u003ebcc0fe7\u003c/code\u003e\u003c/a\u003e fix(logging): improve error handling in AR subscriber (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/issues/2798\"\u003e#2798\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/5aa2643123c4020308ecd365c7c07113612b4ca3\"\u003e\u003ccode\u003e5aa2643\u003c/code\u003e\u003c/a\u003e release: 6.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/78a5a08950025b029132b81198f0279dbf42f34c\"\u003e\u003ccode\u003e78a5a08\u003c/code\u003e\u003c/a\u003e fix(rails): fix logging of cached queries with binds (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/issues/2789\"\u003e#2789\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/a5cee1bdbf51747d719db5a998b36ed303107ae4\"\u003e\u003ccode\u003ea5cee1b\u003c/code\u003e\u003c/a\u003e fix(rails): handle positioned binds in logging (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/issues/2787\"\u003e#2787\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/6aed46375b6992a87a74efc83fd1e9ca5ecf854d\"\u003e\u003ccode\u003e6aed463\u003c/code\u003e\u003c/a\u003e release: 6.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/9eea7de5be955fcae928341703dac57402d8b69b\"\u003e\u003ccode\u003e9eea7de\u003c/code\u003e\u003c/a\u003e Fix initialized check in Sentry::Rails::CaptureExceptions (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/issues/2783\"\u003e#2783\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/6049bfdbbd006c1c81cffd5cf3396162fa7417aa\"\u003e\u003ccode\u003e6049bfd\u003c/code\u003e\u003c/a\u003e fix(rails): properly skip silenced logs from AR (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/issues/2775\"\u003e#2775\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/98f97b401c3225f6e2fe48a95456116a7bccbd60\"\u003e\u003ccode\u003e98f97b4\u003c/code\u003e\u003c/a\u003e [rails] improve AR tracing performance (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/issues/2769\"\u003e#2769\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/3e1981aacd7095669b23d9233db2e43c6d1aab5a\"\u003e\u003ccode\u003e3e1981a\u003c/code\u003e\u003c/a\u003e chore(jruby): fixes and updates (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/issues/2772\"\u003e#2772\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/getsentry/sentry-ruby/compare/5.27.1...6.2.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sentry-sidekiq` from 5.27.1 to 6.2.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/getsentry/sentry-ruby/blob/master/CHANGELOG.md\"\u003esentry-sidekiq's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e6.2.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eInclude otel as custom sampling context (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2683\"\u003e2683\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eIgnore new rails rate limit errors (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2774\"\u003e#2774\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePrevent logging from crashing main thread (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2795\"\u003e2795\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove error handling in ActiveRecord subscriber (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2798\"\u003e2798\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e6.1.2\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eHandle positioned binds in logging (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2787\"\u003e#2787\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHandle cached queries with binds correctly when logging (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2789\"\u003e#2789\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e6.1.1\u003c/h2\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eOptimize getting query source location in ActiveRecord tracing - this makes tracing up to roughly 40-60% faster depending on the use cases (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2769\"\u003e#2769\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eProperly skip silenced \u003ccode\u003eActiveRecord::Base.logger\u003c/code\u003e's log entries in the ActiveRecord log subscriber (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2775\"\u003e#2775\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHandle malformed utf-8 log messages and attributes (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2777\"\u003e#2777\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2780\"\u003e#2780\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix initialized check in Sentry::Rails::CaptureExceptions (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2783\"\u003e#2783\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e6.1.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for ActiveRecord binds in the log events (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2761\"\u003e#2761\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eGuard log subscribers with initialized check (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2765\"\u003e#2765\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e6.0.0\u003c/h2\u003e\n\u003ch3\u003eBreaking Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for rubies below 2.7 \u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2743\"\u003e#2743\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for Rails below 5.2.0\u003c/li\u003e\n\u003cli\u003eDrop support for Sidekiq below 5.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eRemove deprecated \u003ccode\u003econfig.async\u003c/code\u003e \u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/1894\"\u003e#1894\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove deprecated \u003ccode\u003eSentry::Metrics\u003c/code\u003e and \u003ccode\u003econfig.metrics\u003c/code\u003e and all metrics related code (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2729\"\u003e#2729\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/getsentry/sentry-ruby/commit/0da2bde916965f02ce12c57df4c915aaf3353cba\"\u003e\u003ccode\u003e0da2bde\u003c/code\u003e\u003c/a\u003e release: 6.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/5aa2643123c4020308ecd365c7c07113612b4ca3\"\u003e\u003ccode\u003e5aa2643\u003c/code\u003e\u003c/a\u003e release: 6.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/6aed46375b6992a87a74efc83fd1e9ca5ecf854d\"\u003e\u003ccode\u003e6aed463\u003c/code\u003e\u003c/a\u003e release: 6.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/3e1981aacd7095669b23d9233db2e43c6d1aab5a\"\u003e\u003ccode\u003e3e1981a\u003c/code\u003e\u003c/a\u003e chore(jruby): fixes and updates (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/issues/2772\"\u003e#2772\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/7755dab0f5b59a729ae7a130c674d531261418fd\"\u003e\u003ccode\u003e7755dab\u003c/code\u003e\u003c/a\u003e [sidekiq] better and isolated rails specs (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/issues/2723\"\u003e#2723\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/1ca3afdadba4832239309f1b686943a73b2bf420\"\u003e\u003ccode\u003e1ca3afd\u003c/code\u003e\u003c/a\u003e release: 6.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/ecdcac07500cc85d375edf8dc399f7a65e286e72\"\u003e\u003ccode\u003eecdcac0\u003c/code\u003e\u003c/a\u003e release: 6.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/a1bd7e2020e6065287dd91dec3f9817c334a996d\"\u003e\u003ccode\u003ea1bd7e2\u003c/code\u003e\u003c/a\u003e 6.0 major (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/issues/2352\"\u003e#2352\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/eb6063d054741b8bf54eb07d3d5e28e5410c9b4c\"\u003e\u003ccode\u003eeb6063d\u003c/code\u003e\u003c/a\u003e release: 5.28.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/44d588ecc66247fc191a96a802593ac55505067d\"\u003e\u003ccode\u003e44d588e\u003c/code\u003e\u003c/a\u003e release: 5.28.0\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/getsentry/sentry-ruby/compare/5.27.1...6.2.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `dotenv-rails` from 3.1.8 to 3.2.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/bkeepers/dotenv/releases\"\u003edotenv-rails's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.2.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBoost app startup time by removing to_sentence usage by \u003ca href=\"https://github.com/ThomasCrambert\"\u003e\u003ccode\u003e@​ThomasCrambert\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/bkeepers/dotenv/pull/534\"\u003ebkeepers/dotenv#534\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHandle parentheses in variables in commands by \u003ca href=\"https://github.com/i7an\"\u003e\u003ccode\u003e@​i7an\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/bkeepers/dotenv/pull/540\"\u003ebkeepers/dotenv#540\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eallow warning when a env var was not overwritten by \u003ca href=\"https://github.com/grosser\"\u003e\u003ccode\u003e@​grosser\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/bkeepers/dotenv/pull/531\"\u003ebkeepers/dotenv#531\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix a few small issues by \u003ca href=\"https://github.com/grosser\"\u003e\u003ccode\u003e@​grosser\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/bkeepers/dotenv/pull/532\"\u003ebkeepers/dotenv#532\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/ThomasCrambert\"\u003e\u003ccode\u003e@​ThomasCrambert\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/bkeepers/dotenv/pull/534\"\u003ebkeepers/dotenv#534\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/i7an\"\u003e\u003ccode\u003e@​i7an\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/bkeepers/dotenv/pull/540\"\u003ebkeepers/dotenv#540\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/bkeepers/dotenv/compare/v3.1.8...v3.2.0\"\u003ehttps://github.com/bkeepers/dotenv/compare/v3.1.8...v3.2.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/bkeepers/dotenv/commit/34156bf400cd67387fa6ed9f146778f6a2f5f743\"\u003e\u003ccode\u003e34156bf\u003c/code\u003e\u003c/a\u003e Prepare for 3.2.0 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bkeepers/dotenv/commit/ab478201bdb487bfebd9e89875fd4edcf19dc064\"\u003e\u003ccode\u003eab47820\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/bkeepers/dotenv/issues/531\"\u003e#531\u003c/a\u003e from grosser/grosser/warn\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bkeepers/dotenv/commit/fae61202e432f39742e2592817cc7bb38f559852\"\u003e\u003ccode\u003efae6120\u003c/code\u003e\u003c/a\u003e Merge branch 'main' into grosser/warn\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bkeepers/dotenv/commit/4f510f41073cabb9786e3a5ea57263933497e696\"\u003e\u003ccode\u003e4f510f4\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/bkeepers/dotenv/issues/532\"\u003e#532\u003c/a\u003e from grosser/grosser/fixes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bkeepers/dotenv/commit/959e1dac9d933a7ffe6a2ab17081f8235b7822a9\"\u003e\u003ccode\u003e959e1da\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/bkeepers/dotenv/issues/539\"\u003e#539\u003c/a\u003e from bkeepers/dependabot/github_actions/actions/check...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bkeepers/dotenv/commit/041451e4ef7fd3a4ea604fcabef0cfb6fb5e79a3\"\u003e\u003ccode\u003e041451e\u003c/code\u003e\u003c/a\u003e Update spec message\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bkeepers/dotenv/commit/b300f262bdf1cfd6ac5215fd44baa771753702b9\"\u003e\u003ccode\u003eb300f26\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 4 to 6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bkeepers/dotenv/commit/5f4ca012b03c82343ad3f926e2fd281aa30a434b\"\u003e\u003ccode\u003e5f4ca01\u003c/code\u003e\u003c/a\u003e Merge branch 'main' into grosser/warn\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bkeepers/dotenv/commit/209dca47e453f7288aac9f31330e67e3f0b83e78\"\u003e\u003ccode\u003e209dca4\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/bkeepers/dotenv/issues/540\"\u003e#540\u003c/a\u003e from i7an/handle-parentheses\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bkeepers/dotenv/commit/48c495683008c5dd1816a89329e59f8386324bb2\"\u003e\u003ccode\u003e48c4956\u003c/code\u003e\u003c/a\u003e Merge branch 'main' into handle-parentheses\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/bkeepers/dotenv/compare/v3.1.8...v3.2.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sentry-sidekiq` from 5.27.1 to 6.2.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/getsentry/sentry-ruby/blob/master/CHANGELOG.md\"\u003esentry-sidekiq's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e6.2.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eInclude otel as custom sampling context (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2683\"\u003e2683\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eIgnore new rails rate limit errors (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2774\"\u003e#2774\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePrevent logging from crashing main thread (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2795\"\u003e2795\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove error handling in ActiveRecord subscriber (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2798\"\u003e2798\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e6.1.2\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eHandle positioned binds in logging (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2787\"\u003e#2787\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHandle cached queries with binds correctly when logging (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2789\"\u003e#2789\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e6.1.1\u003c/h2\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eOptimize getting query source location in ActiveRecord tracing - this makes tracing up to roughly 40-60% faster depending on the use cases (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2769\"\u003e#2769\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eProperly skip silenced \u003ccode\u003eActiveRecord::Base.logger\u003c/code\u003e's log entries in the ActiveRecord log subscriber (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2775\"\u003e#2775\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHandle malformed utf-8 log messages and attributes (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2777\"\u003e#2777\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2780\"\u003e#2780\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix initialized check in Sentry::Rails::CaptureExceptions (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2783\"\u003e#2783\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e6.1.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for ActiveRecord binds in the log events (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2761\"\u003e#2761\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eGuard log subscribers with initialized check (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2765\"\u003e#2765\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e6.0.0\u003c/h2\u003e\n\u003ch3\u003eBreaking Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for rubies below 2.7 \u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2743\"\u003e#2743\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for Rails below 5.2.0\u003c/li\u003e\n\u003cli\u003eDrop support for Sidekiq below 5.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eRemove deprecated \u003ccode\u003econfig.async\u003c/code\u003e \u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/1894\"\u003e#1894\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove deprecated \u003ccode\u003eSentry::Metrics\u003c/code\u003e and \u003ccode\u003econfig.metrics\u003c/code\u003e and all metrics related code (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2729\"\u003e#2729\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/getsentry/sentry-ruby/commit/0da2bde916965f02ce12c57df4c915aaf3353cba\"\u003e\u003ccode\u003e0da2bde\u003c/code\u003e\u003c/a\u003e release: 6.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/5aa2643123c4020308ecd365c7c07113612b4ca3\"\u003e\u003ccode\u003e5aa2643\u003c/code\u003e\u003c/a\u003e release: 6.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/6aed46375b6992a87a74efc83fd1e9ca5ecf854d\"\u003e\u003ccode\u003e6aed463\u003c/code\u003e\u003c/a\u003e release: 6.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/3e1981aacd7095669b23d9233db2e43c6d1aab5a\"\u003e\u003ccode\u003e3e1981a\u003c/code\u003e\u003c/a\u003e chore(jruby): fixes and updates (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/issues/2772\"\u003e#2772\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/7755dab0f5b59a729ae7a130c674d531261418fd\"\u003e\u003ccode\u003e7755dab\u003c/code\u003e\u003c/a\u003e [sidekiq] better and isolated rails specs (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/issues/2723\"\u003e#2723\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/1ca3afdadba4832239309f1b686943a73b2bf420\"\u003e\u003ccode\u003e1ca3afd\u003c/code\u003e\u003c/a\u003e release: 6.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/ecdcac07500cc85d375edf8dc399f7a65e286e72\"\u003e\u003ccode\u003eecdcac0\u003c/code\u003e\u003c/a\u003e release: 6.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/a1bd7e2020e6065287dd91dec3f9817c334a996d\"\u003e\u003ccode\u003ea1bd7e2\u003c/code\u003e\u003c/a\u003e 6.0 major (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/issues/2352\"\u003e#2352\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/eb6063d054741b8bf54eb07d3d5e28e5410c9b4c\"\u003e\u003ccode\u003eeb6063d\u003c/code\u003e\u003c/a\u003e release: 5.28.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/44d588ecc66247fc191a96a802593ac55505067d\"\u003e\u003ccode\u003e44d588e\u003c/code\u003e\u003c/a\u003e release: 5.28.0\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/getsentry/sentry-ruby/compare/5.27.1...6.2.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sidekiq` from 8.0.7 to 8.1.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sidekiq/sidekiq/blob/main/Changes.md\"\u003esidekiq's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.1.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eretry_for\u003c/code\u003e and \u003ccode\u003eretry\u003c/code\u003e are now mutually exclusive [#6878, Saidbek]\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eperform_inline\u003c/code\u003e now enforces \u003ccode\u003estrict_args!\u003c/code\u003e [#6718, Saidbek]\u003c/li\u003e\n\u003cli\u003eIntegrate Herb linting for ERB templates [#6760, Saidbek]\u003c/li\u003e\n\u003cli\u003eRemove CSRF code, use \u003ccode\u003eSec-Fetch-Site\u003c/code\u003e header [#6874, deve1212]\u003c/li\u003e\n\u003cli\u003eAllow custom Web UI \u003ccode\u003eassets_path\u003c/code\u003e for CDN purposes [#6865, stanhu]\u003c/li\u003e\n\u003cli\u003eUpgrade to connection_pool 3.0\u003c/li\u003e\n\u003cli\u003eAllow idle connection reaping after N seconds.\nYou can activate this \u003cstrong\u003ebeta\u003c/strong\u003e feature like below.\nFeedback requested: is this feature stable and useful for you in production?\nThis feature may or may not be enabled by default in Sidekiq 9.0.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eSidekiq.configure_server do |cfg|\n  cfg.reap_idle_redis_connections(60)\nend\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003e8.0.10\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd confirm dialog for Delete All buttons in Web UI \u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/6853\"\u003e#6853\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdjust scheduler to run closer to poll average \u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/6866\"\u003e#6866\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eForward compatibility changes for connection_pool 3.0.0\u003c/li\u003e\n\u003cli\u003eBackwards compatibility fix for \u0026lt;8.0.9 process data in Redis \u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/6870\"\u003e#6870\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBacktrace dump can now be triggered with the INFO signal, since Puma uses the\nsame signal \u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/6857\"\u003e#6857\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.0.9\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImplement idle Redis connection reaping, will be activated in 8.1 \u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/6663\"\u003e#6663\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdated \u003ccode\u003eSidekiq::Process\u003c/code\u003e API to provide capsule data. The \u003ccode\u003equeues\u003c/code\u003e and \u003ccode\u003eweights\u003c/code\u003e\ndata will be removed from Redis in Sidekiq 8.1, as this data can now be found in the\n\u003ccode\u003ecapsules\u003c/code\u003e element. \u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/6295\"\u003e#6295\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRestore bulk action buttons on Scheduled, Retry and Dead tabs [#6833, deve1212]\u003c/li\u003e\n\u003cli\u003eSupport logging additional job attributes [#6846, bschrag620]\u003c/li\u003e\n\u003cli\u003eFix display of long job args \u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/6836\"\u003e#6836\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCreate development lifecycle (\u003ccode\u003edocs/sdlc.md\u003c/code\u003e) and security (\u003ccode\u003edocs/SECURITY.md\u003c/code\u003e) policy\ndocumentation for Sidekiq's current workflows\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.0.8\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAllow an optional global iteration max runtime. After executing for this length of time,\nSidekiq will re-queue the job to continue execution at a later time [#6819, fatkodima]\u003c/li\u003e\n\u003c/ul\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eSidekiq.configure_server do |cfg|\n  cfg[:max_iteration_runtime] = 600 # ten minutes\n\u0026lt;/tr\u0026gt;\u0026lt;/table\u0026gt; \n\u003c/code\u003e\u003c/pre\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/sidekiq/sidekiq/commit/bb172d9b2b17a086c9cfa2763f58eb0b89937a77\"\u003e\u003ccode\u003ebb172d9\u003c/code\u003e\u003c/a\u003e doc(changes)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/1f8d7f5a40f1a996558c305cba5418cb3cc4af08\"\u003e\u003ccode\u003e1f8d7f5\u003c/code\u003e\u003c/a\u003e announce TTIN deprecation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/761e2d3f00666d115153d611cdeab1a4b89566a6\"\u003e\u003ccode\u003e761e2d3\u003c/code\u003e\u003c/a\u003e doc(changes)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/c8753b9fc8e51e07c65f0bb19e637007c255d540\"\u003e\u003ccode\u003ec8753b9\u003c/code\u003e\u003c/a\u003e pro changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/bdda9f5096e8cc48a07eeffdc076f51a2ff3116d\"\u003e\u003ccode\u003ebdda9f5\u003c/code\u003e\u003c/a\u003e 8.1 changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/fae17a28e58ccda85f9e09b7ad1b098529e5f491\"\u003e\u003ccode\u003efae17a2\u003c/code\u003e\u003c/a\u003e Remove old CSRF code\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/878d687cf3f32c910c95820e63294fb11bae1ad2\"\u003e\u003ccode\u003e878d687\u003c/code\u003e\u003c/a\u003e Use pool 3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/6d3be2c91b97263e37c0b0d8cd3dc92d093b2cb1\"\u003e\u003ccode\u003e6d3be2c\u003c/code\u003e\u003c/a\u003e fmt\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/3ab97e9a1c48298b572eee3cf9b16c20b7cbb74a\"\u003e\u003ccode\u003e3ab97e9\u003c/code\u003e\u003c/a\u003e Allow Redis connection reaping with connection_pool 3.0+\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/b7f71bad9bac866d914b62270ff16b64a466a25f\"\u003e\u003ccode\u003eb7f71ba\u003c/code\u003e\u003c/a\u003e Upgrade dependencies to latest minor version\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sidekiq/sidekiq/compare/v8.0.7...v8.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `turbo-rails` from 2.0.16 to 2.0.20\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/hotwired/turbo-rails/releases\"\u003eturbo-rails's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.0.20\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/hotwired/turbo-rails/compare/v2.0.19...v2.0.20\"\u003ehttps://github.com/hotwired/turbo-rails/compare/v2.0.19...v2.0.20\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.0.19\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/hotwired/turbo-rails/compare/v2.0.17...v2.0.19\"\u003ehttps://github.com/hotwired/turbo-rails/compare/v2.0.17...v2.0.19\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.0.17\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix typo in README.md by \u003ca href=\"https://github.com/brunocalmels\"\u003e\u003ccode\u003e@​brunocalmels\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hotwired/turbo-rails/pull/746\"\u003ehotwired/turbo-rails#746\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove compact call on locals in broadcast_rendering_with_defaults by \u003ca href=\"https://github.com/mathias234\"\u003e\u003ccode\u003e@​mathias234\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hotwired/turbo-rails/pull/720\"\u003ehotwired/turbo-rails#720\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/hotwired/turbo/releases/tag/v8.0.18\"\u003ehttps://github.com/hotwired/turbo/releases/tag/v8.0.18\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brunocalmels\"\u003e\u003ccode\u003e@​brunocalmels\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/hotwired/turbo-rails/pull/746\"\u003ehotwired/turbo-rails#746\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mathias234\"\u003e\u003ccode\u003e@​mathias234\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/hotwired/turbo-rails/pull/720\"\u003ehotwired/turbo-rails#720\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/hotwired/turbo-rails/commit/01dd6b93662e7263c472e3ab81a05137ca39318f\"\u003e\u003ccode\u003e01dd6b9\u003c/code\u003e\u003c/a\u003e Bump version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hotwired/turbo-rails/commit/e3cd1346da2b78793a27a69f410247555403b68d\"\u003e\u003ccode\u003ee3cd134\u003c/code\u003e\u003c/a\u003e \u003ccode\u003e@​hotwired/turbo-rails\u003c/code\u003e v8.0.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hotwired/turbo-rails/commit/00f986402296f6fdd6ebc85f2adc6fbb8d956dc3\"\u003e\u003ccode\u003e00f9864\u003c/code\u003e\u003c/a\u003e \u003ccode\u003e@​hotwired/turbo-rails\u003c/code\u003e v8.0.19\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hotwired/turbo-rails/commit/2971ba276cb9aad094347d9540a6352fd429cb79\"\u003e\u003ccode\u003e2971ba2\u003c/code\u003e\u003c/a\u003e Bump turbo version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hotwired/turbo-rails/commit/aeea473b651703da32e3db430c4728fae5a52bb3\"\u003e\u003ccode\u003eaeea473\u003c/code\u003e\u003c/a\u003e \u003ccode\u003e@​hotwired/turbo-rails\u003c/code\u003e v8.0.18\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hotwired/turbo-rails/commit/00e6cba77b1edd47205e3393c4c9d2237608a995\"\u003e\u003ccode\u003e00e6cba\u003c/code\u003e\u003c/a\u003e Bump version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hotwired/turbo-rails/commit/30cd8fcc6f82c1ad4edd1ed6069ba878f21f02b3\"\u003e\u003ccode\u003e30cd8fc\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/hotwired/turbo-rails/issues/720\"\u003e#720\u003c/a\u003e from mathias234/remove-compact\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hotwired/turbo-rails/commit/4bf3c0b64fd48afca60c33e90205025f743e123f\"\u003e\u003ccode\u003e4bf3c0b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/hotwired/turbo-rails/issues/746\"\u003e#746\u003c/a\u003e from brunocalmels/patch-1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hotwired/turbo-rails/commit/fe2b8626c9b47d90ff1cd8285980db94fa8d1105\"\u003e\u003ccode\u003efe2b862\u003c/code\u003e\u003c/a\u003e Fix typo in README.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hotwired/turbo-rails/commit/65afc97406a62ae25d99dedd13791826578ce55a\"\u003e\u003ccode\u003e65afc97\u003c/code\u003e\u003c/a\u003e Remove compact on locals\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/hotwired/turbo-rails/compare/v2.0.16...v2.0.20\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `axe-core-rspec` from 4.10.3 to 4.11.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/dequelabs/axe-core-gems/releases\"\u003eaxe-core-rspec's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease 4.11.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate axe-core to v4.11.0 (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core-gems/issues/452\"\u003e#452\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core-gems/commit/810173356753ea544dab57bade456d5758aa9f0d\"\u003e8101733\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eallow passing extra options to Selenium::WebDriver (\u003ca href=\"https://redirect.github.com/dequel...\n\n_Description has been truncated_","html_url":"https://github.com/ministryofjustice/laa-court-data-ui/pull/3153","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/ministryofjustice%2Flaa-court-data-ui/issues/3153","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/3153/packages"},{"uuid":"3755400089","node_id":"PR_kwDOIy0ZTM66OiJq","number":4432,"state":"closed","title":"Bump the production-dependencies group across 1 directory with 18 updates","user":"dependabot[bot]","labels":["dependencies","ruby"],"assignees":[],"locked":true,"comments_count":1,"pull_request":true,"closed_at":"2025-12-24T23:07:48.000Z","author_association":null,"state_reason":null,"created_at":"2025-12-22T22:17:39.000Z","updated_at":"2025-12-24T23:09:14.000Z","time_to_close":175809,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"production-dependencies","update_count":18,"packages":[{"name":"acme-client","old_version":"2.0.26","new_version":"2.0.28","repository_url":"https://github.com/unixcharles/acme-client"},{"name":"aws-sdk-ec2","old_version":"1.569.0","new_version":"1.584.0","repository_url":"https://github.com/aws/aws-sdk-ruby"},{"name":"aws-sdk-iam","old_version":"1.132.0","new_version":"1.137.0","repository_url":"https://github.com/aws/aws-sdk-ruby"},{"name":"bcrypt_pbkdf","old_version":"1.1.1","new_version":"1.1.2","repository_url":"https://github.com/net-ssh/bcrypt_pbkdf-ruby"},{"name":"excon","old_version":"1.3.0","new_version":"1.3.2","repository_url":"https://github.com/excon/excon"},{"name":"reline","old_version":"0.6.2","new_version":"0.6.3","repository_url":"https://github.com/ruby/reline"},{"name":"roda","old_version":"3.97.0","new_version":"3.98.0","repository_url":"https://github.com/jeremyevans/roda"},{"name":"rqrcode","old_version":"3.1.0","new_version":"3.1.1","repository_url":"https://github.com/whomwah/rqrcode"},{"name":"addressable","old_version":"2.8.7","new_version":"2.8.8","repository_url":"https://github.com/sporkmonger/addressable"},{"name":"oauth2","old_version":"2.0.17","new_version":"2.0.18","repository_url":"https://github.com/ruby-oauth/oauth2"},{"name":"openapi_parser","old_version":"2.3.0","new_version":"2.3.1","repository_url":"https://github.com/ota42y/openapi_parser"},{"name":"timeout","old_version":"0.4.4","new_version":"0.6.0","repository_url":"https://github.com/ruby/timeout"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps the production-dependencies group with 12 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [acme-client](https://github.com/unixcharles/acme-client) | `2.0.26` | `2.0.28` |\n| [aws-sdk-ec2](https://github.com/aws/aws-sdk-ruby) | `1.569.0` | `1.584.0` |\n| [aws-sdk-iam](https://github.com/aws/aws-sdk-ruby) | `1.132.0` | `1.137.0` |\n| [bcrypt_pbkdf](https://github.com/net-ssh/bcrypt_pbkdf-ruby) | `1.1.1` | `1.1.2` |\n| [excon](https://github.com/excon/excon) | `1.3.0` | `1.3.2` |\n| [reline](https://github.com/ruby/reline) | `0.6.2` | `0.6.3` |\n| [roda](https://github.com/jeremyevans/roda) | `3.97.0` | `3.98.0` |\n| [rqrcode](https://github.com/whomwah/rqrcode) | `3.1.0` | `3.1.1` |\n| [addressable](https://github.com/sporkmonger/addressable) | `2.8.7` | `2.8.8` |\n| [oauth2](https://github.com/ruby-oauth/oauth2) | `2.0.17` | `2.0.18` |\n| [openapi_parser](https://github.com/ota42y/openapi_parser) | `2.3.0` | `2.3.1` |\n| [timeout](https://github.com/ruby/timeout) | `0.4.4` | `0.6.0` |\n\n\nUpdates `acme-client` from 2.0.26 to 2.0.28\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/unixcharles/acme-client/blob/master/CHANGELOG.md\"\u003eacme-client's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ccode\u003e2.0.28\u003c/code\u003e\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMake \u003ca href=\"https://datatracker.ietf.org/doc/html/rfc8555/#section-6.6\"\u003eRetry-After\u003c/a\u003e accessible from RateLimited#retry_after exceptions\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ccode\u003e2.0.27\u003c/code\u003e\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Renewal Information (ARI) (RFC 9773)\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/unixcharles/acme-client/commit/559889f21df6e765152687ffd6a973b61f7befa3\"\u003e\u003ccode\u003e559889f\u003c/code\u003e\u003c/a\u003e Bump to 2.0.28\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unixcharles/acme-client/commit/5e15c9f17d21eef85d01190344aa462191a2b486\"\u003e\u003ccode\u003e5e15c9f\u003c/code\u003e\u003c/a\u003e Add retry_after property to RateLimited client error (\u003ca href=\"https://redirect.github.com/unixcharles/acme-client/issues/260\"\u003e#260\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unixcharles/acme-client/commit/ff515cab615d682cbaaada9ac6ab52dc160e4b01\"\u003e\u003ccode\u003eff515ca\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 5 to 6 (\u003ca href=\"https://redirect.github.com/unixcharles/acme-client/issues/259\"\u003e#259\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unixcharles/acme-client/commit/443a45d2266463b91b5f1935c16139b6021f3c99\"\u003e\u003ccode\u003e443a45d\u003c/code\u003e\u003c/a\u003e Bump to 2.0.27\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unixcharles/acme-client/commit/d32e7f92ad6d542d49b3ed8907e349c109013512\"\u003e\u003ccode\u003ed32e7f9\u003c/code\u003e\u003c/a\u003e Add Renewal Information (ARI) support (RFC 9773) (\u003ca href=\"https://redirect.github.com/unixcharles/acme-client/issues/257\"\u003e#257\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/unixcharles/acme-client/compare/v2.0.26...v2.0.28\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `aws-sdk-ec2` from 1.569.0 to 1.584.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/aws/aws-sdk-ruby/blob/version-3/gems/aws-sdk-ec2/CHANGELOG.md\"\u003eaws-sdk-ec2's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.584.0 (2025-12-08)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Amazon EC2 P6-B300 instances provide 8x NVIDIA Blackwell Ultra GPUs with 2.1 TB high bandwidth GPU memory, 6.4 Tbps EFA networking, 300 Gbps dedicated ENA throughput, and 4 TB of system memory. Amazon EC2 C8a instances are powered by 5th Gen AMD EPYC processors with a maximum frequency of 4.5 GHz.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.583.0 (2025-11-25)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - This release adds support to view Network firewall proxy appliances attached to an existing NAT Gateway via DescribeNatGateways API NatGatewayAttachedAppliance structure.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.582.0 (2025-11-21)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - This release adds a new capability to create and manage interruptible EC2 Capacity Reservations.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.581.0 (2025-11-20)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - This release adds support for multiple features including: VPC Encryption Control for the status of traffic flow; S2S VPN BGP Logging; TGW Flexible Costs; IPAM allocation of static IPs from IPAM pools to CF Anycast IP lists used on CloudFront distribution; and EBS Volume Integration with Recycle Bin\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.580.0 (2025-11-19)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - This launch adds support for two new features: Regional NAT Gateway and IPAM Policies. IPAM policies offers customers central control for public IPv4 assignments across AWS services. Regional NAT is a single NAT Gateway that automatically expands across AZs in a VPC to maintain high availability.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.579.0 (2025-11-18)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - AWS Site-to-Site VPN now supports VPN Concentrator, a new feature that enables customers to connect multiple low-bandwidth sites connections through a single attachment, simplifying multi-site connectivity for distributed enterprises.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.578.0 (2025-11-17)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - This release introduces new APIs: DescribeInstanceSqlHaStates, DescribeInstanceSqlHaHistoryStates, EnableInstanceSqlHaStandbyDetections and DisableInstanceSqlHaStandbyDetections on Amazon EC2, allowing customers to enroll and monitor SQL Server licensing fee savings for their SQL HA EC2 instances.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.577.0 (2025-11-14)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - This release adds AvailabilityZoneId support for CreateInstanceConnectEndpoint, DescribeInstanceConnectEndpoints, and DeleteInstanceConnectEndpoint APIs.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.576.0 (2025-11-13)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Added support for new accelerator types (\u0026quot;media\u0026quot;) and accelerator names (\u0026quot;L4\u0026quot;, \u0026quot;L40s\u0026quot;, \u0026quot;GAUDI_HL_205\u0026quot;, \u0026quot;INFERENTIA2\u0026quot;, \u0026quot;TRAINIUM\u0026quot;, \u0026quot;TRAINIUM2\u0026quot;, \u0026quot;U30\u0026quot;) in Attributes Based Instance Type Selection for launched instance types.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.575.0 (2025-11-12)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Adds complete AMI ancestry tracing from immediate parent through each preceding generation back to the root AMI\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\u003eSee full diff in \u003ca href=\"https://github.com/aws/aws-sdk-ruby/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `aws-sdk-iam` from 1.132.0 to 1.137.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/aws/aws-sdk-ruby/blob/version-3/gems/aws-sdk-iam/CHANGELOG.md\"\u003eaws-sdk-iam's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.137.0 (2025-12-05)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Adding the ExpirationTime attribute to the delegation request resource.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.136.0 (2025-11-21)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Code Generated Changes, see \u003ccode\u003e./build_tools\u003c/code\u003e or \u003ccode\u003eaws-sdk-core\u003c/code\u003e's CHANGELOG.md for details.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.135.0 (2025-11-19)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Added the EnableOutboundWebIdentityFederation, DisableOutboundWebIdentityFederation and GetOutboundWebIdentityFederationInfo APIs for the IAM outbound federation feature.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.134.0 (2025-11-18)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Added the AssociateDelegationRequest, GetDelegationRequest, AcceptDelegationRequest, RejectDelegatonRequest, ListDelegationRequests, UpdateDelegationRequest, SendDelegationToken and GetHumanReadableSummary APIs for the IAM temporary delegation feature.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.133.0 (2025-11-10)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Added CreateDelegationRequest API, which is not available for general use at this time.\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\u003eSee full diff in \u003ca href=\"https://github.com/aws/aws-sdk-ruby/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `bcrypt_pbkdf` from 1.1.1 to 1.1.2\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/net-ssh/bcrypt_pbkdf-ruby/commit/e52088f9a28e34321a9b359f30d472097f1d7f01\"\u003e\u003ccode\u003ee52088f\u003c/code\u003e\u003c/a\u003e chore: bump version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/net-ssh/bcrypt_pbkdf-ruby/commit/26919975ca7b77425609387955d31784381c3af6\"\u003e\u003ccode\u003e2691997\u003c/code\u003e\u003c/a\u003e added benchmark gem to gemspec\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/net-ssh/bcrypt_pbkdf-ruby/commit/fc2498597f6f556979ccc8ee58acce10e39ff09a\"\u003e\u003ccode\u003efc24985\u003c/code\u003e\u003c/a\u003e chore: bump version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/net-ssh/bcrypt_pbkdf-ruby/commit/25919bbc4a148ba2031e6c52ec777ded97560df4\"\u003e\u003ccode\u003e25919bb\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/net-ssh/bcrypt_pbkdf-ruby/issues/26\"\u003e#26\u003c/a\u003e from brendon/Ruby-3.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/net-ssh/bcrypt_pbkdf-ruby/commit/77d005a0be09f848cf8838d09e611290b027a791\"\u003e\u003ccode\u003e77d005a\u003c/code\u003e\u003c/a\u003e Add Ruby 3.4 support\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/net-ssh/bcrypt_pbkdf-ruby/compare/v1.1.1...v1.1.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `excon` from 1.3.0 to 1.3.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/excon/excon/blob/master/changelog.txt\"\u003eexcon's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e1.3.2 2025-12-03\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eupdate bundled certs\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e1.3.1 2025-11-05\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eupdate bundled certs\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/excon/excon/commit/e94efe6637d9d99a66e8a39b52c0131c706432b7\"\u003e\u003ccode\u003ee94efe6\u003c/code\u003e\u003c/a\u003e v1.3.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/excon/excon/commit/7e858751ff850bafc4000fcca4f3f331c70c07bc\"\u003e\u003ccode\u003e7e85875\u003c/code\u003e\u003c/a\u003e update bundled certs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/excon/excon/commit/f076a7657782c518cbff2c1683309c2c106e6275\"\u003e\u003ccode\u003ef076a76\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 5 to 6 (\u003ca href=\"https://redirect.github.com/excon/excon/issues/893\"\u003e#893\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/excon/excon/commit/fbe4748d49ac87504ee8d3e7352da0de3485144c\"\u003e\u003ccode\u003efbe4748\u003c/code\u003e\u003c/a\u003e adjust ractor usage for Ruby 3.5+\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/excon/excon/commit/7900bec2e4f4916b0d8994e5e7f3b57ca10ddb68\"\u003e\u003ccode\u003e7900bec\u003c/code\u003e\u003c/a\u003e v1.3.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/excon/excon/commit/a18079c2a55780951d61da712d68554217106ede\"\u003e\u003ccode\u003ea18079c\u003c/code\u003e\u003c/a\u003e update bundled certs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/excon/excon/commit/60ac6aa966172e6bd20264366e213943d891329c\"\u003e\u003ccode\u003e60ac6aa\u003c/code\u003e\u003c/a\u003e update bundled certs\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/excon/excon/compare/v1.3.0...v1.3.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `reline` from 0.6.2 to 0.6.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/reline/releases\"\u003ereline's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.6.3\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix CSI pattern regexp to accept parameter bytes and intermediate bytes by \u003ca href=\"https://github.com/tompng\"\u003e\u003ccode\u003e@​tompng\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/reline/pull/848\"\u003eruby/reline#848\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse key symbol names instead of hardcoded C-r C-s C-h C-? in reverse/forward i-search by \u003ca href=\"https://github.com/tompng\"\u003e\u003ccode\u003e@​tompng\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/reline/pull/855\"\u003eruby/reline#855\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🛠 Other Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBump actions/checkout from 4 to 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/ruby/reline/pull/846\"\u003eruby/reline#846\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump step-security/harden-runner from 2.12.2 to 2.13.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/ruby/reline/pull/844\"\u003eruby/reline#844\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/upload-pages-artifact 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/ruby/reline/pull/849\"\u003eruby/reline#849\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump step-security/harden-runner from 2.13.0 to 2.13.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/ruby/reline/pull/850\"\u003eruby/reline#850\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse test-unit-ruby-core by \u003ca href=\"https://github.com/tompng\"\u003e\u003ccode\u003e@​tompng\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/reline/pull/852\"\u003eruby/reline#852\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove retrieve_keybuffer by \u003ca href=\"https://github.com/tompng\"\u003e\u003ccode\u003e@​tompng\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/reline/pull/851\"\u003eruby/reline#851\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump rubygems/release-gem from 1.1.1 to 1.1.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/ruby/reline/pull/857\"\u003eruby/reline#857\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse bundler/setup instead of Bunlder.require in multiline_repl by \u003ca href=\"https://github.com/tompng\"\u003e\u003ccode\u003e@​tompng\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/reline/pull/860\"\u003eruby/reline#860\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump version to 0.6.3 by \u003ca href=\"https://github.com/ima1zumi\"\u003e\u003ccode\u003e@​ima1zumi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/reline/pull/858\"\u003eruby/reline#858\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ruby/reline/compare/v0.6.2...v0.6.3\"\u003ehttps://github.com/ruby/reline/compare/v0.6.2...v0.6.3\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/ruby/reline/commit/55390d5c0cfb8916b170b9146428c8de98ff7dc8\"\u003e\u003ccode\u003e55390d5\u003c/code\u003e\u003c/a\u003e Bump up to 0.6.3 (\u003ca href=\"https://redirect.github.com/ruby/reline/issues/858\"\u003e#858\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/reline/commit/07255abec99bb6daaf87cc13c8f35e205ace9bbb\"\u003e\u003ccode\u003e07255ab\u003c/code\u003e\u003c/a\u003e Use bundler/setup instead of Bunlder.require in multiline_repl (\u003ca href=\"https://redirect.github.com/ruby/reline/issues/860\"\u003e#860\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/reline/commit/7eef150d6e3c7e85836b1a6da40a15f06a3c487e\"\u003e\u003ccode\u003e7eef150\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/reline/issues/857\"\u003e#857\u003c/a\u003e from ruby/dependabot/github_actions/rubygems/release-...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/reline/commit/63dfa17da92da947082d9d6e8336f3f5cd69b974\"\u003e\u003ccode\u003e63dfa17\u003c/code\u003e\u003c/a\u003e Bump rubygems/release-gem from 1.1.1 to 1.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/reline/commit/1d1e8081f20d4603b3342ee01ab63303304f69c0\"\u003e\u003ccode\u003e1d1e808\u003c/code\u003e\u003c/a\u003e Use key symbol names instead of hardcoded C-r C-s C-h C-? in reverse/forward ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/reline/commit/433a93076eee3bc30bb9d6c43df355a414bfbfdd\"\u003e\u003ccode\u003e433a930\u003c/code\u003e\u003c/a\u003e Fix CSI pattern regexp to accept parameter bytes and intermediate bytes (\u003ca href=\"https://redirect.github.com/ruby/reline/issues/848\"\u003e#848\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/reline/commit/5d5c1ff0cc0662b8a6285b6a9b56283bca2e5e5d\"\u003e\u003ccode\u003e5d5c1ff\u003c/code\u003e\u003c/a\u003e Remove retrieve_keybuffer (\u003ca href=\"https://redirect.github.com/ruby/reline/issues/851\"\u003e#851\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/reline/commit/199c26a2c07d83c9281cc8b97892d60b595173eb\"\u003e\u003ccode\u003e199c26a\u003c/code\u003e\u003c/a\u003e Use test-unit-ruby-core (\u003ca href=\"https://redirect.github.com/ruby/reline/issues/852\"\u003e#852\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/reline/commit/19aa19f1bfa2b738603f2c65de81a15b19b14594\"\u003e\u003ccode\u003e19aa19f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/reline/issues/850\"\u003e#850\u003c/a\u003e from ruby/dependabot/github_actions/step-security/har...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/reline/commit/9300d4de899868ea554c1a522f37a5d3eee94926\"\u003e\u003ccode\u003e9300d4d\u003c/code\u003e\u003c/a\u003e Bump step-security/harden-runner from 2.13.0 to 2.13.1\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby/reline/compare/v0.6.2...v0.6.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `roda` from 3.97.0 to 3.98.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jeremyevans/roda/blob/master/CHANGELOG\"\u003eroda's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e=== 3.98.0 (2025-11-13)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for the :env_key option to the sessions plugin (jeremyevans) (\u003ca href=\"https://redirect.github.com/jeremyevans/roda/issues/403\"\u003e#403\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/jeremyevans/roda/commit/8fc5b77fcd0d49625bcc77007622fe94a0f2afc2\"\u003e\u003ccode\u003e8fc5b77\u003c/code\u003e\u003c/a\u003e Bump version to 3.98.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jeremyevans/roda/commit/5b1a58ec704add896d1e8442c1e4bb80a0c5d85e\"\u003e\u003ccode\u003e5b1a58e\u003c/code\u003e\u003c/a\u003e Add support for the :env_key option to the sessions plugin\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/jeremyevans/roda/compare/3.97.0...3.98.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rqrcode` from 3.1.0 to 3.1.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/whomwah/rqrcode/releases\"\u003erqrcode's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.1.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRelease 3.1.0 mergeback by \u003ca href=\"https://github.com/whomwah\"\u003e\u003ccode\u003e@​whomwah\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/whomwah/rqrcode/pull/158\"\u003ewhomwah/rqrcode#158\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate required_ruby_version to allow Ruby 4.0 by \u003ca href=\"https://github.com/k0kubun\"\u003e\u003ccode\u003e@​k0kubun\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/whomwah/rqrcode/pull/160\"\u003ewhomwah/rqrcode#160\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReleases/v3.1.1 by \u003ca href=\"https://github.com/whomwah\"\u003e\u003ccode\u003e@​whomwah\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/whomwah/rqrcode/pull/161\"\u003ewhomwah/rqrcode#161\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/k0kubun\"\u003e\u003ccode\u003e@​k0kubun\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/whomwah/rqrcode/pull/160\"\u003ewhomwah/rqrcode#160\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/whomwah/rqrcode/compare/v3.1.0...v3.1.1\"\u003ehttps://github.com/whomwah/rqrcode/compare/v3.1.0...v3.1.1\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/whomwah/rqrcode/blob/main/CHANGELOG.md\"\u003erqrcode's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[3.1.1] - 2025-11-25\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate required_ruby_version to support \u0026gt;= rather than ~\u0026gt; ready for Ruby 4\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/whomwah/rqrcode/commit/30cfc62415a2e48b3089ab22ae11ab96e64e2a52\"\u003e\u003ccode\u003e30cfc62\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/whomwah/rqrcode/issues/161\"\u003e#161\u003c/a\u003e from whomwah/releases/v3.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/whomwah/rqrcode/commit/b6a0d1ae92ff2a2cc98c6caa4572ce2e88004515\"\u003e\u003ccode\u003eb6a0d1a\u003c/code\u003e\u003c/a\u003e release: Bump version to 3.1.1 and update changelog for release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/whomwah/rqrcode/commit/f9fa33704951158a38b3cf04311e295d3a0e947d\"\u003e\u003ccode\u003ef9fa337\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/whomwah/rqrcode/issues/160\"\u003e#160\u003c/a\u003e from k0kubun/ruby-4-0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/whomwah/rqrcode/commit/12a47520383c1d61d627a5107ba72fb80518ae7e\"\u003e\u003ccode\u003e12a4752\u003c/code\u003e\u003c/a\u003e Update required_ruby_version to allow Ruby 4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/whomwah/rqrcode/commit/f57261619716bb1d0fc9658c45948f8740faed68\"\u003e\u003ccode\u003ef572616\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/whomwah/rqrcode/issues/158\"\u003e#158\u003c/a\u003e from whomwah/release\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/whomwah/rqrcode/compare/v3.1.0...v3.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `addressable` from 2.8.7 to 2.8.8\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sporkmonger/addressable/blob/main/CHANGELOG.md\"\u003eaddressable's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eAddressable 2.8.8 \u003c!-- raw HTML omitted --\u003e\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eReplace the \u003ccode\u003eunicode.data\u003c/code\u003e blob by a ruby constant (\u003ca href=\"https://redirect.github.com/sporkmonger/addressable/issues/561\"\u003e#561\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow \u003ccode\u003epublic_suffix\u003c/code\u003e 7 (\u003ca href=\"https://redirect.github.com/sporkmonger/addressable/issues/558\"\u003e#558\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/sporkmonger/addressable/issues/561\"\u003e#561\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/sporkmonger/addressable/pull/561\"\u003esporkmonger/addressable#561\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/sporkmonger/addressable/issues/558\"\u003e#558\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/sporkmonger/addressable/pull/558\"\u003esporkmonger/addressable#558\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/sporkmonger/addressable/commit/111af8e8d3260dbd5b10a2dfec42a4e129d18705\"\u003e\u003ccode\u003e111af8e\u003c/code\u003e\u003c/a\u003e Update version, gemspec, and CHANGELOG for 2.8.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sporkmonger/addressable/commit/d923a5e9a7b20ed57199e9a37366446c7f8fde4f\"\u003e\u003ccode\u003ed923a5e\u003c/code\u003e\u003c/a\u003e Fix heading levels in README and Changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sporkmonger/addressable/commit/88f14727fffea367e3801e05f72d17f9079281a9\"\u003e\u003ccode\u003e88f1472\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 5 to 6 (\u003ca href=\"https://redirect.github.com/sporkmonger/addressable/issues/560\"\u003e#560\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sporkmonger/addressable/commit/22528139b10c9697a4790f334d9323ecc02c59fe\"\u003e\u003ccode\u003e2252813\u003c/code\u003e\u003c/a\u003e Replace the \u003ccode\u003eunicode.data\u003c/code\u003e blob by a ruby constant (\u003ca href=\"https://redirect.github.com/sporkmonger/addressable/issues/561\"\u003e#561\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sporkmonger/addressable/commit/af2d3f6e70b9551f94124e2dbab0d739127a8234\"\u003e\u003ccode\u003eaf2d3f6\u003c/code\u003e\u003c/a\u003e Allow \u003ccode\u003epublic_suffix\u003c/code\u003e v7 (\u003ca href=\"https://redirect.github.com/sporkmonger/addressable/issues/558\"\u003e#558\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sporkmonger/addressable/commit/aaa53fe23417b0bb5ce198ed081a70e70f240260\"\u003e\u003ccode\u003eaaa53fe\u003c/code\u003e\u003c/a\u003e CI: restore older rubies for \u003ccode\u003epublic_suffix\u003c/code\u003e jobs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sporkmonger/addressable/commit/49fc47477dc39f816bee25419c687e9a1f0282ef\"\u003e\u003ccode\u003e49fc474\u003c/code\u003e\u003c/a\u003e CI: fix \u003ccode\u003eprofile:template_match_memory\u003c/code\u003e task for Ruby \u0026gt;2.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sporkmonger/addressable/commit/c0f98d5f18e428a601b55f3740546293a18fc371\"\u003e\u003ccode\u003ec0f98d5\u003c/code\u003e\u003c/a\u003e CI: use latest stable ruby outside the version matrix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sporkmonger/addressable/commit/7cb10aae0353bc3c280aecaf3f62645b62c1ccce\"\u003e\u003ccode\u003e7cb10aa\u003c/code\u003e\u003c/a\u003e CI: test with modern JVM Rubies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sporkmonger/addressable/commit/dd1adcfc8368ab188526f7160c6e74fe2ef4cafa\"\u003e\u003ccode\u003edd1adcf\u003c/code\u003e\u003c/a\u003e CI: less \u003ccode\u003eubuntu-22.04\u003c/code\u003e, more \u003ccode\u003eubuntu-24.04\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sporkmonger/addressable/compare/addressable-2.8.7...addressable-2.8.8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `aws-partitions` from 1.1196.0 to 1.1198.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/aws/aws-sdk-ruby/blob/version-3/gems/aws-partitions/CHANGELOG.md\"\u003eaws-partitions's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.1198.0 (2025-12-19)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Added support for enumerating regions for  \u003ccode\u003eAws::Wickr\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.1197.0 (2025-12-18)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Updated the partitions source data the determines the AWS service regions and endpoints.\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\u003eSee full diff in \u003ca href=\"https://github.com/aws/aws-sdk-ruby/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `faraday-net_http` from 3.4.1 to 3.4.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/lostisland/faraday-net_http/releases\"\u003efaraday-net_http's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.4.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUse more conservative net-http version constraint by \u003ca href=\"https://github.com/RDeckard\"\u003e\u003ccode\u003e@​RDeckard\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lostisland/faraday-net_http/pull/53\"\u003elostisland/faraday-net_http#53\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/RDeckard\"\u003e\u003ccode\u003e@​RDeckard\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/lostisland/faraday-net_http/pull/53\"\u003elostisland/faraday-net_http#53\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/lostisland/faraday-net_http/compare/v3.4.1...v3.4.2\"\u003ehttps://github.com/lostisland/faraday-net_http/compare/v3.4.1...v3.4.2\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/lostisland/faraday-net_http/commit/821a73a0f1fb2fd109b3ef58312b6ee10b4f2944\"\u003e\u003ccode\u003e821a73a\u003c/code\u003e\u003c/a\u003e Update ci.yml to allow manual runs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lostisland/faraday-net_http/commit/d71af6b6da15597311c59c90a02a4fe27013fb4a\"\u003e\u003ccode\u003ed71af6b\u003c/code\u003e\u003c/a\u003e Version bump to 3.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lostisland/faraday-net_http/commit/9c90d68d674de4f1a0d24f13cf05169816773840\"\u003e\u003ccode\u003e9c90d68\u003c/code\u003e\u003c/a\u003e Use more conservative net-http version constraint (\u003ca href=\"https://redirect.github.com/lostisland/faraday-net_http/issues/53\"\u003e#53\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lostisland/faraday-net_http/commit/2047b9ab36a25b595b9f444e3b12d7661c2fa818\"\u003e\u003ccode\u003e2047b9a\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 4 to 5 (\u003ca href=\"https://redirect.github.com/lostisland/faraday-net_http/issues/51\"\u003e#51\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/lostisland/faraday-net_http/compare/v3.4.1...v3.4.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io-console` from 0.8.1 to 0.8.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/io-console/releases\"\u003eio-console's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.8.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump step-security/harden-runner from 2.12.2 to 2.13.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/ruby/io-console/pull/98\"\u003eruby/io-console#98\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/checkout from 4 to 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/ruby/io-console/pull/99\"\u003eruby/io-console#99\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump step-security/harden-runner from 2.13.0 to 2.13.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/ruby/io-console/pull/101\"\u003eruby/io-console#101\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd a workflow to sync commits to ruby/ruby by \u003ca href=\"https://github.com/k0kubun\"\u003e\u003ccode\u003e@​k0kubun\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/io-console/pull/102\"\u003eruby/io-console#102\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReorder dispatching by host_os by \u003ca href=\"https://github.com/nobu\"\u003e\u003ccode\u003e@​nobu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/io-console/pull/103\"\u003eruby/io-console#103\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/upload-artifact from 4 to 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/ruby/io-console/pull/104\"\u003eruby/io-console#104\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump rubygems/release-gem from 1.1.1 to 1.1.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/ruby/io-console/pull/106\"\u003eruby/io-console#106\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump step-security/harden-runner from 2.13.1 to 2.13.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/ruby/io-console/pull/108\"\u003eruby/io-console#108\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/ruby/io-console/pull/109\"\u003eruby/io-console#109\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump step-security/harden-runner from 2.13.2 to 2.13.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/ruby/io-console/pull/110\"\u003eruby/io-console#110\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix set winsize on windows by \u003ca href=\"https://github.com/YO4\"\u003e\u003ccode\u003e@​YO4\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/io-console/pull/111\"\u003eruby/io-console#111\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/YO4\"\u003e\u003ccode\u003e@​YO4\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/io-console/pull/111\"\u003eruby/io-console#111\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ruby/io-console/compare/v0.8.1...v0.8.2\"\u003ehttps://github.com/ruby/io-console/compare/v0.8.1...v0.8.2\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/ruby/io-console/commit/fbc7e1f31f1fc2cf21baf96a845bfdbc88e47f95\"\u003e\u003ccode\u003efbc7e1f\u003c/code\u003e\u003c/a\u003e bump up to 0.8.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/io-console/commit/04fbf93609312bab0db6b6f35643f15d2af96a4e\"\u003e\u003ccode\u003e04fbf93\u003c/code\u003e\u003c/a\u003e [ci skip] wip\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/io-console/commit/379e7c17ed27af9e7ec90f5994a566b9770f6777\"\u003e\u003ccode\u003e379e7c1\u003c/code\u003e\u003c/a\u003e strip trailing spaces [ci skip]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/io-console/commit/ae337858205871ba252c934e8d095340bfe19787\"\u003e\u003ccode\u003eae33785\u003c/code\u003e\u003c/a\u003e console_cursor_pos respects scroll position on windows\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/io-console/commit/d2a6c69697c95411faf5dd69731a9d3deb056103\"\u003e\u003ccode\u003ed2a6c69\u003c/code\u003e\u003c/a\u003e console_goto respects scroll position on windows\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/io-console/commit/817aa65ea3feab358d50f7dfb70087523dd84314\"\u003e\u003ccode\u003e817aa65\u003c/code\u003e\u003c/a\u003e avoid jumping scroll position when winsize changed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/io-console/commit/df444b93f1e74322bf6d3a7c8fbbfd794c78c1e3\"\u003e\u003ccode\u003edf444b9\u003c/code\u003e\u003c/a\u003e Remove useless rb_check_arity() call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/io-console/commit/78858b0324a2abd7c6bdb8f8c4e9b92cf60370e3\"\u003e\u003ccode\u003e78858b0\u003c/code\u003e\u003c/a\u003e Bump step-security/harden-runner from 2.13.2 to 2.13.3 (\u003ca href=\"https://redirect.github.com/ruby/io-console/issues/110\"\u003e#110\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/io-console/commit/ba83488a9fe222d4cd55d8f3a321aefe25b0cdc8\"\u003e\u003ccode\u003eba83488\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 5 to 6 (\u003ca href=\"https://redirect.github.com/ruby/io-console/issues/109\"\u003e#109\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/io-console/commit/961e4a535811fd917847e60eba77ba6f9ae58c68\"\u003e\u003ccode\u003e961e4a5\u003c/code\u003e\u003c/a\u003e Bump step-security/harden-runner from 2.13.1 to 2.13.2 (\u003ca href=\"https://redirect.github.com/ruby/io-console/issues/108\"\u003e#108\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby/io-console/compare/v0.8.1...v0.8.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `net-http` from 0.7.0 to 0.9.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/net-http/releases\"\u003enet-http's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.9.1\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRaise \u003ccode\u003eNet::OpenTimeout\u003c/code\u003e when \u003ccode\u003eTCPSocket.open\u003c/code\u003e raises \u003ccode\u003eIO::TimeoutError\u003c/code\u003e. by \u003ca href=\"https://github.com/shioimm\"\u003e\u003ccode\u003e@​shioimm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-http/pull/263\"\u003eruby/net-http#263\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFreeze more constants for Ractor compatibility by \u003ca href=\"https://github.com/rhenium\"\u003e\u003ccode\u003e@​rhenium\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-http/pull/256\"\u003eruby/net-http#256\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/shioimm\"\u003e\u003ccode\u003e@​shioimm\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/net-http/pull/263\"\u003eruby/net-http#263\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ruby/net-http/compare/v0.9.0...v0.9.1\"\u003ehttps://github.com/ruby/net-http/compare/v0.9.0...v0.9.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.9.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eopen: Never call Timeout.timeout in rescue clause by \u003ca href=\"https://github.com/osyoyu\"\u003e\u003ccode\u003e@​osyoyu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-http/pull/250\"\u003eruby/net-http#250\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed by \u003ccode\u003emisspell -w -error -source=text\u003c/code\u003e by \u003ca href=\"https://github.com/hsbt\"\u003e\u003ccode\u003e@​hsbt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-http/pull/254\"\u003eruby/net-http#254\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCheck whether TCPSocket#initialize supports open_timeout once and without exceptions by \u003ca href=\"https://github.com/eregon\"\u003e\u003ccode\u003e@​eregon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-http/pull/252\"\u003eruby/net-http#252\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRefactor HTTPS tests by \u003ca href=\"https://github.com/rhenium\"\u003e\u003ccode\u003e@​rhenium\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-http/pull/255\"\u003eruby/net-http#255\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/eregon\"\u003e\u003ccode\u003e@​eregon\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/net-http/pull/252\"\u003eruby/net-http#252\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ruby/net-http/compare/v0.8.0...v0.9.0\"\u003ehttps://github.com/ruby/net-http/compare/v0.8.0...v0.9.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.8.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eBreaking changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMinimum Ruby version raised to 2.7 along with the raise of minimum \u003ccode\u003euri\u003c/code\u003e gem version (0.11.1)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e[DOC] Fix too stopped documentations by \u003ca href=\"https://github.com/nobu\"\u003e\u003ccode\u003e@​nobu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-http/pull/244\"\u003eruby/net-http#244\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReplace Timeout.timeout with TCPSocket.open(open_timeout:) when available by \u003ca href=\"https://github.com/osyoyu\"\u003e\u003ccode\u003e@​osyoyu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-http/pull/224\"\u003eruby/net-http#224\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReplace Ruby 3.5 with Ruby 4.0 by \u003ca href=\"https://github.com/yahonda\"\u003e\u003ccode\u003e@​yahonda\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-http/pull/246\"\u003eruby/net-http#246\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix handling of IPv6 literal hosts in \u003ccode\u003eNet::HTTPGenericRequest\u003c/code\u003e by \u003ca href=\"https://github.com/taketo1113\"\u003e\u003ccode\u003e@​taketo1113\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-http/pull/237\"\u003eruby/net-http#237\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003eThis fixes compatibility issue with \u003ccode\u003euri\u003c/code\u003e gem 1.1.0+, which made relevant validations strict.\u003c/li\u003e\n\u003c/ul\u003e\n\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/yahonda\"\u003e\u003ccode\u003e@​yahonda\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/net-http/pull/246\"\u003eruby/net-http#246\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/taketo1113\"\u003e\u003ccode\u003e@​taketo1113\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/net-http/pull/237\"\u003eruby/net-http#237\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ruby/net-http/compare/v0.7.0...v0.8.0\"\u003ehttps://github.com/ruby/net-http/compare/v0.7.0...v0.8.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/ruby/net-http/commit/8cee86e939f69bd0906864e7eb740bb471a205bd\"\u003e\u003ccode\u003e8cee86e\u003c/code\u003e\u003c/a\u003e v0.9.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-http/commit/76978323d43cf96e057a16adfd72c9d4e6373279\"\u003e\u003ccode\u003e7697832\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/net-http/issues/256\"\u003e#256\u003c/a\u003e from rhenium/ky/freeze-more-constants\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-http/commit/ce9ac4765a891589bc5e524d2b877dec3c6d60fd\"\u003e\u003ccode\u003ece9ac47\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/net-http/issues/263\"\u003e#263\u003c/a\u003e from shioimm/catch-ETIMEDOUT-or-IOTimeoutError\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-http/commit/f64109e1cff0b640ff6eba1bff441c229d8a2012\"\u003e\u003ccode\u003ef64109e\u003c/code\u003e\u003c/a\u003e Raise \u003ccode\u003eNet::OpenTimeout\u003c/code\u003e when \u003ccode\u003eTCPSocket.open\u003c/code\u003e raises \u003ccode\u003eIO::TimeoutError\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-http/commit/3ccf0c8e6add12f2d99062e5a1575d63ced36c1a\"\u003e\u003ccode\u003e3ccf0c8\u003c/code\u003e\u003c/a\u003e v0.9.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-http/commit/e8e37bbdfbb5684aa6a86abdbb25b3ebf3c27be4\"\u003e\u003ccode\u003ee8e37bb\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/net-http/issues/257\"\u003e#257\u003c/a\u003e from ruby/dependabot/github_actions/step-security/har...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-http/commit/f4b30da864f3bc20b60a93838e8f34e6d207b717\"\u003e\u003ccode\u003ef4b30da\u003c/code\u003e\u003c/a\u003e Bump step-security/harden-runner from 2.13.3 to 2.14.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-http/commit/836ad704fc8066d30aade68d5015e7010057c83d\"\u003e\u003ccode\u003e836ad70\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/net-http/issues/255\"\u003e#255\u003c/a\u003e from rhenium/ky/refactor-https-tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-http/commit/f24b3b358b161f84b855da36e36029fb1bea904e\"\u003e\u003ccode\u003ef24b3b3\u003c/code\u003e\u003c/a\u003e Freeze more constants for Ractor compatibility\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-http/commit/35c1745a2602f73036661a0bb070e989c33a0052\"\u003e\u003ccode\u003e35c1745\u003c/code\u003e\u003c/a\u003e Refactor HTTPS tests\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby/net-http/compare/v0.7.0...v0.9.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `oauth2` from 2.0.17 to 2.0.18\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby-oauth/oauth2/releases\"\u003eoauth2's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.0.18\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/compare/v2.0.17...v2.0.18\"\u003e2.0.18\u003c/a\u003e - 2025-11-08\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eTAG: \u003ca href=\"https://github.com/ruby-oauth/oauth2/releases/tag/v2.0.18\"\u003ev2.0.18\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCOVERAGE: 100.00% -- 526/526 lines in 14 files\u003c/li\u003e\n\u003cli\u003eBRANCH COVERAGE: 100.00% -- 178/178 branches in 14 files\u003c/li\u003e\n\u003cli\u003e90.48% documented\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/683\"\u003egh!683\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/684\"\u003egh!684\u003c/a\u003e - Improve documentation by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/686\"\u003egh!686\u003c/a\u003e- Add Incident Response Plan by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/687\"\u003egh!687\u003c/a\u003e- Add Threat Model by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/685\"\u003egh!685\u003c/a\u003e - upgrade kettle-dev v1.1.24 by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eupgrade kettle-dev v1.1.52 by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003eAdd open collective donors to README\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/690\"\u003egh!690\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/691\"\u003egh!691\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/692\"\u003egh!692\u003c/a\u003e - Add yard-fence\n\u003cul\u003e\n\u003cli\u003ehandle braces within code fences in markdown properly by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cp\u003eOfficial Discord 👉️ [![Live Chat on Discord][✉️discord-invite-img]][✉️discord-invite]\u003c/p\u003e\n\u003cp\u003eMany paths lead to being a sponsor or a backer of this project. Are you on such a path?\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://opencollective.com/ruby-oauth#backer\"\u003e![OpenCollective Backers][🖇osc-backers-i]\u003c/a\u003e [![OpenCollective Sponsors][🖇osc-sponsors-i]][🖇osc-sponsors] [![Sponsor Me on Github][🖇sponsor-img]][🖇sponsor] \u003ca href=\"https://liberapay.com/pboling/donate\"\u003e\u003cimg src=\"https://img.shields.io/liberapay/goal/pboling.svg?logo=liberapay\u0026amp;color=a51611\u0026amp;style=flat\" alt=\"Liberapay Goal Progress\" /\u003e\u003c/a\u003e [![Donate on PayPal][🖇paypal-img]][🖇paypal]\u003c/p\u003e\n\u003cp\u003e[![Buy me a coffee][🖇buyme-small-img]][🖇buyme] [![Donate on Polar][🖇polar-img]][🖇polar] [![Donate to my FLOSS efforts at ko-fi.com][🖇kofi-img]][🖇kofi] [![Donate to my FLOSS efforts using Patreon][🖇patreon-img]][🖇patreon]\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\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby-oauth/oauth2/blob/main/CHANGELOG.md\"\u003eoauth2's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[2.0.18] - 2025-11-08\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eTAG: [v2.0.18][2.0.18t]\u003c/li\u003e\n\u003cli\u003eCOVERAGE: 100.00% -- 526/526 lines in 14 files\u003c/li\u003e\n\u003cli\u003eBRANCH COVERAGE: 100.00% -- 178/178 branches in 14 files\u003c/li\u003e\n\u003cli\u003e90.48% documented\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/683\"\u003egh!683\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/684\"\u003egh!684\u003c/a\u003e - Improve documentation by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/686\"\u003egh!686\u003c/a\u003e- Add Incident Response Plan by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/687\"\u003egh!687\u003c/a\u003e- Add Threat Model by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/685\"\u003egh!685\u003c/a\u003e - upgrade kettle-dev v1.1.24 by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eupgrade kettle-dev v1.1.52 by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003eAdd open collective donors to README\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/690\"\u003egh!690\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/691\"\u003egh!691\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/692\"\u003egh!692\u003c/a\u003e - Add yard-fence\n\u003cul\u003e\n\u003cli\u003ehandle braces within code fences in markdown properly by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSecurity\u003c/h3\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/ruby-oauth/oauth2/commit/b5753116121553d56937039dafc5ea472d9a99ed\"\u003e\u003ccode\u003eb575311\u003c/code\u003e\u003c/a\u003e 🔖 Prepare release v2.0.18\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/b5af77ba42ec111dda68abdee33d631e27fdfe61\"\u003e\u003ccode\u003eb5af77b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/issues/693\"\u003e#693\u003c/a\u003e from ruby-oauth/feat/docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/cf2853d9fa05999f88c9df8b1b3a8a3ed21c64e8\"\u003e\u003ccode\u003ecf2853d\u003c/code\u003e\u003c/a\u003e 📝 Update docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/18434156bfc988527d2453b2174e6356e233757d\"\u003e\u003ccode\u003e1843415\u003c/code\u003e\u003c/a\u003e ⬆️ kettle-dev v1.1.52, yard-fence v0.8.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/f592dd8753966a30671ebc2e8a28ab26138b6c2b\"\u003e\u003ccode\u003ef592dd8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/issues/692\"\u003e#692\u003c/a\u003e from ruby-oauth/feat/docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/2095732d7cd4eeb80fe74c89e2a2d012517e40d6\"\u003e\u003ccode\u003e2095732\u003c/code\u003e\u003c/a\u003e ⬆️ yard-fence v0.7.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/50f3fd08e733ed75b2cc99e077e9ea9d64a3d5d5\"\u003e\u003ccode\u003e50f3fd0\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/issues/691\"\u003e#691\u003c/a\u003e from ruby-oauth/feat/docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/bcb0e40bfca989f164a04cbf46a4175822b7cb28\"\u003e\u003ccode\u003ebcb0e40\u003c/code\u003e\u003c/a\u003e ✏️ Fix typos in docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/f24f1a8bfbf546595aa16cd6fa82119c8218c1d3\"\u003e\u003ccode\u003ef24f1a8\u003c/code\u003e\u003c/a\u003e Create CNAME\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/bff58e1afec541feca2a337664d09c58b8a22419\"\u003e\u003ccode\u003ebff58e1\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/issues/690\"\u003e#690\u003c/a\u003e from ruby-oauth/feat/yard-fence\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby-oauth/oauth2/compare/v2.0.17...v2.0.18\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `openapi_parser` from 2.3.0 to 2.3.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ota42y/openapi_parser/blob/master/CHANGELOG.md\"\u003eopenapi_parser's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.1 (2025-11-14)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eadd optional date coercion with behavior matching existing datetime coercion\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/ota42y/openapi_parser/commit/0b68c8c019b9201911b41fb0fc86717f1372ca72\"\u003e\u003ccode\u003e0b68c8c\u003c/code\u003e\u003c/a\u003e v2.3.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ota42y/openapi_parser/commit/2e4e4403b548030fcf941cbddff9424703cab575\"\u003e\u003ccode\u003e2e4e440\u003c/code\u003e\u003c/a\u003e Add date coercion (\u003ca href=\"https://redirect.github.com/ota42y/openapi_parser/issues/188\"\u003e#188\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ota42y/openapi_parser/commit/2361ec7e94a8d4d3e4b179853c64acdc68a2073e\"\u003e\u003ccode\u003e2361ec7\u003c/code\u003e\u003c/a\u003e ci: expand workflow trigger events\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/ota42y/openapi_parser/compare/v2.3.0...v2.3.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `public_suffix` from 6.0.2 to 7.0.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/weppos/publicsuffix-ruby/blob/main/CHANGELOG.md\"\u003epublic_suffix's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e7.0.0\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated definitions.\u003c/li\u003e\n\u003cli\u003eMinimum Ruby version is 3.2\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/weppos/publicsuffix-ruby/commit/af45298523be055dd86ec9d7bac1bb26621ddbb2\"\u003e\u003ccode\u003eaf45298\u003c/code\u003e\u003c/a\u003e Release 7.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weppos/publicsuffix-ruby/commit/93b01019a89a226d4b59a7d0203d9c19eec18ee0\"\u003e\u003ccode\u003e93b0101\u003c/code\u003e\u003c/a\u003e Create RELEASING.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weppos/publicsuffix-ruby/commit/0b56a7c26fedd381f1bc50269dfcd17b51ca8c62\"\u003e\u003ccode\u003e0b56a7c\u003c/code\u003e\u003c/a\u003e Cleanup README\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weppos/publicsuffix-ruby/commit/12fc739d726b8e4de1b40b7e9a7860c1b8bd2a5e\"\u003e\u003ccode\u003e12fc739\u003c/code\u003e\u003c/a\u003e Reorganize README\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weppos/publicsuffix-ruby/commit/193be1d045a8e935ff80457c6cd81c497d0b8b11\"\u003e\u003ccode\u003e193be1d\u003c/code\u003e\u003c/a\u003e Minimum Ruby version is 3.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weppos/publicsuffix-ruby/commit/8e8bf6b4724a21ef07f653c879d6bad0f63e8f44\"\u003e\u003ccode\u003e8e8bf6b\u003c/code\u003e\u003c/a\u003e build(deps): update mocha requirement from ~\u0026gt; 2.7.0 to ~\u0026gt; 2.8.2 (\u003ca href=\"https://redirect.github.com/weppos/publicsuffix-ruby/issues/476\"\u003e#476\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weppos/publicsuffix-ruby/commit/f0553bfcc529d05ce5bac951cf735a147c6a417a\"\u003e\u003ccode\u003ef0553bf\u003c/code\u003e\u003c/a\u003e Updated list from source (\u003ca href=\"https://redirect.github.com/weppos/publicsuffix-ruby/issues/475\"\u003e#475\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weppos/publicsuffix-ruby/commit/34ea4ed4ae67afb24c6b0dbc09669ecc8e362156\"\u003e\u003ccode\u003e34ea4ed\u003c/code\u003e\u003c/a\u003e Updated list from source (\u003ca href=\"https://redirect.github.com/weppos/publicsuffix-ruby/issues/474\"\u003e#474\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weppos/publicsuffix-ruby/commit/0f5aace9b679d9f9a3ad2a8564454726a3cdb2e5\"\u003e\u003ccode\u003e0f5aace\u003c/code\u003e\u003c/a\u003e Updated list from source (\u003ca href=\"https://redirect.github.com/weppos/publicsuffix-ruby/issues/473\"\u003e#473\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weppos/publicsuffix-ruby/commit/a6c373a2265863d7463e81e52dceada6202ab2e4\"\u003e\u003ccode\u003ea6c373a\u003c/code\u003e\u003c/a\u003e Updated list from source (\u003ca href=\"https://redirect.github.com/weppos/publicsuffix-ruby/issues/472\"\u003e#472\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/weppos/publicsuffix-ruby/compare/v6.0.2...v7.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rqrcode_core` from 2.0.0 to 2.0.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/whomwah/rqrcode_core/releases\"\u003erqrcode_core's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.0.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ev2.0.0 Release mergeback by \u003ca href=\"https://github.com/whomwah\"\u003e\u003ccode\u003e@​whomwah\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/whomwah/rqrcode_core/pull/46\"\u003ewhomwah/rqrcode_core#46\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix compare link for version 2.0.0 [ci skip] by \u003ca href=\"https://github.com/prognostikos\"\u003e\u003ccode\u003e@​prognostikos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/whomwah/rqrcode_core/pull/47\"\u003ewhomwah/rqrcode_core#47\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate required_ruby_version to Ruby 4.0 by \u003ca href=\"https://github.com/k0kubun\"\u003e\u003ccode\u003e@​k0kubun\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/whomwah/rqrcode_core/pull/48\"\u003ewhomwah/rqrcode_core#48\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReleases/v2.0.1 by \u003ca href=\"https://github.com/whomwah\"\u003e\u003ccode\u003e@​whomwah\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/whomwah/rqrcode_core/pull/49\"\u003ewhomwah/rqrcode_core#49\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/prognostikos\"\u003e\u003ccode\u003e@​prognostikos\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/whomwah/rqrcode_core/pull/47\"\u003ewhomwah/rqrcode_core#47\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/k0kubun\"\u003e\u003ccode\u003e@​k0kubun\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/whomwah/rqrcode_core/pull/48\"\u003ewhomwah/rqrcode_core#48\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/whomwah/rqrcode_core/compare/v2.0.0...v2.0.1\"\u003ehttps://github.com/whomwah/rqrcode_core/compare/v2.0.0...v2.0.1\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/whomwah/rqrcode_core/blob/main/CHANGELOG.md\"\u003erqrcode_core's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[2.0.1] - 2025-11-25\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate required_ruby_version to support \u0026gt;= rather than ~\u0026gt; ready for Ruby 4\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/whomwah/rqrcode_core/commit/e90cd933aca95575367bbc267b22cc04fce4ec4f\"\u003e\u003ccode\u003ee90cd93\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/whomwah/rqrcode_core/issues/49\"\u003e#49\u003c/a\u003e from whomwah/releases/v2.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/whomwah/rqrcode_core/commit/5e48a2f0a007d35ce169f6d4d45ae60f528c2f72\"\u003e\u003ccode\u003e5e48a2f\u003c/code\u003e\u003c/a\u003e release: Bump version to 2.0.1 and update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/whomwah/rqrcode_core/commit/a35eebde0f650074331206ccc7c6dc39a3fbb664\"\u003e\u003ccode\u003ea35eebd\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/whomwah/rqrcode_core/issues/48\"\u003e#48\u003c/a\u003e from k0kubun/ruby-4-0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/whomwah/rqrcode_core/commit/5108d47343eac062b5d8bb2526425575f1b645f5\"\u003e\u003ccode\u003e5108d47\u003c/code\u003e\u003c/a\u003e Update required_ruby_version to Ruby 4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/whomwah/rqrcode_core/commit/ccf2c64185c9c22c9e55ebaedcf61cc45d5addad\"\u003e\u003ccode\u003eccf2c64\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/whomwah/rqrcode_core/issues/47\"\u003e#47\u003c/a\u003e from prognostikos/patch-1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/whomwah/rqrcode_core/commit/4ad199bb61771d06da4401d06d8b7b70d791db25\"\u003e\u003ccode\u003e4ad199b\u003c/code\u003e\u003c/a\u003e Fix compare link for version 2.0.0 [ci skip]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/whomwah/rqrcode_core/commit/c1dc8b2daaea5fe35f92416ab0d22ea25fc790aa\"\u003e\u003ccode\u003ec1dc8b2\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/whomwah/rqrcode_core/issues/46\"\u003e#46\u003c/a\u003e from whomwah/release\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/whomwah/rqrcode_core/compare/v2.0.0...v2.0.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `timeout` from 0.4.4 to 0.6.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/timeout/releases\"\u003etimeout's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.6.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSuppress warnings in two tests by \u003ca href=\"https://github.com/olleolleolle\"\u003e\u003ccode\u003e@​olleolleolle\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/timeout/pull/71\"\u003eruby/timeout#71\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRevert \u0026quot;Suppress warnings in two tests\u0026quot; by \u003ca href=\"https://github.com/nobu\"\u003e\u003ccode\u003e@​nobu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/timeout/pull/74\"\u003eruby/timeout#74\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOnly the timeout method should be public on the Timeout module by \u003ca href=\"https://github.com/eregon\"\u003e\u003ccode\u003e@​eregon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/timeout/pull/76\"\u003eruby/timeout#76\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003esupport Ractor by \u003ca href=\"https://github.com/ko1\"\u003e\u003ccode\u003e@​ko1\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/timeout/pull/75\"\u003eruby/timeout#75\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTest that Timeout does not expose extra constants by \u003ca href=\"https://github.com/eregon\"\u003e\u003ccode\u003e@​eregon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/timeout/pull/77\"\u003eruby/timeout#77\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRevert \u0026quot;Exclude constantly-failing test on x86_64-darwin\u0026quot; by \u003ca href=\"https://github.com/ko1\"\u003e\u003ccode\u003e@​ko1\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/timeout/pull/79\"\u003eruby/timeout#79\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReset the interrupt mask when creating the Timeout thread by \u003ca href=\"https://github.com/eregon\"\u003e\u003ccode\u003e@​eregon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/timeout/pull/80\"\u003eruby/timeout#80\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake Timeout.timeout work in a trap handler on CRuby by \u003ca href=\"https://github.com/eregon\"\u003e\u003ccode\u003e@​eregon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/timeout/pull/81\"\u003eruby/timeout#81\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSkip signal test on windows by \u003ca href=\"https://github.com/byroot\"\u003e\u003ccode\u003e@​byroot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/timeout/pull/82\"\u003eruby/timeout#82\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd windows to CI matrix by \u003ca href=\"https://github.com/byroot\"\u003e\u003ccode\u003e@​byroot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/timeout/pull/83\"\u003eruby/timeout#83\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix failing timeout test by \u003ca href=\"https://github.com/luke-gruber\"\u003e\u003ccode\u003e@​luke-gruber\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/timeout/pull/85\"\u003eruby/timeout#85\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRestore original signal handler in test_timeout_in_trap_handler by \u003ca href=\"https://github.com/eregon\"\u003e\u003ccode\u003e@​eregon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/timeout/pull/87\"\u003eruby/timeout#87\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRun on Windows for all versions and remove old excludes by \u003ca href=\"https://github.com/eregon\"\u003e\u003ccode\u003e@​eregon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/timeout/pull/84\"\u003eruby/timeout#84\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/ko1\"\u003e\u003ccode\u003e@​ko1\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/timeout/pull/75\"\u003eruby/timeout#75\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/byroot\"\u003e\u003ccode\u003e@​byroot\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/timeout/pull/82\"\u003eruby/timeout#82\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/luke-gruber\"\u003e\u003ccode\u003e@​luke-gruber\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/timeout/pull/85\"\u003eruby/timeout#85\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ruby/timeout/compare/v0.4.4...v0.6.0\"\u003ehttps://github.com/ruby/timeout/compare/v0.4.4...v0.6.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.5.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSuppress warnings in two tests by \u003ca href=\"https://github.com/olleolleolle\"\u003e\u003ccode\u003e@​olleolleolle\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/timeout/pull/71\"\u003eruby/timeout#71\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRevert \u0026quot;Suppress warnings in two tests\u0026quot; by \u003ca href=\"https://github.com/nobu\"\u003e\u003ccode\u003e@​nobu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/timeout/pull/74\"\u003eruby/timeout#74\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOnly the timeout method should be public on the Timeout module by \u003ca href=\"https://github.com/eregon\"\u003e\u003ccode\u003e@​eregon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/timeout/pull/76\"\u003eruby/timeout#76\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003esupport Ractor by \u003ca href=\"https://github.com/ko1\"\u003e\u003ccode\u003e@​ko1\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/timeout/pull/75\"\u003eruby/timeout#75\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTest that Timeout does not expose extra constants by \u003ca href=\"https://github.com/eregon\"\u003e\u003ccode\u003e@​eregon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/timeout/pull/77\"\u003eruby/timeout#77\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/ko1\"\u003e\u003ccode\u003e@​ko1\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/timeout/pull/75\"\u003eruby/timeout#75\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ruby/timeout/compare/v0.4.4...v0.5.0\"\u003ehttps://github.com/ruby/timeout/compare/v0.4.4...v0.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/ruby/timeout/commit/ab79dfff47092008ce08520763c846eba3a3a5f1\"\u003e\u003ccode\u003eab79dff\u003c/code\u003e\u003c/a\u003e v0.6.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/timeout/commit/2eb16dc3c02387fcdd3de265e755fc6956c0bf51\"\u003e\u003ccode\u003e2eb16dc\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/timeout/issues/88\"\u003e#88\u003c/a\u003e from ruby/dependabot/github_actions/step-security/hard...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/timeout/commit/179ea36ef1849c7fe1bd72c4ecd418f2bba5bb3e\"\u003e\u003ccode\u003e179ea36\u003c/code\u003e\u003c/a\u003e Bump step-security/harden-runner from 2.13.3 to 2.14.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/timeout/commit/549605db39602a4fc351165d061e70953b03bb9c\"\u003e\u003ccode\u003e549605d\u003c/code\u003e\u003c/a\u003e Run on Windows for all versions and remove old excludes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/timeout/commit/4ae8631acfe8fb94964b8f3c56c1d3b4e8a92be7\"\u003e\u003ccode\u003e4ae8631\u003c/code\u003e\u003c/a\u003e Restore original signal handler in test_timeout_in_trap_handler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/timeout/commit/e5bc1de901ed40227c462863a16f1e13715f9228\"\u003e\u003ccode\u003ee5bc1de\u003c/code\u003e\u003c/a\u003e Fix failing timeout test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/timeout/commit/d95f1b8e6e9100e0ee62611c9c6b7cbb7fe9dd23\"\u003e\u003ccode\u003ed95f1b8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/timeout/issues/83\"\u003e#83\u003c/a\u003e from byroot/test-on-windows\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/timeout/commit/c8d63ce3fecc201cc19303f766cfc81f0cada921\"\u003e\u003ccode\u003ec8d63ce\u003c/code\u003e\u003c/a\u003e Add windows to CI matrix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/timeout/commit/069b3a0538a53e7c6441fa2a7dbbf1fec19b8441\"\u003e\u003ccode\u003e069b3a0\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/timeout/issues/82\"\u003e#82\u003c/a\u003e from byroot/no-sigusr1-win32\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/timeout/commit/b19043e8d03811f6a2a0d67e07a9da302c2ad352\"\u003e\u003ccode\u003eb19043e\u003c/code\u003e\u003c/a\u003e Skip signal test on windows\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby/timeout/compare/v0.4.4...v0.6.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 merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\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/ubicloud/ubicloud/pull/4432","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/ubicloud%2Fubicloud/issues/4432","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/4432/packages"},{"uuid":"3737144783","node_id":"PR_kwDODLuhc865Rz9m","number":1024,"state":"closed","title":"Bump the bundler group across 1 directory with 60 updates","user":"dependabot[bot]","labels":["dependencies","ruby"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2025-12-24T03:04:59.000Z","author_association":null,"state_reason":null,"created_at":"2025-12-17T03:07:10.000Z","updated_at":"2025-12-24T03:05:00.000Z","time_to_close":604669,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"bundler","update_count":60,"packages":[{"name":"rails","old_version":"8.0.3","new_version":"8.1.1","repository_url":"https://github.com/rails/rails"},{"name":"puma","old_version":"7.0.4","new_version":"7.1.0","repository_url":"https://github.com/puma/puma"},{"name":"bootsnap","old_version":"1.18.6","new_version":"1.19.0","repository_url":"https://github.com/rails/bootsnap"},{"name":"faker","old_version":"3.5.2","new_version":"3.5.3","repository_url":"https://github.com/faker-ruby/faker"},{"name":"faraday","old_version":"2.13.4","new_version":"2.14.0","repository_url":"https://github.com/lostisland/faraday"},{"name":"oauth2","old_version":"2.0.17","new_version":"2.0.18","repository_url":"https://github.com/ruby-oauth/oauth2"},{"name":"dotenv-rails","old_version":"3.1.8","new_version":"3.2.0","repository_url":"https://github.com/bkeepers/dotenv"},{"name":"sinatra","old_version":"4.1.1","new_version":"4.2.1","repository_url":"https://github.com/sinatra/sinatra"},{"name":"webmock","old_version":"3.25.1","new_version":"3.26.1","repository_url":"https://github.com/bblimke/webmock"},{"name":"brakeman","old_version":"7.1.0","new_version":"7.1.1","repository_url":"https://github.com/presidentbeef/brakeman"},{"name":"shoulda-matchers","old_version":"6.5.0","new_version":"7.0.1","repository_url":"https://github.com/thoughtbot/shoulda-matchers"},{"name":"factory_bot","old_version":"6.5.5","new_version":"6.5.6","repository_url":"https://github.com/thoughtbot/factory_bot"},{"name":"parser","old_version":"3.3.9.0","new_version":"3.3.10.0","repository_url":"https://github.com/whitequark/parser"},{"name":"prism","old_version":"1.5.1","new_version":"1.6.0","repository_url":"https://github.com/ruby/prism"},{"name":"rspec","old_version":"3.13.1","new_version":"3.13.2","repository_url":"https://github.com/rspec/rspec"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps the bundler group with 15 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [rails](https://github.com/rails/rails) | `8.0.3` | `8.1.1` |\n| [puma](https://github.com/puma/puma) | `7.0.4` | `7.1.0` |\n| [bootsnap](https://github.com/rails/bootsnap) | `1.18.6` | `1.19.0` |\n| [faker](https://github.com/faker-ruby/faker) | `3.5.2` | `3.5.3` |\n| [faraday](https://github.com/lostisland/faraday) | `2.13.4` | `2.14.0` |\n| [oauth2](https://github.com/ruby-oauth/oauth2) | `2.0.17` | `2.0.18` |\n| [dotenv-rails](https://github.com/bkeepers/dotenv) | `3.1.8` | `3.2.0` |\n| [sinatra](https://github.com/sinatra/sinatra) | `4.1.1` | `4.2.1` |\n| [webmock](https://github.com/bblimke/webmock) | `3.25.1` | `3.26.1` |\n| [brakeman](https://github.com/presidentbeef/brakeman) | `7.1.0` | `7.1.1` |\n| [shoulda-matchers](https://github.com/thoughtbot/shoulda-matchers) | `6.5.0` | `7.0.1` |\n| [factory_bot](https://github.com/thoughtbot/factory_bot) | `6.5.5` | `6.5.6` |\n| [parser](https://github.com/whitequark/parser) | `3.3.9.0` | `3.3.10.0` |\n| [prism](https://github.com/ruby/prism) | `1.5.1` | `1.6.0` |\n| [rspec](https://github.com/rspec/rspec) | `3.13.1` | `3.13.2` |\n\n\nUpdates `rails` from 8.0.3 to 8.1.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003erails's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.1.1\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Record\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction View\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eRespect \u003ccode\u003eremove_hidden_field_autocomplete\u003c/code\u003e config in form builder \u003ccode\u003ehidden_field\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction Pack\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAllow methods starting with underscore to be action methods.\u003c/p\u003e\n\u003cp\u003eDisallowing methods starting with an underscore from being action methods\nwas an unintended side effect of the performance optimization in\n207a254.\u003c/p\u003e\n\u003cp\u003eFixes \u003ca href=\"https://redirect.github.com/rails/rails/issues/55985\"\u003e#55985\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Job\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eOnly index new serializers.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eJesse Sharps\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction Mailer\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction Cable\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/rails/rails/commit/90a1eaa1b30ba1f2d524e197460e549c03cf5698\"\u003e\u003ccode\u003e90a1eaa\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.1 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/0ce0ce1ca2da1d36cdc149a72a777a956ea45dc7\"\u003e\u003ccode\u003e0ce0ce1\u003c/code\u003e\u003c/a\u003e Upgrade sigstore gem to 0.2.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/271acd57d1430be8c92fbd8f19a2069e62425803\"\u003e\u003ccode\u003e271acd5\u003c/code\u003e\u003c/a\u003e Sync CHANGELOG\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/7574698226c364ab98e69188539e2cf27517ef1f\"\u003e\u003ccode\u003e7574698\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56020\"\u003e#56020\u003c/a\u003e from harsh183/hd/getting_started/fix_line_num_typo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/89cb7bff192ce71267ae76f38942ca8f306ce273\"\u003e\u003ccode\u003e89cb7bf\u003c/code\u003e\u003c/a\u003e Fix railties/CHANGELOG.md offense at 8-1-stable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/7919bdab44688f1e7f121bc36a76169787cdfe60\"\u003e\u003ccode\u003e7919bda\u003c/code\u003e\u003c/a\u003e Restore header\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/f007f9ca53448379246a1901b213bd57955af26c\"\u003e\u003ccode\u003ef007f9c\u003c/code\u003e\u003c/a\u003e Disable SSL default config for out of the box Kamal deployments (\u003ca href=\"https://redirect.github.com/rails/rails/issues/56010\"\u003e#56010\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/234b56973bb453bb50850a1be07a2fcad7331592\"\u003e\u003ccode\u003e234b569\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56008\"\u003e#56008\u003c/a\u003e from chaadow/fix_nesting_loop_rails\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/21a8742bb6bb5720f0e67d67fe26874598d1afbe\"\u003e\u003ccode\u003e21a8742\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55992\"\u003e#55992\u003c/a\u003e from jsharpify/jsharpify-reduce-deprecation-warnings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/a7ba88b04e935d2a9cbc205382d6cd7c514f425c\"\u003e\u003ccode\u003ea7ba88b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56001\"\u003e#56001\u003c/a\u003e from hachi8833/update_wishlists\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/rails/compare/v8.0.3...v8.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `puma` from 7.0.4 to 7.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/puma/puma/releases\"\u003epuma's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev7.1.0\u003c/h2\u003e\n\u003ch2\u003e7.1.0 / 2025-10-16 - Neon Witch\u003c/h2\u003e\n\u003cp\u003e\u003cimg src=\"https://github.com/user-attachments/assets/6f013211-35fb-46ce-84d8-00794e020294\" alt=\"neon_witch\" /\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFeatures\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eIntroduce \u003ccode\u003eafter_worker_shutdown\u003c/code\u003e hook (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3707\"\u003e#3707\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReintroduce keepalive \u0026quot;fast inline\u0026quot; behavior. Provides faster (8x on JRuby \u0026amp; 1.4x on Ruby) pipeline processing  (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3794\"\u003e#3794\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eBugfixes\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eSkip reading zero bytes when request body is buffered (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3795\"\u003e#3795\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003ePUMA_LOG_CONFIG=1\u003c/code\u003e logging twice with prune_bundler enabled (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3778\"\u003e#3778\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix prune_bundler not showing in \u003ccode\u003ePUMA_LOG_CONFIG=1\u003c/code\u003e output (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3779\"\u003e#3779\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGuard ThreadPool method call, which may be nil during shutdown (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3791\"\u003e#3791\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/puma/puma/issues/3790\"\u003e#3790\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSet \u003ccode\u003eThread.current.puma_server\u003c/code\u003e in Thread init code, not every request (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3774\"\u003e#3774\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix race condition while deleting pidfile (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3657\"\u003e#3657\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\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/nerdrew\"\u003e\u003ccode\u003e@​nerdrew\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/puma/puma/pull/3707\"\u003epuma/puma#3707\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mopp\"\u003e\u003ccode\u003e@​mopp\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/puma/puma/pull/3783\"\u003epuma/puma#3783\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marksmith\"\u003e\u003ccode\u003e@​marksmith\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/puma/puma/pull/3657\"\u003epuma/puma#3657\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Nymuxyzo\"\u003e\u003ccode\u003e@​Nymuxyzo\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/puma/puma/pull/3762\"\u003epuma/puma#3762\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/puma/puma/compare/v7.0.4...v7.1.0\"\u003ehttps://github.com/puma/puma/compare/v7.0.4...v7.1.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/puma/puma/blob/main/History.md\"\u003epuma's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e7.1.0 / 2025-10-16\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFeatures\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eIntroduce \u003ccode\u003eafter_worker_shutdown\u003c/code\u003e hook (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3707\"\u003e#3707\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReintroduce keepalive \u0026quot;fast inline\u0026quot; behavior. Provides faster (8x on JRuby \u0026amp; 1.4x on Ruby) pipeline processing  (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3794\"\u003e#3794\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eBugfixes\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eSkip reading zero bytes when request body is buffered (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3795\"\u003e#3795\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003ePUMA_LOG_CONFIG=1\u003c/code\u003e logging twice with prune_bundler enabled (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3778\"\u003e#3778\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix prune_bundler not showing in \u003ccode\u003ePUMA_LOG_CONFIG=1\u003c/code\u003e output (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3779\"\u003e#3779\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGuard ThreadPool method call, which may be nil during shutdown (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3791\"\u003e#3791\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/puma/puma/issues/3790\"\u003e#3790\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSet \u003ccode\u003eThread.current.puma_server\u003c/code\u003e in Thread init code, not every request (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3774\"\u003e#3774\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix race condition while deleting pidfile (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3657\"\u003e#3657\u003c/a\u003e)\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/puma/puma/commit/fb2a0733e938c8786e033f22dc5bf66727dddb3a\"\u003e\u003ccode\u003efb2a073\u003c/code\u003e\u003c/a\u003e v7.1.0 (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3797\"\u003e#3797\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/4edb9e9b16835aa24bd037a88dad4d34a76952e4\"\u003e\u003ccode\u003e4edb9e9\u003c/code\u003e\u003c/a\u003e \u003ccode\u003eclient.rb\u003c/code\u003e - \u003ccode\u003eread_body\u003c/code\u003e - cleanup last lines of method (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3798\"\u003e#3798\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/84a568ab1c4d0c5cd0d29a167f5facba9699a35c\"\u003e\u003ccode\u003e84a568a\u003c/code\u003e\u003c/a\u003e Update wait_for_less_busy_worker docs (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3757\"\u003e#3757\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/e59a6049c3fc08ac2bd906a10d199bdf3949eb04\"\u003e\u003ccode\u003ee59a604\u003c/code\u003e\u003c/a\u003e Initialize only essential \u003ccode\u003eLauncher\u003c/code\u003e state before \u003ccode\u003eprune_bundler\u003c/code\u003e restart (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3\"\u003e#3\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/6844de7c4f2503751bad5e9c141de2bdb067f452\"\u003e\u003ccode\u003e6844de7\u003c/code\u003e\u003c/a\u003e client.rb - Skip reading zero bytes when request body is buffered (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3795\"\u003e#3795\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/1d3d6b792cdc870171d27cafbd0b7ceaf5e2dfb7\"\u003e\u003ccode\u003e1d3d6b7\u003c/code\u003e\u003c/a\u003e Set \u003ccode\u003eThread.current.puma_server\u003c/code\u003e in Thread init code, not every request (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3774\"\u003e#3774\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/9b34cde2c5ddf7fd65bfd5f8aea811659226662e\"\u003e\u003ccode\u003e9b34cde\u003c/code\u003e\u003c/a\u003e Adding syntax highlighting in k8s docs (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3782\"\u003e#3782\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/a2bd2f63476a719faa02eacac94b274d0cee1f6d\"\u003e\u003ccode\u003ea2bd2f6\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003eprune_bundler\u003c/code\u003e to \u003ccode\u003eConfiguration::DEFAULTS\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3779\"\u003e#3779\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/d7a0854a39bbb3f06f12c4a180e42ee6d36f7985\"\u003e\u003ccode\u003ed7a0854\u003c/code\u003e\u003c/a\u003e ci: Update hey benchmark files, minor fixes and formatting (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3796\"\u003e#3796\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/ff08099b1fc702093261a90e92da09feb577c683\"\u003e\u003ccode\u003eff08099\u003c/code\u003e\u003c/a\u003e ci: Update Update test/rackup/sleep_fibonacci.ru, add test script (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3793\"\u003e#3793\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/puma/puma/compare/v7.0.4...v7.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `actionpack` from 8.0.3 to 8.1.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003eactionpack's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.1.1\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Record\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction View\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eRespect \u003ccode\u003eremove_hidden_field_autocomplete\u003c/code\u003e config in form builder \u003ccode\u003ehidden_field\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction Pack\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAllow methods starting with underscore to be action methods.\u003c/p\u003e\n\u003cp\u003eDisallowing methods starting with an underscore from being action methods\nwas an unintended side effect of the performance optimization in\n207a254.\u003c/p\u003e\n\u003cp\u003eFixes \u003ca href=\"https://redirect.github.com/rails/rails/issues/55985\"\u003e#55985\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Job\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eOnly index new serializers.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eJesse Sharps\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction Mailer\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction Cable\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/rails/rails/blob/v8.1.1/actionpack/CHANGELOG.md\"\u003eactionpack's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRails 8.1.1 (October 28, 2025)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAllow methods starting with underscore to be action methods.\u003c/p\u003e\n\u003cp\u003eDisallowing methods starting with an underscore from being action methods\nwas an unintended side effect of the performance optimization in\n207a254.\u003c/p\u003e\n\u003cp\u003eFixes \u003ca href=\"https://redirect.github.com/rails/rails/issues/55985\"\u003e#55985\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRails 8.1.0 (October 22, 2025)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eSubmit test requests using \u003ccode\u003eas: :html\u003c/code\u003e with \u003ccode\u003eContent-Type: x-www-form-urlencoded\u003c/code\u003e\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eSean Doyle\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd link-local IP ranges to \u003ccode\u003eActionDispatch::RemoteIp\u003c/code\u003e default proxies.\u003c/p\u003e\n\u003cp\u003eLink-local addresses (\u003ccode\u003e169.254.0.0/16\u003c/code\u003e for IPv4 and \u003ccode\u003efe80::/10\u003c/code\u003e for IPv6)\nare now included in the default trusted proxy list, similar to private IP ranges.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eAdam Daniels\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003eremote_ip\u003c/code\u003e will no longer ignore IPs in X-Forwarded-For headers if they\nare accompanied by port information.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eDuncan Brown\u003c/em\u003e, \u003cem\u003ePrevenios Marinos\u003c/em\u003e, \u003cem\u003eMasafumi Koba\u003c/em\u003e, \u003cem\u003eAdam Daniels\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd \u003ccode\u003eaction_dispatch.verbose_redirect_logs\u003c/code\u003e setting that logs where redirects were called from.\u003c/p\u003e\n\u003cp\u003eSimilar to \u003ccode\u003eactive_record.verbose_query_logs\u003c/code\u003e and \u003ccode\u003eactive_job.verbose_enqueue_logs\u003c/code\u003e, this adds a line in your logs that shows where a redirect was called from.\u003c/p\u003e\n\u003cp\u003eExample:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eRedirected to http://localhost:3000/posts/1\n↳ app/controllers/posts_controller.rb:32:in `block (2 levels) in create'\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003cem\u003eDennis Paagman\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd engine route filtering and better formatting in \u003ccode\u003ebin/rails routes\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eAllow engine routes to be filterable in the routing inspector, and\nimprove formatting of engine routing output.\u003c/p\u003e\n\u003cp\u003eBefore:\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/rails/rails/commit/90a1eaa1b30ba1f2d524e197460e549c03cf5698\"\u003e\u003ccode\u003e90a1eaa\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.1 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/271acd57d1430be8c92fbd8f19a2069e62425803\"\u003e\u003ccode\u003e271acd5\u003c/code\u003e\u003c/a\u003e Sync CHANGELOG\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/df9f43214c637c54773581c85c910b356b16fa44\"\u003e\u003ccode\u003edf9f432\u003c/code\u003e\u003c/a\u003e Allow methods starting with underscore to be action methods.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/53c4ed887450cc2dee4b373148162c485999a400\"\u003e\u003ccode\u003e53c4ed8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55973\"\u003e#55973\u003c/a\u003e from rails/fix-ci\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/f77a1c3654afdf599fa927e7910d6e9c5e9df7cf\"\u003e\u003ccode\u003ef77a1c3\u003c/code\u003e\u003c/a\u003e Require 'rails' at the top of railltie files to ensure Rails is loaded first\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/1cdd190a25e483b65f1f25bbd0f13a25d696b461\"\u003e\u003ccode\u003e1cdd190\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.0 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/62a109a53f1471274a150a267239441d0592f389\"\u003e\u003ccode\u003e62a109a\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55947\"\u003e#55947\u003c/a\u003e from c0nspiracy/patch-1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/0777f23945aa498c280279b16091789b402daa64\"\u003e\u003ccode\u003e0777f23\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55921\"\u003e#55921\u003c/a\u003e from skipkayhil/hm-ykpyzlmxovpttksv\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/4663af7e5c5263fa7b5ec5cdd529fc0c357ae037\"\u003e\u003ccode\u003e4663af7\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55922\"\u003e#55922\u003c/a\u003e from Shopify/event_subscriber_additionss\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/ca45ef19a745b1283ba3bf6b1076c998a3e559e4\"\u003e\u003ccode\u003eca45ef1\u003c/code\u003e\u003c/a\u003e Remove mention of raise_on_open_redirects from doc\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/rails/compare/v8.0.3...v8.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `actionview` from 8.0.3 to 8.1.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003eactionview's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.1.1\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Record\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction View\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eRespect \u003ccode\u003eremove_hidden_field_autocomplete\u003c/code\u003e config in form builder \u003ccode\u003ehidden_field\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction Pack\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAllow methods starting with underscore to be action methods.\u003c/p\u003e\n\u003cp\u003eDisallowing methods starting with an underscore from being action methods\nwas an unintended side effect of the performance optimization in\n207a254.\u003c/p\u003e\n\u003cp\u003eFixes \u003ca href=\"https://redirect.github.com/rails/rails/issues/55985\"\u003e#55985\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Job\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eOnly index new serializers.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eJesse Sharps\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction Mailer\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction Cable\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/rails/rails/blob/v8.1.1/actionview/CHANGELOG.md\"\u003eactionview's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRails 8.1.1 (October 28, 2025)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eRespect \u003ccode\u003eremove_hidden_field_autocomplete\u003c/code\u003e config in form builder \u003ccode\u003ehidden_field\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRails 8.1.0 (October 22, 2025)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eThe BEGIN template annotation/comment was previously printed on the same line as the following element. We now insert a newline inside the comment so it spans two lines without adding visible whitespace to the HTML output to enhance readability.\u003c/p\u003e\n\u003cp\u003eBefore:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\u0026lt;!-- BEGIN /Users/siaw23/Desktop/rails/actionview/test/fixtures/actionpack/test/greeting.html.erb --\u0026gt;\u0026lt;p\u0026gt;This is grand!\u0026lt;/p\u0026gt;\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eAfter:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\u0026lt;!-- BEGIN /Users/siaw23/Desktop/rails/actionview/test/fixtures/actionpack/test/greeting.html.erb\n--\u0026gt;\u0026lt;p\u0026gt;This is grand!\u0026lt;/p\u0026gt;\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003cem\u003eEmmanuel Hayford\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd structured events for Action View:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eaction_view.render_template\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eaction_view.render_partial\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eaction_view.render_layout\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eaction_view.render_collection\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eaction_view.render_start\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cem\u003eGannon McGibbon\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix label with \u003ccode\u003efor\u003c/code\u003e option not getting prefixed by form \u003ccode\u003enamespace\u003c/code\u003e value\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eAbeid Ahmed\u003c/em\u003e, \u003cem\u003eHartley McGuire\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd \u003ccode\u003efetchpriority\u003c/code\u003e to Link headers to match HTML generated by \u003ccode\u003epreload_link_tag\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eGuillermo Iguaran\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd CSP \u003ccode\u003enonce\u003c/code\u003e to Link headers generated by \u003ccode\u003epreload_link_tag\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eAlexander Gitter\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAllow \u003ccode\u003ecurrent_page?\u003c/code\u003e to match against specific HTTP method(s) with a \u003ccode\u003emethod:\u003c/code\u003e option.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eBen Sheldon\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove \u003ccode\u003eautocomplete=\u0026quot;off\u0026quot;\u003c/code\u003e on hidden inputs generated by the following\ntags:\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/rails/rails/commit/90a1eaa1b30ba1f2d524e197460e549c03cf5698\"\u003e\u003ccode\u003e90a1eaa\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.1 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/271acd57d1430be8c92fbd8f19a2069e62425803\"\u003e\u003ccode\u003e271acd5\u003c/code\u003e\u003c/a\u003e Sync CHANGELOG\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/ae6c5a23948f0a5c02a19ce625048b4579eace7d\"\u003e\u003ccode\u003eae6c5a2\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55989\"\u003e#55989\u003c/a\u003e from rails/rm-fix-remove_hidden_field_autocomplete\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/53c4ed887450cc2dee4b373148162c485999a400\"\u003e\u003ccode\u003e53c4ed8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55973\"\u003e#55973\u003c/a\u003e from rails/fix-ci\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/f77a1c3654afdf599fa927e7910d6e9c5e9df7cf\"\u003e\u003ccode\u003ef77a1c3\u003c/code\u003e\u003c/a\u003e Require 'rails' at the top of railltie files to ensure Rails is loaded first\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/1cdd190a25e483b65f1f25bbd0f13a25d696b461\"\u003e\u003ccode\u003e1cdd190\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.0 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/1ace68361ed9e87fecbf32604c087d096f7b7f8a\"\u003e\u003ccode\u003e1ace683\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.0.rc1 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/d6f9f62d49750fee6a45f3672e2227d5c4198a62\"\u003e\u003ccode\u003ed6f9f62\u003c/code\u003e\u003c/a\u003e Make the Structured Event Subscriber emit events in format that are useful fo...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/4ae5bfc3a04db36d0f274b272eb68d6136ffb63b\"\u003e\u003ccode\u003e4ae5bfc\u003c/code\u003e\u003c/a\u003e Place template annotation on a separate line\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/7d12071e9fe94bd5c01a488ef61718fe88de65b4\"\u003e\u003ccode\u003e7d12071\u003c/code\u003e\u003c/a\u003e Micro optimize ActiveRecord::RuntimeRegistry\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/rails/compare/v8.0.3...v8.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `activemodel` from 8.0.3 to 8.1.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003eactivemodel's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.1.1\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Record\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction View\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eRespect \u003ccode\u003eremove_hidden_field_autocomplete\u003c/code\u003e config in form builder \u003ccode\u003ehidden_field\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction Pack\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAllow methods starting with underscore to be action methods.\u003c/p\u003e\n\u003cp\u003eDisallowing methods starting with an underscore from being action methods\nwas an unintended side effect of the performance optimization in\n207a254.\u003c/p\u003e\n\u003cp\u003eFixes \u003ca href=\"https://redirect.github.com/rails/rails/issues/55985\"\u003e#55985\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Job\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eOnly index new serializers.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eJesse Sharps\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction Mailer\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction Cable\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/rails/rails/blob/v8.1.1/activemodel/CHANGELOG.md\"\u003eactivemodel's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRails 8.1.1 (October 28, 2025)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRails 8.1.0 (October 22, 2025)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd \u003ccode\u003ereset_token: { expires_in: ... }\u003c/code\u003e option to \u003ccode\u003ehas_secure_password\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eAllows configuring the expiry duration of password reset tokens (default remains 15 minutes for backwards compatibility).\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003ehas_secure_password reset_token: { expires_in: 1.hour }\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003cem\u003eJevin Sew\u003c/em\u003e, \u003cem\u003eAbeid Ahmed\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd \u003ccode\u003eexcept_on:\u003c/code\u003e option for validation callbacks.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eBen Sheldon\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eBackport \u003ccode\u003eActiveRecord::Normalization\u003c/code\u003e to \u003ccode\u003eActiveModel::Attributes::Normalization\u003c/code\u003e\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eclass User\n  include ActiveModel::Attributes\n  include ActiveModel::Attributes::Normalization\n\u003cp\u003eattribute :email, :string\u003c/p\u003e\n\u003cp\u003enormalizes :email, with: -\u0026gt; email { email.strip.downcase }\u003cbr /\u003e\nend\u003c/p\u003e\n\u003cp\u003euser = User.new\u003cbr /\u003e\nuser.email =    \u0026quot; \u003ca href=\"mailto:CRUISE-CONTROL@EXAMPLE.COM\"\u003eCRUISE-CONTROL@EXAMPLE.COM\u003c/a\u003e\\n\u0026quot;\u003cbr /\u003e\nuser.email # =\u0026gt; \u0026quot;\u003ca href=\"mailto:cruise-control@example.com\"\u003ecruise-control@example.com\u003c/a\u003e\u0026quot;\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eSean Doyle\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003ePlease check \u003ca href=\"https://github.com/rails/rails/blob/8-0-stable/activemodel/CHANGELOG.md\"\u003e8-0-stable\u003c/a\u003e for previous changes.\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/rails/rails/commit/90a1eaa1b30ba1f2d524e197460e549c03cf5698\"\u003e\u003ccode\u003e90a1eaa\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.1 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/53c4ed887450cc2dee4b373148162c485999a400\"\u003e\u003ccode\u003e53c4ed8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55973\"\u003e#55973\u003c/a\u003e from rails/fix-ci\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/f77a1c3654afdf599fa927e7910d6e9c5e9df7cf\"\u003e\u003ccode\u003ef77a1c3\u003c/code\u003e\u003c/a\u003e Require 'rails' at the top of railltie files to ensure Rails is loaded first\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/1cdd190a25e483b65f1f25bbd0f13a25d696b461\"\u003e\u003ccode\u003e1cdd190\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.0 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/1ace68361ed9e87fecbf32604c087d096f7b7f8a\"\u003e\u003ccode\u003e1ace683\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.0.rc1 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/b182bc607041b640f1e5f51e678f3ca4ab077920\"\u003e\u003ccode\u003eb182bc6\u003c/code\u003e\u003c/a\u003e Give credit to the first author of this feature\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/d0486d0aefc8a487a20a582868df7e0662fd3520\"\u003e\u003ccode\u003ed0486d0\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55574\"\u003e#55574\u003c/a\u003e from jevin/feature/reset-password-token-duration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/ee29930f58bf125763aeecedaa5048d95f3f1d4b\"\u003e\u003ccode\u003eee29930\u003c/code\u003e\u003c/a\u003e ActiveModel::SecurePassword: configurable reset token expiry\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/2446a70b0eee6424c90e5a262600c337006096ad\"\u003e\u003ccode\u003e2446a70\u003c/code\u003e\u003c/a\u003e Removing the string option for validations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/80827ca7ff33ca3026f2c74fe8249ccc6f513318\"\u003e\u003ccode\u003e80827ca\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.0.beta1 release\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/rails/compare/v8.0.3...v8.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `activerecord` from 8.0.3 to 8.1.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003eactiverecord's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.1.1\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Record\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction View\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eRespect \u003ccode\u003eremove_hidden_field_autocomplete\u003c/code\u003e config in form builder \u003ccode\u003ehidden_field\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction Pack\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAllow methods starting with underscore to be action methods.\u003c/p\u003e\n\u003cp\u003eDisallowing methods starting with an underscore from being action methods\nwas an unintended side effect of the performance optimization in\n207a254.\u003c/p\u003e\n\u003cp\u003eFixes \u003ca href=\"https://redirect.github.com/rails/rails/issues/55985\"\u003e#55985\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Job\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eOnly index new serializers.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eJesse Sharps\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction Mailer\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction Cable\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/rails/rails/blob/v8.1.1/activerecord/CHANGELOG.md\"\u003eactiverecord's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRails 8.1.1 (October 28, 2025)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRails 8.1.0 (October 22, 2025)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix SQLite3 data loss during table alterations with CASCADE foreign keys.\u003c/p\u003e\n\u003cp\u003eWhen altering a table in SQLite3 that is referenced by child tables with\n\u003ccode\u003eON DELETE CASCADE\u003c/code\u003e foreign keys, ActiveRecord would silently delete all\ndata from the child tables. This occurred because SQLite requires table\nrecreation for schema changes, and during this process the original table\nis temporarily dropped, triggering CASCADE deletes on child tables.\u003c/p\u003e\n\u003cp\u003eThe root cause was incorrect ordering of operations. The original code\nwrapped \u003ccode\u003edisable_referential_integrity\u003c/code\u003e inside a transaction, but\n\u003ccode\u003ePRAGMA foreign_keys\u003c/code\u003e cannot be modified inside a transaction in SQLite -\nattempting to do so simply has no effect. This meant foreign keys remained\nenabled during table recreation, causing CASCADE deletes to fire.\u003c/p\u003e\n\u003cp\u003eThe fix reverses the order to follow the official SQLite 12-step ALTER TABLE\nprocedure: \u003ccode\u003edisable_referential_integrity\u003c/code\u003e now wraps the transaction instead\nof being wrapped by it. This ensures foreign keys are properly disabled\nbefore the transaction starts and re-enabled after it commits, preventing\nCASCADE deletes while maintaining data integrity through atomic transactions.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRuy Rocha\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd replicas to test database parallelization setup.\u003c/p\u003e\n\u003cp\u003eSetup and configuration of databases for parallel testing now includes replicas.\u003c/p\u003e\n\u003cp\u003eThis fixes an issue when using a replica database, database selector middleware,\nand non-transactional tests, where integration tests running in parallel would select\nthe base test database, i.e. \u003ccode\u003edb_test\u003c/code\u003e, instead of the numbered parallel worker database,\ni.e. \u003ccode\u003edb_test_{n}\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eAdam Maas\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSupport virtual (not persisted) generated columns on PostgreSQL 18+\u003c/p\u003e\n\u003cp\u003ePostgreSQL 18 introduces virtual (not persisted) generated columns,\nwhich are now the default unless the \u003ccode\u003estored: true\u003c/code\u003e option is explicitly specified on PostgreSQL 18+.\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003ecreate_table :users do |t|\n  t.string :name\n  t.virtual :lower_name,  type: :string,  as: \u0026quot;LOWER(name)\u0026quot;, stored: false\n  t.virtual :name_length, type: :integer, as: \u0026quot;LENGTH(name)\u0026quot;\n\u003c/code\u003e\u003c/pre\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/rails/rails/commit/90a1eaa1b30ba1f2d524e197460e549c03cf5698\"\u003e\u003ccode\u003e90a1eaa\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.1 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/fe609bf5ac0e61f445de9bea40f89a058b465ead\"\u003e\u003ccode\u003efe609bf\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/50598\"\u003e#50598\u003c/a\u003e from lucasmazza/lm/upsert_all-skip\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/53c4ed887450cc2dee4b373148162c485999a400\"\u003e\u003ccode\u003e53c4ed8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55973\"\u003e#55973\u003c/a\u003e from rails/fix-ci\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/f77a1c3654afdf599fa927e7910d6e9c5e9df7cf\"\u003e\u003ccode\u003ef77a1c3\u003c/code\u003e\u003c/a\u003e Require 'rails' at the top of railltie files to ensure Rails is loaded first\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/334ed8f172d6e77516e9832567626af9965d435d\"\u003e\u003ccode\u003e334ed8f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55969\"\u003e#55969\u003c/a\u003e from rails/fix-explain-tests-mysql-9.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/1cdd190a25e483b65f1f25bbd0f13a25d696b461\"\u003e\u003ccode\u003e1cdd190\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.0 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/bffa22d59214a125add8385e12ec691ed623aff7\"\u003e\u003ccode\u003ebffa22d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55949\"\u003e#55949\u003c/a\u003e from ima1zumi/revert-53969-and-add-test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/be5e9fc703ee86a6ba12bbd7256c43142a3d07dc\"\u003e\u003ccode\u003ebe5e9fc\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55945\"\u003e#55945\u003c/a\u003e from claudiob/create_enum\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/04c6f1497eb3cd0f21449113747f2b72862a0937\"\u003e\u003ccode\u003e04c6f14\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55938\"\u003e#55938\u003c/a\u003e from aidanharan/truthy-condition-mssql\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/d4fb183ac2d8f6a3fad83e160c435ef4dbe9c149\"\u003e\u003ccode\u003ed4fb183\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55925\"\u003e#55925\u003c/a\u003e from flavorjones/flavorjones/shard-swap-prohibition...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/rails/compare/v8.0.3...v8.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `activesupport` from 8.0.3 to 8.1.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003eactivesupport's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.1.1\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Record\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction View\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eRespect \u003ccode\u003eremove_hidden_field_autocomplete\u003c/code\u003e config in form builder \u003ccode\u003ehidden_field\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction Pack\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAllow methods starting with underscore to be action methods.\u003c/p\u003e\n\u003cp\u003eDisallowing methods starting with an underscore from being action methods\nwas an unintended side effect of the performance optimization in\n207a254.\u003c/p\u003e\n\u003cp\u003eFixes \u003ca href=\"https://redirect.github.com/rails/rails/issues/55985\"\u003e#55985\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Job\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eOnly index new serializers.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eJesse Sharps\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction Mailer\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction Cable\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/rails/rails/blob/v8.1.1/activesupport/CHANGELOG.md\"\u003eactivesupport's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRails 8.1.1 (October 28, 2025)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRails 8.1.0 (October 22, 2025)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eRemove deprecated passing a Time object to \u003ccode\u003eTime#since\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove deprecated \u003ccode\u003eBenchmark.ms\u003c/code\u003e method. It is now defined in the \u003ccode\u003ebenchmark\u003c/code\u003e gem.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove deprecated addition for \u003ccode\u003eTime\u003c/code\u003e instances with \u003ccode\u003eActiveSupport::TimeWithZone\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove deprecated support for \u003ccode\u003eto_time\u003c/code\u003e to preserve the system local time. It will now always preserve the receiver\ntimezone.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDeprecate \u003ccode\u003econfig.active_support.to_time_preserves_timezone\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eStandardize event name formatting in \u003ccode\u003eassert_event_reported\u003c/code\u003e error messages.\u003c/p\u003e\n\u003cp\u003eThe event name in failure messages now uses \u003ccode\u003e.inspect\u003c/code\u003e (e.g., \u003ccode\u003ename: \u0026quot;user.created\u0026quot;\u003c/code\u003e)\nto match \u003ccode\u003eassert_events_reported\u003c/code\u003e and provide type clarity between strings and symbols.\nThis only affects tests that assert on the failure message format itself.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eGeorge Ma\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eEnumerable#sole\u003c/code\u003e to return the full tuple instead of just the first element of the tuple.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eOlivier Bellone\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix parallel tests hanging when worker processes die abruptly.\u003c/p\u003e\n\u003cp\u003ePreviously, if a worker process was killed (e.g., OOM killed, \u003ccode\u003ekill -9\u003c/code\u003e) during parallel\ntest execution, the test suite would hang forever waiting for the dead worker.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eJoshua Young\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd \u003ccode\u003econfig.active_support.escape_js_separators_in_json\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eIntroduce a new framework default to skip escaping LINE SEPARATOR (U+2028) and PARAGRAPH SEPARATOR (U+2029) in JSON.\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/rails/rails/commit/90a1eaa1b30ba1f2d524e197460e549c03cf5698\"\u003e\u003ccode\u003e90a1eaa\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.1 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/234b56973bb453bb50850a1be07a2fcad7331592\"\u003e\u003ccode\u003e234b569\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56008\"\u003e#56008\u003c/a\u003e from chaadow/fix_nesting_loop_rails\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/53c4ed887450cc2dee4b373148162c485999a400\"\u003e\u003ccode\u003e53c4ed8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55973\"\u003e#55973\u003c/a\u003e from rails/fix-ci\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/f77a1c3654afdf599fa927e7910d6e9c5e9df7cf\"\u003e\u003ccode\u003ef77a1c3\u003c/code\u003e\u003c/a\u003e Require 'rails' at the top of railltie files to ensure Rails is loaded first\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/cd53d57fe363eef44dd4a58dbe69c77cad041550\"\u003e\u003ccode\u003ecd53d57\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55962\"\u003e#55962\u003c/a\u003e from coderhs/patch-1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/1cdd190a25e483b65f1f25bbd0f13a25d696b461\"\u003e\u003ccode\u003e1cdd190\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.0 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/096f1c7c77cf857a1ca12116678599faac2f0522\"\u003e\u003ccode\u003e096f1c7\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55943\"\u003e#55943\u003c/a\u003e from skipkayhil/hm-oyxvtrxvupxqzprn\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/1ace68361ed9e87fecbf32604c087d096f7b7f8a\"\u003e\u003ccode\u003e1ace683\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.0.rc1 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/d156ee00602eab9044bc23ac8de8f245379d6af5\"\u003e\u003ccode\u003ed156ee0\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55871\"\u003e#55871\u003c/a\u003e from Shopify/refresh_event_reporter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/48ca2f8b91f69ae7c08cc16426481a5e17fd2209\"\u003e\u003ccode\u003e48ca2f8\u003c/code\u003e\u003c/a\u003e Load core extensions with require_relative\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/rails/compare/v8.0.3...v8.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `railties` from 8.0.3 to 8.1.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003erailties's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.1.1\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Record\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction View\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eRespect \u003ccode\u003eremove_hidden_field_autocomplete\u003c/code\u003e config in form builder \u003ccode\u003ehidden_field\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction Pack\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAllow methods starting with underscore to be action methods.\u003c/p\u003e\n\u003cp\u003eDisallowing methods starting with an underscore from being action methods\nwas an unintended side effect of the performance optimization in\n207a254.\u003c/p\u003e\n\u003cp\u003eFixes \u003ca href=\"https://redirect.github.com/rails/rails/issues/55985\"\u003e#55985\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Job\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eOnly index new serializers.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eJesse Sharps\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction Mailer\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction Cable\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/rails/rails/blob/v8.1.1/railties/CHANGELOG.md\"\u003erailties's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRails 8.1.1 (October 28, 2025)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eDo not assume and force SSL in production by default when using Kamal, to allow for out of the box Kamal deployments.\u003c/p\u003e\n\u003cp\u003eIt is still recommended to assume and force SSL in production as soon as you can.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eJerome Dalbert\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRails 8.1.0 (October 22, 2025)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eSuggest \u003ccode\u003ebin/rails action_text:install\u003c/code\u003e from Action Dispatch error page\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eSean Doyle\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove deprecated \u003ccode\u003eSTATS_DIRECTORIES\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove deprecated \u003ccode\u003ebin/rake stats\u003c/code\u003e command.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove deprecated \u003ccode\u003erails/console/methods.rb\u003c/code\u003e file.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDon't generate system tests by default.\u003c/p\u003e\n\u003cp\u003eRails scaffold generator will no longer generate system tests by default. To enable this pass \u003ccode\u003e--system-tests=true\u003c/code\u003e or generate them with \u003ccode\u003ebin/rails generate system_test name_of_test\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eEileen M. Uchitelle\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eOptionally skip bundler-audit.\u003c/p\u003e\n\u003cp\u003eSkips adding the \u003ccode\u003ebin/bundler-audit\u003c/code\u003e \u0026amp; \u003ccode\u003econfig/bundler-audit.yml\u003c/code\u003e if the gem is not installed when \u003ccode\u003ebin/rails app:update\u003c/code\u003e runs.\u003c/p\u003e\n\u003cp\u003ePasses an option to \u003ccode\u003e--skip-bundler-audit\u003c/code\u003e when new apps are generated \u0026amp; adds that same option to the \u003ccode\u003e--minimal\u003c/code\u003e generator flag.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eJill Klang\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eShow engine routes in \u003ccode\u003e/rails/info/routes\u003c/code\u003e as well.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003ePetrik de Heus\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eExclude \u003ccode\u003easset_path\u003c/code\u003e configuration from Kamal \u003ccode\u003edeploy.yml\u003c/code\u003e for API applications.\u003c/p\u003e\n\u003cp\u003eAPI applications don't serve assets, so the \u003ccode\u003easset_path\u003c/code\u003e configuration in \u003ccode\u003edeploy.yml\u003c/code\u003e\nis not needed and can cause 404 errors on in-flight requests. The asset_path is now\nonly included for regular Rails applications that serve assets.\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/rails/rails/commit/90a1eaa1b30ba1f2d524e197460e549c03cf5698\"\u003e\u003ccode\u003e90a1eaa\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.1 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/89cb7bff192ce71267ae76f38942ca8f306ce273\"\u003e\u003ccode\u003e89cb7bf\u003c/code\u003e\u003c/a\u003e Fix railties/CHANGELOG.md offense at 8-1-stable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/7919bdab44688f1e7f121bc36a76169787cdfe60\"\u003e\u003ccode\u003e7919bda\u003c/code\u003e\u003c/a\u003e Restore header\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/f007f9ca53448379246a1901b213bd57955af26c\"\u003e\u003ccode\u003ef007f9c\u003c/code\u003e\u003c/a\u003e Disable SSL default config for out of the box Kamal deployments (\u003ca href=\"https://redirect.github.com/rails/rails/issues/56010\"\u003e#56010\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/29606f8c7b3aea3991343ee2c1aa5dd1860df283\"\u003e\u003ccode\u003e29606f8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55964\"\u003e#55964\u003c/a\u003e from viralpraxis/skip-ci-rb-tests-if-tests-are-skipped\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/1cdd190a25e483b65f1f25bbd0f13a25d696b461\"\u003e\u003ccode\u003e1cdd190\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.0 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/5e231ae6548f1c5686f75e61832638937b134961\"\u003e\u003ccode\u003e5e231ae\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/54914\"\u003e#54914\u003c/a\u003e from chaadow/fix_autoloaded_content_helper\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/1a8109e0fe8f10fa38a8f6c7fb11daf8a09394d5\"\u003e\u003ccode\u003e1a8109e\u003c/code\u003e\u003c/a\u003e Actually turn this off by default too\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/25af9250bf072ac24df2ea058c12284da5a99948\"\u003e\u003ccode\u003e25af925\u003c/code\u003e\u003c/a\u003e Kamal localhost registry (\u003ca href=\"https://redirect.github.com/rails/rails/issues/55934\"\u003e#55934\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/f58a75a5cf35a94cbf8a45fa64b95a0ea9055e64\"\u003e\u003ccode\u003ef58a75a\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55940\"\u003e#55940\u003c/a\u003e from jeromedalbert/fix-ci-yml-whitespace\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/rails/compare/v8.0.3...v8.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `bootsnap` from 1.18.6 to 1.19.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/bootsnap/blob/main/CHANGELOG.md\"\u003ebootsnap's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e1.19.0\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eRemove JSON parsing cache. Recent versions of the \u003ccode\u003ejson\u003c/code\u003e gem are as fast as \u003ccode\u003emsgpack\u003c/code\u003e if not faster.\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/rails/bootsnap/commit/d4ad1673943b416cd46491ffe236df29862ce37f\"\u003e\u003ccode\u003ed4ad167\u003c/code\u003e\u003c/a\u003e Release 1.19.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/4a0f8e62788d6e6304be06de5d4a313a94291492\"\u003e\u003ccode\u003e4a0f8e6\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/bootsnap/issues/508\"\u003e#508\u003c/a\u003e from byroot/remove-json-caching\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/5df6e04afd8cb8c9463d219518baaffaf2c48b6e\"\u003e\u003ccode\u003e5df6e04\u003c/code\u003e\u003c/a\u003e Remove Bootsnap::CompileCache::JSON\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/e6272f8c7f2935efc1000ec654da2d196e91f4e2\"\u003e\u003ccode\u003ee6272f8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/bootsnap/issues/506\"\u003e#506\u003c/a\u003e from rails/dependabot/github_actions/actions/checkout-5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/89879b4161b6e62bbb0d139208e1eb8cb30c1b40\"\u003e\u003ccode\u003e89879b4\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 4 to 5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/55d663fbc419d3a4ad32d200f7ba45c64e04d772\"\u003e\u003ccode\u003e55d663f\u003c/code\u003e\u003c/a\u003e Move bootsnap to the Rails org\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/03629f633ee1e591d4d9f3c351406465c3cf3ead\"\u003e\u003ccode\u003e03629f6\u003c/code\u003e\u003c/a\u003e Add devcontainer config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/037ad17aa546c080238a979fce8b393b4fc7f577\"\u003e\u003ccode\u003e037ad17\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/bootsnap/issues/505\"\u003e#505\u003c/a\u003e from beauraF/add-know-issues-note-to-readme\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/3019588dd3823dcdfbb24dd950cfba1516c2e662\"\u003e\u003ccode\u003e3019588\u003c/code\u003e\u003c/a\u003e Add a knows issues note into README.md related to QEMU\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/b3333f644b4bd0c82a3ec52a3fdd3c9752abcf71\"\u003e\u003ccode\u003eb3333f6\u003c/code\u003e\u003c/a\u003e Add Ruby 3.4 to CI\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/bootsnap/compare/v1.18.6...v1.19.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `faker` from 3.5.2 to 3.5.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/faker-ruby/faker/releases\"\u003efaker's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.5.3\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/faker-ruby/faker/tree/v3.5.3\"\u003ev3.5.3\u003c/a\u003e (2025-12-02)\u003c/h2\u003e\n\u003cp\u003eWishing you a cozy and calm Holiday season ☃️\u003c/p\u003e\n\u003cp\u003eThis version adds and improves some locales, fixes some bugs, and deprecates some generators.\u003c/p\u003e\n\u003cp\u003eThanks to all contributors!\u003c/p\u003e\n\u003ch2\u003eDeprecated generators\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRefactor: move \u003ccode\u003eFaker::BossaNova\u003c/code\u003e under \u003ccode\u003eFaker::Music::BossaNova\u003c/code\u003e by \u003ca href=\"https://github.com/thdaraujo\"\u003e\u003ccode\u003e@​thdaraujo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3140\"\u003efaker-ruby/faker#3140\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDeprecate \u003ccode\u003eFaker::Twitter\u003c/code\u003e in favor of \u003ccode\u003eFaker::X\u003c/code\u003e and update attributes by \u003ca href=\"https://github.com/stefannibrasil\"\u003e\u003ccode\u003e@​stefannibrasil\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3138\"\u003efaker-ruby/faker#3138\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eImprovements \u0026amp; Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRemove duplicate entry \u003ccode\u003eamateur radio\u003c/code\u003e from \u003ccode\u003elocales/en/hobby.yml\u003c/code\u003e by \u003ca href=\"https://github.com/Leenday\"\u003e\u003ccode\u003e@​Leenday\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3099\"\u003efaker-ruby/faker#3099\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix \u003ca href=\"https://redirect.github.com/faker-ruby/faker/issues/3114\"\u003e#3114\u003c/a\u003e: prevent scientific notation when generating bank account number by \u003ca href=\"https://github.com/AhmedHisham552\"\u003e\u003ccode\u003e@​AhmedHisham552\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3118\"\u003efaker-ruby/faker#3118\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix: typos in locales for \u003ccode\u003eoverwatch.yml\u003c/code\u003e, \u003ccode\u003erajnikanth.yml\u003c/code\u003e and \u003ccode\u003estreet_fighter.ym\u003c/code\u003e by \u003ca href=\"https://github.com/smorttey\"\u003e\u003ccode\u003e@​smorttey\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3106\"\u003efaker-ruby/faker#3106\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eArtist\u003c/code\u003e translations for the japanese locale by \u003ca href=\"https://github.com/neco-nico\"\u003e\u003ccode\u003e@​neco-nico\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3110\"\u003efaker-ruby/faker#3110\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003ecountry_code\u003c/code\u003e to Estonia locale (\u003ccode\u003elocales/ee.yml\u003c/code\u003e) by \u003ca href=\"https://github.com/HassanAkbar\"\u003e\u003ccode\u003e@​HassanAkbar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3111\"\u003efaker-ruby/faker#3111\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReformat Arabic locale (\u003ccode\u003elocales/ar.yml\u003c/code\u003e) by \u003ca href=\"https://github.com/ramzieus\"\u003e\u003ccode\u003e@​ramzieus\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3130\"\u003efaker-ruby/faker#3130\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRefactor: Improve UK Phone number false failure hit-rate by \u003ca href=\"https://github.com/luke-hill\"\u003e\u003ccode\u003e@​luke-hill\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3136\"\u003efaker-ruby/faker#3136\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprovements and fixes for Elder Scrolls locale (\u003ccode\u003eelder_scrolls.yml\u003c/code\u003e) by \u003ca href=\"https://github.com/SleekMutt\"\u003e\u003ccode\u003e@​SleekMutt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3129\"\u003efaker-ruby/faker#3129\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd en-GB ID Numbers (aka National Insurance Numbers) by \u003ca href=\"https://github.com/stefanjcollier\"\u003e\u003ccode\u003e@​stefanjcollier\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3032\"\u003efaker-ruby/faker#3032\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate ukrainian city locales to the modern ones by \u003ca href=\"https://github.com/SleekMutt\"\u003e\u003ccode\u003e@​SleekMutt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3127\"\u003efaker-ruby/faker#3127\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRevamp the docs to make them easier to find by \u003ca href=\"https://github.com/stefannibrasil\"\u003e\u003ccode\u003e@​stefannibrasil\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3151\"\u003efaker-ruby/faker#3151\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChores\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003etest: fix flaky test on \u003ccode\u003eFaker::IdNumber\u003c/code\u003e by \u003ca href=\"https://github.com/thdaraujo\"\u003e\u003ccode\u003e@​thdaraujo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3126\"\u003efaker-ruby/faker#3126\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove minitest dependency on i18n reload test by \u003ca href=\"https://github.com/stefannibrasil\"\u003e\u003ccode\u003e@​stefannibrasil\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3149\"\u003efaker-ruby/faker#3149\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove unused release workflow by \u003ca href=\"https://github.com/stefannibrasil\"\u003e\u003ccode\u003e@​stefannibrasil\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3133\"\u003efaker-ruby/faker#3133\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eUpdate local dependencies\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump benchmark from 0.4.1 to 0.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/faker-ruby/faker/pull/3122\"\u003efaker-ruby/faker#3122\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump rake from 13.3.0 to 13.3.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/faker-ruby/faker/pull/3124\"\u003efaker-ruby/faker#3124\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump test-unit from 3.7.0 to 3.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/faker-ruby/faker/pull/3128\"\u003efaker-ruby/faker#3128\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump rubocop-minitest from 0.38.1 to 0.38.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/faker-ruby/faker/pull/3116\"\u003efaker-ruby/faker#3116\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edeps: bump dependencies by \u003ca href=\"https://github.com/thdaraujo\"\u003e\u003ccode\u003e@​thdaraujo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3141\"\u003efaker-ruby/faker#3141\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edeps: bump Minitest version to \u003ccode\u003ev5.26.1\u003c/code\u003e and fix issues by \u003ca href=\"https://github.com/stefannibrasil\"\u003e\u003ccode\u003e@​stefannibrasil\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3144\"\u003efaker-ruby/faker#3144\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edeps: bump rubocop version to \u003ccode\u003ev1.81.7\u003c/code\u003e by \u003ca href=\"https://github.com/thdaraujo\"\u003e\u003ccode\u003e@​thdaraujo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3143\"\u003efaker-ruby/faker#3143\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/Leenday\"\u003e\u003ccode\u003e@​Leenday\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3099\"\u003efaker-ruby/faker#3099\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/AhmedHisham552\"\u003e\u003ccode\u003e@​AhmedHisham552\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3118\"\u003efaker-ruby/faker#3118\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/smorttey\"\u003e\u003ccode\u003e@​smorttey\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3106\"\u003efaker-ruby/faker#3106\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/neco-nico\"\u003e\u003ccode\u003e@​neco-nico\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3110\"\u003efaker-ruby/faker#3110\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HassanAkbar\"\u003e\u003ccode\u003e@​HassanAkbar\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3111\"\u003efaker-ruby/faker#3111\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ramzieus\"\u003e\u003ccode\u003e@​ramzieus\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3130\"\u003efaker-ruby/faker#3130\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/luke-hill\"\u003e\u003ccode\u003e@​luke-hill\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3136\"\u003efaker-ruby/faker#3136\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/SleekMutt\"\u003e\u003ccode\u003e@​SleekMutt\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3129\"\u003efaker-ruby/faker#3129\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/stefanjcollier\"\u003e\u003ccode\u003e@​stefanjcollier\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3032\"\u003efaker-ruby/faker#3032\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/faker-ruby/faker/blob/main/CHANGELOG.md\"\u003efaker's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/faker-ruby/faker/tree/v3.5.3\"\u003ev3.5.3\u003c/a\u003e (2025-12-02)\u003c/h2\u003e\n\u003cp\u003eWishing you a cozy and calm Holiday season ☃️\u003c/p\u003e\n\u003cp\u003eThis version adds and improves some locales, fixes some bugs, and deprecates some generators.\u003c/p\u003e\n\u003cp\u003eThanks to all contributors!\u003c/p\u003e\n\u003ch3\u003eDeprecated generators\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRefactor: move \u003ccode\u003eFaker::BossaNova\u003c/code\u003e under \u003ccode\u003eFaker::Music::BossaNova\u003c/code\u003e by \u003ca href=\"https://github.com/thdaraujo\"\u003e\u003ccode\u003e@​thdaraujo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3140\"\u003efaker-ruby/faker#3140\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDeprecate \u003ccode\u003eFaker::Twitter\u003c/code\u003e in favor of \u003ccode\u003eFaker::X\u003c/code\u003e and update attributes by \u003ca href=\"https://github.com/stefannibrasil\"\u003e\u003ccode\u003e@​stefannibrasil\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3138\"\u003efaker-ruby/faker#3138\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements \u0026amp; Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove duplicate entry \u003ccode\u003eamateur radio\u003c/code\u003e from \u003ccode\u003elocales/en/hobby.yml\u003c/code\u003e by \u003ca href=\"https://github.com/Leenday\"\u003e\u003ccode\u003e@​Leenday\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3099\"\u003efaker-ruby/faker#3099\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix \u003ca href=\"https://redirect.github.com/faker-ruby/faker/issues/3114\"\u003e#3114\u003c/a\u003e: prevent scientific notation when generating bank account number by \u003ca href=\"https://github.com/AhmedHisham552\"\u003e\u003ccode\u003e@​AhmedHisham552\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3118\"\u003efaker-ruby/faker#3118\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix: typos in locales for \u003ccode\u003eoverwatch.yml\u003c/code\u003e, \u003ccode\u003erajnikanth.yml\u003c/code\u003e and \u003ccode\u003estreet_fighter.ym\u003c/code\u003e by \u003ca href=\"https://github.com/smorttey\"\u003e\u003ccode\u003e@​smorttey\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3106\"\u003efaker-ruby/faker#3106\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eArtist\u003c/code\u003e translations for the japanese locale by \u003ca href=\"https://github.com/neco-nico\"\u003e\u003ccode\u003e@​neco-nico\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3110\"\u003efaker-ruby/faker#3110\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003ecountry_code\u003c/code\u003e to Estonia locale (\u003ccode\u003elocales/ee.yml\u003c/code\u003e) by \u003ca href=\"https://github.com/HassanAkbar\"\u003e\u003ccode\u003e@​HassanAkbar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3111\"\u003efaker-ruby/faker#3111\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReformat Arabic locale (\u003ccode\u003elocales/ar.yml\u003c/code\u003e) by \u003ca href=\"https://github.com/ramzieus\"\u003e\u003ccode\u003e@​ramzieus\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3130\"\u003efaker-ruby/faker#3130\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRefactor: Improve UK Phone number false failure hit-rate by \u003ca href=\"https://github.com/luke-hill\"\u003e\u003ccode\u003e@​luke-hill\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3136\"\u003efaker-ruby/faker#3136\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprovements and fixes for Elder Scrolls locale (\u003ccode\u003eelder_scrolls.yml\u003c/code\u003e) by \u003ca href=\"https://github.com/SleekMutt\"\u003e\u003ccode\u003e@​SleekMutt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3129\"\u003efaker-ruby/faker#3129\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd en-GB ID Numbers (aka National Insurance Numbers) by \u003ca href=\"https://github.com/stefanjcollier\"\u003e\u003ccode\u003e@​stefanjcollier\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3032\"\u003efaker-ruby/faker#3032\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate ukrainian city locales to the modern ones by \u003ca href=\"https://github.com/SleekMutt\"\u003e\u003ccode\u003e@​SleekMutt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3127\"\u003efaker-ruby/faker#3127\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRevamp the docs to make them easier to find by \u003ca href=\"https://github.com/stefannibrasil\"\u003e\u003ccode\u003e@​stefannibrasil\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3151\"\u003efaker-ruby/faker#3151\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003etest: fix flaky test on \u003ccode\u003eFaker::IdNumber\u003c/code\u003e by \u003ca href=\"https://github.com/thdaraujo\"\u003e\u003ccode\u003e@​thdaraujo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3126\"\u003efaker-ruby/faker#3126\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove minitest dependency on i18n reload test by \u003ca href=\"https://github.com/stefannibrasil\"\u003e\u003ccode\u003e@​stefannibrasil\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3149\"\u003efaker-ruby/faker#3149\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove unused release workflow by \u003ca href=\"https://github.com/stefannibrasil\"\u003e\u003ccode\u003e@​stefannibrasil\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3133\"\u003efaker-ruby/faker#3133\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eUpdate local dependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBump benchmark from 0.4.1 to 0.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/faker-ruby/faker/pull/3122\"\u003efaker-ruby/faker#3122\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump rake from 13.3.0 to 13.3.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/faker-ruby/faker/pull/3124\"\u003efaker-ruby/faker#3124\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump test-unit from 3.7.0 to 3.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/faker-ruby/faker/pull/3128\"\u003efaker-ruby/faker#3128\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump rubocop-minitest from 0.38.1 to 0.38.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/faker-ruby/faker/pull/3116\"\u003efaker-ruby/faker#3116\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edeps: bump dependencies by \u003ca href=\"https://github.com/thdaraujo\"\u003e\u003ccode\u003e@​thdaraujo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3141\"\u003efaker-ruby/faker#3141\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edeps: bump Minitest version to \u003ccode\u003ev5.26.1\u003c/code\u003e and fix issues by \u003ca href=\"https://github.com/stefannibrasil\"\u003e\u003ccode\u003e@​stefannibrasil\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3144\"\u003efaker-ruby/faker#3144\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edeps: bump rubocop version to \u003ccode\u003ev1.81.7\u003c/code\u003e by \u003ca href=\"https://github.com/thdaraujo\"\u003e\u003ccode\u003e@​thdaraujo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3143\"\u003efaker-ruby/faker#3143\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNew Contributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Leenday\"\u003e\u003ccode\u003e@​Leenday\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3099\"\u003efaker-ruby/faker#3099\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/AhmedHisham552\"\u003e\u003ccode\u003e@​AhmedHisham552\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3118\"\u003efaker-ruby/faker#3118\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/smorttey\"\u003e\u003ccode\u003e@​smorttey\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3106\"\u003efaker-ruby/faker#3106\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/neco-nico\"\u003e\u003ccode\u003e@​neco-nico\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3110\"\u003efaker-ruby/faker#3110\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HassanAkbar\"\u003e\u003ccode\u003e@​HassanAkbar\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3111\"\u003efaker-ruby/faker#3111\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ramzieus\"\u003e\u003ccode\u003e@​ramzieus\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3130\"\u003efaker-ruby/faker#3130\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/luke-hill\"\u003e\u003ccode\u003e@​luke-hill\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3136\"\u003efaker-ruby/faker#3136\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/SleekMutt\"\u003e\u003ccode\u003e@​SleekMutt\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3129\"\u003efaker-ruby/faker#3129\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/stefanjcollier\"\u003e\u003ccode\u003e@​stefanjcollier\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3032\"\u003efaker-ruby/faker#3032\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/faker-ruby/faker/commit/a4d5e503edda970fc085e942018ee235622bfb11\"\u003e\u003ccode\u003ea4d5e50\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/faker-ruby/faker/issues/3152\"\u003e#3152\u003c/a\u003e from faker-ruby/bump-faker-to-v3.5.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/faker-ruby/faker/commit/bf8ca840b0f6904c5d4716399d0635c3af271ef6\"\u003e\u003ccode\u003ebf8ca84\u003c/code\u003e\u003c/a\u003e Bump faker to v3.5.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/faker-ruby/faker/commit/7dbacc0d95150d967f5b3cfc960f46e2c5f1afe6\"\u003e\u003ccode\u003e7dbacc0\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/faker-ruby/faker/issues/3151\"\u003e#3151\u003c/a\u003e from faker-ruby/sb-3150-revamp-docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/faker-ruby/faker/commit/de6e845c44266d0ea481f3a0a47379aeb138fc6f\"\u003e\u003ccode\u003ede6e845\u003c/code\u003e\u003c/a\u003e Update GENERATORS.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/faker-ruby/faker/commit/71e00e7dc465b8a9a5567f8f44b42dd33faac0eb\"\u003e\u003ccode\u003e71e00e7\u003c/code\u003e\u003c/a\u003e Update GENERATORS.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/faker-ruby/faker/commit/c2dafd83c9b79626557b249028f78c302ae8528d\"\u003e\u003ccode\u003ec2dafd8\u003c/code\u003e\u003c/a\u003e Update GENERATORS.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/faker-ruby/faker/commit/1c18dfdb940a1cfff9d1664b9faeb89a977a0552\"\u003e\u003ccode\u003e1c18dfd\u003c/code\u003e\u003c/a\u003e Update GENERATORS.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/faker-ruby/faker/commit/0d85e813020ce3beff112e6e94633fc9618c44cf\"\u003e\u003ccode\u003e0d85...\n\n_Description has been truncated_","html_url":"https://github.com/ministryofjustice/hmcts-common-platform-mock-api/pull/1024","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/ministryofjustice%2Fhmcts-common-platform-mock-api/issues/1024","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1024/packages"},{"uuid":"3731224269","node_id":"PR_kwDOPvEE5s6490Pb","number":55,"state":"closed","title":"Bump the production-dependencies group across 1 directory with 53 updates","user":"dependabot[bot]","labels":["dependencies","ruby"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2025-12-24T16:21:16.000Z","author_association":null,"state_reason":null,"created_at":"2025-12-15T16:31:32.000Z","updated_at":"2025-12-24T16:21:18.000Z","time_to_close":776984,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"production-dependencies","update_count":53,"packages":[{"name":"acme-client","old_version":"2.0.25","new_version":"2.0.29","repository_url":"https://github.com/unixcharles/acme-client"},{"name":"aws-sdk-ec2","old_version":"1.512.0","new_version":"1.584.0","repository_url":"https://github.com/aws/aws-sdk-ruby"},{"name":"aws-sdk-iam","old_version":"1.123.0","new_version":"1.137.0","repository_url":"https://github.com/aws/aws-sdk-ruby"},{"name":"aws-sdk-s3","old_version":"1.182.0","new_version":"1.206.0","repository_url":"https://github.com/aws/aws-sdk-ruby"},{"name":"bcrypt_pbkdf","old_version":"1.1.1","new_version":"1.1.2","repository_url":"https://github.com/net-ssh/bcrypt_pbkdf-ruby"},{"name":"committee","old_version":"5.5.5","new_version":"5.6.1","repository_url":"https://github.com/interagent/committee"},{"name":"countries","old_version":"7.0.0","new_version":"8.0.4","repository_url":"https://github.com/countries/countries"},{"name":"excon","old_version":"1.3.0","new_version":"1.3.2","repository_url":"https://github.com/excon/excon"},{"name":"forme","old_version":"2.6.0","new_version":"2.7.0","repository_url":"https://github.com/jeremyevans/forme"},{"name":"jwt","old_version":"2.10.2","new_version":"3.1.2","repository_url":"https://github.com/jwt/ruby-jwt"},{"name":"mail","old_version":"2.8.1","new_version":"2.9.0","repository_url":"https://github.com/mikel/mail"},{"name":"nokogiri","old_version":"1.18.9","new_version":"1.18.10","repository_url":"https://github.com/sparklemotion/nokogiri"},{"name":"octokit","old_version":"9.2.0","new_version":"10.0.0","repository_url":"https://github.com/octokit/octokit.rb"},{"name":"puma","old_version":"7.0.0","new_version":"7.1.0","repository_url":"https://github.com/puma/puma"},{"name":"rake","old_version":"13.3.0","new_version":"13.3.1","repository_url":"https://github.com/ruby/rake"},{"name":"reline","old_version":"0.6.2","new_version":"0.6.3","repository_url":"https://github.com/ruby/reline"},{"name":"rodauth","old_version":"2.40.0","new_version":"2.41.0","repository_url":"https://github.com/jeremyevans/rodauth"},{"name":"rqrcode","old_version":"3.1.0","new_version":"3.1.1","repository_url":"https://github.com/whomwah/rqrcode"},{"name":"sequel","old_version":"5.96.0","new_version":"5.99.0","repository_url":"https://github.com/jeremyevans/sequel"},{"name":"sequel_pg","old_version":"1.17.2","new_version":"1.18.0","repository_url":"https://github.com/jeremyevans/sequel_pg"},{"name":"stripe","old_version":"12.6.0","new_version":"18.0.1","repository_url":"https://github.com/stripe/stripe-ruby"},{"name":"oauth2","old_version":"2.0.12","new_version":"2.0.18","repository_url":"https://github.com/ruby-oauth/oauth2"},{"name":"omniauth","old_version":"2.1.3","new_version":"2.1.4","repository_url":"https://github.com/omniauth/omniauth"},{"name":"omniauth-oauth2","old_version":"1.8.0","new_version":"1.9.0","repository_url":"https://github.com/omniauth/omniauth-oauth2"},{"name":"openssl","old_version":"3.3.0","new_version":"4.0.0","repository_url":"https://github.com/ruby/openssl"},{"name":"optparse","old_version":"0.6.0","new_version":"0.8.1","repository_url":"https://github.com/ruby/optparse"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps the production-dependencies group with 26 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [acme-client](https://github.com/unixcharles/acme-client) | `2.0.25` | `2.0.29` |\n| [aws-sdk-ec2](https://github.com/aws/aws-sdk-ruby) | `1.512.0` | `1.584.0` |\n| [aws-sdk-iam](https://github.com/aws/aws-sdk-ruby) | `1.123.0` | `1.137.0` |\n| [aws-sdk-s3](https://github.com/aws/aws-sdk-ruby) | `1.182.0` | `1.206.0` |\n| [bcrypt_pbkdf](https://github.com/net-ssh/bcrypt_pbkdf-ruby) | `1.1.1` | `1.1.2` |\n| [committee](https://github.com/interagent/committee) | `5.5.5` | `5.6.1` |\n| [countries](https://github.com/countries/countries) | `7.0.0` | `8.0.4` |\n| [excon](https://github.com/excon/excon) | `1.3.0` | `1.3.2` |\n| [forme](https://github.com/jeremyevans/forme) | `2.6.0` | `2.7.0` |\n| [jwt](https://github.com/jwt/ruby-jwt) | `2.10.2` | `3.1.2` |\n| [mail](https://github.com/mikel/mail) | `2.8.1` | `2.9.0` |\n| [nokogiri](https://github.com/sparklemotion/nokogiri) | `1.18.9` | `1.18.10` |\n| [octokit](https://github.com/octokit/octokit.rb) | `9.2.0` | `10.0.0` |\n| [puma](https://github.com/puma/puma) | `7.0.0` | `7.1.0` |\n| [rake](https://github.com/ruby/rake) | `13.3.0` | `13.3.1` |\n| [reline](https://github.com/ruby/reline) | `0.6.2` | `0.6.3` |\n| [rodauth](https://github.com/jeremyevans/rodauth) | `2.40.0` | `2.41.0` |\n| [rqrcode](https://github.com/whomwah/rqrcode) | `3.1.0` | `3.1.1` |\n| [sequel](https://github.com/jeremyevans/sequel) | `5.96.0` | `5.99.0` |\n| [sequel_pg](https://github.com/jeremyevans/sequel_pg) | `1.17.2` | `1.18.0` |\n| [stripe](https://github.com/stripe/stripe-ruby) | `12.6.0` | `18.0.1` |\n| [oauth2](https://github.com/ruby-oauth/oauth2) | `2.0.12` | `2.0.18` |\n| [omniauth](https://github.com/omniauth/omniauth) | `2.1.3` | `2.1.4` |\n| [omniauth-oauth2](https://github.com/omniauth/omniauth-oauth2) | `1.8.0` | `1.9.0` |\n| [openssl](https://github.com/ruby/openssl) | `3.3.0` | `4.0.0` |\n| [optparse](https://github.com/ruby/optparse) | `0.6.0` | `0.8.1` |\n\n\nUpdates `acme-client` from 2.0.25 to 2.0.29\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/unixcharles/acme-client/blob/master/CHANGELOG.md\"\u003eacme-client's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ccode\u003e2.0.29\u003c/code\u003e\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eIP support to the CertificateRequest helper\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ccode\u003e2.0.28\u003c/code\u003e\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMake \u003ca href=\"https://datatracker.ietf.org/doc/html/rfc8555/#section-6.6\"\u003eRetry-After\u003c/a\u003e accessible from RateLimited#retry_after exceptions\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ccode\u003e2.0.27\u003c/code\u003e\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Renewal Information (ARI) (RFC 9773)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ccode\u003e2.0.26\u003c/code\u003e\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for dns-account-01 challenge (RFC draft-ietf-acme-dns-account-label-01)\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/unixcharles/acme-client/commit/a60b7b131fcaea4bab124b42a79bd8c6abd149a2\"\u003e\u003ccode\u003ea60b7b1\u003c/code\u003e\u003c/a\u003e bump to 2.0.29\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unixcharles/acme-client/commit/559889f21df6e765152687ffd6a973b61f7befa3\"\u003e\u003ccode\u003e559889f\u003c/code\u003e\u003c/a\u003e Bump to 2.0.28\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unixcharles/acme-client/commit/5e15c9f17d21eef85d01190344aa462191a2b486\"\u003e\u003ccode\u003e5e15c9f\u003c/code\u003e\u003c/a\u003e Add retry_after property to RateLimited client error (\u003ca href=\"https://redirect.github.com/unixcharles/acme-client/issues/260\"\u003e#260\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unixcharles/acme-client/commit/ff515cab615d682cbaaada9ac6ab52dc160e4b01\"\u003e\u003ccode\u003eff515ca\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 5 to 6 (\u003ca href=\"https://redirect.github.com/unixcharles/acme-client/issues/259\"\u003e#259\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unixcharles/acme-client/commit/443a45d2266463b91b5f1935c16139b6021f3c99\"\u003e\u003ccode\u003e443a45d\u003c/code\u003e\u003c/a\u003e Bump to 2.0.27\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unixcharles/acme-client/commit/d32e7f92ad6d542d49b3ed8907e349c109013512\"\u003e\u003ccode\u003ed32e7f9\u003c/code\u003e\u003c/a\u003e Add Renewal Information (ARI) support (RFC 9773) (\u003ca href=\"https://redirect.github.com/unixcharles/acme-client/issues/257\"\u003e#257\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unixcharles/acme-client/commit/efdb724c45d3bca9272eef092d72eb3e346f3e9f\"\u003e\u003ccode\u003eefdb724\u003c/code\u003e\u003c/a\u003e Bump to 2.0.24\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unixcharles/acme-client/commit/c798d60e36acfc9399c07314abdff3af51f11abf\"\u003e\u003ccode\u003ec798d60\u003c/code\u003e\u003c/a\u003e Add dns-account-01 challenge support (\u003ca href=\"https://redirect.github.com/unixcharles/acme-client/issues/256\"\u003e#256\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unixcharles/acme-client/commit/2fd54c770f31c994391e8116e48dceab5316901b\"\u003e\u003ccode\u003e2fd54c7\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 4 to 5 (\u003ca href=\"https://redirect.github.com/unixcharles/acme-client/issues/254\"\u003e#254\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/unixcharles/acme-client/compare/v2.0.25...v2.0.29\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `aws-sdk-ec2` from 1.512.0 to 1.584.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/aws/aws-sdk-ruby/blob/version-3/gems/aws-sdk-ec2/CHANGELOG.md\"\u003eaws-sdk-ec2's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.584.0 (2025-12-08)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Amazon EC2 P6-B300 instances provide 8x NVIDIA Blackwell Ultra GPUs with 2.1 TB high bandwidth GPU memory, 6.4 Tbps EFA networking, 300 Gbps dedicated ENA throughput, and 4 TB of system memory. Amazon EC2 C8a instances are powered by 5th Gen AMD EPYC processors with a maximum frequency of 4.5 GHz.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.583.0 (2025-11-25)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - This release adds support to view Network firewall proxy appliances attached to an existing NAT Gateway via DescribeNatGateways API NatGatewayAttachedAppliance structure.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.582.0 (2025-11-21)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - This release adds a new capability to create and manage interruptible EC2 Capacity Reservations.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.581.0 (2025-11-20)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - This release adds support for multiple features including: VPC Encryption Control for the status of traffic flow; S2S VPN BGP Logging; TGW Flexible Costs; IPAM allocation of static IPs from IPAM pools to CF Anycast IP lists used on CloudFront distribution; and EBS Volume Integration with Recycle Bin\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.580.0 (2025-11-19)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - This launch adds support for two new features: Regional NAT Gateway and IPAM Policies. IPAM policies offers customers central control for public IPv4 assignments across AWS services. Regional NAT is a single NAT Gateway that automatically expands across AZs in a VPC to maintain high availability.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.579.0 (2025-11-18)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - AWS Site-to-Site VPN now supports VPN Concentrator, a new feature that enables customers to connect multiple low-bandwidth sites connections through a single attachment, simplifying multi-site connectivity for distributed enterprises.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.578.0 (2025-11-17)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - This release introduces new APIs: DescribeInstanceSqlHaStates, DescribeInstanceSqlHaHistoryStates, EnableInstanceSqlHaStandbyDetections and DisableInstanceSqlHaStandbyDetections on Amazon EC2, allowing customers to enroll and monitor SQL Server licensing fee savings for their SQL HA EC2 instances.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.577.0 (2025-11-14)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - This release adds AvailabilityZoneId support for CreateInstanceConnectEndpoint, DescribeInstanceConnectEndpoints, and DeleteInstanceConnectEndpoint APIs.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.576.0 (2025-11-13)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Added support for new accelerator types (\u0026quot;media\u0026quot;) and accelerator names (\u0026quot;L4\u0026quot;, \u0026quot;L40s\u0026quot;, \u0026quot;GAUDI_HL_205\u0026quot;, \u0026quot;INFERENTIA2\u0026quot;, \u0026quot;TRAINIUM\u0026quot;, \u0026quot;TRAINIUM2\u0026quot;, \u0026quot;U30\u0026quot;) in Attributes Based Instance Type Selection for launched instance types.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.575.0 (2025-11-12)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Adds complete AMI ancestry tracing from immediate parent through each preceding generation back to the root AMI\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\u003eSee full diff in \u003ca href=\"https://github.com/aws/aws-sdk-ruby/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `aws-sdk-iam` from 1.123.0 to 1.137.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/aws/aws-sdk-ruby/blob/version-3/gems/aws-sdk-iam/CHANGELOG.md\"\u003eaws-sdk-iam's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.137.0 (2025-12-05)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Adding the ExpirationTime attribute to the delegation request resource.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.136.0 (2025-11-21)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Code Generated Changes, see \u003ccode\u003e./build_tools\u003c/code\u003e or \u003ccode\u003eaws-sdk-core\u003c/code\u003e's CHANGELOG.md for details.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.135.0 (2025-11-19)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Added the EnableOutboundWebIdentityFederation, DisableOutboundWebIdentityFederation and GetOutboundWebIdentityFederationInfo APIs for the IAM outbound federation feature.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.134.0 (2025-11-18)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Added the AssociateDelegationRequest, GetDelegationRequest, AcceptDelegationRequest, RejectDelegatonRequest, ListDelegationRequests, UpdateDelegationRequest, SendDelegationToken and GetHumanReadableSummary APIs for the IAM temporary delegation feature.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.133.0 (2025-11-10)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Added CreateDelegationRequest API, which is not available for general use at this time.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.132.0 (2025-10-27)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Fixed missing SummaryMap keys in GetAccountSummary response that were being filtered out during deserialization in AWS Java SDK v2\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.131.0 (2025-10-22)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Updated OIDC and SAML apis to reject multiple simultaneous requests to change a unique object.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.130.0 (2025-10-21)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Code Generated Changes, see \u003ccode\u003e./build_tools\u003c/code\u003e or \u003ccode\u003eaws-sdk-core\u003c/code\u003e's CHANGELOG.md for details.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.129.0 (2025-08-26)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Code Generated Changes, see \u003ccode\u003e./build_tools\u003c/code\u003e or \u003ccode\u003eaws-sdk-core\u003c/code\u003e's CHANGELOG.md for details.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.128.0 (2025-08-20)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Remove incorrect endpoint tests\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\u003eSee full diff in \u003ca href=\"https://github.com/aws/aws-sdk-ruby/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `aws-sdk-s3` from 1.182.0 to 1.206.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/aws/aws-sdk-ruby/blob/version-3/gems/aws-sdk-s3/CHANGELOG.md\"\u003eaws-sdk-s3's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.206.0 (2025-12-02)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - New S3 Storage Class FSX_ONTAP\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.205.0 (2025-11-20)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Enable / Disable ABAC on a general purpose bucket.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.204.0 (2025-11-19)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Adds support for blocking SSE-C writes to general purpose buckets.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.203.1 (2025-11-10)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eIssue - Deprecated \u003ccode\u003e:checksum_mode\u003c/code\u003e parameter in \u003ccode\u003eFileDownloader#download\u003c/code\u003e. When set to \u0026quot;DISABLED\u0026quot;, a deprecation warning is issued and the parameter is ignored. Use \u003ccode\u003e:response_checksum_validation\u003c/code\u003e on the S3 client instead to control checksum validation behavior.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.203.0 (2025-11-05)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Launch IPv6 dual-stack support for S3 Express\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.202.0 (2025-10-28)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Amazon Simple Storage Service / Features: Add conditional writes in CopyObject on destination key to prevent unintended object modifications.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.201.0 (2025-10-21)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFeature - Code Generated Changes, see \u003ccode\u003e./build_tools\u003c/code\u003e or \u003ccode\u003eaws-sdk-core\u003c/code\u003e's CHANGELOG.md for details.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eIssue - Fix multipart upload to respect \u003ccode\u003erequest_checksum_calculation\u003c/code\u003e \u003ccode\u003ewhen_required\u003c/code\u003e mode.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.200.0 (2025-10-15)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFeature - Add lightweight thread pool executor for multipart \u003ccode\u003edownload_file\u003c/code\u003e, \u003ccode\u003eupload_file\u003c/code\u003e and \u003ccode\u003eupload_stream\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFeature - Add custom executor support for \u003ccode\u003eAws::S3::TransferManager\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.199.1 (2025-09-25)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eIssue - Update \u003ccode\u003eTransferManager#download_file\u003c/code\u003e and \u003ccode\u003eObject#download_file\u003c/code\u003e documentation regarding temporary file usage and failure handling for different destination types.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e1.199.0 (2025-09-08)\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\u003eSee full diff in \u003ca href=\"https://github.com/aws/aws-sdk-ruby/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `bcrypt_pbkdf` from 1.1.1 to 1.1.2\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/net-ssh/bcrypt_pbkdf-ruby/commit/e52088f9a28e34321a9b359f30d472097f1d7f01\"\u003e\u003ccode\u003ee52088f\u003c/code\u003e\u003c/a\u003e chore: bump version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/net-ssh/bcrypt_pbkdf-ruby/commit/26919975ca7b77425609387955d31784381c3af6\"\u003e\u003ccode\u003e2691997\u003c/code\u003e\u003c/a\u003e added benchmark gem to gemspec\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/net-ssh/bcrypt_pbkdf-ruby/commit/fc2498597f6f556979ccc8ee58acce10e39ff09a\"\u003e\u003ccode\u003efc24985\u003c/code\u003e\u003c/a\u003e chore: bump version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/net-ssh/bcrypt_pbkdf-ruby/commit/25919bbc4a148ba2031e6c52ec777ded97560df4\"\u003e\u003ccode\u003e25919bb\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/net-ssh/bcrypt_pbkdf-ruby/issues/26\"\u003e#26\u003c/a\u003e from brendon/Ruby-3.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/net-ssh/bcrypt_pbkdf-ruby/commit/77d005a0be09f848cf8838d09e611290b027a791\"\u003e\u003ccode\u003e77d005a\u003c/code\u003e\u003c/a\u003e Add Ruby 3.4 support\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/net-ssh/bcrypt_pbkdf-ruby/compare/v1.1.1...v1.1.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `committee` from 5.5.5 to 5.6.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/interagent/committee/blob/master/CHANGELOG.md\"\u003ecommittee's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e5.6.1 - 2025-10-30\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix content type parsing for complex types \u003ca href=\"https://redirect.github.com/interagent/committee/issues/455\"\u003e#455\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e5.6.0 - 2025-10-01\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ebump actions/checkout \u003ca href=\"https://redirect.github.com/interagent/committee/issues/450\"\u003e#450\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ereplace require with plugins in rubocop config \u003ca href=\"https://redirect.github.com/interagent/committee/issues/451\"\u003e#451\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ereturn to lenient status parsing for hyperschema \u003ca href=\"https://redirect.github.com/interagent/committee/issues/453\"\u003e#453\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/interagent/committee/commit/5866ca8cbe29479a5749b0e505b7ef7c596a80b6\"\u003e\u003ccode\u003e5866ca8\u003c/code\u003e\u003c/a\u003e v5.6.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/interagent/committee/commit/126127134d52bea958bfc7c86a56f6070d5c20cd\"\u003e\u003ccode\u003e1261271\u003c/code\u003e\u003c/a\u003e fix content type split/parsing, using racks implementation (\u003ca href=\"https://redirect.github.com/interagent/committee/issues/455\"\u003e#455\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/interagent/committee/commit/f5f627b9540710f6525657d9543851c6be094ebf\"\u003e\u003ccode\u003ef5f627b\u003c/code\u003e\u003c/a\u003e v5.6.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/interagent/committee/commit/f08b2ba5b0c6265c2a36204e30ea4069335ce87b\"\u003e\u003ccode\u003ef08b2ba\u003c/code\u003e\u003c/a\u003e feat(schema-validator): return to lenient status parsing for hyperschema (\u003ca href=\"https://redirect.github.com/interagent/committee/issues/453\"\u003e#453\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/interagent/committee/commit/ec516b4fa674709809a75a3500631ae943919b48\"\u003e\u003ccode\u003eec516b4\u003c/code\u003e\u003c/a\u003e Replace 'require' with 'plugins' in .rubocop.yml to configure RuboCop plugins...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/interagent/committee/commit/d615a07bae8e256883c957f72ac1e1e90499874e\"\u003e\u003ccode\u003ed615a07\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 4 to 5 (\u003ca href=\"https://redirect.github.com/interagent/committee/issues/450\"\u003e#450\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/interagent/committee/compare/v5.5.5...v5.6.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `countries` from 7.0.0 to 8.0.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/countries/countries/releases\"\u003ecountries's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.0.4\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd the old iso_short_names as unofficial_names. Fixes \u003ca href=\"https://redirect.github.com/countries/countries/issues/923\"\u003e#923\u003c/a\u003e by \u003ca href=\"https://github.com/pmor\"\u003e\u003ccode\u003e@​pmor\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/926\"\u003ecountries/countries#926\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRevert removal of empty keys from country data files. by \u003ca href=\"https://github.com/pmor\"\u003e\u003ccode\u003e@​pmor\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/927\"\u003ecountries/countries#927\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/countries/countries/compare/v8.0.3...v8.0.4\"\u003ehttps://github.com/countries/countries/compare/v8.0.3...v8.0.4\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e8.0.3\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: change french name of France subdivisions by \u003ca href=\"https://github.com/Bertrand-Bichat\"\u003e\u003ccode\u003e@​Bertrand-Bichat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/919\"\u003ecountries/countries#919\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: add guard clause to check if matches is nil by \u003ca href=\"https://github.com/ratheeshaditya\"\u003e\u003ccode\u003e@​ratheeshaditya\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/917\"\u003ecountries/countries#917\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate Estonia standard VAT from 22% to 24% (July 1st 2025 change)  by \u003ca href=\"https://github.com/jarthod\"\u003e\u003ccode\u003e@​jarthod\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/922\"\u003ecountries/countries#922\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/Bertrand-Bichat\"\u003e\u003ccode\u003e@​Bertrand-Bichat\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/countries/countries/pull/919\"\u003ecountries/countries#919\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ratheeshaditya\"\u003e\u003ccode\u003e@​ratheeshaditya\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/countries/countries/pull/917\"\u003ecountries/countries#917\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/countries/countries/compare/v8.0.2...v8.0.3\"\u003ehttps://github.com/countries/countries/compare/v8.0.2...v8.0.3\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e8.0.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: iso short names by \u003ca href=\"https://github.com/sabify\"\u003e\u003ccode\u003e@​sabify\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/907\"\u003ecountries/countries#907\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix error when searching \u003ccode\u003eISO3166::Country[nil]\u003c/code\u003e. Fixes \u003ca href=\"https://redirect.github.com/countries/countries/issues/912\"\u003e#912\u003c/a\u003e by \u003ca href=\"https://github.com/pmor\"\u003e\u003ccode\u003e@​pmor\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/913\"\u003ecountries/countries#913\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/countries/countries/compare/v8.0.1...v8.0.2\"\u003ehttps://github.com/countries/countries/compare/v8.0.1...v8.0.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e8.0.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix error in collect_countries_with and update specs by \u003ca href=\"https://github.com/pmor\"\u003e\u003ccode\u003e@​pmor\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/911\"\u003ecountries/countries#911\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/countries/countries/compare/v8.0.0...v8.0.1\"\u003ehttps://github.com/countries/countries/compare/v8.0.0...v8.0.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev8.0.0\u003c/h2\u003e\n\u003ch1\u003eBreaking Changes\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eDrop support for Ruby 3.1 (EOL 2025-03-26) by \u003ca href=\"https://github.com/pmor\"\u003e\u003ccode\u003e@​pmor\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/909\"\u003ecountries/countries#909\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eExperiment with symbol-keyed translation hashes to reduce string allocations by \u003ca href=\"https://github.com/pmor\"\u003e\u003ccode\u003e@​pmor\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/884\"\u003ecountries/countries#884\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eThis is a potentially breaking change because some translation-related methods return the translation hashes, which now have symbol keys instead of string keys\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFind correct subdivision when searching for Washington by \u003ca href=\"https://github.com/hieuk09\"\u003e\u003ccode\u003e@​hieuk09\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/900\"\u003ecountries/countries#900\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eThis is a potentially breaking change because the behaviour of \u003ccode\u003efind_subdivision_by_name\u003c/code\u003e has changed to fix \u003ca href=\"https://redirect.github.com/countries/countries/issues/888\"\u003ecountries/countries#888\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eupdate CR translations by \u003ca href=\"https://github.com/daviddinis\"\u003e\u003ccode\u003e@​daviddinis\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/892\"\u003ecountries/countries#892\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(data): DK \u003ccode\u003eaddress_format\u003c/code\u003e by \u003ca href=\"https://github.com/mroach\"\u003e\u003ccode\u003e@​mroach\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/890\"\u003ecountries/countries#890\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: the spec breakage in SK by \u003ca href=\"https://github.com/sabify\"\u003e\u003ccode\u003e@​sabify\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/893\"\u003ecountries/countries#893\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/countries/countries/blob/master/CHANGELOG.md\"\u003ecountries's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/countries/countries/releases/tag/v8.0.4\u0026#x27;\"\u003e8.0.4\u003c/a\u003e (2025/08/30 14:36 +00:00)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd the old iso_short_names as unofficial_names. Fixes \u003ca href=\"https://redirect.github.com/countries/countries/issues/923\"\u003e#923\u003c/a\u003e by \u003ca href=\"https://github.com/pmor\"\u003e\u003ccode\u003e@​pmor\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/926\"\u003ecountries/countries#926\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRevert removal of empty keys from country data files. by \u003ca href=\"https://github.com/pmor\"\u003e\u003ccode\u003e@​pmor\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/927\"\u003ecountries/countries#927\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/countries/countries/releases/tag/v8.0.3\u0026#x27;\"\u003e8.0.3\u003c/a\u003e (2025/07/11 14:25 +00:00)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: change french name of France subdivisions by \u003ca href=\"https://github.com/Bertrand-Bichat\"\u003e\u003ccode\u003e@​Bertrand-Bichat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/919\"\u003ecountries/countries#919\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: add guard clause to check if matches is nil by \u003ca href=\"https://github.com/ratheeshaditya\"\u003e\u003ccode\u003e@​ratheeshaditya\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/917\"\u003ecountries/countries#917\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate Estonia standard VAT from 22% to 24% (July 1st 2025 change)  by \u003ca href=\"https://github.com/jarthod\"\u003e\u003ccode\u003e@​jarthod\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/922\"\u003ecountries/countries#922\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/countries/countries/releases/tag/v8.0.2\u0026#x27;\"\u003e8.0.2\u003c/a\u003e (2025/06/01 13:30 +00:00)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: iso short names by \u003ca href=\"https://github.com/sabify\"\u003e\u003ccode\u003e@​sabify\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/907\"\u003ecountries/countries#907\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix error when searching \u003ccode\u003eISO3166::Country[nil]\u003c/code\u003e. Fixes \u003ca href=\"https://redirect.github.com/countries/countries/issues/912\"\u003e#912\u003c/a\u003e by \u003ca href=\"https://github.com/pmor\"\u003e\u003ccode\u003e@​pmor\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/913\"\u003ecountries/countries#913\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/countries/countries/releases/tag/v8.0.1\u0026#x27;\"\u003e8.0.1\u003c/a\u003e (2025/05/31 15:34 +00:00)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix error in collect_countries_with and update specs by \u003ca href=\"https://github.com/pmor\"\u003e\u003ccode\u003e@​pmor\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/911\"\u003ecountries/countries#911\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/countries/countries/releases/tag/v8.0.0\u0026#x27;\"\u003e8.0.0\u003c/a\u003e (2025/05/31 14:35 +00:00)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBreaking Changes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eDrop support for Ruby 3.1 (EOL 2025-03-26) by \u003ca href=\"https://github.com/pmor\"\u003e\u003ccode\u003e@​pmor\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/909\"\u003ecountries/countries#909\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eExperiment with symbol-keyed translation hashes to reduce string allocations by \u003ca href=\"https://github.com/pmor\"\u003e\u003ccode\u003e@​pmor\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/884\"\u003ecountries/countries#884\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eThis is a potentially breaking change because some translation-related methods return the translation hashes, which now have symbol keys instead of string keys\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFind correct subdivision when searching for Washington by \u003ca href=\"https://github.com/hieuk09\"\u003e\u003ccode\u003e@​hieuk09\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/900\"\u003ecountries/countries#900\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eThis is a potentially breaking change because the behaviour of \u003ccode\u003efind_subdivision_by_name\u003c/code\u003e has changed to fix \u003ca href=\"https://redirect.github.com/countries/countries/issues/888\"\u003ecountries/countries#888\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eWhat's Changed\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eupdate CR translations by \u003ca href=\"https://github.com/daviddinis\"\u003e\u003ccode\u003e@​daviddinis\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/892\"\u003ecountries/countries#892\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(data): DK \u003ccode\u003eaddress_format\u003c/code\u003e by \u003ca href=\"https://github.com/mroach\"\u003e\u003ccode\u003e@​mroach\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/890\"\u003ecountries/countries#890\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: the spec breakage in SK by \u003ca href=\"https://github.com/sabify\"\u003e\u003ccode\u003e@​sabify\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/893\"\u003ecountries/countries#893\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: currency code of Sierra Leone and Sao Tome and Principe by \u003ca href=\"https://github.com/sabify\"\u003e\u003ccode\u003e@​sabify\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/895\"\u003ecountries/countries#895\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: normalizing data files by \u003ca href=\"https://github.com/sabify\"\u003e\u003ccode\u003e@​sabify\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/894\"\u003ecountries/countries#894\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix Spanish translation of DZ (Algeria). Fixes \u003ca href=\"https://redirect.github.com/countries/countries/issues/889\"\u003e#889\u003c/a\u003e by \u003ca href=\"https://github.com/pmor\"\u003e\u003ccode\u003e@​pmor\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/896\"\u003ecountries/countries#896\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: currency of Curacao and Saint Maarten by \u003ca href=\"https://github.com/sabify\"\u003e\u003ccode\u003e@​sabify\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/899\"\u003ecountries/countries#899\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix SG - Singapore country name in pt-BR by \u003ca href=\"https://github.com/stephannv\"\u003e\u003ccode\u003e@​stephannv\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/904\"\u003ecountries/countries#904\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCorrect ZA province name by \u003ca href=\"https://github.com/yenshirak\"\u003e\u003ccode\u003e@​yenshirak\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/906\"\u003ecountries/countries#906\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCleanup some reek issues by \u003ca href=\"https://github.com/pmor\"\u003e\u003ccode\u003e@​pmor\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/897\"\u003ecountries/countries#897\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/countries/countries/releases/tag/v7.1.1\u0026#x27;\"\u003e7.1.1\u003c/a\u003e (2025/02/08 18:07 +00:00)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eWhat's Changed\u003c/strong\u003e\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\u003eUpgrade guide\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/countries/countries/blob/master/UPGRADE.md\"\u003ecountries's upgrade guide\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eUpgrading to 4.2 and 5.x\u003c/h1\u003e\n\u003cp\u003eIn release 4.2 the \u003ccode\u003e#name\u003c/code\u003e attribute was deprecated in favour of \u003ccode\u003e#iso_short_name\u003c/code\u003e and we added the \u003ccode\u003e#iso_long_name\u003c/code\u003e attribute, to make it clear that these attributes use the ISO3166 names, and are not the \u0026quot;common names\u0026quot; most people might expect, eg: The ISO name for \u0026quot;United Kingdom\u0026quot; is \u0026quot;United Kingdom of Great Britain and Northern Ireland\u0026quot;, but if you're building a dropdown box to select a country, you're likely expecting to see \u0026quot;United Kingdom\u0026quot; instead.\u003c/p\u003e\n\u003cp\u003e\u0026quot;Common names\u0026quot; in English have been available in the translation data, via \u003ccode\u003e#translation('en')\u003c/code\u003e. As of release 4.2, a shortcut method has been added for simplicity, \u003ccode\u003e#common_name\u003c/code\u003e, which delegates to \u003ccode\u003e#translation('en')\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eFor additional clarity, the \u003ccode\u003e#names\u003c/code\u003e method, which was an alias to \u003ccode\u003e#unofficial_names\u003c/code\u003e has also been deprecated, together with the finder methods that use \u003ccode\u003ename\u003c/code\u003e or \u003ccode\u003enames\u003c/code\u003e attributes.\u003c/p\u003e\n\u003cp\u003eThe \u003ccode\u003e#name\u003c/code\u003e and \u003ccode\u003e#names\u003c/code\u003e attributes, and corresponding finder methods were removed in 5.0.\u003c/p\u003e\n\u003cp\u003eThe replacement finders added in 5.0 are:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e#find_by_name\u003c/code\u003e =\u0026gt; \u003ccode\u003e#find_by_any_name\u003c/code\u003e - Searches all the name attributes, same as before\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e#find_by_names\u003c/code\u003e =\u0026gt; \u003ccode\u003e#find_by_unofficial_names\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e#find_*_by_name\u003c/code\u003e =\u0026gt; \u003ccode\u003e#find_*_by_any_name\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e#find_*_by_names\u003c/code\u003e =\u0026gt; \u003ccode\u003e#find_*_by_unofficial_names\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eWith the addition of the new name attributes, there are now also the following finders:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e#find_by_common_name\u003c/code\u003e/\u003ccode\u003e#find_*_by_common_name\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e#find_by_iso_short_name\u003c/code\u003e/\u003ccode\u003e#find_*_by_iso_short_name\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e#find_by_iso_long_name\u003c/code\u003e/\u003ccode\u003e#find_*_by_iso_long_name\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFor translated country names, we use data originally sourced from \u003ca href=\"https://salsa.debian.org/iso-codes-team/iso-codes\"\u003epkg-isocodes\u003c/a\u003e, via the \u003ca href=\"https://github.com/grosser/i18n_data\"\u003ei18n_data\u003c/a\u003e gem, and these generally correspond to the expected \u0026quot;common names\u0026quot;. Some corrections have been applied to these localized names. The methods to access translated names have not been changed.\u003c/p\u003e\n\u003cp\u003eThe 5.0 release removed support for Ruby 2.5 (EOL 2021-03-01) and 2.6 (EOL 2022-03-31)\u003c/p\u003e\n\u003ch1\u003eUpgrading to 5.1\u003c/h1\u003e\n\u003cp\u003eIn release 5.1 a \u003ccode\u003etype\u003c/code\u003e attribute was added to the subdivisions object, to allow filtering the collection of subdivisions.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eCountry#subdivision_types\u003c/code\u003e returns a list of subdivision types for that country (lowercase, snake_cased)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e#subdivisions_of_types(types)\u003c/code\u003e accepts an array of subdivision types and returns the subdivisions for those types\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThe \u003ccode\u003e#states\u003c/code\u003e method is deprecated to avoid confusion, as this method is an alias to \u003ccode\u003e#subdivisions\u003c/code\u003e and returns all subdivisions, regardless of type.\u003c/p\u003e\n\u003cp\u003eTo get a list of \u003ccode\u003estate\u003c/code\u003e subdivisions (something that was not possible before 5.1), use \u003ccode\u003esubdivisions_of_types(['state'])\u003c/code\u003e\u003c/p\u003e\n\u003cp\u003ePlease note that the subdivision types are obtained from ISO data, and each country defines its own subdivision types, eg: \u003ccode\u003estate\u003c/code\u003e, \u003ccode\u003edistrict\u003c/code\u003e, \u003ccode\u003eregion\u003c/code\u003e, \u003ccode\u003emunicipality\u003c/code\u003e and many others types exist.\u003c/p\u003e\n\u003ch1\u003eUpgrading to 7.0\u003c/h1\u003e\n\u003cp\u003eIn release 7.0, the long-deprecated \u003ccode\u003e#states\u003c/code\u003e method has been removed. More information above (Upgrading to 5.1)\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/countries/countries/commit/08dd4da549357a260a6ae34e11024b780e030559\"\u003e\u003ccode\u003e08dd4da\u003c/code\u003e\u003c/a\u003e Bump version, update cache and CHANGELOG\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/countries/countries/commit/53a4a547a0fa14a64c9ef60359cc0a465b5f9f79\"\u003e\u003ccode\u003e53a4a54\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/countries/countries/issues/927\"\u003e#927\u003c/a\u003e from countries/fix/revert_normalization\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/countries/countries/commit/2aeae5831a7f82c99d05d2e183f3c94957874d07\"\u003e\u003ccode\u003e2aeae58\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/countries/countries/issues/926\"\u003e#926\u003c/a\u003e from countries/fix/short_name_fallback\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/countries/countries/commit/12a3284b28faa1eec8d29ef6737850172e2798a4\"\u003e\u003ccode\u003e12a3284\u003c/code\u003e\u003c/a\u003e Add/update specs. Update cache so the new specs run\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/countries/countries/commit/ee324a448dfcaa6e55f4d710c74f093ca3201640\"\u003e\u003ccode\u003eee324a4\u003c/code\u003e\u003c/a\u003e Revert removal of empty keys from country data files. Fixes \u003ca href=\"https://redirect.github.com/countries/countries/issues/925\"\u003e#925\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/countries/countries/commit/bd66a065b033b6e44416d29ce9ef472d731c3784\"\u003e\u003ccode\u003ebd66a06\u003c/code\u003e\u003c/a\u003e Add the old iso_short_names as unofficial_names. Fixes \u003ca href=\"https://redirect.github.com/countries/countries/issues/923\"\u003e#923\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/countries/countries/commit/ee77f0734faac4ce9e0444113527913a46edb378\"\u003e\u003ccode\u003eee77f07\u003c/code\u003e\u003c/a\u003e Move to Qlty coverage\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/countries/countries/commit/30c88454521961555ef7d26e715ba7f955409a30\"\u003e\u003ccode\u003e30c8845\u003c/code\u003e\u003c/a\u003e Update Gemfile.lock\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/countries/countries/commit/ffb6ee03bbcc7bf20990f9146d26fc2c8a19b419\"\u003e\u003ccode\u003effb6ee0\u003c/code\u003e\u003c/a\u003e Remove CodeClimate badge\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/countries/countries/commit/345f7ea19838f4f0b9354fba0f687efc45f6d79c\"\u003e\u003ccode\u003e345f7ea\u003c/code\u003e\u003c/a\u003e Disable code coverage until the action is updated (codeclimate -\u0026gt; qlty change)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/countries/countries/compare/v7.0.0...v8.0.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `excon` from 1.3.0 to 1.3.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/excon/excon/blob/master/changelog.txt\"\u003eexcon's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e1.3.2 2025-12-03\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eupdate bundled certs\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e1.3.1 2025-11-05\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eupdate bundled certs\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/excon/excon/commit/e94efe6637d9d99a66e8a39b52c0131c706432b7\"\u003e\u003ccode\u003ee94efe6\u003c/code\u003e\u003c/a\u003e v1.3.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/excon/excon/commit/7e858751ff850bafc4000fcca4f3f331c70c07bc\"\u003e\u003ccode\u003e7e85875\u003c/code\u003e\u003c/a\u003e update bundled certs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/excon/excon/commit/f076a7657782c518cbff2c1683309c2c106e6275\"\u003e\u003ccode\u003ef076a76\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 5 to 6 (\u003ca href=\"https://redirect.github.com/excon/excon/issues/893\"\u003e#893\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/excon/excon/commit/fbe4748d49ac87504ee8d3e7352da0de3485144c\"\u003e\u003ccode\u003efbe4748\u003c/code\u003e\u003c/a\u003e adjust ractor usage for Ruby 3.5+\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/excon/excon/commit/7900bec2e4f4916b0d8994e5e7f3b57ca10ddb68\"\u003e\u003ccode\u003e7900bec\u003c/code\u003e\u003c/a\u003e v1.3.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/excon/excon/commit/a18079c2a55780951d61da712d68554217106ede\"\u003e\u003ccode\u003ea18079c\u003c/code\u003e\u003c/a\u003e update bundled certs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/excon/excon/commit/60ac6aa966172e6bd20264366e213943d891329c\"\u003e\u003ccode\u003e60ac6aa\u003c/code\u003e\u003c/a\u003e update bundled certs\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/excon/excon/compare/v1.3.0...v1.3.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `forme` from 2.6.0 to 2.7.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jeremyevans/forme/blob/master/CHANGELOG\"\u003eforme's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e=== 2.7.0 (2025-09-16)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eOmit closing / for void element tags (only used previously for xhtml compliance) (jeremyevans)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAllow emit: false option to work correctly for non-model template forms (jeremyevans)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSupport :label_attr as an option-specific option for radioset/checkboxset options (jeremyevans)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAllow Tag#initialize to accept a block, and treat it the same as the children argument (jeremyevans)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd Labeler::Explicit#id_for_input private method to allow subclasses to easily get the id (jeremyevans)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSupport Sequel::Model#forme_required_abbr_title to control the content of the title attribute for abbr tags (jeremyevans)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd Serializer#self_closing_tag? private method for easier overriding in subclasses (jeremyevans)\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/jeremyevans/forme/commit/388c069f9d5bfc0c9e93623f0b25dcd862150143\"\u003e\u003ccode\u003e388c069\u003c/code\u003e\u003c/a\u003e Bump version to 2.7.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jeremyevans/forme/commit/7ada3d690041111f50d27321ed332afaa21e0b8b\"\u003e\u003ccode\u003e7ada3d6\u003c/code\u003e\u003c/a\u003e Omit closing / for void element tags\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jeremyevans/forme/commit/6277bb1e7dc4b1876a3cae73fe3d6acadeb7617b\"\u003e\u003ccode\u003e6277bb1\u003c/code\u003e\u003c/a\u003e Allow emit: false option to work correctly for non-model template forms\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jeremyevans/forme/commit/fb176155e55819087ca66d11385f08c6b2ae362c\"\u003e\u003ccode\u003efb17615\u003c/code\u003e\u003c/a\u003e Use SimpleCov.add_filter block instead of string\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jeremyevans/forme/commit/f3f2206bdc3d137fba19cb759a38279f0b37c551\"\u003e\u003ccode\u003ef3f2206\u003c/code\u003e\u003c/a\u003e Add JRuby 10.0 to CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jeremyevans/forme/commit/62f43ca72a841eb271bde2d5d7355c65fdcf4f72\"\u003e\u003ccode\u003e62f43ca\u003c/code\u003e\u003c/a\u003e Switch rdoc task to normal rake task, avoid rdoc/task require\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jeremyevans/forme/commit/856e9abe62dde92b1efc1b06297ffaaec912bf27\"\u003e\u003ccode\u003e856e9ab\u003c/code\u003e\u003c/a\u003e Support :label_attr as an option-specific option for radioset/checkboxset opt...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jeremyevans/forme/commit/675c9dedd2d5675c344384f849bda46aa9da74d1\"\u003e\u003ccode\u003e675c9de\u003c/code\u003e\u003c/a\u003e Fix concurrent-ruby version in Ruby 2.5/2.6 CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jeremyevans/forme/commit/124fc548ddc5f32f2ccc3f5f0da200188883bfd8\"\u003e\u003ccode\u003e124fc54\u003c/code\u003e\u003c/a\u003e Allow Tag#initialize to accept a block, and treat it the same as the children...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jeremyevans/forme/commit/954bbeeb6bbd899fc0effa54326d401d9b19c5d8\"\u003e\u003ccode\u003e954bbee\u003c/code\u003e\u003c/a\u003e Add Labeler::Explicit#id_for_input private method to allow subclasses to easi...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jeremyevans/forme/compare/2.6.0...2.7.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `jwt` from 2.10.2 to 3.1.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jwt/ruby-jwt/blob/main/CHANGELOG.md\"\u003ejwt's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/jwt/ruby-jwt/tree/v3.1.2\"\u003ev3.1.2\u003c/a\u003e (2025-06-28)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/jwt/ruby-jwt/compare/v3.1.1...v3.1.2\"\u003eFull Changelog\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFixes and enhancements:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid using the same digest across calls in JWT::JWA::Ecdsa and JWT::JWA::Rsa \u003ca href=\"https://redirect.github.com/jwt/ruby-jwt/pull/697\"\u003e#697\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix signing with a EC JWK \u003ca href=\"https://redirect.github.com/jwt/ruby-jwt/pull/699\"\u003e#699\u003c/a\u003e (\u003ca href=\"https://github.com/anakinj\"\u003e\u003ccode\u003e@​anakinj\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/jwt/ruby-jwt/tree/v3.1.1\"\u003ev3.1.1\u003c/a\u003e (2025-06-24)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/jwt/ruby-jwt/compare/v3.1.0...v3.1.1\"\u003eFull Changelog\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFixes and enhancements:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRequire the algorithm to be provided when signing and verifying tokens using JWKs \u003ca href=\"https://redirect.github.com/jwt/ruby-jwt/pull/695\"\u003e#695\u003c/a\u003e (\u003ca href=\"https://github.com/anakinj\"\u003e\u003ccode\u003e@​anakinj\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/jwt/ruby-jwt/tree/v3.1.0\"\u003ev3.1.0\u003c/a\u003e (2025-06-23)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/jwt/ruby-jwt/compare/v3.0.0...v3.1.0\"\u003eFull Changelog\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFeatures:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for x5t header parameter for X.509 certificate thumbprint verification \u003ca href=\"https://redirect.github.com/jwt/ruby-jwt/pull/669\"\u003e#669\u003c/a\u003e (\u003ca href=\"https://github.com/hieuk09\"\u003e\u003ccode\u003e@​hieuk09\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRaise an error if the ECDSA signing or verification key is not an instance of \u003ccode\u003eOpenSSL::PKey::EC\u003c/code\u003e \u003ca href=\"https://redirect.github.com/jwt/ruby-jwt/pull/688\"\u003e#688\u003c/a\u003e (\u003ca href=\"https://github.com/anakinj\"\u003e\u003ccode\u003e@​anakinj\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow \u003ccode\u003eOpenSSL::PKey::EC::Point\u003c/code\u003e to be used as the verification key in ECDSA \u003ca href=\"https://redirect.github.com/jwt/ruby-jwt/pull/689\"\u003e#689\u003c/a\u003e (\u003ca href=\"https://github.com/anakinj\"\u003e\u003ccode\u003e@​anakinj\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRequire claims to have been verified before accessing the \u003ccode\u003eJWT::EncodedToken#payload\u003c/code\u003e \u003ca href=\"https://redirect.github.com/jwt/ruby-jwt/pull/690\"\u003e#690\u003c/a\u003e (\u003ca href=\"https://github.com/anakinj\"\u003e\u003ccode\u003e@​anakinj\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport signing and verifying tokens using a JWK \u003ca href=\"https://redirect.github.com/jwt/ruby-jwt/pull/692\"\u003e#692\u003c/a\u003e (\u003ca href=\"https://github.com/anakinj\"\u003e\u003ccode\u003e@​anakinj\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/jwt/ruby-jwt/tree/v3.0.0\"\u003ev3.0.0\u003c/a\u003e (2025-06-14)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/jwt/ruby-jwt/compare/v2.10.1...v3.0.0\"\u003eFull Changelog\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eBreaking changes:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRequire token signature to be verified before accessing payload \u003ca href=\"https://redirect.github.com/jwt/ruby-jwt/pull/648\"\u003e#648\u003c/a\u003e (\u003ca href=\"https://github.com/anakinj\"\u003e\u003ccode\u003e@​anakinj\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDrop support for the HS512256 algorithm \u003ca href=\"https://redirect.github.com/jwt/ruby-jwt/pull/650\"\u003e#650\u003c/a\u003e (\u003ca href=\"https://github.com/anakinj\"\u003e\u003ccode\u003e@​anakinj\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove deprecated claim verification methods \u003ca href=\"https://redirect.github.com/jwt/ruby-jwt/pull/654\"\u003e#654\u003c/a\u003e (\u003ca href=\"https://github.com/anakinj\"\u003e\u003ccode\u003e@​anakinj\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove dependency to rbnacl \u003ca href=\"https://redirect.github.com/jwt/ruby-jwt/pull/655\"\u003e#655\u003c/a\u003e (\u003ca href=\"https://github.com/anakinj\"\u003e\u003ccode\u003e@​anakinj\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport only stricter base64 decoding (RFC 4648) \u003ca href=\"https://redirect.github.com/jwt/ruby-jwt/pull/658\"\u003e#658\u003c/a\u003e (\u003ca href=\"https://github.com/anakinj\"\u003e\u003ccode\u003e@​anakinj\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCustom algorithms are required to include \u003ccode\u003eJWT::JWA::SigningAlgorithm\u003c/code\u003e \u003ca href=\"https://redirect.github.com/jwt/ruby-jwt/pull/660\"\u003e#660\u003c/a\u003e (\u003ca href=\"https://github.com/anakinj\"\u003e\u003ccode\u003e@​anakinj\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRequire RSA keys to be at least 2048 bits \u003ca href=\"https://redirect.github.com/jwt/ruby-jwt/pull/661\"\u003e#661\u003c/a\u003e (\u003ca href=\"https://github.com/anakinj\"\u003e\u003ccode\u003e@​anakinj\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBase64 encode and decode the k value for HMAC JWKs \u003ca href=\"https://redirect.github.com/jwt/ruby-jwt/pull/662\"\u003e#662\u003c/a\u003e (\u003ca href=\"https://github.com/anakinj\"\u003e\u003ccode\u003e@​anakinj\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eTake a look at the \u003ca href=\"https://github.com/jwt/ruby-jwt/blob/main/UPGRADING.md\"\u003eupgrade guide\u003c/a\u003e for more details.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFeatures:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eJWT::EncodedToken#verify! method that bundles signature and claim validation \u003ca href=\"https://redirect.github.com/jwt/ruby-jwt/pull/647\"\u003e#647\u003c/a\u003e (\u003ca href=\"https://github.com/anakinj\"\u003e\u003ccode\u003e@​anakinj\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDo not override the alg header if already given \u003ca href=\"https://redirect.github.com/jwt/ruby-jwt/pull/659\"\u003e#659\u003c/a\u003e (\u003ca href=\"https://github.com/anakinj\"\u003e\u003ccode\u003e@​anakinj\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/jwt/ruby-jwt/commit/bbe7ae3786568b041f03f50cb2e48d2b964a4eb4\"\u003e\u003ccode\u003ebbe7ae3\u003c/code\u003e\u003c/a\u003e Version 3.1.2 (\u003ca href=\"https://redirect.github.com/jwt/ruby-jwt/issues/700\"\u003e#700\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jwt/ruby-jwt/commit/205a58d9b65ee337291eadafa274b60f71220c53\"\u003e\u003ccode\u003e205a58d\u003c/code\u003e\u003c/a\u003e Fix signing with EC JWK (\u003ca href=\"https://redirect.github.com/jwt/ruby-jwt/issues/699\"\u003e#699\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jwt/ruby-jwt/commit/7231ef5927b4dcd3da97000b3ba3db9617255ba2\"\u003e\u003ccode\u003e7231ef5\u003c/code\u003e\u003c/a\u003e Avoid using the same digest across calls (\u003ca href=\"https://redirect.github.com/jwt/ruby-jwt/issues/697\"\u003e#697\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jwt/ruby-jwt/commit/9524614ff5135c6fa0e876061ac9280df7c36cb7\"\u003e\u003ccode\u003e9524614\u003c/code\u003e\u003c/a\u003e Re-enable Truffleruby on the CI (\u003ca href=\"https://redirect.github.com/jwt/ruby-jwt/issues/698\"\u003e#698\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jwt/ruby-jwt/commit/ad4fc0439f7ee8a8e8b855dad54bfc5f98bfa65e\"\u003e\u003ccode\u003ead4fc04\u003c/code\u003e\u003c/a\u003e Prepare next iteration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jwt/ruby-jwt/commit/50c01e07b53ea5a33bf29ac08d6c61775b6d5d1e\"\u003e\u003ccode\u003e50c01e0\u003c/code\u003e\u003c/a\u003e Prepare 3.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jwt/ruby-jwt/commit/b45219d7c98473a1a7603d2bf5961f6b5ea89576\"\u003e\u003ccode\u003eb45219d\u003c/code\u003e\u003c/a\u003e Do not automatically trust the JWA in the JWK (\u003ca href=\"https://redirect.github.com/jwt/ruby-jwt/issues/695\"\u003e#695\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jwt/ruby-jwt/commit/5c4fb4cfc6ff823744ce9db4fcf95ad058dc5efe\"\u003e\u003ccode\u003e5c4fb4c\u003c/code\u003e\u003c/a\u003e Prepare next iteration (\u003ca href=\"https://redirect.github.com/jwt/ruby-jwt/issues/694\"\u003e#694\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jwt/ruby-jwt/commit/646febebe8f26f353ce28e86ff9ace0bb0737314\"\u003e\u003ccode\u003e646febe\u003c/code\u003e\u003c/a\u003e Fix date for 3.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jwt/ruby-jwt/commit/a93b803adc6bc698e34e3f8244b26cb8cd40bea5\"\u003e\u003ccode\u003ea93b803\u003c/code\u003e\u003c/a\u003e Prepare release of 3.1.0 (\u003ca href=\"https://redirect.github.com/jwt/ruby-jwt/issues/693\"\u003e#693\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jwt/ruby-jwt/compare/v2.10.2...v3.1.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `mail` from 2.8.1 to 2.9.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mikel/mail/releases\"\u003email's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.9.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix little typo by \u003ca href=\"https://github.com/nbennke\"\u003e\u003ccode\u003e@​nbennke\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1462\"\u003emikel/mail#1462\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e2.8.0.rc1 Regression: Preserve message-level charset when adding parts (related to Rails ActionMailer) by \u003ca href=\"https://github.com/johnnyshields\"\u003e\u003ccode\u003e@​johnnyshields\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1495\"\u003emikel/mail#1495\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse Rake's default rakelib/ directory by \u003ca href=\"https://github.com/olleolleolle\"\u003e\u003ccode\u003e@​olleolleolle\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1488\"\u003emikel/mail#1488\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor: Use Dir.glob only once in gemspec's \u0026quot;files\u0026quot; directive by \u003ca href=\"https://github.com/olleolleolle\"\u003e\u003ccode\u003e@​olleolleolle\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1486\"\u003emikel/mail#1486\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eConfigure RSpec's zero-monkey patching mode by \u003ca href=\"https://github.com/olleolleolle\"\u003e\u003ccode\u003e@​olleolleolle\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1485\"\u003emikel/mail#1485\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove unnecessary gemfile dependency on strscan by \u003ca href=\"https://github.com/deivid-rodriguez\"\u003e\u003ccode\u003e@​deivid-rodriguez\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1483\"\u003emikel/mail#1483\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eREADME: sending multipart mail by \u003ca href=\"https://github.com/kapfenho\"\u003e\u003ccode\u003e@​kapfenho\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1479\"\u003emikel/mail#1479\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003edelivery_interceptors\u003c/code\u003e method to \u003ccode\u003eMail\u003c/code\u003e class to fetch registered interceptors by \u003ca href=\"https://github.com/ghousemohamed\"\u003e\u003ccode\u003e@​ghousemohamed\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1475\"\u003emikel/mail#1475\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate MIME-Version to have correct case per the RFC by \u003ca href=\"https://github.com/mikel\"\u003e\u003ccode\u003e@​mikel\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1503\"\u003emikel/mail#1503\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdding explicit JRuby support by \u003ca href=\"https://github.com/mikel\"\u003e\u003ccode\u003e@​mikel\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1508\"\u003emikel/mail#1508\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor: Use Ruby 2's \u003cstrong\u003edir\u003c/strong\u003e where possible by \u003ca href=\"https://github.com/olleolleolle\"\u003e\u003ccode\u003e@​olleolleolle\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1487\"\u003emikel/mail#1487\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[Corrected] Layout/TrailingWhitespace: Trailing whitespace detected. by \u003ca href=\"https://github.com/mikel\"\u003e\u003ccode\u003e@​mikel\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1510\"\u003emikel/mail#1510\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprove documentation by \u003ca href=\"https://github.com/fwolfst\"\u003e\u003ccode\u003e@​fwolfst\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1371\"\u003emikel/mail#1371\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSpan =\u0026gt; Spam by \u003ca href=\"https://github.com/sebbASF\"\u003e\u003ccode\u003e@​sebbASF\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1320\"\u003emikel/mail#1320\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003euse unpack1 by \u003ca href=\"https://github.com/ahorek\"\u003e\u003ccode\u003e@​ahorek\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1513\"\u003emikel/mail#1513\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLazy-load fields and elements by \u003ca href=\"https://github.com/c960657\"\u003e\u003ccode\u003e@​c960657\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1491\"\u003emikel/mail#1491\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eInstall libyaml-dev for Psych by \u003ca href=\"https://github.com/c960657\"\u003e\u003ccode\u003e@​c960657\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1522\"\u003emikel/mail#1522\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFeature/parse lf by \u003ca href=\"https://github.com/sebbASF\"\u003e\u003ccode\u003e@​sebbASF\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1520\"\u003emikel/mail#1520\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003euse match? by \u003ca href=\"https://github.com/ahorek\"\u003e\u003ccode\u003e@​ahorek\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1514\"\u003emikel/mail#1514\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/checkout to v3 by \u003ca href=\"https://github.com/sebbASF\"\u003e\u003ccode\u003e@​sebbASF\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1535\"\u003emikel/mail#1535\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix for \u003ca href=\"https://redirect.github.com/mikel/mail/issues/1527\"\u003e#1527\u003c/a\u003e by \u003ca href=\"https://github.com/sebbASF\"\u003e\u003ccode\u003e@​sebbASF\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1534\"\u003emikel/mail#1534\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStandardise on WARNING: prefix by \u003ca href=\"https://github.com/sebbASF\"\u003e\u003ccode\u003e@​sebbASF\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1533\"\u003emikel/mail#1533\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChecks are in the wrong place by \u003ca href=\"https://github.com/sebbASF\"\u003e\u003ccode\u003e@​sebbASF\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1531\"\u003emikel/mail#1531\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAllow manual trigger by \u003ca href=\"https://github.com/sebbASF\"\u003e\u003ccode\u003e@​sebbASF\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1524\"\u003emikel/mail#1524\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHandle parsing of LF-only body with separate parts by \u003ca href=\"https://github.com/mikel\"\u003e\u003ccode\u003e@​mikel\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1511\"\u003emikel/mail#1511\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake activesupport gem optional by \u003ca href=\"https://github.com/sebbASF\"\u003e\u003ccode\u003e@​sebbASF\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1532\"\u003emikel/mail#1532\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSMTP: refactor and accept starttls :always and :auto by \u003ca href=\"https://github.com/eval\"\u003e\u003ccode\u003e@​eval\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1536\"\u003emikel/mail#1536\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdds Ruby 3.2 to the CI matrix by \u003ca href=\"https://github.com/petergoldstein\"\u003e\u003ccode\u003e@​petergoldstein\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1552\"\u003emikel/mail#1552\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLayout conventions are not the same as syntax by \u003ca href=\"https://github.com/sebbASF\"\u003e\u003ccode\u003e@​sebbASF\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1558\"\u003emikel/mail#1558\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDon't shadow local variable by \u003ca href=\"https://github.com/sebbASF\"\u003e\u003ccode\u003e@​sebbASF\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1318\"\u003emikel/mail#1318\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRevert PR \u003ca href=\"https://redirect.github.com/mikel/mail/issues/1495\"\u003e#1495\u003c/a\u003e because it is a dupe of \u003ca href=\"https://redirect.github.com/mikel/mail/issues/1470\"\u003e#1470\u003c/a\u003e by \u003ca href=\"https://github.com/johnnyshields\"\u003e\u003ccode\u003e@​johnnyshields\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1559\"\u003emikel/mail#1559\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Ruby 3.3 to CI matrix by \u003ca href=\"https://github.com/m-nakamura145\"\u003e\u003ccode\u003e@​m-nakamura145\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1595\"\u003emikel/mail#1595\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTruffleRuby is flaky by \u003ca href=\"https://github.com/sebbASF\"\u003e\u003ccode\u003e@​sebbASF\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1599\"\u003emikel/mail#1599\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse require_relative where possible by \u003ca href=\"https://github.com/eval\"\u003e\u003ccode\u003e@​eval\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1598\"\u003emikel/mail#1598\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTest string is 1 char short of 78 by \u003ca href=\"https://github.com/sebbASF\"\u003e\u003ccode\u003e@​sebbASF\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1568\"\u003emikel/mail#1568\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate documentation regarding errors array by \u003ca href=\"https://github.com/mikehale\"\u003e\u003ccode\u003e@​mikehale\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1605\"\u003emikel/mail#1605\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix all 'assigned but unused variable' warnings by \u003ca href=\"https://github.com/skipkayhil\"\u003e\u003ccode\u003e@​skipkayhil\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1551\"\u003emikel/mail#1551\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix IMAP search issues by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1611\"\u003emikel/mail#1611\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocument SMTP TLS/STARTTLS settings (cherry-picked from 2.8 stable branch) by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1613\"\u003emikel/mail#1613\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCI: Use checkout@v4 by \u003ca href=\"https://github.com/olleolleolle\"\u003e\u003ccode\u003e@​olleolleolle\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1616\"\u003emikel/mail#1616\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDrop unused \u0026quot;ad hoc\u0026quot; GH Actions workflow by \u003ca href=\"https://github.com/olleolleolle\"\u003e\u003ccode\u003e@​olleolleolle\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1615\"\u003emikel/mail#1615\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003einclude rfc822 as attachments by \u003ca href=\"https://github.com/ahorek\"\u003e\u003ccode\u003e@​ahorek\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1389\"\u003emikel/mail#1389\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAddress \u003ccode\u003ewarning: URI::RFC3986_PARSER\u003c/code\u003e warnings by \u003ca href=\"https://github.com/yahonda\"\u003e\u003ccode\u003e@​yahonda\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1620\"\u003emikel/mail#1620\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd logger as a dependency for Ruby 3.4 warnings by \u003ca href=\"https://github.com/yahonda\"\u003e\u003ccode\u003e@​yahonda\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1619\"\u003emikel/mail#1619\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix regression in content_type for text part after converted to multipart by \u003ca href=\"https://github.com/jeremyevans\"\u003e\u003ccode\u003e@​jeremyevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1330\"\u003emikel/mail#1330\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/nbennke\"\u003e\u003ccode\u003e@​nbennke\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1462\"\u003emikel/mail#1462\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/mikel/mail/blob/master/CHANGELOG.rdoc\"\u003email's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e== Version 2.9.0 (unreleased)\u003c/p\u003e\n\u003cp\u003eBreaking changes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eMail::Field::FIELDS_MAP now contains class names, not Class instances (c960657)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eCompatibility:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate MIME-Version to have correct case per RFC 2045 \u003ca href=\"https://github.com/mikel\"\u003e\u003ccode\u003e@​mikel\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFeatures:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated README to improve around sending multipart mail \u003ca href=\"https://github.com/kapfenho\"\u003e\u003ccode\u003e@​kapfenho\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd delivery_interceptors method to Mail class to fetch registered interceptors \u003ca href=\"https://github.com/ghousemohamed\"\u003e\u003ccode\u003e@​ghousemohamed\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eCode Improvements:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUse Rake's default rakelib/ directory \u003ca href=\"https://github.com/olleolleolle\"\u003e\u003ccode\u003e@​olleolleolle\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor: Use Dir.glob only once in gemspec's \u0026quot;files\u0026quot; directive \u003ca href=\"https://github.com/olleolleolle\"\u003e\u003ccode\u003e@​olleolleolle\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eConfigure RSpec's zero-monkey patching mode \u003ca href=\"https://github.com/olleolleolle\"\u003e\u003ccode\u003e@​olleolleolle\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded support for JRuby 9.4 \u003ca href=\"https://github.com/mikel\"\u003e\u003ccode\u003e@​mikel\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePrefer \u003ccode\u003e__dir__\u003c/code\u003e \u003ca href=\"https://github.com/olleolleolle\"\u003e\u003ccode\u003e@​olleolleolle\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBug Fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRegression: Preserve message-level charset when adding parts (related to Rails ActionMailer) \u003ca href=\"https://github.com/shields\"\u003e\u003ccode\u003e@​shields\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRegression: Adding a part should not reset the mail's charset to nil \u003ca href=\"https://github.com/railsbob\"\u003e\u003ccode\u003e@​railsbob\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003ePerformance:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ereduce object allocations by replacing =~ and Regexp#match by Regexp#match? \u003ca href=\"https://github.com/ahorek\"\u003e\u003ccode\u003e@​ahorek\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ereduce object allocations by replacing String#unpack[0] by String#unpack1 \u003ca href=\"https://github.com/ahorek\"\u003e\u003ccode\u003e@​ahorek\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003ePlease check \u003ca href=\"https://github.com/mikel/mail/blob/2-8-stable/CHANGELOG.rdoc\"\u003e2-8-stable\u003c/a\u003e for previous changes.\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/mikel/mail/commit/490fe219712829ce763fd46eea7fbd3d4eaa102d\"\u003e\u003ccode\u003e490fe21\u003c/code\u003e\u003c/a\u003e Prepare for 2.9.0 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mikel/mail/commit/717f220d2318380cf295ac6745eb1005136b1217\"\u003e\u003ccode\u003e717f220\u003c/code\u003e\u003c/a\u003e Bump to beta2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mikel/mail/commit/d1d65b370b109b98e673a934e8b70a0c1f58cc59\"\u003e\u003ccode\u003ed1d65b3\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/mikel/mail/issues/1330\"\u003e#1330\u003c/a\u003e from jeremyevans/content-type-regression-fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mikel/mail/commit/30302c779d4f3250f6fccbe1361fac54449d7732\"\u003e\u003ccode\u003e30302c7\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/mikel/mail/issues/1619\"\u003e#1619\u003c/a\u003e from yahonda/add_dependency_logger\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mikel/mail/commit/182f2beaeef716f3b003b9916d40251f4ae12317\"\u003e\u003ccode\u003e182f2be\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/mikel/mail/issues/1620\"\u003e#1620\u003c/a\u003e from yahonda/address_uri_rfc_3986_parser_warnings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mikel/mail/commit/73db11a6463ec330a36d68cfb77ef99511126cb0\"\u003e\u003ccode\u003e73db11a\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/mikel/mail/issues/1389\"\u003e#1389\u003c/a\u003e from ahorek/attachments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mikel/mail/commit/26f413e9aa16b652ac38605d063c082c9097cad7\"\u003e\u003ccode\u003e26f413e\u003c/code\u003e\u003c/a\u003e rfc822 attachments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mikel/mail/commit/a2da80f24c680cea0c50cf56655b1a1fce6c013d\"\u003e\u003ccode\u003ea2da80f\u003c/code\u003e\u003c/a\u003e Address \u003ccode\u003ewarning: URI::RFC3986_PARSER\u003c/code\u003e warnings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mikel/mail/commit/98c835a544f6f9697df4719858ba58b4396f2dfb\"\u003e\u003ccode\u003e98c835a\u003c/code\u003e\u003c/a\u003e Add logger as a dependency for Ruby 3.4 warnings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mikel/mail/commit/9a7e2bf499d7a35658113c4042ed7ebb7d9f865e\"\u003e\u003ccode\u003e9a7e2bf\u003c/code\u003e\u003c/a\u003e Drop unused GH Ation workflow (\u003ca href=\"https://redirect.github.com/mikel/mail/issues/1615\"\u003e#1615\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/mikel/mail/compare/2.8.1...2.9.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `nokogiri` from 1.18.9 to 1.18.10\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sparklemotion/nokogiri/releases\"\u003enokogiri's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.18.10 / 2025-09-15\u003c/h2\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[CRuby] Vendored libxml2 is updated to \u003ca href=\"https://gitlab.gnome.org/GNOME/libxml2/-/releases/v2.13.9\"\u003ev2.13.9\u003c/a\u003e. Note that the security fixes published in v2.13.9 were already present in Nokogiri v1.18.9.\u003c/li\u003e\n\u003cli\u003e[CRuby] [Windows and MacOS] Vendored libiconv is updated to \u003ca href=\"https://savannah.gnu.org/news/?id=10703\"\u003ev1.18\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cpre\u003e\u003ccode\u003e7fb87235d729c74a2be635376d82b1d459230cc17c50300f8e4fcaabc6195344  nokogiri-1.18.10-aarch64-linux-gnu.gem\n7e74e58314297cc8a8f1b533f7212d1999dbe2639a9ee6d97b483ea2acc18944  nokogiri-1.18.10-aarch64-linux-musl.gem\n51f4f25ab5d5ba1012d6b16aad96b840a10b067b93f35af6a55a2c104a7ee322  nokogiri-1.18.10-arm-linux-gnu.gem\n1c6ea754e51cecc85c30ee8ab1e6aa4ce6b6e134d01717e9290e79374a9e00aa  nokogiri-1.18.10-arm-linux-musl.gem\nc2b0de30770f50b92c9323fa34a4e1cf5a0af322afcacd239cd66ee1c1b22c85  nokogiri-1.18.10-arm64-darwin.gem\ncd431a09c45d84a2f870ba0b7e8f571199b3727d530f2b4888a73639f76510b5  nokogiri-1.18.10-java.gem\n64f40d4a41af9f7f83a4e236ad0cf8cca621b97e31f727b1bebdae565a653104  nokogiri-1.18.10-x64-mingw-ucrt.gem\n536e74bed6db2b5076769cab5e5f5af0cd1dccbbd75f1b3e1fa69d1f5c2d79e2  nokogiri-1.18.10-x86_64-darwin.gem\nff5ba26ba2dbce5c04b9ea200777fd225061d7a3930548806f31db907e500f72  nokogiri-1.18.10-x86_64-linux-gnu.gem\n0651fccf8c2ebbc2475c8b1dfd7ccac3a0a6d09f8a41b72db8c21808cb483385  nokogiri-1.18.10-x86_64-linux-musl.gem\nd5cc0731008aa3b3a87b361203ea3d19b2069628cb55e46ac7d84a0445e69cc1  nokogiri-1.18.10.gem\n\u003c/code\u003e\u003c/pre\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/sparklemotion/nokogiri/blob/main/CHANGELOG.md\"\u003enokogiri's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.18.10 / 2025-09-15\u003c/h2\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[CRuby] Vendored libxml2 is updated to \u003ca href=\"https://gitlab.gnome.org/GNOME/libxml2/-/releases/v2.13.9\"\u003ev2.13.9\u003c/a\u003e. Note that the security fixes published in v2.13.9 were already present in Nokogiri v1.18.9.\u003c/li\u003e\n\u003cli\u003e[CRuby] [Windows and MacOS] Vendored libiconv is updated to \u003ca href=\"https://savannah.gnu.org/news/?id=10703\"\u003ev1.18\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/sparklemotion/nokogiri/commit/680374099b3570b97471f822acc978cc847fee46\"\u003e\u003ccode\u003e6803740\u003c/code\u003e\u003c/a\u003e version bump to v1.18.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/93337de8323fa5269c07e913495d5d2b2535f912\"\u003e\u003ccode\u003e93337de\u003c/code\u003e\u003c/a\u003e dep: bump vendored libxml2 to v2.13.9 (\u003ca href=\"https://redirect.github.com/sparklemotion/nokogiri/issues/3555\"\u003e#3555\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/15dde1793c81bdffdc173ff975674a6299b65d6c\"\u003e\u003ccode\u003e15dde17\u003c/code\u003e\u003c/a\u003e ci: work around repeated bundler deadlocks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/9906071faef26c6c27452f93780eae9674aed3ec\"\u003e\u003ccode\u003e9906071\u003c/code\u003e\u003c/a\u003e dep: bump vendored libxml2 to v2.13.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/adf72e3e6dda49556f519260406332252f0581c0\"\u003e\u003ccode\u003eadf72e3\u003c/code\u003e\u003c/a\u003e [v1.18.x] backport libiconv upgrade to v1.18 (\u003ca href=\"https://redirect.github.com/sparklemotion/nokogiri/issues/3550\"\u003e#3550\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/92cab09a7dea7ad81c935464c618d7ccb9272ef4\"\u003e\u003ccode\u003e92cab09\u003c/code\u003e\u003c/a\u003e dep: update vendored libiconv to 1.18\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/f1c5ea84ce2805aded8ab625a4b6da177f3a2162\"\u003e\u003ccode\u003ef1c5ea8\u003c/code\u003e\u003c/a\u003e Use mirror site to download libiconv\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/dcd272155c99097068383cc00b79db0bc126f045\"\u003e\u003ccode\u003edcd2721\u003c/code\u003e\u003c/a\u003e ci: stop testing Ruby 3.1 windows source builds\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/cf856e626748655f81f35449f67822c472a9b707\"\u003e\u003ccode\u003ecf856e6\u003c/code\u003e\u003c/a\u003e ci: fix the aarch64 segfault by using a more modern qemu\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/6d77443f359588c113c043c22ba4c38c8dff27a1\"\u003e\u003ccode\u003e6d77443\u003c/code\u003e\u003c/a\u003e Fix errors building Ruby 3.1 on windows\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sparklemotion/nokogiri/compare/v1.18.9...v1.18.10\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `octokit` from 9.2.0 to 10.0.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/octokit/octokit.rb/releases\"\u003eoctokit's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev10.0.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBREAKING CHANGE: Remove app methods that have been deprecated since v4.8.0 by \u003ca hr...\n\n_Description has been truncated_","html_url":"https://github.com/NameawaShinderu/ubicloud-main/pull/55","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/NameawaShinderu%2Fubicloud-main/issues/55","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/55/packages"},{"uuid":"3713378602","node_id":"PR_kwDODLuhc864C7na","number":1021,"state":"closed","title":"Bump the bundler group across 1 directory with 55 updates","user":"dependabot[bot]","labels":["dependencies","ruby"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2025-12-17T03:04:50.000Z","author_association":null,"state_reason":null,"created_at":"2025-12-10T03:07:20.000Z","updated_at":"2025-12-17T03:04:52.000Z","time_to_close":604650,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"bundler","update_count":55,"packages":[{"name":"rails","old_version":"8.0.3","new_version":"8.1.1","repository_url":"https://github.com/rails/rails"},{"name":"puma","old_version":"7.0.4","new_version":"7.1.0","repository_url":"https://github.com/puma/puma"},{"name":"bootsnap","old_version":"1.18.6","new_version":"1.19.0","repository_url":"https://github.com/rails/bootsnap"},{"name":"faker","old_version":"3.5.2","new_version":"3.5.3","repository_url":"https://github.com/faker-ruby/faker"},{"name":"faraday","old_version":"2.13.4","new_version":"2.14.0","repository_url":"https://github.com/lostisland/faraday"},{"name":"oauth2","old_version":"2.0.17","new_version":"2.0.18","repository_url":"https://github.com/ruby-oauth/oauth2"},{"name":"dotenv-rails","old_version":"3.1.8","new_version":"3.2.0","repository_url":"https://github.com/bkeepers/dotenv"},{"name":"sinatra","old_version":"4.1.1","new_version":"4.2.1","repository_url":"https://github.com/sinatra/sinatra"},{"name":"webmock","old_version":"3.25.1","new_version":"3.26.1","repository_url":"https://github.com/bblimke/webmock"},{"name":"brakeman","old_version":"7.1.0","new_version":"7.1.1","repository_url":"https://github.com/presidentbeef/brakeman"},{"name":"shoulda-matchers","old_version":"6.5.0","new_version":"7.0.1","repository_url":"https://github.com/thoughtbot/shoulda-matchers"},{"name":"factory_bot","old_version":"6.5.5","new_version":"6.5.6","repository_url":"https://github.com/thoughtbot/factory_bot"},{"name":"parser","old_version":"3.3.9.0","new_version":"3.3.10.0","repository_url":"https://github.com/whitequark/parser"},{"name":"prism","old_version":"1.5.1","new_version":"1.6.0","repository_url":"https://github.com/ruby/prism"},{"name":"rspec","old_version":"3.13.1","new_version":"3.13.2","repository_url":"https://github.com/rspec/rspec"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps the bundler group with 15 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [rails](https://github.com/rails/rails) | `8.0.3` | `8.1.1` |\n| [puma](https://github.com/puma/puma) | `7.0.4` | `7.1.0` |\n| [bootsnap](https://github.com/rails/bootsnap) | `1.18.6` | `1.19.0` |\n| [faker](https://github.com/faker-ruby/faker) | `3.5.2` | `3.5.3` |\n| [faraday](https://github.com/lostisland/faraday) | `2.13.4` | `2.14.0` |\n| [oauth2](https://github.com/ruby-oauth/oauth2) | `2.0.17` | `2.0.18` |\n| [dotenv-rails](https://github.com/bkeepers/dotenv) | `3.1.8` | `3.2.0` |\n| [sinatra](https://github.com/sinatra/sinatra) | `4.1.1` | `4.2.1` |\n| [webmock](https://github.com/bblimke/webmock) | `3.25.1` | `3.26.1` |\n| [brakeman](https://github.com/presidentbeef/brakeman) | `7.1.0` | `7.1.1` |\n| [shoulda-matchers](https://github.com/thoughtbot/shoulda-matchers) | `6.5.0` | `7.0.1` |\n| [factory_bot](https://github.com/thoughtbot/factory_bot) | `6.5.5` | `6.5.6` |\n| [parser](https://github.com/whitequark/parser) | `3.3.9.0` | `3.3.10.0` |\n| [prism](https://github.com/ruby/prism) | `1.5.1` | `1.6.0` |\n| [rspec](https://github.com/rspec/rspec) | `3.13.1` | `3.13.2` |\n\n\nUpdates `rails` from 8.0.3 to 8.1.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003erails's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.1.1\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Record\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction View\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eRespect \u003ccode\u003eremove_hidden_field_autocomplete\u003c/code\u003e config in form builder \u003ccode\u003ehidden_field\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction Pack\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAllow methods starting with underscore to be action methods.\u003c/p\u003e\n\u003cp\u003eDisallowing methods starting with an underscore from being action methods\nwas an unintended side effect of the performance optimization in\n207a254.\u003c/p\u003e\n\u003cp\u003eFixes \u003ca href=\"https://redirect.github.com/rails/rails/issues/55985\"\u003e#55985\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Job\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eOnly index new serializers.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eJesse Sharps\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction Mailer\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction Cable\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/rails/rails/commit/90a1eaa1b30ba1f2d524e197460e549c03cf5698\"\u003e\u003ccode\u003e90a1eaa\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.1 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/0ce0ce1ca2da1d36cdc149a72a777a956ea45dc7\"\u003e\u003ccode\u003e0ce0ce1\u003c/code\u003e\u003c/a\u003e Upgrade sigstore gem to 0.2.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/271acd57d1430be8c92fbd8f19a2069e62425803\"\u003e\u003ccode\u003e271acd5\u003c/code\u003e\u003c/a\u003e Sync CHANGELOG\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/7574698226c364ab98e69188539e2cf27517ef1f\"\u003e\u003ccode\u003e7574698\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56020\"\u003e#56020\u003c/a\u003e from harsh183/hd/getting_started/fix_line_num_typo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/89cb7bff192ce71267ae76f38942ca8f306ce273\"\u003e\u003ccode\u003e89cb7bf\u003c/code\u003e\u003c/a\u003e Fix railties/CHANGELOG.md offense at 8-1-stable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/7919bdab44688f1e7f121bc36a76169787cdfe60\"\u003e\u003ccode\u003e7919bda\u003c/code\u003e\u003c/a\u003e Restore header\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/f007f9ca53448379246a1901b213bd57955af26c\"\u003e\u003ccode\u003ef007f9c\u003c/code\u003e\u003c/a\u003e Disable SSL default config for out of the box Kamal deployments (\u003ca href=\"https://redirect.github.com/rails/rails/issues/56010\"\u003e#56010\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/234b56973bb453bb50850a1be07a2fcad7331592\"\u003e\u003ccode\u003e234b569\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56008\"\u003e#56008\u003c/a\u003e from chaadow/fix_nesting_loop_rails\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/21a8742bb6bb5720f0e67d67fe26874598d1afbe\"\u003e\u003ccode\u003e21a8742\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55992\"\u003e#55992\u003c/a\u003e from jsharpify/jsharpify-reduce-deprecation-warnings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/a7ba88b04e935d2a9cbc205382d6cd7c514f425c\"\u003e\u003ccode\u003ea7ba88b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56001\"\u003e#56001\u003c/a\u003e from hachi8833/update_wishlists\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/rails/compare/v8.0.3...v8.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `puma` from 7.0.4 to 7.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/puma/puma/releases\"\u003epuma's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev7.1.0\u003c/h2\u003e\n\u003ch2\u003e7.1.0 / 2025-10-16 - Neon Witch\u003c/h2\u003e\n\u003cp\u003e\u003cimg src=\"https://github.com/user-attachments/assets/6f013211-35fb-46ce-84d8-00794e020294\" alt=\"neon_witch\" /\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFeatures\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eIntroduce \u003ccode\u003eafter_worker_shutdown\u003c/code\u003e hook (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3707\"\u003e#3707\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReintroduce keepalive \u0026quot;fast inline\u0026quot; behavior. Provides faster (8x on JRuby \u0026amp; 1.4x on Ruby) pipeline processing  (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3794\"\u003e#3794\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eBugfixes\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eSkip reading zero bytes when request body is buffered (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3795\"\u003e#3795\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003ePUMA_LOG_CONFIG=1\u003c/code\u003e logging twice with prune_bundler enabled (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3778\"\u003e#3778\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix prune_bundler not showing in \u003ccode\u003ePUMA_LOG_CONFIG=1\u003c/code\u003e output (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3779\"\u003e#3779\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGuard ThreadPool method call, which may be nil during shutdown (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3791\"\u003e#3791\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/puma/puma/issues/3790\"\u003e#3790\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSet \u003ccode\u003eThread.current.puma_server\u003c/code\u003e in Thread init code, not every request (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3774\"\u003e#3774\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix race condition while deleting pidfile (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3657\"\u003e#3657\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\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/nerdrew\"\u003e\u003ccode\u003e@​nerdrew\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/puma/puma/pull/3707\"\u003epuma/puma#3707\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mopp\"\u003e\u003ccode\u003e@​mopp\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/puma/puma/pull/3783\"\u003epuma/puma#3783\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marksmith\"\u003e\u003ccode\u003e@​marksmith\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/puma/puma/pull/3657\"\u003epuma/puma#3657\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Nymuxyzo\"\u003e\u003ccode\u003e@​Nymuxyzo\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/puma/puma/pull/3762\"\u003epuma/puma#3762\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/puma/puma/compare/v7.0.4...v7.1.0\"\u003ehttps://github.com/puma/puma/compare/v7.0.4...v7.1.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/puma/puma/blob/main/History.md\"\u003epuma's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e7.1.0 / 2025-10-16\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFeatures\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eIntroduce \u003ccode\u003eafter_worker_shutdown\u003c/code\u003e hook (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3707\"\u003e#3707\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReintroduce keepalive \u0026quot;fast inline\u0026quot; behavior. Provides faster (8x on JRuby \u0026amp; 1.4x on Ruby) pipeline processing  (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3794\"\u003e#3794\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eBugfixes\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eSkip reading zero bytes when request body is buffered (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3795\"\u003e#3795\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003ePUMA_LOG_CONFIG=1\u003c/code\u003e logging twice with prune_bundler enabled (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3778\"\u003e#3778\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix prune_bundler not showing in \u003ccode\u003ePUMA_LOG_CONFIG=1\u003c/code\u003e output (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3779\"\u003e#3779\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGuard ThreadPool method call, which may be nil during shutdown (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3791\"\u003e#3791\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/puma/puma/issues/3790\"\u003e#3790\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSet \u003ccode\u003eThread.current.puma_server\u003c/code\u003e in Thread init code, not every request (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3774\"\u003e#3774\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix race condition while deleting pidfile (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3657\"\u003e#3657\u003c/a\u003e)\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/puma/puma/commit/fb2a0733e938c8786e033f22dc5bf66727dddb3a\"\u003e\u003ccode\u003efb2a073\u003c/code\u003e\u003c/a\u003e v7.1.0 (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3797\"\u003e#3797\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/4edb9e9b16835aa24bd037a88dad4d34a76952e4\"\u003e\u003ccode\u003e4edb9e9\u003c/code\u003e\u003c/a\u003e \u003ccode\u003eclient.rb\u003c/code\u003e - \u003ccode\u003eread_body\u003c/code\u003e - cleanup last lines of method (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3798\"\u003e#3798\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/84a568ab1c4d0c5cd0d29a167f5facba9699a35c\"\u003e\u003ccode\u003e84a568a\u003c/code\u003e\u003c/a\u003e Update wait_for_less_busy_worker docs (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3757\"\u003e#3757\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/e59a6049c3fc08ac2bd906a10d199bdf3949eb04\"\u003e\u003ccode\u003ee59a604\u003c/code\u003e\u003c/a\u003e Initialize only essential \u003ccode\u003eLauncher\u003c/code\u003e state before \u003ccode\u003eprune_bundler\u003c/code\u003e restart (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3\"\u003e#3\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/6844de7c4f2503751bad5e9c141de2bdb067f452\"\u003e\u003ccode\u003e6844de7\u003c/code\u003e\u003c/a\u003e client.rb - Skip reading zero bytes when request body is buffered (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3795\"\u003e#3795\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/1d3d6b792cdc870171d27cafbd0b7ceaf5e2dfb7\"\u003e\u003ccode\u003e1d3d6b7\u003c/code\u003e\u003c/a\u003e Set \u003ccode\u003eThread.current.puma_server\u003c/code\u003e in Thread init code, not every request (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3774\"\u003e#3774\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/9b34cde2c5ddf7fd65bfd5f8aea811659226662e\"\u003e\u003ccode\u003e9b34cde\u003c/code\u003e\u003c/a\u003e Adding syntax highlighting in k8s docs (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3782\"\u003e#3782\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/a2bd2f63476a719faa02eacac94b274d0cee1f6d\"\u003e\u003ccode\u003ea2bd2f6\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003eprune_bundler\u003c/code\u003e to \u003ccode\u003eConfiguration::DEFAULTS\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3779\"\u003e#3779\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/d7a0854a39bbb3f06f12c4a180e42ee6d36f7985\"\u003e\u003ccode\u003ed7a0854\u003c/code\u003e\u003c/a\u003e ci: Update hey benchmark files, minor fixes and formatting (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3796\"\u003e#3796\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/ff08099b1fc702093261a90e92da09feb577c683\"\u003e\u003ccode\u003eff08099\u003c/code\u003e\u003c/a\u003e ci: Update Update test/rackup/sleep_fibonacci.ru, add test script (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3793\"\u003e#3793\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/puma/puma/compare/v7.0.4...v7.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `actionpack` from 8.0.3 to 8.1.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003eactionpack's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.1.1\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Record\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction View\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eRespect \u003ccode\u003eremove_hidden_field_autocomplete\u003c/code\u003e config in form builder \u003ccode\u003ehidden_field\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction Pack\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAllow methods starting with underscore to be action methods.\u003c/p\u003e\n\u003cp\u003eDisallowing methods starting with an underscore from being action methods\nwas an unintended side effect of the performance optimization in\n207a254.\u003c/p\u003e\n\u003cp\u003eFixes \u003ca href=\"https://redirect.github.com/rails/rails/issues/55985\"\u003e#55985\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Job\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eOnly index new serializers.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eJesse Sharps\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction Mailer\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction Cable\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/rails/rails/blob/v8.1.1/actionpack/CHANGELOG.md\"\u003eactionpack's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRails 8.1.1 (October 28, 2025)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAllow methods starting with underscore to be action methods.\u003c/p\u003e\n\u003cp\u003eDisallowing methods starting with an underscore from being action methods\nwas an unintended side effect of the performance optimization in\n207a254.\u003c/p\u003e\n\u003cp\u003eFixes \u003ca href=\"https://redirect.github.com/rails/rails/issues/55985\"\u003e#55985\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRails 8.1.0 (October 22, 2025)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eSubmit test requests using \u003ccode\u003eas: :html\u003c/code\u003e with \u003ccode\u003eContent-Type: x-www-form-urlencoded\u003c/code\u003e\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eSean Doyle\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd link-local IP ranges to \u003ccode\u003eActionDispatch::RemoteIp\u003c/code\u003e default proxies.\u003c/p\u003e\n\u003cp\u003eLink-local addresses (\u003ccode\u003e169.254.0.0/16\u003c/code\u003e for IPv4 and \u003ccode\u003efe80::/10\u003c/code\u003e for IPv6)\nare now included in the default trusted proxy list, similar to private IP ranges.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eAdam Daniels\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003eremote_ip\u003c/code\u003e will no longer ignore IPs in X-Forwarded-For headers if they\nare accompanied by port information.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eDuncan Brown\u003c/em\u003e, \u003cem\u003ePrevenios Marinos\u003c/em\u003e, \u003cem\u003eMasafumi Koba\u003c/em\u003e, \u003cem\u003eAdam Daniels\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd \u003ccode\u003eaction_dispatch.verbose_redirect_logs\u003c/code\u003e setting that logs where redirects were called from.\u003c/p\u003e\n\u003cp\u003eSimilar to \u003ccode\u003eactive_record.verbose_query_logs\u003c/code\u003e and \u003ccode\u003eactive_job.verbose_enqueue_logs\u003c/code\u003e, this adds a line in your logs that shows where a redirect was called from.\u003c/p\u003e\n\u003cp\u003eExample:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eRedirected to http://localhost:3000/posts/1\n↳ app/controllers/posts_controller.rb:32:in `block (2 levels) in create'\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003cem\u003eDennis Paagman\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd engine route filtering and better formatting in \u003ccode\u003ebin/rails routes\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eAllow engine routes to be filterable in the routing inspector, and\nimprove formatting of engine routing output.\u003c/p\u003e\n\u003cp\u003eBefore:\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/rails/rails/commit/90a1eaa1b30ba1f2d524e197460e549c03cf5698\"\u003e\u003ccode\u003e90a1eaa\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.1 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/271acd57d1430be8c92fbd8f19a2069e62425803\"\u003e\u003ccode\u003e271acd5\u003c/code\u003e\u003c/a\u003e Sync CHANGELOG\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/df9f43214c637c54773581c85c910b356b16fa44\"\u003e\u003ccode\u003edf9f432\u003c/code\u003e\u003c/a\u003e Allow methods starting with underscore to be action methods.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/53c4ed887450cc2dee4b373148162c485999a400\"\u003e\u003ccode\u003e53c4ed8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55973\"\u003e#55973\u003c/a\u003e from rails/fix-ci\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/f77a1c3654afdf599fa927e7910d6e9c5e9df7cf\"\u003e\u003ccode\u003ef77a1c3\u003c/code\u003e\u003c/a\u003e Require 'rails' at the top of railltie files to ensure Rails is loaded first\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/1cdd190a25e483b65f1f25bbd0f13a25d696b461\"\u003e\u003ccode\u003e1cdd190\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.0 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/62a109a53f1471274a150a267239441d0592f389\"\u003e\u003ccode\u003e62a109a\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55947\"\u003e#55947\u003c/a\u003e from c0nspiracy/patch-1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/0777f23945aa498c280279b16091789b402daa64\"\u003e\u003ccode\u003e0777f23\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55921\"\u003e#55921\u003c/a\u003e from skipkayhil/hm-ykpyzlmxovpttksv\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/4663af7e5c5263fa7b5ec5cdd529fc0c357ae037\"\u003e\u003ccode\u003e4663af7\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55922\"\u003e#55922\u003c/a\u003e from Shopify/event_subscriber_additionss\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/ca45ef19a745b1283ba3bf6b1076c998a3e559e4\"\u003e\u003ccode\u003eca45ef1\u003c/code\u003e\u003c/a\u003e Remove mention of raise_on_open_redirects from doc\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/rails/compare/v8.0.3...v8.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `actionview` from 8.0.3 to 8.1.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003eactionview's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.1.1\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Record\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction View\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eRespect \u003ccode\u003eremove_hidden_field_autocomplete\u003c/code\u003e config in form builder \u003ccode\u003ehidden_field\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction Pack\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAllow methods starting with underscore to be action methods.\u003c/p\u003e\n\u003cp\u003eDisallowing methods starting with an underscore from being action methods\nwas an unintended side effect of the performance optimization in\n207a254.\u003c/p\u003e\n\u003cp\u003eFixes \u003ca href=\"https://redirect.github.com/rails/rails/issues/55985\"\u003e#55985\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Job\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eOnly index new serializers.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eJesse Sharps\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction Mailer\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction Cable\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/rails/rails/blob/v8.1.1/actionview/CHANGELOG.md\"\u003eactionview's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRails 8.1.1 (October 28, 2025)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eRespect \u003ccode\u003eremove_hidden_field_autocomplete\u003c/code\u003e config in form builder \u003ccode\u003ehidden_field\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRails 8.1.0 (October 22, 2025)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eThe BEGIN template annotation/comment was previously printed on the same line as the following element. We now insert a newline inside the comment so it spans two lines without adding visible whitespace to the HTML output to enhance readability.\u003c/p\u003e\n\u003cp\u003eBefore:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\u0026lt;!-- BEGIN /Users/siaw23/Desktop/rails/actionview/test/fixtures/actionpack/test/greeting.html.erb --\u0026gt;\u0026lt;p\u0026gt;This is grand!\u0026lt;/p\u0026gt;\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eAfter:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\u0026lt;!-- BEGIN /Users/siaw23/Desktop/rails/actionview/test/fixtures/actionpack/test/greeting.html.erb\n--\u0026gt;\u0026lt;p\u0026gt;This is grand!\u0026lt;/p\u0026gt;\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003cem\u003eEmmanuel Hayford\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd structured events for Action View:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eaction_view.render_template\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eaction_view.render_partial\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eaction_view.render_layout\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eaction_view.render_collection\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eaction_view.render_start\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cem\u003eGannon McGibbon\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix label with \u003ccode\u003efor\u003c/code\u003e option not getting prefixed by form \u003ccode\u003enamespace\u003c/code\u003e value\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eAbeid Ahmed\u003c/em\u003e, \u003cem\u003eHartley McGuire\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd \u003ccode\u003efetchpriority\u003c/code\u003e to Link headers to match HTML generated by \u003ccode\u003epreload_link_tag\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eGuillermo Iguaran\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd CSP \u003ccode\u003enonce\u003c/code\u003e to Link headers generated by \u003ccode\u003epreload_link_tag\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eAlexander Gitter\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAllow \u003ccode\u003ecurrent_page?\u003c/code\u003e to match against specific HTTP method(s) with a \u003ccode\u003emethod:\u003c/code\u003e option.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eBen Sheldon\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove \u003ccode\u003eautocomplete=\u0026quot;off\u0026quot;\u003c/code\u003e on hidden inputs generated by the following\ntags:\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/rails/rails/commit/90a1eaa1b30ba1f2d524e197460e549c03cf5698\"\u003e\u003ccode\u003e90a1eaa\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.1 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/271acd57d1430be8c92fbd8f19a2069e62425803\"\u003e\u003ccode\u003e271acd5\u003c/code\u003e\u003c/a\u003e Sync CHANGELOG\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/ae6c5a23948f0a5c02a19ce625048b4579eace7d\"\u003e\u003ccode\u003eae6c5a2\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55989\"\u003e#55989\u003c/a\u003e from rails/rm-fix-remove_hidden_field_autocomplete\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/53c4ed887450cc2dee4b373148162c485999a400\"\u003e\u003ccode\u003e53c4ed8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55973\"\u003e#55973\u003c/a\u003e from rails/fix-ci\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/f77a1c3654afdf599fa927e7910d6e9c5e9df7cf\"\u003e\u003ccode\u003ef77a1c3\u003c/code\u003e\u003c/a\u003e Require 'rails' at the top of railltie files to ensure Rails is loaded first\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/1cdd190a25e483b65f1f25bbd0f13a25d696b461\"\u003e\u003ccode\u003e1cdd190\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.0 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/1ace68361ed9e87fecbf32604c087d096f7b7f8a\"\u003e\u003ccode\u003e1ace683\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.0.rc1 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/d6f9f62d49750fee6a45f3672e2227d5c4198a62\"\u003e\u003ccode\u003ed6f9f62\u003c/code\u003e\u003c/a\u003e Make the Structured Event Subscriber emit events in format that are useful fo...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/4ae5bfc3a04db36d0f274b272eb68d6136ffb63b\"\u003e\u003ccode\u003e4ae5bfc\u003c/code\u003e\u003c/a\u003e Place template annotation on a separate line\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/7d12071e9fe94bd5c01a488ef61718fe88de65b4\"\u003e\u003ccode\u003e7d12071\u003c/code\u003e\u003c/a\u003e Micro optimize ActiveRecord::RuntimeRegistry\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/rails/compare/v8.0.3...v8.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `activemodel` from 8.0.3 to 8.1.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003eactivemodel's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.1.1\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Record\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction View\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eRespect \u003ccode\u003eremove_hidden_field_autocomplete\u003c/code\u003e config in form builder \u003ccode\u003ehidden_field\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction Pack\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAllow methods starting with underscore to be action methods.\u003c/p\u003e\n\u003cp\u003eDisallowing methods starting with an underscore from being action methods\nwas an unintended side effect of the performance optimization in\n207a254.\u003c/p\u003e\n\u003cp\u003eFixes \u003ca href=\"https://redirect.github.com/rails/rails/issues/55985\"\u003e#55985\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Job\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eOnly index new serializers.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eJesse Sharps\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction Mailer\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction Cable\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/rails/rails/blob/v8.1.1/activemodel/CHANGELOG.md\"\u003eactivemodel's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRails 8.1.1 (October 28, 2025)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRails 8.1.0 (October 22, 2025)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd \u003ccode\u003ereset_token: { expires_in: ... }\u003c/code\u003e option to \u003ccode\u003ehas_secure_password\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eAllows configuring the expiry duration of password reset tokens (default remains 15 minutes for backwards compatibility).\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003ehas_secure_password reset_token: { expires_in: 1.hour }\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003cem\u003eJevin Sew\u003c/em\u003e, \u003cem\u003eAbeid Ahmed\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd \u003ccode\u003eexcept_on:\u003c/code\u003e option for validation callbacks.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eBen Sheldon\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eBackport \u003ccode\u003eActiveRecord::Normalization\u003c/code\u003e to \u003ccode\u003eActiveModel::Attributes::Normalization\u003c/code\u003e\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eclass User\n  include ActiveModel::Attributes\n  include ActiveModel::Attributes::Normalization\n\u003cp\u003eattribute :email, :string\u003c/p\u003e\n\u003cp\u003enormalizes :email, with: -\u0026gt; email { email.strip.downcase }\u003cbr /\u003e\nend\u003c/p\u003e\n\u003cp\u003euser = User.new\u003cbr /\u003e\nuser.email =    \u0026quot; \u003ca href=\"mailto:CRUISE-CONTROL@EXAMPLE.COM\"\u003eCRUISE-CONTROL@EXAMPLE.COM\u003c/a\u003e\\n\u0026quot;\u003cbr /\u003e\nuser.email # =\u0026gt; \u0026quot;\u003ca href=\"mailto:cruise-control@example.com\"\u003ecruise-control@example.com\u003c/a\u003e\u0026quot;\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eSean Doyle\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003ePlease check \u003ca href=\"https://github.com/rails/rails/blob/8-0-stable/activemodel/CHANGELOG.md\"\u003e8-0-stable\u003c/a\u003e for previous changes.\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/rails/rails/commit/90a1eaa1b30ba1f2d524e197460e549c03cf5698\"\u003e\u003ccode\u003e90a1eaa\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.1 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/53c4ed887450cc2dee4b373148162c485999a400\"\u003e\u003ccode\u003e53c4ed8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55973\"\u003e#55973\u003c/a\u003e from rails/fix-ci\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/f77a1c3654afdf599fa927e7910d6e9c5e9df7cf\"\u003e\u003ccode\u003ef77a1c3\u003c/code\u003e\u003c/a\u003e Require 'rails' at the top of railltie files to ensure Rails is loaded first\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/1cdd190a25e483b65f1f25bbd0f13a25d696b461\"\u003e\u003ccode\u003e1cdd190\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.0 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/1ace68361ed9e87fecbf32604c087d096f7b7f8a\"\u003e\u003ccode\u003e1ace683\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.0.rc1 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/b182bc607041b640f1e5f51e678f3ca4ab077920\"\u003e\u003ccode\u003eb182bc6\u003c/code\u003e\u003c/a\u003e Give credit to the first author of this feature\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/d0486d0aefc8a487a20a582868df7e0662fd3520\"\u003e\u003ccode\u003ed0486d0\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55574\"\u003e#55574\u003c/a\u003e from jevin/feature/reset-password-token-duration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/ee29930f58bf125763aeecedaa5048d95f3f1d4b\"\u003e\u003ccode\u003eee29930\u003c/code\u003e\u003c/a\u003e ActiveModel::SecurePassword: configurable reset token expiry\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/2446a70b0eee6424c90e5a262600c337006096ad\"\u003e\u003ccode\u003e2446a70\u003c/code\u003e\u003c/a\u003e Removing the string option for validations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/80827ca7ff33ca3026f2c74fe8249ccc6f513318\"\u003e\u003ccode\u003e80827ca\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.0.beta1 release\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/rails/compare/v8.0.3...v8.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `activerecord` from 8.0.3 to 8.1.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003eactiverecord's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.1.1\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Record\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction View\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eRespect \u003ccode\u003eremove_hidden_field_autocomplete\u003c/code\u003e config in form builder \u003ccode\u003ehidden_field\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction Pack\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAllow methods starting with underscore to be action methods.\u003c/p\u003e\n\u003cp\u003eDisallowing methods starting with an underscore from being action methods\nwas an unintended side effect of the performance optimization in\n207a254.\u003c/p\u003e\n\u003cp\u003eFixes \u003ca href=\"https://redirect.github.com/rails/rails/issues/55985\"\u003e#55985\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Job\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eOnly index new serializers.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eJesse Sharps\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction Mailer\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction Cable\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/rails/rails/blob/v8.1.1/activerecord/CHANGELOG.md\"\u003eactiverecord's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRails 8.1.1 (October 28, 2025)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRails 8.1.0 (October 22, 2025)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix SQLite3 data loss during table alterations with CASCADE foreign keys.\u003c/p\u003e\n\u003cp\u003eWhen altering a table in SQLite3 that is referenced by child tables with\n\u003ccode\u003eON DELETE CASCADE\u003c/code\u003e foreign keys, ActiveRecord would silently delete all\ndata from the child tables. This occurred because SQLite requires table\nrecreation for schema changes, and during this process the original table\nis temporarily dropped, triggering CASCADE deletes on child tables.\u003c/p\u003e\n\u003cp\u003eThe root cause was incorrect ordering of operations. The original code\nwrapped \u003ccode\u003edisable_referential_integrity\u003c/code\u003e inside a transaction, but\n\u003ccode\u003ePRAGMA foreign_keys\u003c/code\u003e cannot be modified inside a transaction in SQLite -\nattempting to do so simply has no effect. This meant foreign keys remained\nenabled during table recreation, causing CASCADE deletes to fire.\u003c/p\u003e\n\u003cp\u003eThe fix reverses the order to follow the official SQLite 12-step ALTER TABLE\nprocedure: \u003ccode\u003edisable_referential_integrity\u003c/code\u003e now wraps the transaction instead\nof being wrapped by it. This ensures foreign keys are properly disabled\nbefore the transaction starts and re-enabled after it commits, preventing\nCASCADE deletes while maintaining data integrity through atomic transactions.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRuy Rocha\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd replicas to test database parallelization setup.\u003c/p\u003e\n\u003cp\u003eSetup and configuration of databases for parallel testing now includes replicas.\u003c/p\u003e\n\u003cp\u003eThis fixes an issue when using a replica database, database selector middleware,\nand non-transactional tests, where integration tests running in parallel would select\nthe base test database, i.e. \u003ccode\u003edb_test\u003c/code\u003e, instead of the numbered parallel worker database,\ni.e. \u003ccode\u003edb_test_{n}\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eAdam Maas\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSupport virtual (not persisted) generated columns on PostgreSQL 18+\u003c/p\u003e\n\u003cp\u003ePostgreSQL 18 introduces virtual (not persisted) generated columns,\nwhich are now the default unless the \u003ccode\u003estored: true\u003c/code\u003e option is explicitly specified on PostgreSQL 18+.\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003ecreate_table :users do |t|\n  t.string :name\n  t.virtual :lower_name,  type: :string,  as: \u0026quot;LOWER(name)\u0026quot;, stored: false\n  t.virtual :name_length, type: :integer, as: \u0026quot;LENGTH(name)\u0026quot;\n\u003c/code\u003e\u003c/pre\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/rails/rails/commit/90a1eaa1b30ba1f2d524e197460e549c03cf5698\"\u003e\u003ccode\u003e90a1eaa\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.1 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/fe609bf5ac0e61f445de9bea40f89a058b465ead\"\u003e\u003ccode\u003efe609bf\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/50598\"\u003e#50598\u003c/a\u003e from lucasmazza/lm/upsert_all-skip\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/53c4ed887450cc2dee4b373148162c485999a400\"\u003e\u003ccode\u003e53c4ed8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55973\"\u003e#55973\u003c/a\u003e from rails/fix-ci\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/f77a1c3654afdf599fa927e7910d6e9c5e9df7cf\"\u003e\u003ccode\u003ef77a1c3\u003c/code\u003e\u003c/a\u003e Require 'rails' at the top of railltie files to ensure Rails is loaded first\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/334ed8f172d6e77516e9832567626af9965d435d\"\u003e\u003ccode\u003e334ed8f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55969\"\u003e#55969\u003c/a\u003e from rails/fix-explain-tests-mysql-9.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/1cdd190a25e483b65f1f25bbd0f13a25d696b461\"\u003e\u003ccode\u003e1cdd190\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.0 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/bffa22d59214a125add8385e12ec691ed623aff7\"\u003e\u003ccode\u003ebffa22d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55949\"\u003e#55949\u003c/a\u003e from ima1zumi/revert-53969-and-add-test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/be5e9fc703ee86a6ba12bbd7256c43142a3d07dc\"\u003e\u003ccode\u003ebe5e9fc\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55945\"\u003e#55945\u003c/a\u003e from claudiob/create_enum\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/04c6f1497eb3cd0f21449113747f2b72862a0937\"\u003e\u003ccode\u003e04c6f14\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55938\"\u003e#55938\u003c/a\u003e from aidanharan/truthy-condition-mssql\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/d4fb183ac2d8f6a3fad83e160c435ef4dbe9c149\"\u003e\u003ccode\u003ed4fb183\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55925\"\u003e#55925\u003c/a\u003e from flavorjones/flavorjones/shard-swap-prohibition...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/rails/compare/v8.0.3...v8.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `activesupport` from 8.0.3 to 8.1.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003eactivesupport's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.1.1\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Record\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction View\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eRespect \u003ccode\u003eremove_hidden_field_autocomplete\u003c/code\u003e config in form builder \u003ccode\u003ehidden_field\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction Pack\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAllow methods starting with underscore to be action methods.\u003c/p\u003e\n\u003cp\u003eDisallowing methods starting with an underscore from being action methods\nwas an unintended side effect of the performance optimization in\n207a254.\u003c/p\u003e\n\u003cp\u003eFixes \u003ca href=\"https://redirect.github.com/rails/rails/issues/55985\"\u003e#55985\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Job\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eOnly index new serializers.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eJesse Sharps\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction Mailer\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction Cable\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/rails/rails/blob/v8.1.1/activesupport/CHANGELOG.md\"\u003eactivesupport's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRails 8.1.1 (October 28, 2025)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRails 8.1.0 (October 22, 2025)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eRemove deprecated passing a Time object to \u003ccode\u003eTime#since\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove deprecated \u003ccode\u003eBenchmark.ms\u003c/code\u003e method. It is now defined in the \u003ccode\u003ebenchmark\u003c/code\u003e gem.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove deprecated addition for \u003ccode\u003eTime\u003c/code\u003e instances with \u003ccode\u003eActiveSupport::TimeWithZone\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove deprecated support for \u003ccode\u003eto_time\u003c/code\u003e to preserve the system local time. It will now always preserve the receiver\ntimezone.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDeprecate \u003ccode\u003econfig.active_support.to_time_preserves_timezone\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eStandardize event name formatting in \u003ccode\u003eassert_event_reported\u003c/code\u003e error messages.\u003c/p\u003e\n\u003cp\u003eThe event name in failure messages now uses \u003ccode\u003e.inspect\u003c/code\u003e (e.g., \u003ccode\u003ename: \u0026quot;user.created\u0026quot;\u003c/code\u003e)\nto match \u003ccode\u003eassert_events_reported\u003c/code\u003e and provide type clarity between strings and symbols.\nThis only affects tests that assert on the failure message format itself.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eGeorge Ma\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eEnumerable#sole\u003c/code\u003e to return the full tuple instead of just the first element of the tuple.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eOlivier Bellone\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix parallel tests hanging when worker processes die abruptly.\u003c/p\u003e\n\u003cp\u003ePreviously, if a worker process was killed (e.g., OOM killed, \u003ccode\u003ekill -9\u003c/code\u003e) during parallel\ntest execution, the test suite would hang forever waiting for the dead worker.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eJoshua Young\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd \u003ccode\u003econfig.active_support.escape_js_separators_in_json\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eIntroduce a new framework default to skip escaping LINE SEPARATOR (U+2028) and PARAGRAPH SEPARATOR (U+2029) in JSON.\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/rails/rails/commit/90a1eaa1b30ba1f2d524e197460e549c03cf5698\"\u003e\u003ccode\u003e90a1eaa\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.1 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/234b56973bb453bb50850a1be07a2fcad7331592\"\u003e\u003ccode\u003e234b569\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56008\"\u003e#56008\u003c/a\u003e from chaadow/fix_nesting_loop_rails\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/53c4ed887450cc2dee4b373148162c485999a400\"\u003e\u003ccode\u003e53c4ed8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55973\"\u003e#55973\u003c/a\u003e from rails/fix-ci\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/f77a1c3654afdf599fa927e7910d6e9c5e9df7cf\"\u003e\u003ccode\u003ef77a1c3\u003c/code\u003e\u003c/a\u003e Require 'rails' at the top of railltie files to ensure Rails is loaded first\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/cd53d57fe363eef44dd4a58dbe69c77cad041550\"\u003e\u003ccode\u003ecd53d57\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55962\"\u003e#55962\u003c/a\u003e from coderhs/patch-1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/1cdd190a25e483b65f1f25bbd0f13a25d696b461\"\u003e\u003ccode\u003e1cdd190\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.0 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/096f1c7c77cf857a1ca12116678599faac2f0522\"\u003e\u003ccode\u003e096f1c7\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55943\"\u003e#55943\u003c/a\u003e from skipkayhil/hm-oyxvtrxvupxqzprn\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/1ace68361ed9e87fecbf32604c087d096f7b7f8a\"\u003e\u003ccode\u003e1ace683\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.0.rc1 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/d156ee00602eab9044bc23ac8de8f245379d6af5\"\u003e\u003ccode\u003ed156ee0\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55871\"\u003e#55871\u003c/a\u003e from Shopify/refresh_event_reporter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/48ca2f8b91f69ae7c08cc16426481a5e17fd2209\"\u003e\u003ccode\u003e48ca2f8\u003c/code\u003e\u003c/a\u003e Load core extensions with require_relative\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/rails/compare/v8.0.3...v8.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `railties` from 8.0.3 to 8.1.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003erailties's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.1.1\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Record\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction View\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eRespect \u003ccode\u003eremove_hidden_field_autocomplete\u003c/code\u003e config in form builder \u003ccode\u003ehidden_field\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction Pack\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAllow methods starting with underscore to be action methods.\u003c/p\u003e\n\u003cp\u003eDisallowing methods starting with an underscore from being action methods\nwas an unintended side effect of the performance optimization in\n207a254.\u003c/p\u003e\n\u003cp\u003eFixes \u003ca href=\"https://redirect.github.com/rails/rails/issues/55985\"\u003e#55985\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Job\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eOnly index new serializers.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eJesse Sharps\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction Mailer\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction Cable\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/rails/rails/blob/v8.1.1/railties/CHANGELOG.md\"\u003erailties's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRails 8.1.1 (October 28, 2025)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eDo not assume and force SSL in production by default when using Kamal, to allow for out of the box Kamal deployments.\u003c/p\u003e\n\u003cp\u003eIt is still recommended to assume and force SSL in production as soon as you can.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eJerome Dalbert\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRails 8.1.0 (October 22, 2025)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eSuggest \u003ccode\u003ebin/rails action_text:install\u003c/code\u003e from Action Dispatch error page\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eSean Doyle\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove deprecated \u003ccode\u003eSTATS_DIRECTORIES\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove deprecated \u003ccode\u003ebin/rake stats\u003c/code\u003e command.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove deprecated \u003ccode\u003erails/console/methods.rb\u003c/code\u003e file.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDon't generate system tests by default.\u003c/p\u003e\n\u003cp\u003eRails scaffold generator will no longer generate system tests by default. To enable this pass \u003ccode\u003e--system-tests=true\u003c/code\u003e or generate them with \u003ccode\u003ebin/rails generate system_test name_of_test\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eEileen M. Uchitelle\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eOptionally skip bundler-audit.\u003c/p\u003e\n\u003cp\u003eSkips adding the \u003ccode\u003ebin/bundler-audit\u003c/code\u003e \u0026amp; \u003ccode\u003econfig/bundler-audit.yml\u003c/code\u003e if the gem is not installed when \u003ccode\u003ebin/rails app:update\u003c/code\u003e runs.\u003c/p\u003e\n\u003cp\u003ePasses an option to \u003ccode\u003e--skip-bundler-audit\u003c/code\u003e when new apps are generated \u0026amp; adds that same option to the \u003ccode\u003e--minimal\u003c/code\u003e generator flag.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eJill Klang\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eShow engine routes in \u003ccode\u003e/rails/info/routes\u003c/code\u003e as well.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003ePetrik de Heus\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eExclude \u003ccode\u003easset_path\u003c/code\u003e configuration from Kamal \u003ccode\u003edeploy.yml\u003c/code\u003e for API applications.\u003c/p\u003e\n\u003cp\u003eAPI applications don't serve assets, so the \u003ccode\u003easset_path\u003c/code\u003e configuration in \u003ccode\u003edeploy.yml\u003c/code\u003e\nis not needed and can cause 404 errors on in-flight requests. The asset_path is now\nonly included for regular Rails applications that serve assets.\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/rails/rails/commit/90a1eaa1b30ba1f2d524e197460e549c03cf5698\"\u003e\u003ccode\u003e90a1eaa\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.1 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/89cb7bff192ce71267ae76f38942ca8f306ce273\"\u003e\u003ccode\u003e89cb7bf\u003c/code\u003e\u003c/a\u003e Fix railties/CHANGELOG.md offense at 8-1-stable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/7919bdab44688f1e7f121bc36a76169787cdfe60\"\u003e\u003ccode\u003e7919bda\u003c/code\u003e\u003c/a\u003e Restore header\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/f007f9ca53448379246a1901b213bd57955af26c\"\u003e\u003ccode\u003ef007f9c\u003c/code\u003e\u003c/a\u003e Disable SSL default config for out of the box Kamal deployments (\u003ca href=\"https://redirect.github.com/rails/rails/issues/56010\"\u003e#56010\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/29606f8c7b3aea3991343ee2c1aa5dd1860df283\"\u003e\u003ccode\u003e29606f8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55964\"\u003e#55964\u003c/a\u003e from viralpraxis/skip-ci-rb-tests-if-tests-are-skipped\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/1cdd190a25e483b65f1f25bbd0f13a25d696b461\"\u003e\u003ccode\u003e1cdd190\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.0 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/5e231ae6548f1c5686f75e61832638937b134961\"\u003e\u003ccode\u003e5e231ae\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/54914\"\u003e#54914\u003c/a\u003e from chaadow/fix_autoloaded_content_helper\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/1a8109e0fe8f10fa38a8f6c7fb11daf8a09394d5\"\u003e\u003ccode\u003e1a8109e\u003c/code\u003e\u003c/a\u003e Actually turn this off by default too\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/25af9250bf072ac24df2ea058c12284da5a99948\"\u003e\u003ccode\u003e25af925\u003c/code\u003e\u003c/a\u003e Kamal localhost registry (\u003ca href=\"https://redirect.github.com/rails/rails/issues/55934\"\u003e#55934\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/f58a75a5cf35a94cbf8a45fa64b95a0ea9055e64\"\u003e\u003ccode\u003ef58a75a\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55940\"\u003e#55940\u003c/a\u003e from jeromedalbert/fix-ci-yml-whitespace\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/rails/compare/v8.0.3...v8.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `bootsnap` from 1.18.6 to 1.19.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/bootsnap/blob/main/CHANGELOG.md\"\u003ebootsnap's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e1.19.0\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eRemove JSON parsing cache. Recent versions of the \u003ccode\u003ejson\u003c/code\u003e gem are as fast as \u003ccode\u003emsgpack\u003c/code\u003e if not faster.\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/rails/bootsnap/commit/d4ad1673943b416cd46491ffe236df29862ce37f\"\u003e\u003ccode\u003ed4ad167\u003c/code\u003e\u003c/a\u003e Release 1.19.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/4a0f8e62788d6e6304be06de5d4a313a94291492\"\u003e\u003ccode\u003e4a0f8e6\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/bootsnap/issues/508\"\u003e#508\u003c/a\u003e from byroot/remove-json-caching\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/5df6e04afd8cb8c9463d219518baaffaf2c48b6e\"\u003e\u003ccode\u003e5df6e04\u003c/code\u003e\u003c/a\u003e Remove Bootsnap::CompileCache::JSON\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/e6272f8c7f2935efc1000ec654da2d196e91f4e2\"\u003e\u003ccode\u003ee6272f8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/bootsnap/issues/506\"\u003e#506\u003c/a\u003e from rails/dependabot/github_actions/actions/checkout-5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/89879b4161b6e62bbb0d139208e1eb8cb30c1b40\"\u003e\u003ccode\u003e89879b4\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 4 to 5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/55d663fbc419d3a4ad32d200f7ba45c64e04d772\"\u003e\u003ccode\u003e55d663f\u003c/code\u003e\u003c/a\u003e Move bootsnap to the Rails org\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/03629f633ee1e591d4d9f3c351406465c3cf3ead\"\u003e\u003ccode\u003e03629f6\u003c/code\u003e\u003c/a\u003e Add devcontainer config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/037ad17aa546c080238a979fce8b393b4fc7f577\"\u003e\u003ccode\u003e037ad17\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/bootsnap/issues/505\"\u003e#505\u003c/a\u003e from beauraF/add-know-issues-note-to-readme\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/3019588dd3823dcdfbb24dd950cfba1516c2e662\"\u003e\u003ccode\u003e3019588\u003c/code\u003e\u003c/a\u003e Add a knows issues note into README.md related to QEMU\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/b3333f644b4bd0c82a3ec52a3fdd3c9752abcf71\"\u003e\u003ccode\u003eb3333f6\u003c/code\u003e\u003c/a\u003e Add Ruby 3.4 to CI\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/bootsnap/compare/v1.18.6...v1.19.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `faker` from 3.5.2 to 3.5.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/faker-ruby/faker/releases\"\u003efaker's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.5.3\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/faker-ruby/faker/tree/v3.5.3\"\u003ev3.5.3\u003c/a\u003e (2025-12-02)\u003c/h2\u003e\n\u003cp\u003eWishing you a cozy and calm Holiday season ☃️\u003c/p\u003e\n\u003cp\u003eThis version adds and improves some locales, fixes some bugs, and deprecates some generators.\u003c/p\u003e\n\u003cp\u003eThanks to all contributors!\u003c/p\u003e\n\u003ch2\u003eDeprecated generators\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRefactor: move \u003ccode\u003eFaker::BossaNova\u003c/code\u003e under \u003ccode\u003eFaker::Music::BossaNova\u003c/code\u003e by \u003ca href=\"https://github.com/thdaraujo\"\u003e\u003ccode\u003e@​thdaraujo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3140\"\u003efaker-ruby/faker#3140\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDeprecate \u003ccode\u003eFaker::Twitter\u003c/code\u003e in favor of \u003ccode\u003eFaker::X\u003c/code\u003e and update attributes by \u003ca href=\"https://github.com/stefannibrasil\"\u003e\u003ccode\u003e@​stefannibrasil\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3138\"\u003efaker-ruby/faker#3138\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eImprovements \u0026amp; Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRemove duplicate entry \u003ccode\u003eamateur radio\u003c/code\u003e from \u003ccode\u003elocales/en/hobby.yml\u003c/code\u003e by \u003ca href=\"https://github.com/Leenday\"\u003e\u003ccode\u003e@​Leenday\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3099\"\u003efaker-ruby/faker#3099\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix \u003ca href=\"https://redirect.github.com/faker-ruby/faker/issues/3114\"\u003e#3114\u003c/a\u003e: prevent scientific notation when generating bank account number by \u003ca href=\"https://github.com/AhmedHisham552\"\u003e\u003ccode\u003e@​AhmedHisham552\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3118\"\u003efaker-ruby/faker#3118\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix: typos in locales for \u003ccode\u003eoverwatch.yml\u003c/code\u003e, \u003ccode\u003erajnikanth.yml\u003c/code\u003e and \u003ccode\u003estreet_fighter.ym\u003c/code\u003e by \u003ca href=\"https://github.com/smorttey\"\u003e\u003ccode\u003e@​smorttey\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3106\"\u003efaker-ruby/faker#3106\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eArtist\u003c/code\u003e translations for the japanese locale by \u003ca href=\"https://github.com/neco-nico\"\u003e\u003ccode\u003e@​neco-nico\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3110\"\u003efaker-ruby/faker#3110\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003ecountry_code\u003c/code\u003e to Estonia locale (\u003ccode\u003elocales/ee.yml\u003c/code\u003e) by \u003ca href=\"https://github.com/HassanAkbar\"\u003e\u003ccode\u003e@​HassanAkbar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3111\"\u003efaker-ruby/faker#3111\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReformat Arabic locale (\u003ccode\u003elocales/ar.yml\u003c/code\u003e) by \u003ca href=\"https://github.com/ramzieus\"\u003e\u003ccode\u003e@​ramzieus\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3130\"\u003efaker-ruby/faker#3130\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRefactor: Improve UK Phone number false failure hit-rate by \u003ca href=\"https://github.com/luke-hill\"\u003e\u003ccode\u003e@​luke-hill\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3136\"\u003efaker-ruby/faker#3136\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprovements and fixes for Elder Scrolls locale (\u003ccode\u003eelder_scrolls.yml\u003c/code\u003e) by \u003ca href=\"https://github.com/SleekMutt\"\u003e\u003ccode\u003e@​SleekMutt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3129\"\u003efaker-ruby/faker#3129\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd en-GB ID Numbers (aka National Insurance Numbers) by \u003ca href=\"https://github.com/stefanjcollier\"\u003e\u003ccode\u003e@​stefanjcollier\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3032\"\u003efaker-ruby/faker#3032\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate ukrainian city locales to the modern ones by \u003ca href=\"https://github.com/SleekMutt\"\u003e\u003ccode\u003e@​SleekMutt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3127\"\u003efaker-ruby/faker#3127\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRevamp the docs to make them easier to find by \u003ca href=\"https://github.com/stefannibrasil\"\u003e\u003ccode\u003e@​stefannibrasil\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3151\"\u003efaker-ruby/faker#3151\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChores\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003etest: fix flaky test on \u003ccode\u003eFaker::IdNumber\u003c/code\u003e by \u003ca href=\"https://github.com/thdaraujo\"\u003e\u003ccode\u003e@​thdaraujo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3126\"\u003efaker-ruby/faker#3126\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove minitest dependency on i18n reload test by \u003ca href=\"https://github.com/stefannibrasil\"\u003e\u003ccode\u003e@​stefannibrasil\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3149\"\u003efaker-ruby/faker#3149\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove unused release workflow by \u003ca href=\"https://github.com/stefannibrasil\"\u003e\u003ccode\u003e@​stefannibrasil\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3133\"\u003efaker-ruby/faker#3133\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eUpdate local dependencies\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump benchmark from 0.4.1 to 0.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/faker-ruby/faker/pull/3122\"\u003efaker-ruby/faker#3122\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump rake from 13.3.0 to 13.3.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/faker-ruby/faker/pull/3124\"\u003efaker-ruby/faker#3124\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump test-unit from 3.7.0 to 3.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/faker-ruby/faker/pull/3128\"\u003efaker-ruby/faker#3128\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump rubocop-minitest from 0.38.1 to 0.38.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/faker-ruby/faker/pull/3116\"\u003efaker-ruby/faker#3116\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edeps: bump dependencies by \u003ca href=\"https://github.com/thdaraujo\"\u003e\u003ccode\u003e@​thdaraujo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3141\"\u003efaker-ruby/faker#3141\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edeps: bump Minitest version to \u003ccode\u003ev5.26.1\u003c/code\u003e and fix issues by \u003ca href=\"https://github.com/stefannibrasil\"\u003e\u003ccode\u003e@​stefannibrasil\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3144\"\u003efaker-ruby/faker#3144\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edeps: bump rubocop version to \u003ccode\u003ev1.81.7\u003c/code\u003e by \u003ca href=\"https://github.com/thdaraujo\"\u003e\u003ccode\u003e@​thdaraujo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3143\"\u003efaker-ruby/faker#3143\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/Leenday\"\u003e\u003ccode\u003e@​Leenday\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3099\"\u003efaker-ruby/faker#3099\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/AhmedHisham552\"\u003e\u003ccode\u003e@​AhmedHisham552\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3118\"\u003efaker-ruby/faker#3118\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/smorttey\"\u003e\u003ccode\u003e@​smorttey\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3106\"\u003efaker-ruby/faker#3106\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/neco-nico\"\u003e\u003ccode\u003e@​neco-nico\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3110\"\u003efaker-ruby/faker#3110\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HassanAkbar\"\u003e\u003ccode\u003e@​HassanAkbar\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3111\"\u003efaker-ruby/faker#3111\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ramzieus\"\u003e\u003ccode\u003e@​ramzieus\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3130\"\u003efaker-ruby/faker#3130\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/luke-hill\"\u003e\u003ccode\u003e@​luke-hill\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3136\"\u003efaker-ruby/faker#3136\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/SleekMutt\"\u003e\u003ccode\u003e@​SleekMutt\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3129\"\u003efaker-ruby/faker#3129\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/stefanjcollier\"\u003e\u003ccode\u003e@​stefanjcollier\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3032\"\u003efaker-ruby/faker#3032\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/faker-ruby/faker/blob/main/CHANGELOG.md\"\u003efaker's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/faker-ruby/faker/tree/v3.5.3\"\u003ev3.5.3\u003c/a\u003e (2025-12-02)\u003c/h2\u003e\n\u003cp\u003eWishing you a cozy and calm Holiday season ☃️\u003c/p\u003e\n\u003cp\u003eThis version adds and improves some locales, fixes some bugs, and deprecates some generators.\u003c/p\u003e\n\u003cp\u003eThanks to all contributors!\u003c/p\u003e\n\u003ch3\u003eDeprecated generators\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRefactor: move \u003ccode\u003eFaker::BossaNova\u003c/code\u003e under \u003ccode\u003eFaker::Music::BossaNova\u003c/code\u003e by \u003ca href=\"https://github.com/thdaraujo\"\u003e\u003ccode\u003e@​thdaraujo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3140\"\u003efaker-ruby/faker#3140\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDeprecate \u003ccode\u003eFaker::Twitter\u003c/code\u003e in favor of \u003ccode\u003eFaker::X\u003c/code\u003e and update attributes by \u003ca href=\"https://github.com/stefannibrasil\"\u003e\u003ccode\u003e@​stefannibrasil\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3138\"\u003efaker-ruby/faker#3138\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements \u0026amp; Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove duplicate entry \u003ccode\u003eamateur radio\u003c/code\u003e from \u003ccode\u003elocales/en/hobby.yml\u003c/code\u003e by \u003ca href=\"https://github.com/Leenday\"\u003e\u003ccode\u003e@​Leenday\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3099\"\u003efaker-ruby/faker#3099\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix \u003ca href=\"https://redirect.github.com/faker-ruby/faker/issues/3114\"\u003e#3114\u003c/a\u003e: prevent scientific notation when generating bank account number by \u003ca href=\"https://github.com/AhmedHisham552\"\u003e\u003ccode\u003e@​AhmedHisham552\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3118\"\u003efaker-ruby/faker#3118\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix: typos in locales for \u003ccode\u003eoverwatch.yml\u003c/code\u003e, \u003ccode\u003erajnikanth.yml\u003c/code\u003e and \u003ccode\u003estreet_fighter.ym\u003c/code\u003e by \u003ca href=\"https://github.com/smorttey\"\u003e\u003ccode\u003e@​smorttey\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3106\"\u003efaker-ruby/faker#3106\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eArtist\u003c/code\u003e translations for the japanese locale by \u003ca href=\"https://github.com/neco-nico\"\u003e\u003ccode\u003e@​neco-nico\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3110\"\u003efaker-ruby/faker#3110\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003ecountry_code\u003c/code\u003e to Estonia locale (\u003ccode\u003elocales/ee.yml\u003c/code\u003e) by \u003ca href=\"https://github.com/HassanAkbar\"\u003e\u003ccode\u003e@​HassanAkbar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3111\"\u003efaker-ruby/faker#3111\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReformat Arabic locale (\u003ccode\u003elocales/ar.yml\u003c/code\u003e) by \u003ca href=\"https://github.com/ramzieus\"\u003e\u003ccode\u003e@​ramzieus\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3130\"\u003efaker-ruby/faker#3130\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRefactor: Improve UK Phone number false failure hit-rate by \u003ca href=\"https://github.com/luke-hill\"\u003e\u003ccode\u003e@​luke-hill\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3136\"\u003efaker-ruby/faker#3136\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprovements and fixes for Elder Scrolls locale (\u003ccode\u003eelder_scrolls.yml\u003c/code\u003e) by \u003ca href=\"https://github.com/SleekMutt\"\u003e\u003ccode\u003e@​SleekMutt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3129\"\u003efaker-ruby/faker#3129\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd en-GB ID Numbers (aka National Insurance Numbers) by \u003ca href=\"https://github.com/stefanjcollier\"\u003e\u003ccode\u003e@​stefanjcollier\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3032\"\u003efaker-ruby/faker#3032\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate ukrainian city locales to the modern ones by \u003ca href=\"https://github.com/SleekMutt\"\u003e\u003ccode\u003e@​SleekMutt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3127\"\u003efaker-ruby/faker#3127\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRevamp the docs to make them easier to find by \u003ca href=\"https://github.com/stefannibrasil\"\u003e\u003ccode\u003e@​stefannibrasil\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3151\"\u003efaker-ruby/faker#3151\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003etest: fix flaky test on \u003ccode\u003eFaker::IdNumber\u003c/code\u003e by \u003ca href=\"https://github.com/thdaraujo\"\u003e\u003ccode\u003e@​thdaraujo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3126\"\u003efaker-ruby/faker#3126\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove minitest dependency on i18n reload test by \u003ca href=\"https://github.com/stefannibrasil\"\u003e\u003ccode\u003e@​stefannibrasil\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3149\"\u003efaker-ruby/faker#3149\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove unused release workflow by \u003ca href=\"https://github.com/stefannibrasil\"\u003e\u003ccode\u003e@​stefannibrasil\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3133\"\u003efaker-ruby/faker#3133\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eUpdate local dependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBump benchmark from 0.4.1 to 0.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/faker-ruby/faker/pull/3122\"\u003efaker-ruby/faker#3122\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump rake from 13.3.0 to 13.3.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/faker-ruby/faker/pull/3124\"\u003efaker-ruby/faker#3124\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump test-unit from 3.7.0 to 3.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/faker-ruby/faker/pull/3128\"\u003efaker-ruby/faker#3128\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump rubocop-minitest from 0.38.1 to 0.38.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/faker-ruby/faker/pull/3116\"\u003efaker-ruby/faker#3116\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edeps: bump dependencies by \u003ca href=\"https://github.com/thdaraujo\"\u003e\u003ccode\u003e@​thdaraujo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3141\"\u003efaker-ruby/faker#3141\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edeps: bump Minitest version to \u003ccode\u003ev5.26.1\u003c/code\u003e and fix issues by \u003ca href=\"https://github.com/stefannibrasil\"\u003e\u003ccode\u003e@​stefannibrasil\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3144\"\u003efaker-ruby/faker#3144\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edeps: bump rubocop version to \u003ccode\u003ev1.81.7\u003c/code\u003e by \u003ca href=\"https://github.com/thdaraujo\"\u003e\u003ccode\u003e@​thdaraujo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3143\"\u003efaker-ruby/faker#3143\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNew Contributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Leenday\"\u003e\u003ccode\u003e@​Leenday\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3099\"\u003efaker-ruby/faker#3099\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/AhmedHisham552\"\u003e\u003ccode\u003e@​AhmedHisham552\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3118\"\u003efaker-ruby/faker#3118\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/smorttey\"\u003e\u003ccode\u003e@​smorttey\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3106\"\u003efaker-ruby/faker#3106\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/neco-nico\"\u003e\u003ccode\u003e@​neco-nico\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3110\"\u003efaker-ruby/faker#3110\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HassanAkbar\"\u003e\u003ccode\u003e@​HassanAkbar\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3111\"\u003efaker-ruby/faker#3111\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ramzieus\"\u003e\u003ccode\u003e@​ramzieus\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3130\"\u003efaker-ruby/faker#3130\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/luke-hill\"\u003e\u003ccode\u003e@​luke-hill\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3136\"\u003efaker-ruby/faker#3136\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/SleekMutt\"\u003e\u003ccode\u003e@​SleekMutt\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3129\"\u003efaker-ruby/faker#3129\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/stefanjcollier\"\u003e\u003ccode\u003e@​stefanjcollier\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3032\"\u003efaker-ruby/faker#3032\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/faker-ruby/faker/commit/a4d5e503edda970fc085e942018ee235622bfb11\"\u003e\u003ccode\u003ea4d5e50\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/faker-ruby/faker/issues/3152\"\u003e#3152\u003c/a\u003e from faker-ruby/bump-faker-to-v3.5.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/faker-ruby/faker/commit/bf8ca840b0f6904c5d4716399d0635c3af271ef6\"\u003e\u003ccode\u003ebf8ca84\u003c/code\u003e\u003c/a\u003e Bump faker to v3.5.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/faker-ruby/faker/commit/7dbacc0d95150d967f5b3cfc960f46e2c5f1afe6\"\u003e\u003ccode\u003e7dbacc0\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/faker-ruby/faker/issues/3151\"\u003e#3151\u003c/a\u003e from faker-ruby/sb-3150-revamp-docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/faker-ruby/faker/commit/de6e845c44266d0ea481f3a0a47379aeb138fc6f\"\u003e\u003ccode\u003ede6e845\u003c/code\u003e\u003c/a\u003e Update GENERATORS.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/faker-ruby/faker/commit/71e00e7dc465b8a9a5567f8f44b42dd33faac0eb\"\u003e\u003ccode\u003e71e00e7\u003c/code\u003e\u003c/a\u003e Update GENERATORS.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/faker-ruby/faker/commit/c2dafd83c9b79626557b249028f78c302ae8528d\"\u003e\u003ccode\u003ec2dafd8\u003c/code\u003e\u003c/a\u003e Update GENERATORS.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/faker-ruby/faker/commit/1c18dfdb940a1cfff9d1664b9faeb89a977a0552\"\u003e\u003ccode\u003e1c18dfd\u003c/code\u003e\u003c/a\u003e Update GENERATORS.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/faker-ruby/faker/commit/0d85e813020ce3beff112e6e94633fc9618c44cf\"\u003e\u003ccode\u003e0d85...\n\n_Description has been truncated_","html_url":"https://github.com/ministryofjustice/hmcts-common-platform-mock-api/pull/1021","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/ministryofjustice%2Fhmcts-common-platform-mock-api/issues/1021","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1021/packages"}],"issue_packages":[{"old_version":"2.0.18","new_version":"2.0.22","update_type":"patch","path":null,"pr_created_at":"2026-06-08T13:28:34.000Z","version_change":"2.0.18 → 2.0.22","issue":{"uuid":"4613299319","node_id":"PR_kwDORvDTvM7j7FmC","number":31,"state":"closed","title":"Bump oauth2 from 2.0.18 to 2.0.22","user":"dependabot[bot]","labels":["dependencies","ruby"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-06-15T13:35:29.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-08T13:28:34.000Z","updated_at":"2026-06-15T13:35:31.000Z","time_to_close":605215,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"oauth2","old_version":"2.0.18","new_version":"2.0.22","repository_url":"https://github.com/ruby-oauth/oauth2"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps [oauth2](https://github.com/ruby-oauth/oauth2) from 2.0.18 to 2.0.22.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby-oauth/oauth2/releases\"\u003eoauth2's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.0.22\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/compare/v2.0.21...v2.0.22\"\u003e2.0.22\u003c/a\u003e - 2026-06-07\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eTAG: \u003ca href=\"https://github.com/ruby-oauth/oauth2/releases/tag/v2.0.22\"\u003ev2.0.22\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCOVERAGE: 100.00% -- 542/542 lines in 15 files\u003c/li\u003e\n\u003cli\u003eBRANCH COVERAGE: 100.00% -- 180/180 branches in 15 files\u003c/li\u003e\n\u003cli\u003e88.35% documented\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRaised generated development tooling floors to \u003ccode\u003ekettle-dev\u003c/code\u003e \u0026gt;= 2.1.1 and\n\u003ccode\u003eversion_gem\u003c/code\u003e \u0026gt;= 1.1.11.\u003c/li\u003e\n\u003cli\u003eRaised the runtime dependency floor for \u003ccode\u003esnaky_hash\u003c/code\u003e to \u003ccode\u003e\u0026gt;= 2.0.5\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[GHSA-pp92-crg2-gfv9] Prevent protocol-relative redirect \u003ccode\u003eLocation\u003c/code\u003e values from changing request authority, and strip \u003ccode\u003eAuthorization\u003c/code\u003e headers from cross-origin redirects.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eOfficial Discord 👉️ \u003ca href=\"https://discord.gg/3qme4XHNKN\"\u003e\u003cimg src=\"https://img.shields.io/discord/1373797679469170758?style=flat\" alt=\"Live Chat on Discord\" /\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eMany paths lead to being a sponsor or a backer of this project. Are you on such a path?\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://opencollective.com/ruby-oauth#backer\"\u003e\u003cimg src=\"https://opencollective.com/ruby-oauth/backers/badge.svg?style=flat\" alt=\"OpenCollective Backers\" /\u003e\u003c/a\u003e \u003ca href=\"https://opencollective.com/ruby-oauth#sponsor\"\u003e\u003cimg src=\"https://opencollective.com/ruby-oauth/sponsors/badge.svg?style=flat\" alt=\"OpenCollective Sponsors\" /\u003e\u003c/a\u003e \u003ca href=\"https://github.com/sponsors/pboling\"\u003e\u003cimg src=\"https://img.shields.io/badge/Sponsor_Me!-pboling.svg?style=social\u0026amp;logo=github\" alt=\"Sponsor Me on Github\" /\u003e\u003c/a\u003e \u003ca href=\"https://liberapay.com/pboling/donate\"\u003e\u003cimg src=\"https://img.shields.io/liberapay/goal/pboling.svg?logo=liberapay\u0026amp;color=a51611\u0026amp;style=flat\" alt=\"Liberapay Goal Progress\" /\u003e\u003c/a\u003e \u003ca href=\"https://www.paypal.com/paypalme/peterboling\"\u003e\u003cimg src=\"https://img.shields.io/badge/donate-paypal-a51611.svg?style=flat\u0026amp;logo=paypal\" alt=\"Donate on PayPal\" /\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://www.buymeacoffee.com/pboling\"\u003e\u003cimg src=\"https://img.shields.io/badge/buy_me_a_coffee-%E2%9C%93-a51611.svg?style=flat\" alt=\"Buy me a coffee\" /\u003e\u003c/a\u003e \u003ca href=\"https://polar.sh/pboling\"\u003e\u003cimg src=\"https://img.shields.io/badge/polar-donate-a51611.svg?style=flat\" alt=\"Donate on Polar\" /\u003e\u003c/a\u003e \u003ca href=\"https://ko-fi.com/pboling\"\u003e\u003cimg src=\"https://img.shields.io/badge/ko--fi-%E2%9C%93-a51611.svg?style=flat\" alt=\"Donate to my FLOSS efforts at ko-fi.com\" /\u003e\u003c/a\u003e \u003ca href=\"https://patreon.com/galtzo\"\u003e\u003cimg src=\"https://img.shields.io/badge/patreon-donate-a51611.svg?style=flat\" alt=\"Donate to my FLOSS efforts using Patreon\" /\u003e\u003c/a\u003e\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\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby-oauth/oauth2/blob/main/CHANGELOG.md\"\u003eoauth2's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[2.0.22] - 2026-06-07\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eTAG: [v2.0.22][2.0.22t]\u003c/li\u003e\n\u003cli\u003eCOVERAGE: 100.00% -- 542/542 lines in 15 files\u003c/li\u003e\n\u003cli\u003eBRANCH COVERAGE: 100.00% -- 180/180 branches in 15 files\u003c/li\u003e\n\u003cli\u003e88.35% documented\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRaised generated development tooling floors to \u003ccode\u003ekettle-dev\u003c/code\u003e \u0026gt;= 2.1.1 and\n\u003ccode\u003eversion_gem\u003c/code\u003e \u0026gt;= 1.1.11.\u003c/li\u003e\n\u003cli\u003eRaised the runtime dependency floor for \u003ccode\u003esnaky_hash\u003c/code\u003e to \u003ccode\u003e\u0026gt;= 2.0.5\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[GHSA-pp92-crg2-gfv9] Prevent protocol-relative redirect \u003ccode\u003eLocation\u003c/code\u003e values from changing request authority, and strip \u003ccode\u003eAuthorization\u003c/code\u003e headers from cross-origin redirects.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[2.0.21] - 2026-06-06\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eTAG: [v2.0.21][2.0.21t]\u003c/li\u003e\n\u003cli\u003eCOVERAGE: 100.00% -- 525/525 lines in 15 files\u003c/li\u003e\n\u003cli\u003eBRANCH COVERAGE: 100.00% -- 174/174 branches in 15 files\u003c/li\u003e\n\u003cli\u003e88.35% documented\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/730\"\u003egh!730\u003c/a\u003e - Alternatives section to README by \u003ca href=\"https://github.com/jonathangrinstead\"\u003e\u003ccode\u003e@​jonathangrinstead\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdates to alternatives section - by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cul\u003e\n\u003cli\u003eAdded conditional \u003ccode\u003eappraisal2-rubocop\u003c/code\u003e Appraisal root loading on modern Ruby\nso generated Appraisal gemfiles are normalized during generation - by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRaised generated \u003ccode\u003eversion_gem\u003c/code\u003e dependency floor to \u003ccode\u003eversion_gem\u003c/code\u003e \u0026gt;= 1.1.10 - by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRaised the runtime dependency floor for \u003ccode\u003eauth-sanitizer\u003c/code\u003e to \u003ccode\u003e\u0026gt;= 0.2.1\u003c/code\u003e - by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRefreshed generated package metadata, support documentation, CI workflows,\nand development dependency floors from the current kettle-jem template - by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocumented the current per-version Ruby, JRuby, and TruffleRuby CI matrix in\ngenerated README badges and compatibility tables - by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemoved the post-install message from the gemspec to keep installs quieter - by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRefreshed generated README support badges so Ruby 2.3 is listed as\nsupported but untested - by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRefreshed generated project metadata from the current kettle-jem template - by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRaised development tooling floors to \u003ccode\u003ekettle-dev\u003c/code\u003e \u0026gt;= 2.1.0 and\n\u003ccode\u003eappraisal2\u003c/code\u003e \u0026gt;= 3.1.1 for Appraisal2's split generate/install/update\ncommand semantics.\u003c/li\u003e\n\u003cli\u003eRefreshed generated Appraisal and CI templates to appraisal2-rubocop 0.2.0 - by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\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/ruby-oauth/oauth2/commit/551f434a81912763fb5a8e240cd00a6532e26970\"\u003e\u003ccode\u003e551f434\u003c/code\u003e\u003c/a\u003e 🔖 Prepare release v2.0.22\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/849e7e5e1f867c2d05c05428922aed12bc6439cb\"\u003e\u003ccode\u003e849e7e5\u003c/code\u003e\u003c/a\u003e 🧪 Strengthen redirect security specs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/442c1609858ebaecbac5eab77f4511bc81ed7383\"\u003e\u003ccode\u003e442c160\u003c/code\u003e\u003c/a\u003e 📝 Reference GHSA in security changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/f6fed86ddf4295c47f38df61ee37066b62a13ef2\"\u003e\u003ccode\u003ef6fed86\u003c/code\u003e\u003c/a\u003e ⬆️ Raise snaky_hash floor\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/26bfeda3d8c0b34d6a51bfa30b7a8bf1b5f3b0f6\"\u003e\u003ccode\u003e26bfeda\u003c/code\u003e\u003c/a\u003e 🔧 Refresh kettle-jem templates\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/0f0a474f1b38453e119e660c2daca742d4378ce9\"\u003e\u003ccode\u003e0f0a474\u003c/code\u003e\u003c/a\u003e Fix credential leakage on redirects\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/1118527f311a23d06feede403b88b8f6bd2a4eed\"\u003e\u003ccode\u003e1118527\u003c/code\u003e\u003c/a\u003e 🔒️ Checksums for v2.0.21\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/3f4154985fc0ab9b2b3fd0b085fa132fdc8bd8b4\"\u003e\u003ccode\u003e3f41549\u003c/code\u003e\u003c/a\u003e 🔖 Prepare release v2.0.21\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/3311b5b6b39c57c062a071356a55bcb826207e54\"\u003e\u003ccode\u003e3311b5b\u003c/code\u003e\u003c/a\u003e Raise auth-sanitizer floor to 0.2.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/5659d892c3dcb4266c682f1565d0266d0b321503\"\u003e\u003ccode\u003e5659d89\u003c/code\u003e\u003c/a\u003e 🔖 Prepare release v2.0.21\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby-oauth/oauth2/compare/v2.0.18...v2.0.22\"\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=oauth2\u0026package-manager=bundler\u0026previous-version=2.0.18\u0026new-version=2.0.22)](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/jacetimm/Homework-Planner/pull/31","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/jacetimm%2FHomework-Planner/issues/31","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/31/packages"}},{"old_version":"2.0.18","new_version":"2.0.20","update_type":"patch","path":null,"pr_created_at":"2026-05-28T02:22:18.000Z","version_change":"2.0.18 → 2.0.20","issue":{"uuid":"4537188249","node_id":"PR_kwDOJAseVs7gETmQ","number":1781,"state":"open","title":"Chore(deps): Bump the bundler group with 9 updates","user":"dependabot[bot]","labels":["dependencies","ruby"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-28T02:22:18.000Z","updated_at":"2026-05-28T02:22:42.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Chore(deps): Bump","group_name":"bundler","update_count":9,"packages":[{"name":"aws-sdk-s3","old_version":"1.222.0","new_version":"1.223.0","repository_url":"https://github.com/aws/aws-sdk-ruby"},{"name":"oauth2","old_version":"2.0.18","new_version":"2.0.20","repository_url":"https://github.com/ruby-oauth/oauth2"},{"name":"aws-partitions","old_version":"1.1252.0","new_version":"1.1253.0","repository_url":"https://github.com/aws/aws-sdk-ruby"},{"name":"aws-sdk-core","old_version":"3.247.0","new_version":"3.249.0","repository_url":"https://github.com/aws/aws-sdk-ruby"},{"name":"aws-sdk-kms","old_version":"1.127.0","new_version":"1.128.0","repository_url":"https://github.com/aws/aws-sdk-ruby"},{"name":"faraday-net_http","old_version":"3.4.2","new_version":"3.4.3","repository_url":"https://github.com/lostisland/faraday-net_http"},{"name":"marcel","old_version":"1.1.0","new_version":"1.2.1","repository_url":"https://github.com/rails/marcel"},{"name":"openid_connect","old_version":"2.3.1","new_version":"2.4.0","repository_url":"https://github.com/nov/openid_connect"},{"name":"snaky_hash","old_version":"2.0.3","new_version":"2.0.4","repository_url":"https://github.com/ruby-oauth/snaky_hash"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps the bundler group with 9 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [aws-sdk-s3](https://github.com/aws/aws-sdk-ruby) | `1.222.0` | `1.223.0` |\n| [oauth2](https://github.com/ruby-oauth/oauth2) | `2.0.18` | `2.0.20` |\n| [aws-partitions](https://github.com/aws/aws-sdk-ruby) | `1.1252.0` | `1.1253.0` |\n| [aws-sdk-core](https://github.com/aws/aws-sdk-ruby) | `3.247.0` | `3.249.0` |\n| [aws-sdk-kms](https://github.com/aws/aws-sdk-ruby) | `1.127.0` | `1.128.0` |\n| [faraday-net_http](https://github.com/lostisland/faraday-net_http) | `3.4.2` | `3.4.3` |\n| [marcel](https://github.com/rails/marcel) | `1.1.0` | `1.2.1` |\n| [openid_connect](https://github.com/nov/openid_connect) | `2.3.1` | `2.4.0` |\n| [snaky_hash](https://github.com/ruby-oauth/snaky_hash) | `2.0.3` | `2.0.4` |\n\nUpdates `aws-sdk-s3` from 1.222.0 to 1.223.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/aws/aws-sdk-ruby/blob/version-3/gems/aws-sdk-s3/CHANGELOG.md\"\u003eaws-sdk-s3's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.223.0 (2026-05-19)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Code Generated Changes, see \u003ccode\u003e./build_tools\u003c/code\u003e or \u003ccode\u003eaws-sdk-core\u003c/code\u003e's CHANGELOG.md for details.\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\u003eSee full diff in \u003ca href=\"https://github.com/aws/aws-sdk-ruby/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `oauth2` from 2.0.18 to 2.0.20\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby-oauth/oauth2/releases\"\u003eoauth2's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.0.20\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/compare/v2.0.19...v2.0.20\"\u003e2.0.20\u003c/a\u003e - 2026-05-20\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eTAG: \u003ca href=\"https://github.com/ruby-oauth/oauth2/releases/tag/v2.0.20\"\u003ev2.0.20\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCOVERAGE: 99.62% -- 525/527 lines in 15 files\u003c/li\u003e\n\u003cli\u003eBRANCH COVERAGE: 98.88% -- 176/178 branches in 15 files\u003c/li\u003e\n\u003cli\u003e88.35% documented\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eOAuth2::VERSION (Traditional Constant Location)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eauth-sanitizer v0.1.3\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/721\"\u003egh!721\u003c/a\u003e Load \u003ccode\u003eauth-sanitizer\u003c/code\u003e through an internal isolated loader so requiring \u003ccode\u003eoauth2\u003c/code\u003e does not add top-level \u003ccode\u003eAuth\u003c/code\u003e or \u003ccode\u003eAuthSanitizer\u003c/code\u003e constants that may collide with downstream applications by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cp\u003eOfficial Discord 👉️ [![Live Chat on Discord][✉️discord-invite-img]][✉️discord-invite]\u003c/p\u003e\n\u003cp\u003eMany paths lead to being a sponsor or a backer of this project. Are you on such a path?\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://opencollective.com/ruby-oauth#backer\"\u003e\u003cimg src=\"https://opencollective.com/ruby-oauth/backers/badge.svg?style=flat\" alt=\"OpenCollective Backers\" /\u003e\u003c/a\u003e \u003ca href=\"https://opencollective.com/ruby-oauth#sponsor\"\u003e\u003cimg src=\"https://opencollective.com/ruby-oauth/sponsors/badge.svg?style=flat\" alt=\"OpenCollective Sponsors\" /\u003e\u003c/a\u003e \u003ca href=\"https://github.com/sponsors/pboling\"\u003e\u003cimg src=\"https://img.shields.io/badge/Sponsor_Me!-pboling.svg?style=social\u0026amp;logo=github\" alt=\"Sponsor Me on Github\" /\u003e\u003c/a\u003e \u003ca href=\"https://liberapay.com/pboling/donate\"\u003e\u003cimg src=\"https://img.shields.io/liberapay/goal/pboling.svg?logo=liberapay\u0026amp;color=a51611\u0026amp;style=flat\" alt=\"Liberapay Goal Progress\" /\u003e\u003c/a\u003e [![Donate on PayPal][🖇paypal-img]][🖇paypal]\u003c/p\u003e\n\u003cp\u003e[\u003cimg src=\"https://img.shields.io/badge/buy_me_a_coffee-%E2%9C%93-a51611.svg?style=flat\" alt=\"Buy me a coffee\" /\u003e][🖇buyme] \u003ca href=\"https://polar.sh/pboling\"\u003e\u003cimg src=\"https://img.shields.io/badge/polar-donate-a51611.svg?style=flat\" alt=\"Donate on Polar\" /\u003e\u003c/a\u003e \u003ca href=\"https://ko-fi.com/O5O86SNP4\"\u003e\u003cimg src=\"https://img.shields.io/badge/ko--fi-%E2%9C%93-a51611.svg?style=flat\" alt=\"Donate to my FLOSS efforts at ko-fi.com\" /\u003e\u003c/a\u003e \u003ca href=\"https://patreon.com/galtzo\"\u003e\u003cimg src=\"https://img.shields.io/badge/patreon-donate-a51611.svg?style=flat\" alt=\"Donate to my FLOSS efforts using Patreon\" /\u003e\u003c/a\u003e\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\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby-oauth/oauth2/blob/main/CHANGELOG.md\"\u003eoauth2's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[2.0.20] - 2026-05-20\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eTAG: [v2.0.20][2.0.20t]\u003c/li\u003e\n\u003cli\u003eCOVERAGE: 99.62% -- 525/527 lines in 15 files\u003c/li\u003e\n\u003cli\u003eBRANCH COVERAGE: 98.88% -- 176/178 branches in 15 files\u003c/li\u003e\n\u003cli\u003e88.35% documented\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eOAuth2::VERSION (Traditional Constant Location)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eauth-sanitizer v0.1.3\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/721\"\u003egh!721\u003c/a\u003e Load \u003ccode\u003eauth-sanitizer\u003c/code\u003e through an internal isolated loader so requiring \u003ccode\u003eoauth2\u003c/code\u003e does not add top-level \u003ccode\u003eAuth\u003c/code\u003e or \u003ccode\u003eAuthSanitizer\u003c/code\u003e constants that may collide with downstream applications by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003ch2\u003e[2.0.19] - 2026-05-15\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eTAG: [v2.0.19][2.0.19t]\u003c/li\u003e\n\u003cli\u003eCOVERAGE: 100.00% -- 515/515 lines in 14 files\u003c/li\u003e\n\u003cli\u003eBRANCH COVERAGE: 100.00% -- 174/174 branches in 14 files\u003c/li\u003e\n\u003cli\u003e89.11% documented\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/707\"\u003egh!707\u003c/a\u003e Add \u003ccode\u003eOAuth2.config[:filtered_label]\u003c/code\u003e to configure the placeholder used for filtered sensitive values in inspected objects and debug logging output by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/707\"\u003egh!707\u003c/a\u003e Add \u003ccode\u003eOAuth2.config[:filtered_debug_keys]\u003c/code\u003e to configure which key names have their values redacted from debug logging output by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/707\"\u003egh!707\u003c/a\u003e Make inspect-time and debug-log filters snapshot their configuration at initialization time rather than tracking later config changes by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[gh!714][gh!714]Refactor sensitive-value filtering to use \u003ccode\u003eauth-sanitizer\u003c/code\u003e while preserving \u003ccode\u003eOAuth2::FilteredAttributes\u003c/code\u003e as a permanent API alias by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRemoved\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove the internal \u003ccode\u003eOAuth2::ThingFilter\u003c/code\u003e and \u003ccode\u003eOAuth2::SanitizedLogger\u003c/code\u003e implementations now provided by \u003ccode\u003eauth-sanitizer\u003c/code\u003e by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/707\"\u003egh!707\u003c/a\u003e Redact sensitive values from debug logging output, including Authorization headers and common token/secret fields in headers, query strings, form bodies, and JSON payloads by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003eNOTE: debug logging has always been, and remains, opt-in. It is turned off by default.\u003c/li\u003e\n\u003c/ul\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/ruby-oauth/oauth2/commit/e2d509705db6091c8d5f27c31e29c58e39e51c7c\"\u003e\u003ccode\u003ee2d5097\u003c/code\u003e\u003c/a\u003e 🔧 :nocov: for unreachable error states\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/30650b2e1cb743e3263181e8b8a32c57ef33b9fb\"\u003e\u003ccode\u003e30650b2\u003c/code\u003e\u003c/a\u003e 🔖 Prepare release v2.0.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/23f2855f1b0053a38b6b5df00c870d83db761c31\"\u003e\u003ccode\u003e23f2855\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/issues/721\"\u003e#721\u003c/a\u003e from ruby-oauth/fix/top-level-namespace-pollution\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/5e4c98831ecb68ec446fcc99be0af40e6e68490c\"\u003e\u003ccode\u003e5e4c988\u003c/code\u003e\u003c/a\u003e Fix RuboCop Gradual offenses\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/89397f699bd6903c5ac3a9927d1743984a946dc5\"\u003e\u003ccode\u003e89397f6\u003c/code\u003e\u003c/a\u003e Constrain auth-sanitizer loader lookup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/8e71e19890fe486d7d260eb29ec67eb5ac1e75d0\"\u003e\u003ccode\u003e8e71e19\u003c/code\u003e\u003c/a\u003e 📝 CHANGELOG.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/6082a21c5628b270953dc9edb0af57dafb36e194\"\u003e\u003ccode\u003e6082a21\u003c/code\u003e\u003c/a\u003e ⬆️ snaky_hash, faraday-net_http, zeitwerk, bundler-audit\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/350da4214e9285fd88e21a9859d049dc8e954a25\"\u003e\u003ccode\u003e350da42\u003c/code\u003e\u003c/a\u003e Avoid auth-sanitizer top-level namespaces\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/0bc19030c2226ab16fc237b547e95d90ed8fa2e9\"\u003e\u003ccode\u003e0bc1903\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/issues/719\"\u003e#719\u003c/a\u003e from step-security-bot/chore/GHA-182236-stepsecurity-...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/148d716337a530494895091fe3b4359a410212a5\"\u003e\u003ccode\u003e148d716\u003c/code\u003e\u003c/a\u003e Switch pre-commit hook to rubocop_gradual\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby-oauth/oauth2/compare/v2.0.18...v2.0.20\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `aws-partitions` from 1.1252.0 to 1.1253.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/aws/aws-sdk-ruby/blob/version-3/gems/aws-partitions/CHANGELOG.md\"\u003eaws-partitions's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.1253.0 (2026-05-22)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Updated the partitions source data that determines the AWS service regions and endpoints.\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\u003eSee full diff in \u003ca href=\"https://github.com/aws/aws-sdk-ruby/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `aws-sdk-core` from 3.247.0 to 3.249.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/aws/aws-sdk-ruby/blob/version-3/gems/aws-sdk-core/CHANGELOG.md\"\u003eaws-sdk-core's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.249.0 (2026-05-22)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Adding new BDD representation of endpoint ruleset\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.248.0 (2026-05-21)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFeature - Updated Aws::STS::Client with the latest API changes.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFeature - Updated Aws::SSOOIDC::Client with the latest API changes.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFeature - Updated Aws::SSO::Client with the latest API changes.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFeature - Updated Aws::Signin::Client with the latest API changes.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFeature - Add \u003ccode\u003eAWS_NEW_RETRIES_2026\u003c/code\u003e environment variable to opt-in to updated \u003ccode\u003estandard\u003c/code\u003e retry mode with reduced backoff intervals.\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\u003eSee full diff in \u003ca href=\"https://github.com/aws/aws-sdk-ruby/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `aws-sdk-kms` from 1.127.0 to 1.128.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/aws/aws-sdk-ruby/blob/version-3/gems/aws-sdk-kms/CHANGELOG.md\"\u003eaws-sdk-kms's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.128.0 (2026-05-21)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Code Generated Changes, see \u003ccode\u003e./build_tools\u003c/code\u003e or \u003ccode\u003eaws-sdk-core\u003c/code\u003e's CHANGELOG.md for details.\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\u003eSee full diff in \u003ca href=\"https://github.com/aws/aws-sdk-ruby/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `faraday-net_http` from 3.4.2 to 3.4.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/lostisland/faraday-net_http/releases\"\u003efaraday-net_http's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.4.3\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\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/lostisland/faraday-net_http/pull/54\"\u003elostisland/faraday-net_http#54\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAlways dup body before mutating it by \u003ca href=\"https://github.com/byroot\"\u003e\u003ccode\u003e@​byroot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lostisland/faraday-net_http/pull/56\"\u003elostisland/faraday-net_http#56\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/byroot\"\u003e\u003ccode\u003e@​byroot\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/lostisland/faraday-net_http/pull/56\"\u003elostisland/faraday-net_http#56\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/lostisland/faraday-net_http/compare/v3.4.2...v3.4.3\"\u003ehttps://github.com/lostisland/faraday-net_http/compare/v3.4.2...v3.4.3\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/lostisland/faraday-net_http/commit/1a6f2505c876de3c7d4f0e420951664d26958196\"\u003e\u003ccode\u003e1a6f250\u003c/code\u003e\u003c/a\u003e Version bump to 3.4.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lostisland/faraday-net_http/commit/4bcd6262dd0d902b15b4b6285932eda517d7586a\"\u003e\u003ccode\u003e4bcd626\u003c/code\u003e\u003c/a\u003e Always dup body before mutating it (\u003ca href=\"https://redirect.github.com/lostisland/faraday-net_http/issues/56\"\u003e#56\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lostisland/faraday-net_http/commit/5ee17ed98e41ad038c9b16ccf8ecf08bd1735568\"\u003e\u003ccode\u003e5ee17ed\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 5 to 6 (\u003ca href=\"https://redirect.github.com/lostisland/faraday-net_http/issues/54\"\u003e#54\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/lostisland/faraday-net_http/compare/v3.4.2...v3.4.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `marcel` from 1.1.0 to 1.2.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/marcel/releases\"\u003emarcel's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.2.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRevert BMP images type to just \u003ccode\u003eimage/bmp\u003c/code\u003e instead of \u003ccode\u003eimage/bmp;format=compressed\u003c/code\u003e.\nThe later is more precise, but cause backward compatibility issues with Active Storage.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/rails/marcel/compare/v1.2.0...v1.2.1\"\u003ehttps://github.com/rails/marcel/compare/v1.2.0...v1.2.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.2.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eStop mutating source IO state during magic-byte detection by \u003ca href=\"https://github.com/andreaslillebo\"\u003e\u003ccode\u003e@​andreaslillebo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/143\"\u003erails/marcel#143\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eimprove SVG detection by \u003ca href=\"https://github.com/alexanderadam\"\u003e\u003ccode\u003e@​alexanderadam\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/129\"\u003erails/marcel#129\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eimprove HTML detection by \u003ca href=\"https://github.com/alexanderadam\"\u003e\u003ccode\u003e@​alexanderadam\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/130\"\u003erails/marcel#130\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eadd fixture for BOM CSV by \u003ca href=\"https://github.com/alexanderadam\"\u003e\u003ccode\u003e@​alexanderadam\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/134\"\u003erails/marcel#134\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eadd unicode string support by \u003ca href=\"https://github.com/alexanderadam\"\u003e\u003ccode\u003e@​alexanderadam\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/138\"\u003erails/marcel#138\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for Sony RAW image format magic detection by \u003ca href=\"https://github.com/bogdan\"\u003e\u003ccode\u003e@​bogdan\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/142\"\u003erails/marcel#142\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for .gpx files by \u003ca href=\"https://github.com/trekdemo\"\u003e\u003ccode\u003e@​trekdemo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/113\"\u003erails/marcel#113\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eadd \u003ccode\u003etika.xml\u003c/code\u003e regex support by \u003ca href=\"https://github.com/alexanderadam\"\u003e\u003ccode\u003e@​alexanderadam\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/132\"\u003erails/marcel#132\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eadd pkcs8 detection by \u003ca href=\"https://github.com/alexanderadam\"\u003e\u003ccode\u003e@​alexanderadam\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/133\"\u003erails/marcel#133\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd hprof fixture and fix trailing space bug by \u003ca href=\"https://github.com/alexanderadam\"\u003e\u003ccode\u003e@​alexanderadam\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/136\"\u003erails/marcel#136\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/andreaslillebo\"\u003e\u003ccode\u003e@​andreaslillebo\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/143\"\u003erails/marcel#143\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/alexanderadam\"\u003e\u003ccode\u003e@​alexanderadam\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/129\"\u003erails/marcel#129\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bogdan\"\u003e\u003ccode\u003e@​bogdan\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/142\"\u003erails/marcel#142\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/trekdemo\"\u003e\u003ccode\u003e@​trekdemo\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/113\"\u003erails/marcel#113\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/rails/marcel/compare/v1.1.1...v1.2.0\"\u003ehttps://github.com/rails/marcel/compare/v1.1.1...v1.2.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.1.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix Ruby 3.4 frozen string literal warnings with StringIO by \u003ca href=\"https://github.com/andynu\"\u003e\u003ccode\u003e@​andynu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/140\"\u003erails/marcel#140\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/andynu\"\u003e\u003ccode\u003e@​andynu\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/140\"\u003erails/marcel#140\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/rails/marcel/compare/v1.1.0...v1.1.1\"\u003ehttps://github.com/rails/marcel/compare/v1.1.0...v1.1.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/rails/marcel/commit/b0625d3f0358deb3fb2cba20b26a1c39f09f62ea\"\u003e\u003ccode\u003eb0625d3\u003c/code\u003e\u003c/a\u003e Release 1.2.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/65a6a56de6f4b19e641ca35e8f8d792de5f52445\"\u003e\u003ccode\u003e65a6a56\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/marcel/issues/148\"\u003e#148\u003c/a\u003e from rails/bmp-raw-type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/f065e38c5b633c4a1dcbad5d957d5602d6a25387\"\u003e\u003ccode\u003ef065e38\u003c/code\u003e\u003c/a\u003e Release 1.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/8bf7690671bf41c634ac0233e3d8f40ed689a611\"\u003e\u003ccode\u003e8bf7690\u003c/code\u003e\u003c/a\u003e Prefer audio/ogg instead of audio/opus\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/5d740354c292b9d91460b5b3bde92080a96164cd\"\u003e\u003ccode\u003e5d74035\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/marcel/issues/136\"\u003e#136\u003c/a\u003e from alexanderadam/fix/remove_trailing_mime_type_spac...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/17549db6c960674cccbe1bf697729d0d0a40daab\"\u003e\u003ccode\u003e17549db\u003c/code\u003e\u003c/a\u003e Add hprof to allowed regexp types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/5cab19b633b5665b78d12db43cbe44601fac72a3\"\u003e\u003ccode\u003e5cab19b\u003c/code\u003e\u003c/a\u003e Always run generate_tables.rb\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/9f9833c32014c7a39f9434074bde5248ee805003\"\u003e\u003ccode\u003e9f9833c\u003c/code\u003e\u003c/a\u003e Remove trailign type name in all tables\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/5a3fbac116d9d8cc7b1b0eb9200328ba882addeb\"\u003e\u003ccode\u003e5a3fbac\u003c/code\u003e\u003c/a\u003e remove trailing mime type spaces \u0026amp; hprof fixture\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/9f11bea9c73cf0f9039da7c3ae4dc9d4c3dd6be4\"\u003e\u003ccode\u003e9f11bea\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/marcel/issues/133\"\u003e#133\u003c/a\u003e from alexanderadam/fix/p8_detection_issue_90\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/marcel/compare/v1.1.0...v1.2.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `openid_connect` from 2.3.1 to 2.4.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/nov/openid_connect/releases\"\u003eopenid_connect's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.4.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eadded link to documentation in the README by \u003ca href=\"https://github.com/guarenty\"\u003e\u003ccode\u003e@​guarenty\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/nov/openid_connect/pull/101\"\u003enov/openid_connect#101\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd POST support and custom headers to userinfo! by \u003ca href=\"https://github.com/arianf\"\u003e\u003ccode\u003e@​arianf\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/nov/openid_connect/pull/111\"\u003enov/openid_connect#111\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/guarenty\"\u003e\u003ccode\u003e@​guarenty\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/nov/openid_connect/pull/101\"\u003enov/openid_connect#101\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arianf\"\u003e\u003ccode\u003e@​arianf\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/nov/openid_connect/pull/111\"\u003enov/openid_connect#111\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/nov/openid_connect/compare/v2.3.1...v2.4.0\"\u003ehttps://github.com/nov/openid_connect/compare/v2.3.1...v2.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/nov/openid_connect/commit/e5936a18c69771d359310f067028f0fd811a8892\"\u003e\u003ccode\u003ee5936a1\u003c/code\u003e\u003c/a\u003e v2.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nov/openid_connect/commit/ea20e9c7e7ad40bcf5d4cea48d8ef497832756b6\"\u003e\u003ccode\u003eea20e9c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/nov/openid_connect/issues/111\"\u003e#111\u003c/a\u003e from arianf/post-userinfo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nov/openid_connect/commit/fe320ff56189da36f7246d07ddbaaccd40bf0417\"\u003e\u003ccode\u003efe320ff\u003c/code\u003e\u003c/a\u003e add POST support and custom headers to userinfo!\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nov/openid_connect/commit/18afb4a35a9cc48c0a912bb54331f77c6b22d20e\"\u003e\u003ccode\u003e18afb4a\u003c/code\u003e\u003c/a\u003e CI against 4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nov/openid_connect/commit/10a2deb21c086dd730526b1e097d3c3d19743500\"\u003e\u003ccode\u003e10a2deb\u003c/code\u003e\u003c/a\u003e update test targets\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nov/openid_connect/commit/fce82228d174bc92f6de94a67eac78077a1d250a\"\u003e\u003ccode\u003efce8222\u003c/code\u003e\u003c/a\u003e fix broken spec\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nov/openid_connect/commit/fc3c7eed9bd450e5675e65d62ecb3973ccdeeb0d\"\u003e\u003ccode\u003efc3c7ee\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/nov/openid_connect/issues/101\"\u003e#101\u003c/a\u003e from guarenty/main\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nov/openid_connect/commit/17d90bcd2c7a67677d9a387ced695c90de2e367f\"\u003e\u003ccode\u003e17d90bc\u003c/code\u003e\u003c/a\u003e Update README.rdoc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nov/openid_connect/commit/a0f6d1a55fbe4f300b9a53debfbb359c096c2069\"\u003e\u003ccode\u003ea0f6d1a\u003c/code\u003e\u003c/a\u003e add link to documentation in README.rdoc\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/nov/openid_connect/compare/v2.3.1...v2.4.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `snaky_hash` from 2.0.3 to 2.0.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby-oauth/snaky_hash/releases\"\u003esnaky_hash's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.0.4\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/ruby-oauth/snaky_hash/compare/v2.0.3...v2.0.4\"\u003e2.0.4\u003c/a\u003e - 2026-05-16\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eTAG: \u003ca href=\"https://github.com/ruby-oauth/snaky_hash/releases/tag/v2.0.4\"\u003ev2.0.4\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCOVERAGE: 100.00% -- 133/133 lines in 7 files\u003c/li\u003e\n\u003cli\u003eBRANCH COVERAGE: 100.00% -- 38/38 branches in 7 files\u003c/li\u003e\n\u003cli\u003e100.00% documented\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eIncident Response Plan in IRP.md\u003c/li\u003e\n\u003cli\u003eSnakyHash::VERSION (Traditional Constant Location)\u003c/li\u003e\n\u003cli\u003ekettle-dev \u0026amp; kettle-test dev harnesses\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eContributor Conenant updated to version 2.1\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSpecs\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/ruby-oauth/snaky_hash/blob/main/CHANGELOG.md\"\u003esnaky_hash's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[2.0.4] - 2026-05-16\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eTAG: [v2.0.4][2.0.4t]\u003c/li\u003e\n\u003cli\u003eCOVERAGE: 100.00% -- 133/133 lines in 7 files\u003c/li\u003e\n\u003cli\u003eBRANCH COVERAGE: 100.00% -- 38/38 branches in 7 files\u003c/li\u003e\n\u003cli\u003e100.00% documented\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eIncident Response Plan in IRP.md\u003c/li\u003e\n\u003cli\u003eSnakyHash::VERSION (Traditional Constant Location)\u003c/li\u003e\n\u003cli\u003ekettle-dev \u0026amp; kettle-test dev harnesses\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eContributor Conenant updated to version 2.1\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSpecs\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/ruby-oauth/snaky_hash/commit/7b4250885ccd27bf3d91f481d446f33322686058\"\u003e\u003ccode\u003e7b42508\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby-oauth/snaky_hash/issues/8\"\u003e#8\u003c/a\u003e from ruby-oauth/dependabot/github_actions/marocchino/st...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/snaky_hash/commit/a97d4c53568e253bc563f50c524e5ff49a59da2e\"\u003e\u003ccode\u003ea97d4c5\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby-oauth/snaky_hash/issues/9\"\u003e#9\u003c/a\u003e from ruby-oauth/dependabot/github_actions/codecov/codec...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/snaky_hash/commit/2214e9801469a4bd8f004e9b1acb0082e5d1e0f8\"\u003e\u003ccode\u003e2214e98\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby-oauth/snaky_hash/issues/10\"\u003e#10\u003c/a\u003e from ruby-oauth/dependabot/github_actions/actions/depe...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/snaky_hash/commit/b0a09d8158df7878aa5c3c9c51da023e63fb9b50\"\u003e\u003ccode\u003eb0a09d8\u003c/code\u003e\u003c/a\u003e 🔖 Prepare release v2.0.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/snaky_hash/commit/d8aaf97016cd32498ae74b17e4063896d2448dcb\"\u003e\u003ccode\u003ed8aaf97\u003c/code\u003e\u003c/a\u003e ✅ Update specs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/snaky_hash/commit/88be176962625905b5234ec8f42f09023f0f2619\"\u003e\u003ccode\u003e88be176\u003c/code\u003e\u003c/a\u003e ➖ addressable (dev)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/snaky_hash/commit/69dd5a1bd23643acc8920a796ee6a64e7d739b7c\"\u003e\u003ccode\u003e69dd5a1\u003c/code\u003e\u003c/a\u003e 🔥 bin/bundle is dead\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/snaky_hash/commit/bb44430185e563fb348e266efd17d81c697f4278\"\u003e\u003ccode\u003ebb44430\u003c/code\u003e\u003c/a\u003e 🔧 Modernize gemspec\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/snaky_hash/commit/5a170abcf03ca2bd9546d2d26e02bc8377e13914\"\u003e\u003ccode\u003e5a170ab\u003c/code\u003e\u003c/a\u003e ➕ appraisal2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/snaky_hash/commit/eaa5304f7338d35509688fa4c543635daa4cd677\"\u003e\u003ccode\u003eeaa5304\u003c/code\u003e\u003c/a\u003e ⬆️ yard-junk v0.1.0\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby-oauth/snaky_hash/compare/v2.0.3...v2.0.4\"\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/ministryofjustice/laa-assure-hmrc-data/pull/1781","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/ministryofjustice%2Flaa-assure-hmrc-data/issues/1781","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1781/packages"}},{"old_version":"2.0.18","new_version":"2.0.20","update_type":"patch","path":null,"pr_created_at":"2026-05-25T02:20:44.000Z","version_change":"2.0.18 → 2.0.20","issue":{"uuid":"4513815384","node_id":"PR_kwDOAe8r3c7e4epU","number":9611,"state":"open","title":"Bump oauth2 from 2.0.18 to 2.0.20","user":"dependabot[bot]","labels":["dependencies","ruby"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-25T02:20:44.000Z","updated_at":"2026-05-25T02:21:28.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"oauth2","old_version":"2.0.18","new_version":"2.0.20","repository_url":"https://github.com/ruby-oauth/oauth2"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps [oauth2](https://github.com/ruby-oauth/oauth2) from 2.0.18 to 2.0.20.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby-oauth/oauth2/releases\"\u003eoauth2's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.0.20\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/compare/v2.0.19...v2.0.20\"\u003e2.0.20\u003c/a\u003e - 2026-05-20\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eTAG: \u003ca href=\"https://github.com/ruby-oauth/oauth2/releases/tag/v2.0.20\"\u003ev2.0.20\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCOVERAGE: 99.62% -- 525/527 lines in 15 files\u003c/li\u003e\n\u003cli\u003eBRANCH COVERAGE: 98.88% -- 176/178 branches in 15 files\u003c/li\u003e\n\u003cli\u003e88.35% documented\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eOAuth2::VERSION (Traditional Constant Location)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eauth-sanitizer v0.1.3\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/721\"\u003egh!721\u003c/a\u003e Load \u003ccode\u003eauth-sanitizer\u003c/code\u003e through an internal isolated loader so requiring \u003ccode\u003eoauth2\u003c/code\u003e does not add top-level \u003ccode\u003eAuth\u003c/code\u003e or \u003ccode\u003eAuthSanitizer\u003c/code\u003e constants that may collide with downstream applications by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cp\u003eOfficial Discord 👉️ [![Live Chat on Discord][✉️discord-invite-img]][✉️discord-invite]\u003c/p\u003e\n\u003cp\u003eMany paths lead to being a sponsor or a backer of this project. Are you on such a path?\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://opencollective.com/ruby-oauth#backer\"\u003e\u003cimg src=\"https://opencollective.com/ruby-oauth/backers/badge.svg?style=flat\" alt=\"OpenCollective Backers\" /\u003e\u003c/a\u003e \u003ca href=\"https://opencollective.com/ruby-oauth#sponsor\"\u003e\u003cimg src=\"https://opencollective.com/ruby-oauth/sponsors/badge.svg?style=flat\" alt=\"OpenCollective Sponsors\" /\u003e\u003c/a\u003e \u003ca href=\"https://github.com/sponsors/pboling\"\u003e\u003cimg src=\"https://img.shields.io/badge/Sponsor_Me!-pboling.svg?style=social\u0026amp;logo=github\" alt=\"Sponsor Me on Github\" /\u003e\u003c/a\u003e \u003ca href=\"https://liberapay.com/pboling/donate\"\u003e\u003cimg src=\"https://img.shields.io/liberapay/goal/pboling.svg?logo=liberapay\u0026amp;color=a51611\u0026amp;style=flat\" alt=\"Liberapay Goal Progress\" /\u003e\u003c/a\u003e [![Donate on PayPal][🖇paypal-img]][🖇paypal]\u003c/p\u003e\n\u003cp\u003e[\u003cimg src=\"https://img.shields.io/badge/buy_me_a_coffee-%E2%9C%93-a51611.svg?style=flat\" alt=\"Buy me a coffee\" /\u003e][🖇buyme] \u003ca href=\"https://polar.sh/pboling\"\u003e\u003cimg src=\"https://img.shields.io/badge/polar-donate-a51611.svg?style=flat\" alt=\"Donate on Polar\" /\u003e\u003c/a\u003e \u003ca href=\"https://ko-fi.com/O5O86SNP4\"\u003e\u003cimg src=\"https://img.shields.io/badge/ko--fi-%E2%9C%93-a51611.svg?style=flat\" alt=\"Donate to my FLOSS efforts at ko-fi.com\" /\u003e\u003c/a\u003e \u003ca href=\"https://patreon.com/galtzo\"\u003e\u003cimg src=\"https://img.shields.io/badge/patreon-donate-a51611.svg?style=flat\" alt=\"Donate to my FLOSS efforts using Patreon\" /\u003e\u003c/a\u003e\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\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby-oauth/oauth2/blob/main/CHANGELOG.md\"\u003eoauth2's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[2.0.20] - 2026-05-20\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eTAG: [v2.0.20][2.0.20t]\u003c/li\u003e\n\u003cli\u003eCOVERAGE: 99.62% -- 525/527 lines in 15 files\u003c/li\u003e\n\u003cli\u003eBRANCH COVERAGE: 98.88% -- 176/178 branches in 15 files\u003c/li\u003e\n\u003cli\u003e88.35% documented\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eOAuth2::VERSION (Traditional Constant Location)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eauth-sanitizer v0.1.3\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/721\"\u003egh!721\u003c/a\u003e Load \u003ccode\u003eauth-sanitizer\u003c/code\u003e through an internal isolated loader so requiring \u003ccode\u003eoauth2\u003c/code\u003e does not add top-level \u003ccode\u003eAuth\u003c/code\u003e or \u003ccode\u003eAuthSanitizer\u003c/code\u003e constants that may collide with downstream applications by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003ch2\u003e[2.0.19] - 2026-05-15\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eTAG: [v2.0.19][2.0.19t]\u003c/li\u003e\n\u003cli\u003eCOVERAGE: 100.00% -- 515/515 lines in 14 files\u003c/li\u003e\n\u003cli\u003eBRANCH COVERAGE: 100.00% -- 174/174 branches in 14 files\u003c/li\u003e\n\u003cli\u003e89.11% documented\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/707\"\u003egh!707\u003c/a\u003e Add \u003ccode\u003eOAuth2.config[:filtered_label]\u003c/code\u003e to configure the placeholder used for filtered sensitive values in inspected objects and debug logging output by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/707\"\u003egh!707\u003c/a\u003e Add \u003ccode\u003eOAuth2.config[:filtered_debug_keys]\u003c/code\u003e to configure which key names have their values redacted from debug logging output by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/707\"\u003egh!707\u003c/a\u003e Make inspect-time and debug-log filters snapshot their configuration at initialization time rather than tracking later config changes by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[gh!714][gh!714]Refactor sensitive-value filtering to use \u003ccode\u003eauth-sanitizer\u003c/code\u003e while preserving \u003ccode\u003eOAuth2::FilteredAttributes\u003c/code\u003e as a permanent API alias by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRemoved\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove the internal \u003ccode\u003eOAuth2::ThingFilter\u003c/code\u003e and \u003ccode\u003eOAuth2::SanitizedLogger\u003c/code\u003e implementations now provided by \u003ccode\u003eauth-sanitizer\u003c/code\u003e by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/707\"\u003egh!707\u003c/a\u003e Redact sensitive values from debug logging output, including Authorization headers and common token/secret fields in headers, query strings, form bodies, and JSON payloads by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003eNOTE: debug logging has always been, and remains, opt-in. It is turned off by default.\u003c/li\u003e\n\u003c/ul\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/ruby-oauth/oauth2/commit/e2d509705db6091c8d5f27c31e29c58e39e51c7c\"\u003e\u003ccode\u003ee2d5097\u003c/code\u003e\u003c/a\u003e 🔧 :nocov: for unreachable error states\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/30650b2e1cb743e3263181e8b8a32c57ef33b9fb\"\u003e\u003ccode\u003e30650b2\u003c/code\u003e\u003c/a\u003e 🔖 Prepare release v2.0.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/23f2855f1b0053a38b6b5df00c870d83db761c31\"\u003e\u003ccode\u003e23f2855\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/issues/721\"\u003e#721\u003c/a\u003e from ruby-oauth/fix/top-level-namespace-pollution\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/5e4c98831ecb68ec446fcc99be0af40e6e68490c\"\u003e\u003ccode\u003e5e4c988\u003c/code\u003e\u003c/a\u003e Fix RuboCop Gradual offenses\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/89397f699bd6903c5ac3a9927d1743984a946dc5\"\u003e\u003ccode\u003e89397f6\u003c/code\u003e\u003c/a\u003e Constrain auth-sanitizer loader lookup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/8e71e19890fe486d7d260eb29ec67eb5ac1e75d0\"\u003e\u003ccode\u003e8e71e19\u003c/code\u003e\u003c/a\u003e 📝 CHANGELOG.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/6082a21c5628b270953dc9edb0af57dafb36e194\"\u003e\u003ccode\u003e6082a21\u003c/code\u003e\u003c/a\u003e ⬆️ snaky_hash, faraday-net_http, zeitwerk, bundler-audit\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/350da4214e9285fd88e21a9859d049dc8e954a25\"\u003e\u003ccode\u003e350da42\u003c/code\u003e\u003c/a\u003e Avoid auth-sanitizer top-level namespaces\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/0bc19030c2226ab16fc237b547e95d90ed8fa2e9\"\u003e\u003ccode\u003e0bc1903\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/issues/719\"\u003e#719\u003c/a\u003e from step-security-bot/chore/GHA-182236-stepsecurity-...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/148d716337a530494895091fe3b4359a410212a5\"\u003e\u003ccode\u003e148d716\u003c/code\u003e\u003c/a\u003e Switch pre-commit hook to rubocop_gradual\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby-oauth/oauth2/compare/v2.0.18...v2.0.20\"\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=oauth2\u0026package-manager=bundler\u0026previous-version=2.0.18\u0026new-version=2.0.20)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nYou can trigger a rebase of this PR 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/ministryofjustice/Claim-for-Crown-Court-Defence/pull/9611","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/ministryofjustice%2FClaim-for-Crown-Court-Defence/issues/9611","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/9611/packages"}},{"old_version":"2.0.18","new_version":"2.0.20","update_type":"patch","path":null,"pr_created_at":"2026-05-21T01:11:47.000Z","version_change":"2.0.18 → 2.0.20","issue":{"uuid":"4490928045","node_id":"PR_kwDOR-g9jc7dwA1J","number":64,"state":"open","title":"Bump oauth2 from 2.0.18 to 2.0.20","user":"dependabot[bot]","labels":["dependencies","ruby"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-21T01:11:47.000Z","updated_at":"2026-05-21T01:12:30.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"oauth2","old_version":"2.0.18","new_version":"2.0.20","repository_url":"https://github.com/ruby-oauth/oauth2"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps [oauth2](https://github.com/ruby-oauth/oauth2) from 2.0.18 to 2.0.20.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby-oauth/oauth2/releases\"\u003eoauth2's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.0.20\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/compare/v2.0.19...v2.0.20\"\u003e2.0.20\u003c/a\u003e - 2026-05-20\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eTAG: \u003ca href=\"https://github.com/ruby-oauth/oauth2/releases/tag/v2.0.20\"\u003ev2.0.20\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCOVERAGE: 99.62% -- 525/527 lines in 15 files\u003c/li\u003e\n\u003cli\u003eBRANCH COVERAGE: 98.88% -- 176/178 branches in 15 files\u003c/li\u003e\n\u003cli\u003e88.35% documented\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eOAuth2::VERSION (Traditional Constant Location)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eauth-sanitizer v0.1.3\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/721\"\u003egh!721\u003c/a\u003e Load \u003ccode\u003eauth-sanitizer\u003c/code\u003e through an internal isolated loader so requiring \u003ccode\u003eoauth2\u003c/code\u003e does not add top-level \u003ccode\u003eAuth\u003c/code\u003e or \u003ccode\u003eAuthSanitizer\u003c/code\u003e constants that may collide with downstream applications by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cp\u003eOfficial Discord 👉️ [![Live Chat on Discord][✉️discord-invite-img]][✉️discord-invite]\u003c/p\u003e\n\u003cp\u003eMany paths lead to being a sponsor or a backer of this project. Are you on such a path?\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://opencollective.com/ruby-oauth#backer\"\u003e\u003cimg src=\"https://opencollective.com/ruby-oauth/backers/badge.svg?style=flat\" alt=\"OpenCollective Backers\" /\u003e\u003c/a\u003e \u003ca href=\"https://opencollective.com/ruby-oauth#sponsor\"\u003e\u003cimg src=\"https://opencollective.com/ruby-oauth/sponsors/badge.svg?style=flat\" alt=\"OpenCollective Sponsors\" /\u003e\u003c/a\u003e \u003ca href=\"https://github.com/sponsors/pboling\"\u003e\u003cimg src=\"https://img.shields.io/badge/Sponsor_Me!-pboling.svg?style=social\u0026amp;logo=github\" alt=\"Sponsor Me on Github\" /\u003e\u003c/a\u003e \u003ca href=\"https://liberapay.com/pboling/donate\"\u003e\u003cimg src=\"https://img.shields.io/liberapay/goal/pboling.svg?logo=liberapay\u0026amp;color=a51611\u0026amp;style=flat\" alt=\"Liberapay Goal Progress\" /\u003e\u003c/a\u003e [![Donate on PayPal][🖇paypal-img]][🖇paypal]\u003c/p\u003e\n\u003cp\u003e[\u003cimg src=\"https://img.shields.io/badge/buy_me_a_coffee-%E2%9C%93-a51611.svg?style=flat\" alt=\"Buy me a coffee\" /\u003e][🖇buyme] \u003ca href=\"https://polar.sh/pboling\"\u003e\u003cimg src=\"https://img.shields.io/badge/polar-donate-a51611.svg?style=flat\" alt=\"Donate on Polar\" /\u003e\u003c/a\u003e \u003ca href=\"https://ko-fi.com/O5O86SNP4\"\u003e\u003cimg src=\"https://img.shields.io/badge/ko--fi-%E2%9C%93-a51611.svg?style=flat\" alt=\"Donate to my FLOSS efforts at ko-fi.com\" /\u003e\u003c/a\u003e \u003ca href=\"https://patreon.com/galtzo\"\u003e\u003cimg src=\"https://img.shields.io/badge/patreon-donate-a51611.svg?style=flat\" alt=\"Donate to my FLOSS efforts using Patreon\" /\u003e\u003c/a\u003e\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\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby-oauth/oauth2/blob/main/CHANGELOG.md\"\u003eoauth2's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[2.0.20] - 2026-05-20\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eTAG: [v2.0.20][2.0.20t]\u003c/li\u003e\n\u003cli\u003eCOVERAGE: 99.62% -- 525/527 lines in 15 files\u003c/li\u003e\n\u003cli\u003eBRANCH COVERAGE: 98.88% -- 176/178 branches in 15 files\u003c/li\u003e\n\u003cli\u003e88.35% documented\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eOAuth2::VERSION (Traditional Constant Location)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eauth-sanitizer v0.1.3\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/721\"\u003egh!721\u003c/a\u003e Load \u003ccode\u003eauth-sanitizer\u003c/code\u003e through an internal isolated loader so requiring \u003ccode\u003eoauth2\u003c/code\u003e does not add top-level \u003ccode\u003eAuth\u003c/code\u003e or \u003ccode\u003eAuthSanitizer\u003c/code\u003e constants that may collide with downstream applications by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003ch2\u003e[2.0.19] - 2026-05-15\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eTAG: [v2.0.19][2.0.19t]\u003c/li\u003e\n\u003cli\u003eCOVERAGE: 100.00% -- 515/515 lines in 14 files\u003c/li\u003e\n\u003cli\u003eBRANCH COVERAGE: 100.00% -- 174/174 branches in 14 files\u003c/li\u003e\n\u003cli\u003e89.11% documented\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/707\"\u003egh!707\u003c/a\u003e Add \u003ccode\u003eOAuth2.config[:filtered_label]\u003c/code\u003e to configure the placeholder used for filtered sensitive values in inspected objects and debug logging output by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/707\"\u003egh!707\u003c/a\u003e Add \u003ccode\u003eOAuth2.config[:filtered_debug_keys]\u003c/code\u003e to configure which key names have their values redacted from debug logging output by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/707\"\u003egh!707\u003c/a\u003e Make inspect-time and debug-log filters snapshot their configuration at initialization time rather than tracking later config changes by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[gh!714][gh!714]Refactor sensitive-value filtering to use \u003ccode\u003eauth-sanitizer\u003c/code\u003e while preserving \u003ccode\u003eOAuth2::FilteredAttributes\u003c/code\u003e as a permanent API alias by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRemoved\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove the internal \u003ccode\u003eOAuth2::ThingFilter\u003c/code\u003e and \u003ccode\u003eOAuth2::SanitizedLogger\u003c/code\u003e implementations now provided by \u003ccode\u003eauth-sanitizer\u003c/code\u003e by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/707\"\u003egh!707\u003c/a\u003e Redact sensitive values from debug logging output, including Authorization headers and common token/secret fields in headers, query strings, form bodies, and JSON payloads by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003eNOTE: debug logging has always been, and remains, opt-in. It is turned off by default.\u003c/li\u003e\n\u003c/ul\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/ruby-oauth/oauth2/commit/e2d509705db6091c8d5f27c31e29c58e39e51c7c\"\u003e\u003ccode\u003ee2d5097\u003c/code\u003e\u003c/a\u003e 🔧 :nocov: for unreachable error states\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/30650b2e1cb743e3263181e8b8a32c57ef33b9fb\"\u003e\u003ccode\u003e30650b2\u003c/code\u003e\u003c/a\u003e 🔖 Prepare release v2.0.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/23f2855f1b0053a38b6b5df00c870d83db761c31\"\u003e\u003ccode\u003e23f2855\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/issues/721\"\u003e#721\u003c/a\u003e from ruby-oauth/fix/top-level-namespace-pollution\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/5e4c98831ecb68ec446fcc99be0af40e6e68490c\"\u003e\u003ccode\u003e5e4c988\u003c/code\u003e\u003c/a\u003e Fix RuboCop Gradual offenses\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/89397f699bd6903c5ac3a9927d1743984a946dc5\"\u003e\u003ccode\u003e89397f6\u003c/code\u003e\u003c/a\u003e Constrain auth-sanitizer loader lookup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/8e71e19890fe486d7d260eb29ec67eb5ac1e75d0\"\u003e\u003ccode\u003e8e71e19\u003c/code\u003e\u003c/a\u003e 📝 CHANGELOG.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/6082a21c5628b270953dc9edb0af57dafb36e194\"\u003e\u003ccode\u003e6082a21\u003c/code\u003e\u003c/a\u003e ⬆️ snaky_hash, faraday-net_http, zeitwerk, bundler-audit\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/350da4214e9285fd88e21a9859d049dc8e954a25\"\u003e\u003ccode\u003e350da42\u003c/code\u003e\u003c/a\u003e Avoid auth-sanitizer top-level namespaces\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/0bc19030c2226ab16fc237b547e95d90ed8fa2e9\"\u003e\u003ccode\u003e0bc1903\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/issues/719\"\u003e#719\u003c/a\u003e from step-security-bot/chore/GHA-182236-stepsecurity-...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/148d716337a530494895091fe3b4359a410212a5\"\u003e\u003ccode\u003e148d716\u003c/code\u003e\u003c/a\u003e Switch pre-commit hook to rubocop_gradual\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby-oauth/oauth2/compare/v2.0.18...v2.0.20\"\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=oauth2\u0026package-manager=bundler\u0026previous-version=2.0.18\u0026new-version=2.0.20)](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/ruby-benchmark/errbit/pull/64","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-benchmark%2Ferrbit/issues/64","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/64/packages"}},{"old_version":"2.0.17","new_version":"2.0.20","update_type":"patch","path":null,"pr_created_at":"2026-05-20T06:57:52.000Z","version_change":"2.0.17 → 2.0.20","issue":{"uuid":"4483956025","node_id":"PR_kwDODdTws87dZdx6","number":3229,"state":"open","title":"Bump the bundler group across 1 directory with 120 updates","user":"dependabot[bot]","labels":["dependencies","ruby"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-20T06:57:52.000Z","updated_at":"2026-05-27T04:33:34.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"bundler","update_count":120,"packages":[{"name":"bootsnap","old_version":"1.18.6","new_version":"1.24.5","repository_url":"https://github.com/rails/bootsnap"},{"name":"devise","old_version":"4.9.4","new_version":"5.0.4","repository_url":"https://github.com/heartcombo/devise"},{"name":"govuk-components","old_version":"5.11.3","new_version":"6.2.0","repository_url":"https://github.com/x-govuk/govuk-components"},{"name":"govuk_design_system_formbuilder","old_version":"5.11.0","new_version":"6.1.0","repository_url":"https://github.com/x-govuk/govuk-form-builder"},{"name":"haml-rails","old_version":"2.1.0","new_version":"3.0.0","repository_url":"https://github.com/haml/haml-rails"},{"name":"oauth2","old_version":"2.0.17","new_version":"2.0.20","repository_url":"https://github.com/ruby-oauth/oauth2"},{"name":"omniauth-rails_csrf_protection","old_version":"1.0.2","new_version":"2.0.1","repository_url":"https://github.com/cookpad/omniauth-rails_csrf_protection"},{"name":"pg","old_version":"1.6.2","new_version":"1.6.3","repository_url":"https://github.com/ged/ruby-pg"},{"name":"prometheus_exporter","old_version":"2.3.0","new_version":"2.3.1","repository_url":"https://github.com/discourse/prometheus_exporter"},{"name":"puma","old_version":"7.0.4","new_version":"8.0.2","repository_url":"https://github.com/puma/puma"},{"name":"rails","old_version":"8.0.3","new_version":"8.1.3","repository_url":"https://github.com/rails/rails"},{"name":"sentry-rails","old_version":"5.27.1","new_version":"6.5.0","repository_url":"https://github.com/getsentry/sentry-ruby"},{"name":"sentry-sidekiq","old_version":"5.27.1","new_version":"6.5.0","repository_url":"https://github.com/getsentry/sentry-ruby"},{"name":"haml_lint","old_version":"0.66.0","new_version":"0.73.0","repository_url":"https://github.com/sds/haml-lint"},{"name":"rubocop","old_version":"1.80.2","new_version":"1.86.2","repository_url":"https://github.com/rubocop/rubocop"},{"name":"dotenv-rails","old_version":"3.1.8","new_version":"3.2.0","repository_url":"https://github.com/bkeepers/dotenv"},{"name":"pry-byebug","old_version":"3.11.0","new_version":"3.12.0","repository_url":"https://github.com/deivid-rodriguez/pry-byebug"},{"name":"sidekiq","old_version":"8.0.7","new_version":"8.1.5","repository_url":"https://github.com/sidekiq/sidekiq"},{"name":"turbo-rails","old_version":"2.0.16","new_version":"2.0.23","repository_url":"https://github.com/hotwired/turbo-rails"},{"name":"axe-core-rspec","old_version":"4.10.3","new_version":"4.11.3","repository_url":"https://github.com/dequelabs/axe-core-gems"},{"name":"brakeman","old_version":"7.1.0","new_version":"8.0.4","repository_url":"https://github.com/presidentbeef/brakeman"},{"name":"i18n-tasks","old_version":"1.0.15","new_version":"1.1.2","repository_url":"https://github.com/glebm/i18n-tasks"},{"name":"rspec-rails","old_version":"8.0.2","new_version":"8.0.4","repository_url":"https://github.com/rspec/rspec-rails"},{"name":"rubocop-capybara","old_version":"2.22.1","new_version":"2.23.0","repository_url":"https://github.com/rubocop/rubocop-capybara"},{"name":"rubocop-factory_bot","old_version":"2.27.1","new_version":"2.28.0","repository_url":"https://github.com/rubocop/rubocop-factory_bot"},{"name":"rubocop-performance","old_version":"1.26.0","new_version":"1.26.1","repository_url":"https://github.com/rubocop/rubocop-performance"},{"name":"rubocop-rails","old_version":"2.33.3","new_version":"2.35.3","repository_url":"https://github.com/rubocop/rubocop-rails"},{"name":"rubocop-rspec","old_version":"3.7.0","new_version":"3.9.0","repository_url":"https://github.com/rubocop/rubocop-rspec"},{"name":"rubocop-rspec_rails","old_version":"2.31.0","new_version":"2.32.0","repository_url":"https://github.com/rubocop/rubocop-rspec_rails"},{"name":"selenium-webdriver","old_version":"4.35.0","new_version":"4.44.0","repository_url":"https://github.com/SeleniumHQ/selenium"},{"name":"shoulda-matchers","old_version":"6.5.0","new_version":"7.0.1","repository_url":"https://github.com/thoughtbot/shoulda-matchers"},{"name":"vcr","old_version":"6.3.1","new_version":"6.4.0","repository_url":"https://github.com/vcr/vcr"},{"name":"webmock","old_version":"3.25.1","new_version":"3.26.2","repository_url":"https://github.com/bblimke/webmock"},{"name":"faker","old_version":"3.5.2","new_version":"3.8.0","repository_url":"https://github.com/faker-ruby/faker"},{"name":"pry","old_version":"0.15.2","new_version":"0.16.0","repository_url":"https://github.com/pry/pry"},{"name":"listen","old_version":"3.9.0","new_version":"3.10.0","repository_url":"https://github.com/guard/listen"},{"name":"spring","old_version":"4.4.0","new_version":"4.6.0","repository_url":"https://github.com/rails/spring"},{"name":"web-console","old_version":"4.2.1","new_version":"4.3.0","repository_url":"https://github.com/rails/web-console"},{"name":"net-imap","old_version":"0.5.10","new_version":"0.6.4","repository_url":"https://github.com/ruby/net-imap"},{"name":"factory_bot","old_version":"6.5.5","new_version":"6.6.0","repository_url":"https://github.com/thoughtbot/factory_bot"},{"name":"faraday-follow_redirects","old_version":"0.3.0","new_version":"0.5.0","repository_url":"https://github.com/tisba/faraday-follow-redirects"},{"name":"json-jwt","old_version":"1.16.7","new_version":"1.17.0","repository_url":"https://github.com/nov/json-jwt"},{"name":"openid_connect","old_version":"2.3.1","new_version":"2.4.0","repository_url":"https://github.com/nov/openid_connect"},{"name":"rspec","old_version":"3.13.1","new_version":"3.13.2","repository_url":"https://github.com/rspec/rspec"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps the bundler group with 44 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [bootsnap](https://github.com/rails/bootsnap) | `1.18.6` | `1.24.5` |\n| [devise](https://github.com/heartcombo/devise) | `4.9.4` | `5.0.4` |\n| [govuk-components](https://github.com/x-govuk/govuk-components) | `5.11.3` | `6.2.0` |\n| [govuk_design_system_formbuilder](https://github.com/x-govuk/govuk-form-builder) | `5.11.0` | `6.1.0` |\n| [haml-rails](https://github.com/haml/haml-rails) | `2.1.0` | `3.0.0` |\n| [oauth2](https://github.com/ruby-oauth/oauth2) | `2.0.17` | `2.0.20` |\n| [omniauth-rails_csrf_protection](https://github.com/cookpad/omniauth-rails_csrf_protection) | `1.0.2` | `2.0.1` |\n| [pg](https://github.com/ged/ruby-pg) | `1.6.2` | `1.6.3` |\n| [prometheus_exporter](https://github.com/discourse/prometheus_exporter) | `2.3.0` | `2.3.1` |\n| [puma](https://github.com/puma/puma) | `7.0.4` | `8.0.2` |\n| [rails](https://github.com/rails/rails) | `8.0.3` | `8.1.3` |\n| [sentry-rails](https://github.com/getsentry/sentry-ruby) | `5.27.1` | `6.5.0` |\n| [sentry-sidekiq](https://github.com/getsentry/sentry-ruby) | `5.27.1` | `6.5.0` |\n| [haml_lint](https://github.com/sds/haml-lint) | `0.66.0` | `0.73.0` |\n| [rubocop](https://github.com/rubocop/rubocop) | `1.80.2` | `1.86.2` |\n| [dotenv-rails](https://github.com/bkeepers/dotenv) | `3.1.8` | `3.2.0` |\n| [pry-byebug](https://github.com/deivid-rodriguez/pry-byebug) | `3.11.0` | `3.12.0` |\n| [sidekiq](https://github.com/sidekiq/sidekiq) | `8.0.7` | `8.1.5` |\n| [turbo-rails](https://github.com/hotwired/turbo-rails) | `2.0.16` | `2.0.23` |\n| [axe-core-rspec](https://github.com/dequelabs/axe-core-gems) | `4.10.3` | `4.11.3` |\n| [brakeman](https://github.com/presidentbeef/brakeman) | `7.1.0` | `8.0.4` |\n| [i18n-tasks](https://github.com/glebm/i18n-tasks) | `1.0.15` | `1.1.2` |\n| [rspec-rails](https://github.com/rspec/rspec-rails) | `8.0.2` | `8.0.4` |\n| [rubocop-capybara](https://github.com/rubocop/rubocop-capybara) | `2.22.1` | `2.23.0` |\n| [rubocop-factory_bot](https://github.com/rubocop/rubocop-factory_bot) | `2.27.1` | `2.28.0` |\n| [rubocop-performance](https://github.com/rubocop/rubocop-performance) | `1.26.0` | `1.26.1` |\n| [rubocop-rails](https://github.com/rubocop/rubocop-rails) | `2.33.3` | `2.35.3` |\n| [rubocop-rspec](https://github.com/rubocop/rubocop-rspec) | `3.7.0` | `3.9.0` |\n| [rubocop-rspec_rails](https://github.com/rubocop/rubocop-rspec_rails) | `2.31.0` | `2.32.0` |\n| [selenium-webdriver](https://github.com/SeleniumHQ/selenium) | `4.35.0` | `4.44.0` |\n| [shoulda-matchers](https://github.com/thoughtbot/shoulda-matchers) | `6.5.0` | `7.0.1` |\n| [vcr](https://github.com/vcr/vcr) | `6.3.1` | `6.4.0` |\n| [webmock](https://github.com/bblimke/webmock) | `3.25.1` | `3.26.2` |\n| [faker](https://github.com/faker-ruby/faker) | `3.5.2` | `3.8.0` |\n| [pry](https://github.com/pry/pry) | `0.15.2` | `0.16.0` |\n| [listen](https://github.com/guard/listen) | `3.9.0` | `3.10.0` |\n| [spring](https://github.com/rails/spring) | `4.4.0` | `4.6.0` |\n| [web-console](https://github.com/rails/web-console) | `4.2.1` | `4.3.0` |\n| [net-imap](https://github.com/ruby/net-imap) | `0.5.10` | `0.6.4` |\n| [factory_bot](https://github.com/thoughtbot/factory_bot) | `6.5.5` | `6.6.0` |\n| [faraday-follow_redirects](https://github.com/tisba/faraday-follow-redirects) | `0.3.0` | `0.5.0` |\n| [json-jwt](https://github.com/nov/json-jwt) | `1.16.7` | `1.17.0` |\n| [openid_connect](https://github.com/nov/openid_connect) | `2.3.1` | `2.4.0` |\n| [rspec](https://github.com/rspec/rspec) | `3.13.1` | `3.13.2` |\n\n\nUpdates `bootsnap` from 1.18.6 to 1.24.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/bootsnap/releases\"\u003ebootsnap's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.24.4\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix several compatibility issues with Ruby \u003ccode\u003e4.0.4\u003c/code\u003e, particularly the \u003ccode\u003eshould not compile with coverage\u003c/code\u003e error. See \u003ca href=\"https://redirect.github.com/rails/bootsnap/issues/547\"\u003e#547\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eBootsnap.enable_frozen_string_literal\u003c/code\u003e to work even when coverage is enabled. Unfortunately only possible on Ruby \u003ccode\u003e4.0.4+\u003c/code\u003e.\nOn older rubies if coverage is enabled a warning will be issued and the feature won't work.\u003c/li\u003e\n\u003cli\u003eReduced cache files header size from 64 to 32 bytes, and got rid of the random padding element.\u003c/li\u003e\n\u003cli\u003eAvoid leaking a private method in \u003ccode\u003eObject\u003c/code\u003e when testing for Parse.y bugs.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/rails/bootsnap/compare/v1.24.3...v1.24.4\"\u003ehttps://github.com/rails/bootsnap/compare/v1.24.3...v1.24.4\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.24.3\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix the \u003ccode\u003e1.24.2\u003c/code\u003e workaround to parse Ruby files with UTF-8 even when the \u003ccode\u003eLANG\u003c/code\u003e environment variable\nis unset or set to \u003ccode\u003eC\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/rails/bootsnap/compare/v1.24.2...v1.24.3\"\u003ehttps://github.com/rails/bootsnap/compare/v1.24.2...v1.24.3\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.24.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eWorkaround two Ruby bugs in \u003ccode\u003eRubyVM::InstructionSequence.compile_file\u003c/code\u003e, that were causing\nfiles to be loaded with the old Ruby parser instead of Prism, causing issues with some pattern matching syntax.\nRef: \u003ca href=\"https://bugs.ruby-lang.org/issues/22023\"\u003ehttps://bugs.ruby-lang.org/issues/22023\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/rails/bootsnap/compare/v1.24.1...v1.24.2\"\u003ehttps://github.com/rails/bootsnap/compare/v1.24.1...v1.24.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.24.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix encoding of Ruby source files loaded when \u003ccode\u003eBOOTSNAP_READONLY\u003c/code\u003e is set.\nFiles would incorectly be loaded in \u003ccode\u003eASCII-8BIT\u003c/code\u003e causing literal strings outside\nthe pure ASCII range to have \u003ccode\u003eASCII-8BIT\u003c/code\u003e encoding instead of \u003ccode\u003eUTF-8\u003c/code\u003e.\nThis bug was introduced in \u003ccode\u003e1.24.0\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/rails/bootsnap/compare/v1.24.0...v1.24.1\"\u003ehttps://github.com/rails/bootsnap/compare/v1.24.0...v1.24.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.24.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded a hook API to customize Ruby compilation.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/rails/bootsnap/compare/v1.23.0...v1.24.0\"\u003ehttps://github.com/rails/bootsnap/compare/v1.23.0...v1.24.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.23.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRequire Ruby 2.7.\u003c/li\u003e\n\u003cli\u003eFix support for absolute paths in \u003ccode\u003eBOOTSNAP_IGNORE_DIRECTORIES\u003c/code\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/rails/bootsnap/blob/main/CHANGELOG.md\"\u003ebootsnap's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e1.24.5\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eNo longer load the config file by default when setup is done manually. This is so cli applications like homebrew\ndon't mistakenly load another app's boostnap config.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e1.24.4\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eFix several compatibility issues with Ruby \u003ccode\u003e4.0.4\u003c/code\u003e, particularly the \u003ccode\u003eshould not compile with coverage\u003c/code\u003e error. See \u003ca href=\"https://redirect.github.com/rails/bootsnap/issues/547\"\u003e#547\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eBootsnap.enable_frozen_string_literal\u003c/code\u003e to work even when coverage is enabled. Unfortunately only possible on Ruby \u003ccode\u003e4.0.4+\u003c/code\u003e.\nOn older rubies if coverage is enabled a warning will be issued and the feature won't work.\u003c/li\u003e\n\u003cli\u003eReduced cache files header size from 64 to 32 bytes, and got rid of the random padding element.\u003c/li\u003e\n\u003cli\u003eAvoid leaking a private method in \u003ccode\u003eObject\u003c/code\u003e when testing for Parse.y bugs.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e1.24.3\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eFix the \u003ccode\u003e1.24.2\u003c/code\u003e workaround to parse Ruby files with UTF-8 even when the \u003ccode\u003eLANG\u003c/code\u003e environment variable\nis unset or set to \u003ccode\u003eC\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e1.24.2\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eWorkaround two Ruby bugs in \u003ccode\u003eRubyVM::InstructionSequence.compile_file\u003c/code\u003e, that were causing\nfiles to be loaded with the old Ruby parser instead of Prism, causing issues with some pattern matching syntax.\nRef: \u003ca href=\"https://bugs.ruby-lang.org/issues/22023\"\u003ehttps://bugs.ruby-lang.org/issues/22023\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e1.24.1\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eFix encoding of Ruby source files loaded when \u003ccode\u003eBOOTSNAP_READONLY\u003c/code\u003e is set.\nFiles would incorectly be loaded in \u003ccode\u003eASCII-8BIT\u003c/code\u003e causing literal strings outside\nthe pure ASCII range to have \u003ccode\u003eASCII-8BIT\u003c/code\u003e encoding instead of \u003ccode\u003eUTF-8\u003c/code\u003e.\nThis bug was introduced in \u003ccode\u003e1.24.0\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e1.24.0\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eAdded a hook API to customize Ruby compilation.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e1.23.0\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eRequire Ruby 2.7.\u003c/li\u003e\n\u003cli\u003eFix support for absolute paths in \u003ccode\u003eBOOTSNAP_IGNORE_DIRECTORIES\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e1.22.0\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eBetter fix for the \u003ccode\u003eopendir\u003c/code\u003e crash.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003ebootsnap/rake\u003c/code\u003e for cleaning the bootsnap cache as part of \u003ccode\u003erake clobber\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e1.21.1\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003ePrevent a Ruby crash while scanning load path if \u003ccode\u003eopendir\u003c/code\u003e fails without setting \u003ccode\u003eerrno\u003c/code\u003e.\nAccording to the C spec this should not happen, but according to user reports, it did.\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/rails/bootsnap/commit/d6ca0505280dbba4b18625793a529acd8c8f07e3\"\u003e\u003ccode\u003ed6ca050\u003c/code\u003e\u003c/a\u003e Release 1.24.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/579aa0e3bf0b11ceb102a9042e63c32f573dcffb\"\u003e\u003ccode\u003e579aa0e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/bootsnap/issues/552\"\u003e#552\u003c/a\u003e from byroot/fix-bootsnap-config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/2884e8908f4c1b20a32c83189de23c5d5b04998a\"\u003e\u003ccode\u003e2884e89\u003c/code\u003e\u003c/a\u003e Only load config file is directed to by \u003ccode\u003e.setup\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/103a92bc6fd05c7c97abfd048c8fc5cb0bd05757\"\u003e\u003ccode\u003e103a92b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/bootsnap/issues/551\"\u003e#551\u003c/a\u003e from byroot/enable-fstr-global\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/33c927dc61e8ea868f1dcc681df5275d173b71fb\"\u003e\u003ccode\u003e33c927d\u003c/code\u003e\u003c/a\u003e Update compiler options when global options change\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/122db7fdaea8a05fd54a8d23df8946bed43d9f54\"\u003e\u003ccode\u003e122db7f\u003c/code\u003e\u003c/a\u003e Simplify \u003ccode\u003eenable_frozen_string_literal(app_only: false)\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/0d8a0a64cd1f302a4cbb29088fff7847ef9852c8\"\u003e\u003ccode\u003e0d8a0a6\u003c/code\u003e\u003c/a\u003e Release 1.24.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/6ccc5ebda794afe4e2b36be677640b4f7b6a03ac\"\u003e\u003ccode\u003e6ccc5eb\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/bootsnap/issues/550\"\u003e#550\u003c/a\u003e from byroot/fstr-and-coverage\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/86e95864f89067159dadb8be68b656ae1a5f38ea\"\u003e\u003ccode\u003e86e9586\u003c/code\u003e\u003c/a\u003e Make \u003ccode\u003eBootsnap.enable_frozen_string_literal\u003c/code\u003e work even with coverage on\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/36c22246259452d163986565f7a946154f742da7\"\u003e\u003ccode\u003e36c2224\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/bootsnap/issues/549\"\u003e#549\u003c/a\u003e from byroot/integration-tests\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/bootsnap/compare/v1.18.6...v1.24.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `devise` from 4.9.4 to 5.0.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/heartcombo/devise/releases\"\u003edevise's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev5.0.4\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/heartcombo/devise/blob/v5.0.4/CHANGELOG.md#504---2026-05-08\"\u003ehttps://github.com/heartcombo/devise/blob/v5.0.4/CHANGELOG.md#504---2026-05-08\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev5.0.3\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/heartcombo/devise/blob/v5.0.3/CHANGELOG.md#503---2026-03-16\"\u003ehttps://github.com/heartcombo/devise/blob/v5.0.3/CHANGELOG.md#503---2026-03-16\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev5.0.2\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/heartcombo/devise/blob/v5.0.2/CHANGELOG.md#502---2026-02-18\"\u003ehttps://github.com/heartcombo/devise/blob/v5.0.2/CHANGELOG.md#502---2026-02-18\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev5.0.1\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/heartcombo/devise/blob/v5.0.1/CHANGELOG.md#501---2026-02-13\"\u003ehttps://github.com/heartcombo/devise/blob/v5.0.1/CHANGELOG.md#501---2026-02-13\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev5.0.0\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/heartcombo/devise/blob/v5.0.0/CHANGELOG.md#500---2026-01-23\"\u003ehttps://github.com/heartcombo/devise/blob/v5.0.0/CHANGELOG.md#500---2026-01-23\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev5.0.0.rc\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/heartcombo/devise/blob/v5.0.0.rc/CHANGELOG.md#500rc---2025-12-31\"\u003ehttps://github.com/heartcombo/devise/blob/v5.0.0.rc/CHANGELOG.md#500rc---2025-12-31\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/heartcombo/devise/blob/main/CHANGELOG.md\"\u003edevise's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch3\u003e5.0.4 - 2026-05-08\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003esecurity fixes\n\u003cul\u003e\n\u003cli\u003eFix open redirect in \u003ccode\u003eFailureApp\u003c/code\u003e via unvalidated \u003ccode\u003eReferer\u003c/code\u003e header on non-GET session timeout. CVE-2026-40295 \u003ca href=\"https://github.com/heartcombo/devise/security/advisories/GHSA-jp94-3292-c3xv\"\u003eGHSA-jp94-3292-c3xv\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e5.0.3 - 2026-03-16\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003esecurity fixes\n\u003cul\u003e\n\u003cli\u003eFix race condition vulnerability on confirmable \u0026quot;change email\u0026quot; which would allow confirming an email they don't own CVE-2026-32700 \u003ca href=\"https://github.com/heartcombo/devise/security/advisories/GHSA-57hq-95w6-v4fc\"\u003eGHSA-57hq-95w6-v4fc\u003c/a\u003e \u003ca href=\"https://redirect.github.com/heartcombo/devise/pull/5783\"\u003e#5783\u003c/a\u003e \u003ca href=\"https://redirect.github.com/heartcombo/devise/pull/5784\"\u003e#5784\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e5.0.2 - 2026-02-18\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eenhancements\n\u003cul\u003e\n\u003cli\u003eAllow resource class scopes to override the global configuration for \u003ccode\u003esign_in_after_change_password\u003c/code\u003e behaviour. \u003ca href=\"https://redirect.github.com/heartcombo/devise/pull/5825\"\u003e#5825\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cem\u003eNote\u003c/em\u003e: some users ran into an issue with this change because \u003ccode\u003eRegistrationsController\u003c/code\u003e now relies on a setting from the \u003ccode\u003e:registerable\u003c/code\u003e module. These users were configuring their own routes pointing to the \u003ccode\u003eRegistrationsController\u003c/code\u003e for resource edit/update actions mostly, without relying on the other registration actions (e.g. user sign up.), so they omitted \u003ccode\u003e:registerable\u003c/code\u003e from the model declaration. While using just a portion of the controller functionality is a valid use for \u003ccode\u003e:registerable\u003c/code\u003e (or any module really), the module must still be declared in the model, much like the other modules must be declared if you plan on using just a portion of their behavior. Please check \u003ca href=\"https://redirect.github.com/heartcombo/devise/pull/5828#issuecomment-3926822788\"\u003ethis issue\u003c/a\u003e for more info.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003esign_in_after_reset_password?\u003c/code\u003e check hook to passwords controller, to allow it to be customized by users. \u003ca href=\"https://redirect.github.com/heartcombo/devise/pull/5826\"\u003e#5826\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e5.0.1 - 2026-02-13\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ebug fixes\n\u003cul\u003e\n\u003cli\u003eFix translation issue with German \u003ccode\u003eE-Mail\u003c/code\u003e on invalid authentication messages caused by previous fix for incorrect grammar \u003ca href=\"https://redirect.github.com/heartcombo/devise/pull/5822\"\u003e#5822\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e5.0.0 - 2026-01-23\u003c/h3\u003e\n\u003cp\u003eno changes\u003c/p\u003e\n\u003ch3\u003e5.0.0.rc - 2025-12-31\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ebreaking changes\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eDrop support to Ruby \u0026lt; 2.7\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDrop support to Rails \u0026lt; 7.0\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove deprecated \u003ccode\u003e:bypass\u003c/code\u003e option from \u003ccode\u003esign_in\u003c/code\u003e helper, use \u003ccode\u003ebypass_sign_in\u003c/code\u003e instead. \u003ca href=\"https://redirect.github.com/heartcombo/devise/pull/5803\"\u003e#5803\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove deprecated \u003ccode\u003edevise_error_messages!\u003c/code\u003e helper, use \u003ccode\u003erender \u0026quot;devise/shared/error_messages\u0026quot;, resource: resource\u003c/code\u003e instead. \u003ca href=\"https://redirect.github.com/heartcombo/devise/pull/5803\"\u003e#5803\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove deprecated \u003ccode\u003escope\u003c/code\u003e second argument from \u003ccode\u003esign_in(resource, :admin)\u003c/code\u003e controller test helper, use \u003ccode\u003esign_in(resource, scope: :admin)\u003c/code\u003e instead. \u003ca href=\"https://redirect.github.com/heartcombo/devise/pull/5803\"\u003e#5803\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove deprecated \u003ccode\u003eDevise::TestHelpers\u003c/code\u003e, use \u003ccode\u003eDevise::Test::ControllerHelpers\u003c/code\u003e instead. \u003ca href=\"https://redirect.github.com/heartcombo/devise/pull/5803\"\u003e#5803\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove deprecated \u003ccode\u003eDevise::Models::Authenticatable::BLACKLIST_FOR_SERIALIZATION\u003c/code\u003e \u003ca href=\"https://redirect.github.com/heartcombo/devise/pull/5598\"\u003e#5598\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove deprecated \u003ccode\u003eDevise.activerecord51?\u003c/code\u003e method.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove \u003ccode\u003eSecretKeyFinder\u003c/code\u003e and use \u003ccode\u003eapp.secret_key_base\u003c/code\u003e as the default secret key for \u003ccode\u003eDevise.secret_key\u003c/code\u003e if a custom \u003ccode\u003eDevise.secret_key\u003c/code\u003e is not provided.\u003c/p\u003e\n\u003cp\u003eThis is potentially a breaking change because Devise previously used the following order to find a secret key:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eapp.credentials.secret_key_base \u0026gt; app.secrets.secret_key_base \u0026gt; application.config.secret_key_base \u0026gt; application.secret_key_base\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eNow, it always uses \u003ccode\u003eapplication.secret_key_base\u003c/code\u003e. Make sure you're using the same secret key after the upgrade; otherwise, previously generated tokens for \u003ccode\u003erecoverable\u003c/code\u003e, \u003ccode\u003elockable\u003c/code\u003e, and \u003ccode\u003econfirmable\u003c/code\u003e will be invalid.\n\u003ca href=\"https://redirect.github.com/heartcombo/devise/pull/5645\"\u003e#5645\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eChange password instructions button label on devise view from \u003ccode\u003eSend me reset password instructions\u003c/code\u003e to \u003ccode\u003eSend me password reset instructions\u003c/code\u003e \u003ca href=\"https://redirect.github.com/heartcombo/devise/pull/5515\"\u003e#5515\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eChange \u003ccode\u003e\u0026lt;br\u0026gt;\u003c/code\u003e tags separating form elements to wrapping them in \u003ccode\u003e\u0026lt;p\u0026gt;\u003c/code\u003e tags \u003ca href=\"https://redirect.github.com/heartcombo/devise/pull/5494\"\u003e#5494\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eReplace \u003ccode\u003e[data-turbo-cache=false]\u003c/code\u003e with \u003ccode\u003e[data-turbo-temporary]\u003c/code\u003e on \u003ccode\u003edevise/shared/error_messages\u003c/code\u003e partial. This has been \u003ca href=\"https://github.com/hotwired/turbo/releases/tag/v7.3.0\"\u003edeprecated by Turbo since v7.3.0 (released on Mar 1, 2023)\u003c/a\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\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/heartcombo/devise/commit/9ea459de9aec5f1217ad738c58e0d23fb9f5beaa\"\u003e\u003ccode\u003e9ea459d\u003c/code\u003e\u003c/a\u003e Release v5.0.4 with sec fix for timeoutable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/heartcombo/devise/commit/025fe2124f9928766fc46520e999633b598d0360\"\u003e\u003ccode\u003e025fe21\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/heartcombo/devise/commit/7ca7ed9c174525a4d36167441b35af4a0991b6af\"\u003e\u003ccode\u003e7ca7ed9\u003c/code\u003e\u003c/a\u003e Add GHSA link to the v5.0.3 sec fix changelog entry [ci skip]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/heartcombo/devise/commit/605de86174c26b9f5b2618470249db2c225327d4\"\u003e\u003ccode\u003e605de86\u003c/code\u003e\u003c/a\u003e Update links to https [ci skip]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/heartcombo/devise/commit/5e3a8bf3a01cc556185dbde47ecf3bb20c41b150\"\u003e\u003ccode\u003e5e3a8bf\u003c/code\u003e\u003c/a\u003e Bundle update\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/heartcombo/devise/commit/5d202775d75ccee8c36a9ed72062f627202e29e2\"\u003e\u003ccode\u003e5d20277\u003c/code\u003e\u003c/a\u003e Cleanup old Rails.version check for db migration path\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/heartcombo/devise/commit/4ffb0b7e88b627ac0575e475b279e0cc474b4ded\"\u003e\u003ccode\u003e4ffb0b7\u003c/code\u003e\u003c/a\u003e Fix Gemfile for Rails 7.2, incorrectly testing against 7.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/heartcombo/devise/commit/2f809205b2a9112767e68e1a5666c649a42609c6\"\u003e\u003ccode\u003e2f80920\u003c/code\u003e\u003c/a\u003e Release v5.0.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/heartcombo/devise/commit/53347074021b38590653b95523f9b7113e5dcfdc\"\u003e\u003ccode\u003e5334707\u003c/code\u003e\u003c/a\u003e Add CVE to changelog [ci skip]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/heartcombo/devise/commit/02527772bd9adbc3357d9c62fbc16e73e438121d\"\u003e\u003ccode\u003e0252777\u003c/code\u003e\u003c/a\u003e Fix race condition vulnerability, by ensuring the \u003ccode\u003eunconfirmed_email\u003c/code\u003e is alwa...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/heartcombo/devise/compare/v4.9.4...v5.0.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `govuk-components` from 5.11.3 to 6.2.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/x-govuk/govuk-components/releases\"\u003egovuk-components's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease version 6.2.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade to ViewComponent 4.9.0 \u003ca href=\"https://redirect.github.com/x-govuk/govuk-components/issues/639\"\u003e#639\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 6.1.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate supported Ruby, Rails and ViewComponent versions\u003c/li\u003e\n\u003cli\u003eSupport GOV.UK Design System version 6.1.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 6.0.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003esupport GOV.UK Design System version 6.0.0\u003c/li\u003e\n\u003cli\u003eremove the service name and navigation items from the header component \u003ca href=\"https://redirect.github.com/x-govuk/govuk-components/issues/626\"\u003e#626\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eupdate the govuk_tag colours (magenta replaces pink and teal replaces turquoise) \u003ca href=\"https://redirect.github.com/x-govuk/govuk-components/issues/624\"\u003e#624\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003esupport ViewComponent version 4.3\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eUpgrade notes\u003c/h2\u003e\n\u003cp\u003eThe service name and navigation items have been removed from the header. Instead, passing a block of HTML to the header will render it in the \u003ccode\u003e.govuk-header__container\u003c/code\u003e. You'll need to add your own styles to make things render in the right place. There are examples \u003ca href=\"https://govuk-components.x-govuk.org/components/header/#adding-more-content-to-the-header\"\u003ein the guide\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/DFE-Digital/register-early-career-teachers-public/pull/2327\"\u003ein this PR\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eVersion 6.0.0b1\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!CAUTION]\u003cbr /\u003e\nThe GOV.UK Header Component has changed significantly, \u003ca href=\"https://github.com/alphagov/govuk-frontend/releases/tag/v6.0.0-beta.1\"\u003esee the upstream release notes for more info\u003c/a\u003e.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003cul\u003e\n\u003cli\u003eSupport \u003ca href=\"https://github.com/alphagov/govuk-frontend/releases/tag/v6.0.0-rc.0\"\u003eGOV.UK frontend 6.0.0-rc0\u003c/a\u003e \u003ca href=\"https://redirect.github.com/x-govuk/govuk-components/issues/624\"\u003e#624\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove navigation items and service name from GOV.UK Header component \u003ca href=\"https://redirect.github.com/x-govuk/govuk-components/issues/626\"\u003e#626\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump ViewComponent support to 4.3 \u003ca href=\"https://redirect.github.com/x-govuk/govuk-components/issues/628\"\u003e#628\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 5.13.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix a bug in the service nav where \u003ccode\u003earia-current=\u0026quot;true\u0026quot;\u003c/code\u003e was showing where it shouldn't have been. Thanks \u003ca href=\"https://github.com/DavidBiddle\"\u003e\u003ccode\u003e@​DavidBiddle\u003c/code\u003e\u003c/a\u003e for diagnosing (\u003ca href=\"https://redirect.github.com/x-govuk/govuk-components/issues/621\"\u003e#621\u003c/a\u003e) and fixing (\u003ca href=\"https://redirect.github.com/x-govuk/govuk-components/issues/622\"\u003e#622\u003c/a\u003e) this :heart:\u003c/li\u003e\n\u003cli\u003eChange some links in the docs from netlify.app to x-govuk.org\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 5.13.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Rails 8.1. Thanks \u003ca href=\"https://github.com/thomasleese\"\u003e\u003ccode\u003e@​thomasleese\u003c/code\u003e\u003c/a\u003e. \u003ca href=\"https://redirect.github.com/x-govuk/govuk-components/issues/619\"\u003e#619\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to govuk-frontend 5.13.0\u003c/li\u003e\n\u003cli\u003eAdd Netlify link to the footer to qualify for Netlify's open source plan which we're using for the \u003ca href=\"https://govuk-components.x-govuk.org/\"\u003enew guide domain\u003c/a\u003e  ccb566fd4cd1ed5a8\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/x-govuk/govuk-components/commit/809b3f600955bd4ece674bf48d2d771316b26984\"\u003e\u003ccode\u003e809b3f6\u003c/code\u003e\u003c/a\u003e Release version 6.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/x-govuk/govuk-components/commit/eaa67a7450ce4073f7bdf4eb98e52da0505446d0\"\u003e\u003ccode\u003eeaa67a7\u003c/code\u003e\u003c/a\u003e Update dependency on view_component (\u003ca href=\"https://redirect.github.com/x-govuk/govuk-components/issues/639\"\u003e#639\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/x-govuk/govuk-components/commit/54a40cab35294db87c786dad1ff51cc496e6c0be\"\u003e\u003ccode\u003e54a40ca\u003c/code\u003e\u003c/a\u003e Update dependency on view_component\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/x-govuk/govuk-components/commit/d7ef30fd9e4e6417a956feb14b79997c099c74e9\"\u003e\u003ccode\u003ed7ef30f\u003c/code\u003e\u003c/a\u003e Update rubocop-govuk requirement from = 5.2.0 to = 5.2.1 (\u003ca href=\"https://redirect.github.com/x-govuk/govuk-components/issues/638\"\u003e#638\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/x-govuk/govuk-components/commit/a7d146ecdbd2f41e5a12460aacde76c7dbf3e4c9\"\u003e\u003ccode\u003ea7d146e\u003c/code\u003e\u003c/a\u003e Fix heredoc indentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/x-govuk/govuk-components/commit/c8af345df5348cad4cccf3b5f4dfca7619025b25\"\u003e\u003ccode\u003ec8af345\u003c/code\u003e\u003c/a\u003e Update rubocop-govuk requirement from = 5.2.0 to = 5.2.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/x-govuk/govuk-components/commit/8a8e3811011b03a0b313170b1beb6aa3ad26cd5f\"\u003e\u003ccode\u003e8a8e381\u003c/code\u003e\u003c/a\u003e Change slot example on view component page\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/x-govuk/govuk-components/commit/d0a5d8d2becbbee616a93c9160c457edc053f43d\"\u003e\u003ccode\u003ed0a5d8d\u003c/code\u003e\u003c/a\u003e Release version 6.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/x-govuk/govuk-components/commit/9b10ed070a94ea6bee9e477cb04da0bf8e987eb5\"\u003e\u003ccode\u003e9b10ed0\u003c/code\u003e\u003c/a\u003e Various version bumps (\u003ca href=\"https://redirect.github.com/x-govuk/govuk-components/issues/635\"\u003e#635\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/x-govuk/govuk-components/commit/9cfa5a8ab3477672b24aa2c5c0e3ffaf49b5e25f\"\u003e\u003ccode\u003e9cfa5a8\u003c/code\u003e\u003c/a\u003e Bump supported ViewComponent to 4.6.0\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/x-govuk/govuk-components/compare/v5.11.3...v6.2.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `govuk_design_system_formbuilder` from 5.11.0 to 6.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/x-govuk/govuk-form-builder/releases\"\u003egovuk_design_system_formbuilder's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 6.1.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade to govuk-frontend 6.1.0 \u003ca href=\"https://redirect.github.com/x-govuk/govuk-form-builder/issues/618\"\u003e#618\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport defining text options for file upload component \u003ca href=\"https://redirect.github.com/x-govuk/govuk-form-builder/issues/614\"\u003e#614\u003c/a\u003e, thank you \u003ca href=\"https://github.com/stephencdaly\"\u003e\u003ccode\u003e@​stephencdaly\u003c/code\u003e\u003c/a\u003e for contributing this\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 6.0.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport govuk-frontend 6.0.0 by \u003ca href=\"https://github.com/peteryates\"\u003e\u003ccode\u003e@​peteryates\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/x-govuk/govuk-form-builder/pull/601\"\u003ex-govuk/govuk-form-builder#601\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for Rails 8.1 by \u003ca href=\"https://github.com/benilovj\"\u003e\u003ccode\u003e@​benilovj\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/x-govuk/govuk-form-builder/pull/590\"\u003ex-govuk/govuk-form-builder#590\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003egovuk_time_field\u003c/code\u003e by \u003ca href=\"https://github.com/thomasleese\"\u003e\u003ccode\u003e@​thomasleese\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/x-govuk/govuk-form-builder/pull/599\"\u003ex-govuk/govuk-form-builder#599\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove \u003ccode\u003earia-describedby\u003c/code\u003e link between labels/legends and supplemental content by \u003ca href=\"https://github.com/peteryates\"\u003e\u003ccode\u003e@​peteryates\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/x-govuk/govuk-form-builder/pull/580\"\u003ex-govuk/govuk-form-builder#580\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport injecting content before and after inputs by \u003ca href=\"https://github.com/peteryates\"\u003e\u003ccode\u003e@​peteryates\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/x-govuk/govuk-form-builder/pull/598\"\u003ex-govuk/govuk-form-builder#598\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade Ruby and Rails versions by \u003ca href=\"https://github.com/peteryates\"\u003e\u003ccode\u003e@​peteryates\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/x-govuk/govuk-form-builder/pull/606\"\u003ex-govuk/govuk-form-builder#606\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate nanoc requirement from ~\u0026gt; 4.13.0 to ~\u0026gt; 4.14.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/x-govuk/govuk-form-builder/pull/597\"\u003ex-govuk/govuk-form-builder#597\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDeal with negative values when generating IDs by \u003ca href=\"https://github.com/peteryates\"\u003e\u003ccode\u003e@​peteryates\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/x-govuk/govuk-form-builder/pull/608\"\u003ex-govuk/govuk-form-builder#608\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 6.0.0b1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport govuk-frontend 6.0.0 by \u003ca href=\"https://github.com/peteryates\"\u003e\u003ccode\u003e@​peteryates\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/x-govuk/govuk-form-builder/pull/601\"\u003ex-govuk/govuk-form-builder#601\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for Rails 8.1 by \u003ca href=\"https://github.com/benilovj\"\u003e\u003ccode\u003e@​benilovj\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/x-govuk/govuk-form-builder/pull/590\"\u003ex-govuk/govuk-form-builder#590\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003egovuk_time_field\u003c/code\u003e by \u003ca href=\"https://github.com/thomasleese\"\u003e\u003ccode\u003e@​thomasleese\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/x-govuk/govuk-form-builder/pull/599\"\u003ex-govuk/govuk-form-builder#599\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove \u003ccode\u003earia-describedby\u003c/code\u003e link between labels/legends and supplemental content by \u003ca href=\"https://github.com/peteryates\"\u003e\u003ccode\u003e@​peteryates\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/x-govuk/govuk-form-builder/pull/580\"\u003ex-govuk/govuk-form-builder#580\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport injecting content before and after inputs by \u003ca href=\"https://github.com/peteryates\"\u003e\u003ccode\u003e@​peteryates\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/x-govuk/govuk-form-builder/pull/598\"\u003ex-govuk/govuk-form-builder#598\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade Ruby and Rails versions by \u003ca href=\"https://github.com/peteryates\"\u003e\u003ccode\u003e@​peteryates\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/x-govuk/govuk-form-builder/pull/606\"\u003ex-govuk/govuk-form-builder#606\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate nanoc requirement from ~\u0026gt; 4.13.0 to ~\u0026gt; 4.14.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/x-govuk/govuk-form-builder/pull/597\"\u003ex-govuk/govuk-form-builder#597\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDeal with negative values when generating IDs by \u003ca href=\"https://github.com/peteryates\"\u003e\u003ccode\u003e@​peteryates\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/x-govuk/govuk-form-builder/pull/608\"\u003ex-govuk/govuk-form-builder#608\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 5.13.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eupgrade to govuk-frontend 5.13.0 \u003ca href=\"https://redirect.github.com/x-govuk/govuk-form-builder/issues/586\"\u003e#586\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003evarious minor version bumps\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/x-govuk/govuk-form-builder/commit/5cbe8f6e79a805327b72f09ee191cd58f09587fc\"\u003e\u003ccode\u003e5cbe8f6\u003c/code\u003e\u003c/a\u003e Release version 6.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/x-govuk/govuk-form-builder/commit/3b721e9ba3e3cf1a685cb3dd3dbca3aeb9604150\"\u003e\u003ccode\u003e3b721e9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/x-govuk/govuk-form-builder/issues/618\"\u003e#618\u003c/a\u003e from x-govuk/govuk-frontend-6.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/x-govuk/govuk-form-builder/commit/1169b60d51f775aed34960bb636106efa2042ffd\"\u003e\u003ccode\u003e1169b60\u003c/code\u003e\u003c/a\u003e Update supported versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/x-govuk/govuk-form-builder/commit/81733638cc0ceace44e85b2fc9ef0393362bef01\"\u003e\u003ccode\u003e8173363\u003c/code\u003e\u003c/a\u003e Upgrade to govuk-frontend 6.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/x-govuk/govuk-form-builder/commit/c96270cb8cc861c40d0a6155355cbdfc8f9831eb\"\u003e\u003ccode\u003ec96270c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/x-govuk/govuk-form-builder/issues/617\"\u003e#617\u003c/a\u003e from x-govuk/fix-guide-build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/x-govuk/govuk-form-builder/commit/d6f4e390ac6f51b7120a3f3efa73669f74ed9f50\"\u003e\u003ccode\u003ed6f4e39\u003c/code\u003e\u003c/a\u003e Reqire 'active_model' in guide perosn class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/x-govuk/govuk-form-builder/commit/b156fe78df8f74dc1574b16449d0515a9ddcd174\"\u003e\u003ccode\u003eb156fe7\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/x-govuk/govuk-form-builder/issues/614\"\u003e#614\u003c/a\u003e from stephencdaly/add-options-to-file-upload-for-java...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/x-govuk/govuk-form-builder/commit/1c573ccc92b156684ee56a02329c7ca3bb3e7947\"\u003e\u003ccode\u003e1c573cc\u003c/code\u003e\u003c/a\u003e Add example to guide for setting custom text for file upload component\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/x-govuk/govuk-form-builder/commit/9ed0f9573b7f015f79ccbf9c67a9e5dd91c8ba58\"\u003e\u003ccode\u003e9ed0f95\u003c/code\u003e\u003c/a\u003e Support defining text options for file upload component\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/x-govuk/govuk-form-builder/commit/a12d0c63e346946540d5cb8af44128c04fc55f8e\"\u003e\u003ccode\u003ea12d0c6\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/x-govuk/govuk-form-builder/issues/611\"\u003e#611\u003c/a\u003e from x-govuk/dependabot/bundler/slim_lint-tw-0.34.0\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/x-govuk/govuk-form-builder/compare/v5.11.0...v6.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `haml-rails` from 2.1.0 to 3.0.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/haml/haml-rails/commit/6c7c8ca772b2c8d36b58278c2c09498385979f85\"\u003e\u003ccode\u003e6c7c8ca\u003c/code\u003e\u003c/a\u003e Version 3.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/haml/haml-rails/commit/e364abbc6a54f84b344c1ec846d683f927e1ae59\"\u003e\u003ccode\u003ee364abb\u003c/code\u003e\u003c/a\u003e Just use the newest one\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/haml/haml-rails/commit/30005dc31f9926dac33ba776389e9456e068b20f\"\u003e\u003ccode\u003e30005dc\u003c/code\u003e\u003c/a\u003e [CI] uses: actions/checkout@v5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/haml/haml-rails/commit/e639b11fe1571cdc1e8bb48143d13a63110e09e1\"\u003e\u003ccode\u003ee639b11\u003c/code\u003e\u003c/a\u003e Properly state the supported version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/haml/haml-rails/commit/3e1b70552ca28a42a4741d3bfd3cf7cf379c6486\"\u003e\u003ccode\u003e3e1b705\u003c/code\u003e\u003c/a\u003e frozen_string_literal: ❄️\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/haml/haml-rails/commit/2c51fd5848e6d36e36f831cf827578003525d08f\"\u003e\u003ccode\u003e2c51fd5\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/haml/haml-rails/issues/197\"\u003e#197\u003c/a\u003e from amatsuda/rails_versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/haml/haml-rails/commit/9f4703ddff0644ba52529c5cf41c1624829b16a7\"\u003e\u003ccode\u003e9f4703d\u003c/code\u003e\u003c/a\u003e Fall back to the newest templates by default\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/haml/haml-rails/commit/f0a9ff88ef682af3d6023e1d453ed978597abd72\"\u003e\u003ccode\u003ef0a9ff8\u003c/code\u003e\u003c/a\u003e Rails 5.1 scaffold templates\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/haml/haml-rails/commit/852cf01c9831ee09049f7b990a648d441c876093\"\u003e\u003ccode\u003e852cf01\u003c/code\u003e\u003c/a\u003e Rails 5.2 scaffold templates\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/haml/haml-rails/commit/8bb0351a85b83e81d1b27f18fdda17a77961c1af\"\u003e\u003ccode\u003e8bb0351\u003c/code\u003e\u003c/a\u003e Rails 6.0 scaffold templates\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/haml/haml-rails/compare/v2.1.0...v3.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `oauth2` from 2.0.17 to 2.0.20\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby-oauth/oauth2/releases\"\u003eoauth2's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.0.20\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/compare/v2.0.19...v2.0.20\"\u003e2.0.20\u003c/a\u003e - 2026-05-20\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eTAG: \u003ca href=\"https://github.com/ruby-oauth/oauth2/releases/tag/v2.0.20\"\u003ev2.0.20\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCOVERAGE: 99.62% -- 525/527 lines in 15 files\u003c/li\u003e\n\u003cli\u003eBRANCH COVERAGE: 98.88% -- 176/178 branches in 15 files\u003c/li\u003e\n\u003cli\u003e88.35% documented\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eOAuth2::VERSION (Traditional Constant Location)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eauth-sanitizer v0.1.3\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/721\"\u003egh!721\u003c/a\u003e Load \u003ccode\u003eauth-sanitizer\u003c/code\u003e through an internal isolated loader so requiring \u003ccode\u003eoauth2\u003c/code\u003e does not add top-level \u003ccode\u003eAuth\u003c/code\u003e or \u003ccode\u003eAuthSanitizer\u003c/code\u003e constants that may collide with downstream applications by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cp\u003eOfficial Discord 👉️ [![Live Chat on Discord][✉️discord-invite-img]][✉️discord-invite]\u003c/p\u003e\n\u003cp\u003eMany paths lead to being a sponsor or a backer of this project. Are you on such a path?\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://opencollective.com/ruby-oauth#backer\"\u003e\u003cimg src=\"https://opencollective.com/ruby-oauth/backers/badge.svg?style=flat\" alt=\"OpenCollective Backers\" /\u003e\u003c/a\u003e \u003ca href=\"https://opencollective.com/ruby-oauth#sponsor\"\u003e\u003cimg src=\"https://opencollective.com/ruby-oauth/sponsors/badge.svg?style=flat\" alt=\"OpenCollective Sponsors\" /\u003e\u003c/a\u003e \u003ca href=\"https://github.com/sponsors/pboling\"\u003e\u003cimg src=\"https://img.shields.io/badge/Sponsor_Me!-pboling.svg?style=social\u0026amp;logo=github\" alt=\"Sponsor Me on Github\" /\u003e\u003c/a\u003e \u003ca href=\"https://liberapay.com/pboling/donate\"\u003e\u003cimg src=\"https://img.shields.io/liberapay/goal/pboling.svg?logo=liberapay\u0026amp;color=a51611\u0026amp;style=flat\" alt=\"Liberapay Goal Progress\" /\u003e\u003c/a\u003e [![Donate on PayPal][🖇paypal-img]][🖇paypal]\u003c/p\u003e\n\u003cp\u003e[\u003cimg src=\"https://img.shields.io/badge/buy_me_a_coffee-%E2%9C%93-a51611.svg?style=flat\" alt=\"Buy me a coffee\" /\u003e][🖇buyme] \u003ca href=\"https://polar.sh/pboling\"\u003e\u003cimg src=\"https://img.shields.io/badge/polar-donate-a51611.svg?style=flat\" alt=\"Donate on Polar\" /\u003e\u003c/a\u003e \u003ca href=\"https://ko-fi.com/O5O86SNP4\"\u003e\u003cimg src=\"https://img.shields.io/badge/ko--fi-%E2%9C%93-a51611.svg?style=flat\" alt=\"Donate to my FLOSS efforts at ko-fi.com\" /\u003e\u003c/a\u003e \u003ca href=\"https://patreon.com/galtzo\"\u003e\u003cimg src=\"https://img.shields.io/badge/patreon-donate-a51611.svg?style=flat\" alt=\"Donate to my FLOSS efforts using Patreon\" /\u003e\u003c/a\u003e\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\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby-oauth/oauth2/blob/main/CHANGELOG.md\"\u003eoauth2's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[2.0.20] - 2026-05-20\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eTAG: [v2.0.20][2.0.20t]\u003c/li\u003e\n\u003cli\u003eCOVERAGE: 99.62% -- 525/527 lines in 15 files\u003c/li\u003e\n\u003cli\u003eBRANCH COVERAGE: 98.88% -- 176/178 branches in 15 files\u003c/li\u003e\n\u003cli\u003e88.35% documented\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eOAuth2::VERSION (Traditional Constant Location)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eauth-sanitizer v0.1.3\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/721\"\u003egh!721\u003c/a\u003e Load \u003ccode\u003eauth-sanitizer\u003c/code\u003e through an internal isolated loader so requiring \u003ccode\u003eoauth2\u003c/code\u003e does not add top-level \u003ccode\u003eAuth\u003c/code\u003e or \u003ccode\u003eAuthSanitizer\u003c/code\u003e constants that may collide with downstream applications by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003ch2\u003e[2.0.19] - 2026-05-15\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eTAG: [v2.0.19][2.0.19t]\u003c/li\u003e\n\u003cli\u003eCOVERAGE: 100.00% -- 515/515 lines in 14 files\u003c/li\u003e\n\u003cli\u003eBRANCH COVERAGE: 100.00% -- 174/174 branches in 14 files\u003c/li\u003e\n\u003cli\u003e89.11% documented\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/707\"\u003egh!707\u003c/a\u003e Add \u003ccode\u003eOAuth2.config[:filtered_label]\u003c/code\u003e to configure the placeholder used for filtered sensitive values in inspected objects and debug logging output by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/707\"\u003egh!707\u003c/a\u003e Add \u003ccode\u003eOAuth2.config[:filtered_debug_keys]\u003c/code\u003e to configure which key names have their values redacted from debug logging output by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/707\"\u003egh!707\u003c/a\u003e Make inspect-time and debug-log filters snapshot their configuration at initialization time rather than tracking later config changes by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[gh!714][gh!714]Refactor sensitive-value filtering to use \u003ccode\u003eauth-sanitizer\u003c/code\u003e while preserving \u003ccode\u003eOAuth2::FilteredAttributes\u003c/code\u003e as a permanent API alias by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRemoved\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove the internal \u003ccode\u003eOAuth2::ThingFilter\u003c/code\u003e and \u003ccode\u003eOAuth2::SanitizedLogger\u003c/code\u003e implementations now provided by \u003ccode\u003eauth-sanitizer\u003c/code\u003e by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/707\"\u003egh!707\u003c/a\u003e Redact sensitive values from debug logging output, including Authorization headers and common token/secret fields in headers, query strings, form bodies, and JSON payloads by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003eNOTE: debug logging has always been, and remains, opt-in. It is turned off by default.\u003c/li\u003e\n\u003c/ul\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/ruby-oauth/oauth2/commit/e2d509705db6091c8d5f27c31e29c58e39e51c7c\"\u003e\u003ccode\u003ee2d5097\u003c/code\u003e\u003c/a\u003e 🔧 :nocov: for unreachable error states\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/30650b2e1cb743e3263181e8b8a32c57ef33b9fb\"\u003e\u003ccode\u003e30650b2\u003c/code\u003e\u003c/a\u003e 🔖 Prepare release v2.0.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/23f2855f1b0053a38b6b5df00c870d83db761c31\"\u003e\u003ccode\u003e23f2855\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/issues/721\"\u003e#721\u003c/a\u003e from ruby-oauth/fix/top-level-namespace-pollution\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/5e4c98831ecb68ec446fcc99be0af40e6e68490c\"\u003e\u003ccode\u003e5e4c988\u003c/code\u003e\u003c/a\u003e Fix RuboCop Gradual offenses\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/89397f699bd6903c5ac3a9927d1743984a946dc5\"\u003e\u003ccode\u003e89397f6\u003c/code\u003e\u003c/a\u003e Constrain auth-sanitizer loader lookup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/8e71e19890fe486d7d260eb29ec67eb5ac1e75d0\"\u003e\u003ccode\u003e8e71e19\u003c/code\u003e\u003c/a\u003e 📝 CHANGELOG.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/6082a21c5628b270953dc9edb0af57dafb36e194\"\u003e\u003ccode\u003e6082a21\u003c/code\u003e\u003c/a\u003e ⬆️ snaky_hash, faraday-net_http, zeitwerk, bundler-audit\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/350da4214e9285fd88e21a9859d049dc8e954a25\"\u003e\u003ccode\u003e350da42\u003c/code\u003e\u003c/a\u003e Avoid auth-sanitizer top-level namespaces\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/0bc19030c2226ab16fc237b547e95d90ed8fa2e9\"\u003e\u003ccode\u003e0bc1903\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/issues/719\"\u003e#719\u003c/a\u003e from step-security-bot/chore/GHA-182236-stepsecurity-...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/148d716337a530494895091fe3b4359a410212a5\"\u003e\u003ccode\u003e148d716\u003c/code\u003e\u003c/a\u003e Switch pre-commit hook to rubocop_gradual\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby-oauth/oauth2/compare/v2.0.17...v2.0.20\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `omniauth-rails_csrf_protection` from 1.0.2 to 2.0.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/cookpad/omniauth-rails_csrf_protection/releases\"\u003eomniauth-rails_csrf_protection's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 2.0.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix an issue with configuration delegation in Rails \u0026lt; 8.1 (\u003ca href=\"https://redirect.github.com/cookpad/omniauth-rails_csrf_protection/issues/26\"\u003e#26\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003eFor more details, please see 1a0d39099957675f549e1f23c836f57b99b09a00.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 2.0.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eStop using deprecated \u003ccode\u003eActiveSupport::Configurable\u003c/code\u003e when this gem is running against Action Pack version 8.1 and later (\u003ca href=\"https://redirect.github.com/cookpad/omniauth-rails_csrf_protection/issues/23\"\u003e#23\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/cookpad/omniauth-rails_csrf_protection/issues/24\"\u003e#24\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/cookpad/omniauth-rails_csrf_protection/commit/c4f53d72e6a278c02f1a6d294c4f8004354ee0b7\"\u003e\u003ccode\u003ec4f53d7\u003c/code\u003e\u003c/a\u003e Bump to 2.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cookpad/omniauth-rails_csrf_protection/commit/1a0d39099957675f549e1f23c836f57b99b09a00\"\u003e\u003ccode\u003e1a0d390\u003c/code\u003e\u003c/a\u003e Fix an issue with configuration delegation in Rails \u0026lt; 8.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cookpad/omniauth-rails_csrf_protection/commit/bc315e1b09fbf6a363d5293067b42675f020fc4c\"\u003e\u003ccode\u003ebc315e1\u003c/code\u003e\u003c/a\u003e Properly silence Rails 8.0.x warning message in test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cookpad/omniauth-rails_csrf_protection/commit/23483750b4a0a803347e02778b975886ecb82875\"\u003e\u003ccode\u003e2348375\u003c/code\u003e\u003c/a\u003e Bump to 2.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cookpad/omniauth-rails_csrf_protection/commit/c283d1d159a292c5fce8ed1a2f5997f6bde209f5\"\u003e\u003ccode\u003ec283d1d\u003c/code\u003e\u003c/a\u003e Update README to add OmniAuth's built-in solution\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cookpad/omniauth-rails_csrf_protection/commit/2cf722bd7cc310009ee626cce28a7ea52b47f649\"\u003e\u003ccode\u003e2cf722b\u003c/code\u003e\u003c/a\u003e Add workaround for deprecated AS::Configurable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cookpad/omniauth-rails_csrf_protection/commit/431597eb44ff8ae0bf9802d1a1dc85ebb8d2cfa3\"\u003e\u003ccode\u003e431597e\u003c/code\u003e\u003c/a\u003e Silence \u003ccode\u003e#to_time\u003c/code\u003e warning in Rails 8.0.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cookpad/omniauth-rails_csrf_protection/commit/5e9c8a27b0ccac54ca3bec7f3b49d43ddefdc4d6\"\u003e\u003ccode\u003e5e9c8a2\u003c/code\u003e\u003c/a\u003e Print Ruby version in the test output\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cookpad/omniauth-rails_csrf_protection/commit/3e62c0572bf5c9796fff5fe197f07d5ed172a7c5\"\u003e\u003ccode\u003e3e62c05\u003c/code\u003e\u003c/a\u003e Remove unnecessary logger gem entry in Gemfile\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cookpad/omniauth-rails_csrf_protection/commit/f9810a5886d692312c6d015914fdad00cf7f41b2\"\u003e\u003ccode\u003ef9810a5\u003c/code\u003e\u003c/a\u003e Update build matrix and fix build errors\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/cookpad/omniauth-rails_csrf_protection/compare/v1.0.2...v2.0.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pg` from 1.6.2 to 1.6.3\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ged/ruby-pg/blob/master/CHANGELOG.md\"\u003epg's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.6.3 [2025-12-29] Lars Kanis \u003ca href=\"mailto:lars@greiz-reinsdorf.de\"\u003elars@greiz-reinsdorf.de\u003c/a\u003e\u003c/h2\u003e\n\u003cp\u003eAdded:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd binary gems for ruby-4.0, now providing ruby-3.0 to 4.0. \u003ca href=\"https://redirect.github.com/ged/ruby-pg/pull/682\"\u003e#682\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate fat binary gem to OpenSSL-3.6.0 and PostgreSQL-18.1.\u003c/li\u003e\n\u003cli\u003eImprove documentation of PG::Result and README. \u003ca href=\"https://redirect.github.com/ged/ruby-pg/pull/676\"\u003e#676\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate errorcodes to PostgreSQL-18.\u003c/li\u003e\n\u003cli\u003eUse \u003ccode\u003erb_hash_new_capa\u003c/code\u003e on Ruby-3.2+ . \u003ca href=\"https://redirect.github.com/ged/ruby-pg/pull/674\"\u003e#674\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDeny any server communication on a frozen PG::Connection . \u003ca href=\"https://redirect.github.com/ged/ruby-pg/pull/677\"\u003e#677\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix possible race condition in PG::Result in Ractor context. \u003ca href=\"https://redirect.github.com/ged/ruby-pg/pull/674\"\u003e#674\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eRemoved:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDrop binary gem support for platform \u003ccode\u003ex86-mingw32\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/ged/ruby-pg/pull/682\"\u003e#682\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDrop binary gems for ruby-2.7.\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/ged/ruby-pg/commit/d4539c25dcc89d47088e1423f8d1915c041920f5\"\u003e\u003ccode\u003ed4539c2\u003c/code\u003e\u003c/a\u003e Bump VERSION to pg-1.6.3 and add release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ged/ruby-pg/commit/720900dbb9d16aa855793146f15c3772e14f627a\"\u003e\u003ccode\u003e720900d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ged/ruby-pg/issues/682\"\u003e#682\u003c/a\u003e from larskanis/ruby-4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ged/ruby-pg/commit/f605b5937093884089109c8baa5fe268fc513eaf\"\u003e\u003ccode\u003ef605b59\u003c/code\u003e\u003c/a\u003e Remove x86-mingw32 from binary builds\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ged/ruby-pg/commit/5c690006ba158da70d73d939a233cf75ecdd30ef\"\u003e\u003ccode\u003e5c69000\u003c/code\u003e\u003c/a\u003e Update to ruby-4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ged/ruby-pg/commit/2acaf3d0f76334e056229efe260e1f558a8c6b42\"\u003e\u003ccode\u003e2acaf3d\u003c/code\u003e\u003c/a\u003e CI: workaround missing ruby-4.0 on Window\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ged/ruby-pg/commit/b500ded81127963603e1f724e82bed649c9ca8a1\"\u003e\u003ccode\u003eb500ded\u003c/code\u003e\u003c/a\u003e fix comment\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ged/ruby-pg/commit/bc3f2f8b1110e9bcb225d65554e1a7fc842d0506\"\u003e\u003ccode\u003ebc3f2f8\u003c/code\u003e\u003c/a\u003e CI: Macos-13 on Intel is deprecated\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ged/ruby-pg/commit/77667eb4313bd7b79356f402b0fa7fba409483b8\"\u003e\u003ccode\u003e77667eb\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ged/ruby-pg/issues/678\"\u003e#678\u003c/a\u003e from larskanis/ci-update\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ged/ruby-pg/commit/6e52ce504d05c5359d55f45d9580672103263b54\"\u003e\u003ccode\u003e6e52ce5\u003c/code\u003e\u003c/a\u003e CI: Update PostgreSQL on Macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ged/ruby-pg/commit/6d40f50e51a037022495fe6d98181435652464ff\"\u003e\u003ccode\u003e6d40f50\u003c/code\u003e\u003c/a\u003e CI: Print mkmf.log on failure on Macos\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ged/ruby-pg/compare/v1.6.2...v1.6.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `prometheus_exporter` from 2.3.0 to 2.3.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/discourse/prometheus_exporter/blob/main/CHANGELOG\"\u003eprometheus_exporter's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[2.3.1] - 2025-11-11\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFIX: get controller full path instead of controller name - Alex Platteeuw\u003c/li\u003e\n\u003cli\u003eFEATURE: Secure PrometheusExporter scraping with SSL - Nicolas Rodriquez\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/discourse/prometheus_exporter/commit/15e9d4783db8267fb3b0c48e5464ec4c1ae58c00\"\u003e\u003ccode\u003e15e9d47\u003c/code\u003e\u003c/a\u003e version bump (\u003ca href=\"https://redirect.github.com/discourse/prometheus_exporter/issues/358\"\u003e#358\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/discourse/prometheus_exporter/commit/4bd3817744bb5011aed6c669696ed957c23cd3fe\"\u003e\u003ccode\u003e4bd3817\u003c/code\u003e\u003c/a\u003e fix: get controller full path instead of controller name (\u003ca href=\"https://redirect.github.com/discourse/prometheus_exporter/issues/353\"\u003e#353\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/discourse/prometheus_exporter/commit/4bb4fa333386b166a745df92be5620b11be3872a\"\u003e\u003ccode\u003e4bb4fa3\u003c/code\u003e\u003c/a\u003e Secure PrometheusExporter scraping with SSL (\u003ca href=\"https://redirect.github.com/discourse/prometheus_exporter/issues/350\"\u003e#350\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/discourse/prometheus_exporter/commit/b10933453f0952cd17d143487c5adc8bb74b492a\"\u003e\u003ccode\u003eb109334\u003c/code\u003e\u003c/a\u003e Add connect_timeout: settings to PrometheusExporter::Client (\u003ca href=\"https://redirect.github.com/discourse/prometheus_exporter/issues/352\"\u003e#352\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/discourse/prometheus_exporter/compare/v2.3.0...v2.3.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `puma` from 7.0.4 to 8.0.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/puma/puma/releases\"\u003epuma's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev8.0.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBugfixes\n\u003cul\u003e\n\u003cli\u003eAnchor PROXY protocol v1 regex to string start and enforce max line length to prevent injection via crafted request bodies (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3944\"\u003e#3944\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eParse PROXY protocol header only on the first request per connection to prevent spoofing on keep-alive connections (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3944\"\u003e#3944\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eSecurity advisories\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/security/advisories/GHSA-qpgp-93vx-g8v8\"\u003eCVE-2026-47736 / GHSA-qpgp-93vx-g8v8\u003c/a\u003e: Puma PROXY Protocol v1 Parser Allows Remote Memory Exhaustion\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/security/advisories/GHSA-2vqw-3mp8-cgmx\"\u003eCVE-2026-47737 / GHSA-2vqw-3mp8-cgmx\u003c/a\u003e: Puma PROXY Protocol v1 Accepts Repeated Protocol Headers on Persistent Connections\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev8.0.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eBugfixes\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eprune_bundler\u003c/code\u003e stripping user-configured \u003ccode\u003eBUNDLE_*\u003c/code\u003e env vars (e.g. \u003ccode\u003eBUNDLE_WITHOUT\u003c/code\u003e) on re-exec, which caused workers to crash on boot (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3929\"\u003e#3929\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003ePerformance\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUse blocks for debug logging to avoid creating log messages when debug is disabled (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3920\"\u003e#3920\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDocs\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix incorrect hook names in gRPC docs (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3923\"\u003e#3923\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReword v8 upgrade guide IPv6 bullet for clarity (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3928\"\u003e#3928\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev8.0.0 - Into the Arena\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003eRead our \u003ca href=\"https://github.com/puma/puma/blob/main/docs/8.0-Upgrade.md\"\u003eVersion 8 Upgrade Guide.\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFeatures\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eenv[\u0026quot;puma.mark_as_io_bound\u0026quot;]\u003c/code\u003e API and \u003ccode\u003emax_io_threads\u003c/code\u003e config to allow IO-bound requests to exceed the thread pool max, enabling better handling of mixed workloads (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3816\"\u003e#3816\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/puma/puma/issues/3894\"\u003e#3894\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003esingle\u003c/code\u003e and \u003ccode\u003ecluster\u003c/code\u003e DSL hooks for mode-specific configuration (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3621\"\u003e#3621\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eon_force\u003c/code\u003e option to \u003ccode\u003eshutdown_debug\u003c/code\u003e to only dump thread backtraces on forced (non-graceful) shutdown (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3671\"\u003e#3671\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd API to dynamically update min and max thread counts at runtime via \u003ccode\u003eupdate_thread_pool_min_max\u003c/code\u003e and \u003ccode\u003eServerPluginControl\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3658\"\u003e#3658\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse SIGPWR for thread backtrace dumps on Linux/JRuby where SIGINFO is unavailable (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3829\"\u003e#3829\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eBugfixes\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix phased restart for \u003ccode\u003efork_worker\u003c/code\u003e to avoid forking from stale worker 0 when it has been replaced (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3853\"\u003e#3853\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003ePerformance\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eJRuby HTTP parser improvements: pre-allocated header keys, perfect hash lookup, reduced memory copies (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3838\"\u003e#3838\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCache downcased header key in \u003ccode\u003estr_headers\u003c/code\u003e to avoid redundant \u003ccode\u003eString#downcase\u003c/code\u003e calls, reducing allocations by ~50% per response (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3874\"\u003e#3874\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRefactor\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCollect \u003ccode\u003eenv\u003c/code\u003e processing into dedicated \u003ccode\u003eclient_env.rb\u003c/code\u003e module (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3582\"\u003e#3582\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMove event to default configuration (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3872\"\u003e#3872\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDocs\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd gRPC guide for configuring gRPC lifecycle hooks in clustered mode (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3885\"\u003e#3885\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd 7.0 upgrade guide, move 5.0/6.0 upgrade guides to docs directory (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3900\"\u003e#3900\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCorrect default values for \u003ccode\u003epersistent_timeout\u003c/code\u003e and \u003ccode\u003eworker_boot_timeout\u003c/code\u003e in DSL docs (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3912\"\u003e#3912\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd file descriptor limit warning in test helper for contributors (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3893\"\u003e#3893\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\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/puma/puma/blob/main/History.md\"\u003epuma's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.0.2 / 2026-05-27\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBugfixes\n\u003cul\u003e\n\u003cli\u003eAnchor PROXY protocol v1 regex to string start and enforce max line length to prevent injection via crafted request bodies (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3944\"\u003e#3944\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eParse PROXY protocol header only on the first request per connection to prevent spoofing on keep-alive connections (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3944\"\u003e#3944\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.0.1 / 2026-04-27\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eBugfixes\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eprune_bundler\u003c/code\u003e stripping user-configured \u003ccode\u003eBUNDLE_*\u003c/code\u003e env vars (e.g. \u003ccode\u003eBUNDLE_WITHOUT\u003c/code\u003e) on re-exec, which caused workers to crash on boot (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3929\"\u003e#3929\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003ePerformance\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUse blocks for debug logging to avoid creating log messages when debug is disabled (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3920\"\u003e#3920\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDocs\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix incorrect hook names in gRPC docs (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3923\"\u003e#3923\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReword v8 upgrade guide IPv6 bullet for clarity (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3928\"\u003e#3928\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.0.0 / 2026-03-27\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFeatures\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eenv[\u0026quot;puma.mark_as_io_bound\u0026quot;]\u003c/code\u003e API and \u003ccode\u003emax_io_threads\u003c/code\u003e config to allow IO-bound requests to exceed the thread pool max, enabling better handling of mixed workloads (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3816\"\u003e#3816\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/puma/puma/issues/3894\"\u003e#3894\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003esingle\u003c/code\u003e and \u003ccode\u003ecluster\u003c/code\u003e DSL hooks for mode-specific configuration (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3621\"\u003e#3621\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eon_force\u003c/code\u003e option to \u003ccode\u003eshutdown_debug\u003c/code\u003e to only dump thread backtraces on forced (non-graceful) shutdown (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3671\"\u003e#3671\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd API to dynamically update min and max thread counts at runtime via \u003ccode\u003eupdate_thread_pool_min_max\u003c/code\u003e and \u003ccode\u003eServerPluginControl\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3658\"\u003e#3658\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse SIGPWR for thread backtrace dumps on Linux/JRuby where SIGINFO is unavailable (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3829\"\u003e#3829\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eBugfixes\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix phased restart for \u003ccode\u003efork_worker\u003c/code\u003e to avoid forking from stale worker 0 when it has been replaced (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3853\"\u003e#3853\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003ePerformance\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eJRuby HTTP parser improvements: pre-allocated header keys, perfect hash lookup, reduced memory copies (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3838\"\u003e#3838\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCache downcased header key in \u003ccode\u003estr_headers\u003c/code\u003e to avoid redundant \u003ccode\u003eString#downcase\u003c/code\u003e calls, reducing allocations by ~50% per response (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3874\"\u003e#3874\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRefactor\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCollect \u003ccode\u003eenv\u003c/code\u003e processing into dedicated \u003ccode\u003eclient_env.rb\u003c/code\u003e module (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3582\"\u003e#3582\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMove event to default configuration (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3872\"\u003e#3872\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDocs\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd gRPC guide for configuring gRPC lifecycle hooks in clustered mode (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3885\"\u003e#3885\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd 7.0 upgrade guide, move 5.0/6.0 upgrade guides to docs directory (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3900\"\u003e#3900\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCorrect default values for \u003ccode\u003epersistent_timeout\u003c/code\u003e and \u003ccode\u003eworker_boot_timeout\u003c/code\u003e in DSL docs (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3912\"\u003e#3912\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd file descriptor limit warning in test helper for contributors (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3893\"\u003e#3893\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eBreaking changes\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDefault production bind address changed from \u003ccode\u003e0.0.0.0\u003c/code\u003e to \u003ccode\u003e::\u003c/code\u003e (IPv6) when a non-loopback IPv6 interface is available; falls back to \u003ccode\u003e0.0.0.0\u003c/code\u003e if IPv6 is unavailable (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3847\"\u003e#3847\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.2.0 / 2026-01-20\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeatures\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/puma/puma/commit/8085b75e79e3f7f1a96e5b488d74a71f62edd24d\"\u003e\u003ccode\u003e8085b75\u003c/code\u003e\u003c/a\u003e Release v8.0.2 (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3945\"\u003e#3945\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/439c6136d9c2275721b7864db3ee78af7c80889f\"\u003e\u003ccode\u003e439c613\u003c/code\u003e\u003c/a\u003e 8.0.2 backport (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3944\"\u003e#3944\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/cee7e613c0d6e072b1ae9993c6dec63cbf259ec3\"\u003e\u003ccode\u003ecee7e61\u003c/code\u003e\u003c/a\u003e Release v8.0.1 (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3932\"\u003e#3932\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/f955cafec47be2ac8c296a7ab278288737984243\"\u003e\u003ccode\u003ef955caf\u003c/code\u003e\u003c/a\u003e Fix prune_bundler stripping user-configured BUNDLE_* env vars on re-exec (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3929\"\u003e#3929\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/97996aa025b9ad9ef5252af4a4b0f859cc3c0c23\"\u003e\u003ccode\u003e97996aa\u003c/code\u003e\u003c/a\u003e ci: test_error_logger.rb - fix TruffleRuby error (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3930\"\u003e#3930\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/03825bc90fd04dc00dd63d1bf6bf72c224ccbed9\"\u003e\u003ccode\u003e03825bc\u003c/code\u003e\u003c/a\u003e Build(deps): Bump actions/github-script from 8 to 9 (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3925\"\u003e#3925\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/053efae42144c65cdc7110085512216647a68bdc\"\u003e\u003ccode\u003e053efae\u003c/code\u003e\u003c/a\u003e Reword v8 upgrade guide ipv6 bullet (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3928\"\u003e#3928\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/b19f35ae64d23d4d870089f2b199b0213bac00cc\"\u003e\u003ccode\u003eb19f35a\u003c/code\u003e\u003c/a\u003e Fix incorrect hook names in gRPC docs (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3923\"\u003e#3923\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/eeabe4bf4d887dc3fbac3f6bdbee1eadf807c9e9\"\u003e\u003ccode\u003eeeabe4b\u003c/code\u003e\u003c/a\u003e Use blocks for debug logging to avoid creating messages if debug disabled (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3\"\u003e#3\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/08f63d495955eaee065d0ee18849f4ddcd52fe72\"\u003e\u003ccode\u003e08f63d4\u003c/code\u003e\u003c/a\u003e Release v8.0.0 (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3914\"\u003e#3914\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/puma/puma/compare/v7.0.4...v8.0.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rails` from 8.0.3 to 8.1.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003erails's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.1.3\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eJSONGemCoderEncoder\u003c/code\u003e to correctly serialize custom object hash keys.\u003c/p\u003e\n\u003cp\u003eWhen hash keys are custom objects whose \u003ccode\u003eas_json\u003c/code\u003e returns a Hash,\nthe encoder now calls \u003ccode\u003eto_s\u003c/code\u003e on the original key object instead of\non the \u003ccode\u003eas_json\u003c/code\u003e result.\u003c/p\u003e\n\u003cp\u003eBefore:\nhash = {CustomKey.new(123) =\u0026gt; \u0026quot;value\u0026quot;}\nhash.to_json  # =\u0026gt; {\u0026quot;{:id=\u0026gt;123}\u0026quot;:\u0026quot;value\u0026quot;}\u003c/p\u003e\n\u003cp\u003eAfter:\nhash.to_json  # =\u0026gt; {\u0026quot;custom_123\u0026quot;:\u0026quot;value\u0026quot;}\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eDan Sharp\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix inflections to better handle overlapping acronyms.\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eActiveSupport::Inflector.inflections(:en) do |inflect|\r\n  inflect.acronym \u0026quot;USD\u0026quot;\r\n  inflect.acronym \u0026quot;USDC\u0026quot;\r\nend\r\n\u003cp\u003e\u0026quot;USDC\u0026quot;.underscore # =\u0026gt; \u0026quot;usdc\u0026quot;\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eSaid Kaldybaev\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSilence Dalli 4.0+ warning when using \u003ccode\u003eActiveSupport::Cache::MemCacheStore\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003ezzak\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix Ruby 4.0 delegator warning when calling inspect on attributes.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eHammad Khan\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eNoMethodError\u003c/code\u003e when deserialising \u003ccode\u003eType::Integer\u003c/code\u003e objects marshalled under Rails 8.0.\u003c/p\u003e\n\u003cp\u003eThe performance optimisation that replaced \u003ccode\u003e@range\u003c/code\u003e with \u003ccode\u003e@max\u003c/code\u003e/\u003ccode\u003e@min\u003c/code\u003e\nbroke Marshal compatibility. Objects serialised under 8.0 (with \u003ccode\u003e@range\u003c/code\u003e)\nand deserialised under 8.1 (expecting \u003ccode\u003e@max\u003c/code\u003e/\u003ccod...\n\n_Description has been truncated_","html_url":"https://github.com/ministryofjustice/laa-court-data-ui/pull/3229","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/ministryofjustice%2Flaa-court-data-ui/issues/3229","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/3229/packages"}},{"old_version":"2.0.17","new_version":"2.0.18","update_type":"patch","path":null,"pr_created_at":"2026-04-29T03:33:34.000Z","version_change":"2.0.17 → 2.0.18","issue":{"uuid":"4347678546","node_id":"PR_kwDOSA8wf87WkFS4","number":18,"state":"closed","title":"Bump the production-dependencies group with 23 updates","user":"dependabot[bot]","labels":["dependencies","ruby"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-05-09T00:22:52.000Z","author_association":null,"state_reason":null,"created_at":"2026-04-29T03:33:34.000Z","updated_at":"2026-05-09T00:22:53.000Z","time_to_close":852558,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"production-dependencies","update_count":23,"packages":[{"name":"acme-client","old_version":"2.0.26","new_version":"2.0.31","repository_url":"https://github.com/unixcharles/acme-client"},{"name":"argon2-kdf","old_version":"0.3.1","new_version":"1.0.0","repository_url":"https://github.com/ankane/argon2-kdf"},{"name":"aws-sdk-ec2","old_version":"1.569.0","new_version":"1.611.0","repository_url":"https://github.com/aws/aws-sdk-ruby"},{"name":"aws-sdk-iam","old_version":"1.132.0","new_version":"1.142.0","repository_url":"https://github.com/aws/aws-sdk-ruby"},{"name":"aws-sdk-s3","old_version":"1.208.0","new_version":"1.219.0","repository_url":"https://github.com/aws/aws-sdk-ruby"},{"name":"committee","old_version":"5.6.1","new_version":"5.6.2","repository_url":"https://github.com/interagent/committee"},{"name":"excon","old_version":"1.4.1","new_version":"1.4.2","repository_url":"https://github.com/excon/excon"},{"name":"nokogiri","old_version":"1.19.1","new_version":"1.19.2","repository_url":"https://github.com/sparklemotion/nokogiri"},{"name":"omniauth-google-oauth2","old_version":"1.2.1","new_version":"1.2.2","repository_url":"https://github.com/zquestz/omniauth-google-oauth2"},{"name":"puma","old_version":"7.1.0","new_version":"8.0.0","repository_url":"https://github.com/puma/puma"},{"name":"rake","old_version":"13.3.1","new_version":"13.4.1","repository_url":"https://github.com/ruby/rake"},{"name":"stripe","old_version":"18.4.0","new_version":"19.0.0","repository_url":"https://github.com/stripe/stripe-ruby"},{"name":"tilt","old_version":"2.6.1","new_version":"2.7.0","repository_url":"https://github.com/jeremyevans/tilt"},{"name":"aws-partitions","old_version":"1.1212.0","new_version":"1.1241.0","repository_url":"https://github.com/aws/aws-sdk-ruby"},{"name":"aws-sdk-core","old_version":"3.242.0","new_version":"3.246.0","repository_url":"https://github.com/aws/aws-sdk-ruby"},{"name":"cbor","old_version":"0.5.10.1","new_version":"0.5.10.2"},{"name":"hashie","old_version":"5.0.0","new_version":"5.1.0","repository_url":"https://github.com/hashie/hashie"},{"name":"json","old_version":"2.19.3","new_version":"2.19.4","repository_url":"https://github.com/ruby/json"},{"name":"multi_xml","old_version":"0.7.2","new_version":"0.8.1","repository_url":"https://github.com/sferik/multi_xml"},{"name":"net-imap","old_version":"0.5.12","new_version":"0.6.4","repository_url":"https://github.com/ruby/net-imap"},{"name":"oauth2","old_version":"2.0.17","new_version":"2.0.18","repository_url":"https://github.com/ruby-oauth/oauth2"},{"name":"omniauth-oauth2","old_version":"1.8.0","new_version":"1.9.0","repository_url":"https://github.com/omniauth/omniauth-oauth2"},{"name":"timeout","old_version":"0.4.4","new_version":"0.6.1","repository_url":"https://github.com/ruby/timeout"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps the production-dependencies group with 23 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [acme-client](https://github.com/unixcharles/acme-client) | `2.0.26` | `2.0.31` |\n| [argon2-kdf](https://github.com/ankane/argon2-kdf) | `0.3.1` | `1.0.0` |\n| [aws-sdk-ec2](https://github.com/aws/aws-sdk-ruby) | `1.569.0` | `1.611.0` |\n| [aws-sdk-iam](https://github.com/aws/aws-sdk-ruby) | `1.132.0` | `1.142.0` |\n| [aws-sdk-s3](https://github.com/aws/aws-sdk-ruby) | `1.208.0` | `1.219.0` |\n| [committee](https://github.com/interagent/committee) | `5.6.1` | `5.6.2` |\n| [excon](https://github.com/excon/excon) | `1.4.1` | `1.4.2` |\n| [nokogiri](https://github.com/sparklemotion/nokogiri) | `1.19.1` | `1.19.2` |\n| [omniauth-google-oauth2](https://github.com/zquestz/omniauth-google-oauth2) | `1.2.1` | `1.2.2` |\n| [puma](https://github.com/puma/puma) | `7.1.0` | `8.0.0` |\n| [rake](https://github.com/ruby/rake) | `13.3.1` | `13.4.1` |\n| [stripe](https://github.com/stripe/stripe-ruby) | `18.4.0` | `19.0.0` |\n| [tilt](https://github.com/jeremyevans/tilt) | `2.6.1` | `2.7.0` |\n| [aws-partitions](https://github.com/aws/aws-sdk-ruby) | `1.1212.0` | `1.1241.0` |\n| [aws-sdk-core](https://github.com/aws/aws-sdk-ruby) | `3.242.0` | `3.246.0` |\n| [cbor](http://cbor.io/) | `0.5.10.1` | `0.5.10.2` |\n| [hashie](https://github.com/hashie/hashie) | `5.0.0` | `5.1.0` |\n| [json](https://github.com/ruby/json) | `2.19.3` | `2.19.4` |\n| [multi_xml](https://github.com/sferik/multi_xml) | `0.7.2` | `0.8.1` |\n| [net-imap](https://github.com/ruby/net-imap) | `0.5.12` | `0.6.4` |\n| [oauth2](https://github.com/ruby-oauth/oauth2) | `2.0.17` | `2.0.18` |\n| [omniauth-oauth2](https://github.com/omniauth/omniauth-oauth2) | `1.8.0` | `1.9.0` |\n| [timeout](https://github.com/ruby/timeout) | `0.4.4` | `0.6.1` |\n\nUpdates `acme-client` from 2.0.26 to 2.0.31\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/unixcharles/acme-client/blob/master/CHANGELOG.md\"\u003eacme-client's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ccode\u003e2.0.31\u003c/code\u003e\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eExpose Retry-After header on all\u003c/li\u003e\n\u003cli\u003eARI improvement\u003c/li\u003e\n\u003cli\u003eExpose full error message on Error#acme_error_body\u003c/li\u003e\n\u003cli\u003eExpose error subproblems (RFC7807) on Error#subproblems\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ccode\u003e2.0.30\u003c/code\u003e\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd a default message to RateLimited error\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThis fix avoid argument error on RateLimited object when stubbing without passing arguments.\u003c/p\u003e\n\u003ch2\u003e\u003ccode\u003e2.0.29\u003c/code\u003e\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eIP support to the CertificateRequest helper\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ccode\u003e2.0.28\u003c/code\u003e\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMake \u003ca href=\"https://datatracker.ietf.org/doc/html/rfc8555/#section-6.6\"\u003eRetry-After\u003c/a\u003e accessible from RateLimited#retry_after exceptions\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ccode\u003e2.0.27\u003c/code\u003e\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Renewal Information (ARI) (RFC 9773)\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/unixcharles/acme-client/commit/01771ffbf361652169bd4a1ef67d54b3d12ec1b9\"\u003e\u003ccode\u003e01771ff\u003c/code\u003e\u003c/a\u003e bump to 2.0.31\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unixcharles/acme-client/commit/f43b4cd4e1d39bed5cb4eecffe3661f32535a189\"\u003e\u003ccode\u003ef43b4cd\u003c/code\u003e\u003c/a\u003e Expose Retry-After header on all ACME responses (\u003ca href=\"https://redirect.github.com/unixcharles/acme-client/issues/264\"\u003e#264\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unixcharles/acme-client/commit/890d60a21529d7f97565fa3b35a84da967ce6126\"\u003e\u003ccode\u003e890d60a\u003c/code\u003e\u003c/a\u003e Rebase: Ari improvements complete (\u003ca href=\"https://redirect.github.com/unixcharles/acme-client/issues/269\"\u003e#269\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unixcharles/acme-client/commit/53b7f4f5a4891b6d1134217c333c5a0f16f7d823\"\u003e\u003ccode\u003e53b7f4f\u003c/code\u003e\u003c/a\u003e Add bigdecimal to the development gemspec\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unixcharles/acme-client/commit/43a083c6044d6afb74f872e29eedd8de6405fc47\"\u003e\u003ccode\u003e43a083c\u003c/code\u003e\u003c/a\u003e Expose full problem document on errors (\u003ca href=\"https://redirect.github.com/unixcharles/acme-client/issues/268\"\u003e#268\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unixcharles/acme-client/commit/c5f1e27ee3e5a08c3de435a101ef22280031775a\"\u003e\u003ccode\u003ec5f1e27\u003c/code\u003e\u003c/a\u003e Don't overwrite an existing URL with nil. (\u003ca href=\"https://redirect.github.com/unixcharles/acme-client/issues/263\"\u003e#263\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unixcharles/acme-client/commit/0f496c6f941da3ff016e435c888a3d77ca15b548\"\u003e\u003ccode\u003e0f496c6\u003c/code\u003e\u003c/a\u003e Add typed error method to challenges (\u003ca href=\"https://redirect.github.com/unixcharles/acme-client/issues/267\"\u003e#267\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unixcharles/acme-client/commit/4a4b5932c0fe905045380f076634e68dbc6073b8\"\u003e\u003ccode\u003e4a4b593\u003c/code\u003e\u003c/a\u003e Expose RFC7807 sub-problems on errors (\u003ca href=\"https://redirect.github.com/unixcharles/acme-client/issues/265\"\u003e#265\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unixcharles/acme-client/commit/cd3bc62dab6f4d6d8e3a65be25d01fcc06a5d225\"\u003e\u003ccode\u003ecd3bc62\u003c/code\u003e\u003c/a\u003e Remove truffleruby to fix CI.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unixcharles/acme-client/commit/dbd7481ff141647094d907cfd9e4598208ba19eb\"\u003e\u003ccode\u003edbd7481\u003c/code\u003e\u003c/a\u003e Bump 2.0.30\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/unixcharles/acme-client/compare/v2.0.26...v2.0.31\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `argon2-kdf` from 0.3.1 to 1.0.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ankane/argon2-kdf/blob/master/CHANGELOG.md\"\u003eargon2-kdf's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.0.0 (2026-04-04)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Ruby \u0026lt; 3.3\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/ankane/argon2-kdf/commit/0badcb535f98fa10acf692137e3cf8601c1d6f01\"\u003e\u003ccode\u003e0badcb5\u003c/code\u003e\u003c/a\u003e Version bump to 1.0.0 [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ankane/argon2-kdf/commit/d7047beb07a83a79b8bf1ae4bc96561865036a8f\"\u003e\u003ccode\u003ed7047be\u003c/code\u003e\u003c/a\u003e Updated license year [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ankane/argon2-kdf/commit/60117d75d6232cdf43fcb7f58d17dc3d8d8caa87\"\u003e\u003ccode\u003e60117d7\u003c/code\u003e\u003c/a\u003e Dropped support for Ruby \u0026lt; 3.3 [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ankane/argon2-kdf/commit/db0c97ad6806430ef1af3e7fcaf34537d1c1b288\"\u003e\u003ccode\u003edb0c97a\u003c/code\u003e\u003c/a\u003e Updated CI [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ankane/argon2-kdf/commit/9dd49b0133e590f039fe4dfa0dbde9e623491411\"\u003e\u003ccode\u003e9dd49b0\u003c/code\u003e\u003c/a\u003e Added ruby_memcheck\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ankane/argon2-kdf/commit/d109bd19c07c7a1df5fb8b4dd9d7bd3c7c1e67d5\"\u003e\u003ccode\u003ed109bd1\u003c/code\u003e\u003c/a\u003e Fixed warning [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ankane/argon2-kdf/commit/2697dd8cfefacdbd059d01866a0467e4a8c8fb65\"\u003e\u003ccode\u003e2697dd8\u003c/code\u003e\u003c/a\u003e Test with Ruby 4.0 on CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ankane/argon2-kdf/commit/83e5ce84edb6a88b484187cae45fa8bea10de972\"\u003e\u003ccode\u003e83e5ce8\u003c/code\u003e\u003c/a\u003e Updated test setup [skip ci]\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/ankane/argon2-kdf/compare/v0.3.1...v1.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `aws-sdk-ec2` from 1.569.0 to 1.611.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/aws/aws-sdk-ruby/blob/version-3/gems/aws-sdk-ec2/CHANGELOG.md\"\u003eaws-sdk-ec2's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.611.0 (2026-04-07)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - EC2 Capacity Manager adds new dimensions for grouping and filtering capacity metrics, including tag-based dimensions and Account Name.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.610.0 (2026-03-31)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - This release updates the examples in the documentation for DescribeRegions and DescribeAvailabilityZones.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.609.0 (2026-03-19)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Amazon EC2 Fleet instant mode now supports launching instances into Interruptible Capacity Reservations, enabling customers to use spare capacity shared by Capacity Reservation owners within their AWS Organization.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.608.0 (2026-03-18)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - The DescribeInstanceTypes API now returns default connection tracking timeout values for TCP, UDP, and UDP stream via the new connectionTrackingConfiguration field on NetworkInfo.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.607.0 (2026-03-05)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Added metadata field to CapacityAllocation.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.606.0 (2026-02-26)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Add c8id, m8id and hpc8a instance types.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.605.0 (2026-02-25)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Add support for EC2 Capacity Blocks in Local Zones.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.604.0 (2026-02-24)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Adds httpTokensEnforced property to ModifyInstanceMetadataDefaults API. Set per account or manage organization-wide using declarative policies to prevent IMDSv1-enabled instance launch and block attempts to enable IMDSv1 on existing IMDSv2-only instances.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.603.0 (2026-02-17)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Add Operator field to CreatePlacementGroup and DescribePlacementGroup APIs.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.602.0 (2026-02-16)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Documentation updates for EC2 Secondary Networks\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\u003eSee full diff in \u003ca href=\"https://github.com/aws/aws-sdk-ruby/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `aws-sdk-iam` from 1.132.0 to 1.142.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/aws/aws-sdk-ruby/blob/version-3/gems/aws-sdk-iam/CHANGELOG.md\"\u003eaws-sdk-iam's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.142.0 (2026-03-18)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Code Generated Changes, see \u003ccode\u003e./build_tools\u003c/code\u003e or \u003ccode\u003eaws-sdk-core\u003c/code\u003e's CHANGELOG.md for details.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.141.0 (2026-03-09)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Added support for CloudWatch Logs long-term API keys, currently available in Preview\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.140.0 (2026-01-16)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Code Generated Changes, see \u003ccode\u003e./build_tools\u003c/code\u003e or \u003ccode\u003eaws-sdk-core\u003c/code\u003e's CHANGELOG.md for details.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.139.0 (2026-01-08)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Code Generated Changes, see \u003ccode\u003e./build_tools\u003c/code\u003e or \u003ccode\u003eaws-sdk-core\u003c/code\u003e's CHANGELOG.md for details.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.138.0 (2026-01-05)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Code Generated Changes, see \u003ccode\u003e./build_tools\u003c/code\u003e or \u003ccode\u003eaws-sdk-core\u003c/code\u003e's CHANGELOG.md for details.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.137.0 (2025-12-05)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Adding the ExpirationTime attribute to the delegation request resource.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.136.0 (2025-11-21)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Code Generated Changes, see \u003ccode\u003e./build_tools\u003c/code\u003e or \u003ccode\u003eaws-sdk-core\u003c/code\u003e's CHANGELOG.md for details.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.135.0 (2025-11-19)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Added the EnableOutboundWebIdentityFederation, DisableOutboundWebIdentityFederation and GetOutboundWebIdentityFederationInfo APIs for the IAM outbound federation feature.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.134.0 (2025-11-18)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Added the AssociateDelegationRequest, GetDelegationRequest, AcceptDelegationRequest, RejectDelegatonRequest, ListDelegationRequests, UpdateDelegationRequest, SendDelegationToken and GetHumanReadableSummary APIs for the IAM temporary delegation feature.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.133.0 (2025-11-10)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Added CreateDelegationRequest API, which is not available for general use at this time.\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\u003eSee full diff in \u003ca href=\"https://github.com/aws/aws-sdk-ruby/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `aws-sdk-s3` from 1.208.0 to 1.219.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/aws/aws-sdk-ruby/blob/version-3/gems/aws-sdk-s3/CHANGELOG.md\"\u003eaws-sdk-s3's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.219.0 (2026-04-07)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Updated list of the valid AWS Region values for the LocationConstraint parameter for general purpose buckets.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.218.0 (2026-03-31)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Add Bucket Metrics configuration support to directory buckets\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.217.1 (2026-03-30)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eIssue - Fix \u003ccode\u003erequire_https_for_sse_cpk\u003c/code\u003e option being ignored; the HTTPS enforcement for SSE-CPK operations now correctly respects the configured value, allowing it to be disabled for local development.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.217.0 (2026-03-18)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Code Generated Changes, see \u003ccode\u003e./build_tools\u003c/code\u003e or \u003ccode\u003eaws-sdk-core\u003c/code\u003e's CHANGELOG.md for details.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.216.0 (2026-03-12)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Adds support for account regional namespaces for general purpose buckets. The account regional namespace is a reserved subdivision of the global bucket namespace where only your account can create general purpose buckets.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.215.0 (2026-03-05)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFeature - Code Generated Changes, see \u003ccode\u003e./build_tools\u003c/code\u003e or \u003ccode\u003eaws-sdk-core\u003c/code\u003e's CHANGELOG.md for details.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eIssue - Fix \u003ccode\u003eLoadError\u003c/code\u003e when requiring \u003ccode\u003eaws-sdk-s3\u003c/code\u003e due to missing \u003ccode\u003edirectory_progress\u003c/code\u003e file.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.214.0 (2026-03-04)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Added \u003ccode\u003e#upload_directory\u003c/code\u003e and \u003ccode\u003e#download_directory\u003c/code\u003e to \u003ccode\u003eAws::S3::TransferManager\u003c/code\u003e for bulk directory transfers.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.213.0 (2026-01-28)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Adds support for the UpdateObjectEncryption API to change the server-side encryption type of objects in general purpose buckets.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.212.0 (2026-01-16)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Code Generated Changes, see \u003ccode\u003e./build_tools\u003c/code\u003e or \u003ccode\u003eaws-sdk-core\u003c/code\u003e's CHANGELOG.md for details.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.211.0 (2026-01-08)\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\u003eSee full diff in \u003ca href=\"https://github.com/aws/aws-sdk-ruby/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `committee` from 5.6.1 to 5.6.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/interagent/committee/blob/master/CHANGELOG.md\"\u003ecommittee's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e5.6.2 - 2026-03-20\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eupdate .ruby-version to latest tested \u003ca href=\"https://redirect.github.com/interagent/committee/issues/456\"\u003e#456\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebump actions/checkout from 5 to 6 \u003ca href=\"https://redirect.github.com/interagent/committee/issues/457\"\u003e#457\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eadd ydah to contributors list \u003ca href=\"https://redirect.github.com/interagent/committee/issues/458\"\u003e#458\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eadd coerce_response_values option to enable type coercion in response validation \u003ca href=\"https://redirect.github.com/interagent/committee/issues/461\"\u003e#461\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003emove response validation logic from middleware to validator classes \u003ca href=\"https://redirect.github.com/interagent/committee/issues/462\"\u003e#462\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eadd OpenAPI 3 parameter deserialization with style/explode support \u003ca href=\"https://redirect.github.com/interagent/committee/issues/460\"\u003e#460\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eadd more straightforward options by type \u003ca href=\"https://redirect.github.com/interagent/committee/issues/463\"\u003e#463\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eadd strict mode support for query parameters \u003ca href=\"https://redirect.github.com/interagent/committee/issues/464\"\u003e#464\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eadd except option for testing error responses \u003ca href=\"https://redirect.github.com/interagent/committee/issues/465\"\u003e#465\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix OpenAPI schema cache collision by including schema_path in cache key \u003ca href=\"https://redirect.github.com/interagent/committee/issues/466\"\u003e#466\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix OpenAPI 3 path coercion to respect coerce_path_params independently of query coercion \u003ca href=\"https://redirect.github.com/interagent/committee/issues/467\"\u003e#467\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix prefix matching to respect path segment boundaries \u003ca href=\"https://redirect.github.com/interagent/committee/issues/468\"\u003e#468\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eadd Ruby 4.0 to CI configuration and update README for supported versions \u003ca href=\"https://redirect.github.com/interagent/committee/issues/469\"\u003e#469\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/interagent/committee/commit/7daefdc3c3c2c5cf216c2e357c880482c264c822\"\u003e\u003ccode\u003e7daefdc\u003c/code\u003e\u003c/a\u003e v5.6.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/interagent/committee/commit/57cc754a412f7b727d5009186404bb92c7cb9ab0\"\u003e\u003ccode\u003e57cc754\u003c/code\u003e\u003c/a\u003e Add except option for testing error responses (\u003ca href=\"https://redirect.github.com/interagent/committee/issues/465\"\u003e#465\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/interagent/committee/commit/479b75722ebc4a1cf38ea54236edc0f6d433afdb\"\u003e\u003ccode\u003e479b757\u003c/code\u003e\u003c/a\u003e Fix OpenAPI 3 path coercion to respect coerce_path_params independently of qu...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/interagent/committee/commit/7ff2876aef2273be9eaccbff0750717b26332dc8\"\u003e\u003ccode\u003e7ff2876\u003c/code\u003e\u003c/a\u003e Fix prefix matching to respect path segment boundaries (\u003ca href=\"https://redirect.github.com/interagent/committee/issues/468\"\u003e#468\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/interagent/committee/commit/d644a2ea650904055f7981be723e6cdd8bd818de\"\u003e\u003ccode\u003ed644a2e\u003c/code\u003e\u003c/a\u003e Fix OpenAPI schema cache collision by including schema_path in cache key (\u003ca href=\"https://redirect.github.com/interagent/committee/issues/466\"\u003e#466\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/interagent/committee/commit/6d73b3b724f9cb9d5d3b2f01e36e800d3c044cde\"\u003e\u003ccode\u003e6d73b3b\u003c/code\u003e\u003c/a\u003e Add Ruby 4.0 to CI configuration and update README for supported versions (\u003ca href=\"https://redirect.github.com/interagent/committee/issues/469\"\u003e#469\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/interagent/committee/commit/8665b133a54a8ad82c910b01453870eda962fcaa\"\u003e\u003ccode\u003e8665b13\u003c/code\u003e\u003c/a\u003e Add more straightforward options by type (\u003ca href=\"https://redirect.github.com/interagent/committee/issues/463\"\u003e#463\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/interagent/committee/commit/568c77ee3099a1075406fcdbe2154ffae3591513\"\u003e\u003ccode\u003e568c77e\u003c/code\u003e\u003c/a\u003e Add support strict mode for query parameter (\u003ca href=\"https://redirect.github.com/interagent/committee/issues/464\"\u003e#464\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/interagent/committee/commit/63a2a140205983ad8bab49d3b79c3e0f41577196\"\u003e\u003ccode\u003e63a2a14\u003c/code\u003e\u003c/a\u003e Add OpenAPI 3 parameter deserialization with style/explode support (\u003ca href=\"https://redirect.github.com/interagent/committee/issues/460\"\u003e#460\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/interagent/committee/commit/22d35b1da00e0f8cd98853a832d1ca4121dc2ed5\"\u003e\u003ccode\u003e22d35b1\u003c/code\u003e\u003c/a\u003e Move response validation logic from middleware to validator classes (\u003ca href=\"https://redirect.github.com/interagent/committee/issues/462\"\u003e#462\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/interagent/committee/compare/v5.6.1...v5.6.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `excon` from 1.4.1 to 1.4.2\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/excon/excon/commit/011b3ae595211d63264849c93741ca5ab7f646bb\"\u003e\u003ccode\u003e011b3ae\u003c/code\u003e\u003c/a\u003e v1.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/excon/excon/commit/aff99fc68565bbf627d7ea5d33279a626e9998f4\"\u003e\u003ccode\u003eaff99fc\u003c/code\u003e\u003c/a\u003e update bundled certs\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/excon/excon/compare/v1.4.1...v1.4.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `nokogiri` from 1.19.1 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/sparklemotion/nokogiri/releases\"\u003enokogiri's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.19.2 / 2026-03-19\u003c/h2\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[JRuby] Saxon-HE is updated to 12.7, from 9.6.0-4. Saxon-HE is a transitive dependency of nu.validator:jing, and this update addresses CVEs in Saxon-HE's own transitive dependencies JDOM and dom4j. We don't think this warrants a security release, however we're cutting a patch release to help users whose security scanners are flagging this. \u003ca href=\"https://redirect.github.com/sparklemotion/nokogiri/issues/3611\"\u003e#3611\u003c/a\u003e \u003ca href=\"https://github.com/flavorjones\"\u003e\u003ccode\u003e@​flavorjones\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSHA256 Checksums\u003c/h3\u003e\n\u003cpre\u003e\u003ccode\u003ec34d5c8208025587554608e98fd88ab125b29c80f9352b821964e9a5d5cfbd19  nokogiri-1.19.2-aarch64-linux-gnu.gem\r\n7f6b4b0202d507326841a4f790294bf75098aef50c7173443812e3ac5cb06515  nokogiri-1.19.2-aarch64-linux-musl.gem\r\nb7fa1139016f3dc850bda1260988f0d749934a939d04ef2da13bec060d7d5081  nokogiri-1.19.2-arm-linux-gnu.gem\r\n61114d44f6742ff72194a1b3020967201e2eb982814778d130f6471c11f9828c  nokogiri-1.19.2-arm-linux-musl.gem\r\n58d8ea2e31a967b843b70487a44c14c8ba1866daa1b9da9be9dbdf1b43dee205  nokogiri-1.19.2-arm64-darwin.gem\r\ne9d67034bc80ca71043040beea8a91be5dc99b662daa38a2bfb361b7a2cc8717  nokogiri-1.19.2-java.gem\r\n8ccf25eea3363a2c7b3f2e173a3400582c633cfead27f805df9a9c56d4852d1a  nokogiri-1.19.2-x64-mingw-ucrt.gem\r\n7d9af11fda72dfaa2961d8c4d5380ca0b51bc389dc5f8d4b859b9644f195e7a4  nokogiri-1.19.2-x86_64-darwin.gem\r\nfa8feca882b73e871a9845f3817a72e9734c8e974bdc4fbad6e4bc6e8076b94f  nokogiri-1.19.2-x86_64-linux-gnu.gem\r\n93128448e61a9383a30baef041bf1f5817e22f297a1d400521e90294445069a8  nokogiri-1.19.2-x86_64-linux-musl.gem\r\n38fdd8b59db3d5ea9e7dfb14702e882b9bf819198d5bf976f17ebce12c481756  nokogiri-1.19.2.gem\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/sparklemotion/nokogiri/compare/v1.19.1...v1.19.2\"\u003ehttps://github.com/sparklemotion/nokogiri/compare/v1.19.1...v1.19.2\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/sparklemotion/nokogiri/blob/main/CHANGELOG.md\"\u003enokogiri's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.19.2 / 2026-03-19\u003c/h2\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[JRuby] Saxon-HE is updated to 12.7, from 9.6.0-4. Saxon-HE is a transitive dependency of nu.validator:jing, and this update addresses CVEs in Saxon-HE's own transitive dependencies JDOM and dom4j. We don't think this warrants a security release, however we're cutting a patch release to help users whose security scanners are flagging this. \u003ca href=\"https://redirect.github.com/sparklemotion/nokogiri/issues/3611\"\u003e#3611\u003c/a\u003e \u003ca href=\"https://github.com/flavorjones\"\u003e\u003ccode\u003e@​flavorjones\u003c/code\u003e\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/sparklemotion/nokogiri/commit/6f5d025af4d2721248095258d98a481839ec79de\"\u003e\u003ccode\u003e6f5d025\u003c/code\u003e\u003c/a\u003e version bump to v1.19.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/6d4677f30e05a7a64bc9712b6eee1816d9a9082b\"\u003e\u003ccode\u003e6d4677f\u003c/code\u003e\u003c/a\u003e dep: upgrade Saxon-HE from 9.6.0-4 to 12.7 [v1.19.x backport] (\u003ca href=\"https://redirect.github.com/sparklemotion/nokogiri/issues/3614\"\u003e#3614\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/acf9527e62671c9aa3c32c34007e88ae64ce4eda\"\u003e\u003ccode\u003eacf9527\u003c/code\u003e\u003c/a\u003e dep: upgrade Saxon-HE from 9.6.0-4 to 12.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/b42e62066cc71861313ebb1fe97a70b717579d43\"\u003e\u003ccode\u003eb42e620\u003c/code\u003e\u003c/a\u003e Skip compressed file SAX test on libxml2 \u0026gt;= 2.15\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/sparklemotion/nokogiri/compare/v1.19.1...v1.19.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `omniauth-google-oauth2` from 1.2.1 to 1.2.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/zquestz/omniauth-google-oauth2/releases\"\u003eomniauth-google-oauth2's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease 1.2.2\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRuby 4.0 support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDeprecated\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eNothing.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRemoved\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUnused \u003ccode\u003eIMAGE_SIZE_REGEXP\u003c/code\u003e constant.\u003c/li\u003e\n\u003cli\u003eDead \u003ccode\u003eskip_friends\u003c/code\u003e and \u003ccode\u003eskip_image_info\u003c/code\u003e options (Google+ was shut down in 2019).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eReplaced \u003ccode\u003eCGI.parse\u003c/code\u003e with \u003ccode\u003eURI.decode_www_form\u003c/code\u003e for Ruby 4.0 compatibility.\u003c/li\u003e\n\u003cli\u003eUpdated gemspec description to reference OmniAuth instead of OmniAuth 1.x.\u003c/li\u003e\n\u003cli\u003eModernized CI: bumped actions/checkout to v6, rake to 13.3, and rubocop to latest.\u003c/li\u003e\n\u003cli\u003eAdded edge case tests for \u003ccode\u003euid\u003c/code\u003e, \u003ccode\u003estrip_unnecessary_query_parameters\u003c/code\u003e, \u003ccode\u003everify_token\u003c/code\u003e, \u003ccode\u003everify_hd\u003c/code\u003e wildcard, and malformed JSON handling.\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/zquestz/omniauth-google-oauth2/blob/master/CHANGELOG.md\"\u003eomniauth-google-oauth2's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.2.2 - 2026-02-23\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRuby 4.0 support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDeprecated\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eNothing.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRemoved\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUnused \u003ccode\u003eIMAGE_SIZE_REGEXP\u003c/code\u003e constant.\u003c/li\u003e\n\u003cli\u003eDead \u003ccode\u003eskip_friends\u003c/code\u003e and \u003ccode\u003eskip_image_info\u003c/code\u003e options (Google+ was shut down in 2019).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eReplaced \u003ccode\u003eCGI.parse\u003c/code\u003e with \u003ccode\u003eURI.decode_www_form\u003c/code\u003e for Ruby 4.0 compatibility.\u003c/li\u003e\n\u003cli\u003eUpdated gemspec description to reference OmniAuth instead of OmniAuth 1.x.\u003c/li\u003e\n\u003cli\u003eModernized CI: bumped actions/checkout to v6, rake to 13.3, and rubocop to latest.\u003c/li\u003e\n\u003cli\u003eAdded edge case tests for \u003ccode\u003euid\u003c/code\u003e, \u003ccode\u003estrip_unnecessary_query_parameters\u003c/code\u003e, \u003ccode\u003everify_token\u003c/code\u003e, \u003ccode\u003everify_hd\u003c/code\u003e wildcard, and malformed JSON handling.\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/zquestz/omniauth-google-oauth2/commit/5158faa94a620d8ec4d9ce400aabfef3a3844dd9\"\u003e\u003ccode\u003e5158faa\u003c/code\u003e\u003c/a\u003e Add release date to CHANGELOG.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zquestz/omniauth-google-oauth2/commit/c5f46005e0207d2e436cf0db37c85170cca04da7\"\u003e\u003ccode\u003ec5f4600\u003c/code\u003e\u003c/a\u003e Update docs and examples\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zquestz/omniauth-google-oauth2/commit/4c14af8e1e6dc2615da908c50e4b0b757972922e\"\u003e\u003ccode\u003e4c14af8\u003c/code\u003e\u003c/a\u003e Backfill missing tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zquestz/omniauth-google-oauth2/commit/e66d0bbe6ad91f9f5a60056dae2ebf850373f249\"\u003e\u003ccode\u003ee66d0bb\u003c/code\u003e\u003c/a\u003e Clean up dead code, modernize CI, and prep 1.2.2 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zquestz/omniauth-google-oauth2/commit/b902e8e7585e8e3610040d9c770f2d4e90b6f132\"\u003e\u003ccode\u003eb902e8e\u003c/code\u003e\u003c/a\u003e Modernize CI: bump rubocop, checkout action, and tooling defaults\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zquestz/omniauth-google-oauth2/commit/ac9a979db8ee097971d5d70c12142070c539d8ab\"\u003e\u003ccode\u003eac9a979\u003c/code\u003e\u003c/a\u003e Add Ruby 4.0 to CI (\u003ca href=\"https://redirect.github.com/zquestz/omniauth-google-oauth2/issues/474\"\u003e#474\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zquestz/omniauth-google-oauth2/commit/d3f1c912e438ccf6aba577c66772bf2e37373d73\"\u003e\u003ccode\u003ed3f1c91\u003c/code\u003e\u003c/a\u003e Add GitHub pages config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zquestz/omniauth-google-oauth2/commit/253f023cdd8a5d5e05b3fed9aa00ae478a6c2997\"\u003e\u003ccode\u003e253f023\u003c/code\u003e\u003c/a\u003e Remove calendar scope on example app\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zquestz/omniauth-google-oauth2/commit/baaf3b755ea1a02c9f811fd513b0fe90fdd2defb\"\u003e\u003ccode\u003ebaaf3b7\u003c/code\u003e\u003c/a\u003e chore(doc): update JavaScript example in README (\u003ca href=\"https://redirect.github.com/zquestz/omniauth-google-oauth2/issues/472\"\u003e#472\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zquestz/omniauth-google-oauth2/commit/dcea9d208416b53af0956d95ce54daa424d36490\"\u003e\u003ccode\u003edcea9d2\u003c/code\u003e\u003c/a\u003e Add Ruby 3.3 and 3.4 to CI matrix\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/zquestz/omniauth-google-oauth2/compare/v1.2.1...v1.2.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `puma` from 7.1.0 to 8.0.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/puma/puma/releases\"\u003epuma's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev8.0.0 - Into the Arena\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003eRead our \u003ca href=\"https://github.com/puma/puma/blob/main/docs/8.0-Upgrade.md\"\u003eVersion 8 Upgrade Guide.\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFeatures\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eenv[\u0026quot;puma.mark_as_io_bound\u0026quot;]\u003c/code\u003e API and \u003ccode\u003emax_io_threads\u003c/code\u003e config to allow IO-bound requests to exceed the thread pool max, enabling better handling of mixed workloads (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3816\"\u003e#3816\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/puma/puma/issues/3894\"\u003e#3894\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003esingle\u003c/code\u003e and \u003ccode\u003ecluster\u003c/code\u003e DSL hooks for mode-specific configuration (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3621\"\u003e#3621\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eon_force\u003c/code\u003e option to \u003ccode\u003eshutdown_debug\u003c/code\u003e to only dump thread backtraces on forced (non-graceful) shutdown (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3671\"\u003e#3671\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd API to dynamically update min and max thread counts at runtime via \u003ccode\u003eupdate_thread_pool_min_max\u003c/code\u003e and \u003ccode\u003eServerPluginControl\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3658\"\u003e#3658\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse SIGPWR for thread backtrace dumps on Linux/JRuby where SIGINFO is unavailable (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3829\"\u003e#3829\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eBugfixes\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix phased restart for \u003ccode\u003efork_worker\u003c/code\u003e to avoid forking from stale worker 0 when it has been replaced (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3853\"\u003e#3853\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003ePerformance\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eJRuby HTTP parser improvements: pre-allocated header keys, perfect hash lookup, reduced memory copies (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3838\"\u003e#3838\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCache downcased header key in \u003ccode\u003estr_headers\u003c/code\u003e to avoid redundant \u003ccode\u003eString#downcase\u003c/code\u003e calls, reducing allocations by ~50% per response (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3874\"\u003e#3874\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRefactor\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCollect \u003ccode\u003eenv\u003c/code\u003e processing into dedicated \u003ccode\u003eclient_env.rb\u003c/code\u003e module (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3582\"\u003e#3582\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMove event to default configuration (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3872\"\u003e#3872\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDocs\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd gRPC guide for configuring gRPC lifecycle hooks in clustered mode (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3885\"\u003e#3885\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd 7.0 upgrade guide, move 5.0/6.0 upgrade guides to docs directory (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3900\"\u003e#3900\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCorrect default values for \u003ccode\u003epersistent_timeout\u003c/code\u003e and \u003ccode\u003eworker_boot_timeout\u003c/code\u003e in DSL docs (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3912\"\u003e#3912\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd file descriptor limit warning in test helper for contributors (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3893\"\u003e#3893\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eBreaking changes\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDefault production bind address changed from \u003ccode\u003e0.0.0.0\u003c/code\u003e to \u003ccode\u003e::\u003c/code\u003e (IPv6) when a non-loopback IPv6 interface is available; falls back to \u003ccode\u003e0.0.0.0\u003c/code\u003e if IPv6 is unavailable (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3847\"\u003e#3847\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev7.2.0 - On The Corner\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFeatures\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd workers \u003ccode\u003e:auto\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3827\"\u003e#3827\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMake it possible to restrict control server commands to stats (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3787\"\u003e#3787\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eBugfixes\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDon't break if \u003ccode\u003eWEB_CONCURRENCY\u003c/code\u003e is set to a blank string (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3837\"\u003e#3837\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDon't share server between worker 0 and descendants on refork (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3602\"\u003e#3602\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix phase check race condition in \u003ccode\u003ePuma::Cluster#check_workers\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3690\"\u003e#3690\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix advertising of CLI config before config files are loaded (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3823\"\u003e#3823\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003ePerformance\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e17% faster HTTP parsing through pre-interning env keys (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3825\"\u003e#3825\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImplement \u003ccode\u003edsize\u003c/code\u003e and \u003ccode\u003edcompact\u003c/code\u003e functions for \u003ccode\u003ePuma::HttpParser\u003c/code\u003e, which makes Puma's C-extension GC-compactible (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3828\"\u003e#3828\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRefactor\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRemove \u003ccode\u003eNoMethodError\u003c/code\u003e rescue in \u003ccode\u003eReactor#select_loop\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3831\"\u003e#3831\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eVarious cleanups in the C extension (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3814\"\u003e#3814\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\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/puma/puma/blob/main/History.md\"\u003epuma's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.0.0 / 2026-03-27\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFeatures\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eenv[\u0026quot;puma.mark_as_io_bound\u0026quot;]\u003c/code\u003e API and \u003ccode\u003emax_io_threads\u003c/code\u003e config to allow IO-bound requests to exceed the thread pool max, enabling better handling of mixed workloads (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3816\"\u003e#3816\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/puma/puma/issues/3894\"\u003e#3894\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003esingle\u003c/code\u003e and \u003ccode\u003ecluster\u003c/code\u003e DSL hooks for mode-specific configuration (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3621\"\u003e#3621\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eon_force\u003c/code\u003e option to \u003ccode\u003eshutdown_debug\u003c/code\u003e to only dump thread backtraces on forced (non-graceful) shutdown (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3671\"\u003e#3671\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd API to dynamically update min and max thread counts at runtime via \u003ccode\u003eupdate_thread_pool_min_max\u003c/code\u003e and \u003ccode\u003eServerPluginControl\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3658\"\u003e#3658\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse SIGPWR for thread backtrace dumps on Linux/JRuby where SIGINFO is unavailable (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3829\"\u003e#3829\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eBugfixes\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix phased restart for \u003ccode\u003efork_worker\u003c/code\u003e to avoid forking from stale worker 0 when it has been replaced (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3853\"\u003e#3853\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003ePerformance\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eJRuby HTTP parser improvements: pre-allocated header keys, perfect hash lookup, reduced memory copies (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3838\"\u003e#3838\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCache downcased header key in \u003ccode\u003estr_headers\u003c/code\u003e to avoid redundant \u003ccode\u003eString#downcase\u003c/code\u003e calls, reducing allocations by ~50% per response (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3874\"\u003e#3874\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRefactor\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCollect \u003ccode\u003eenv\u003c/code\u003e processing into dedicated \u003ccode\u003eclient_env.rb\u003c/code\u003e module (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3582\"\u003e#3582\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMove event to default configuration (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3872\"\u003e#3872\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDocs\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd gRPC guide for configuring gRPC lifecycle hooks in clustered mode (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3885\"\u003e#3885\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd 7.0 upgrade guide, move 5.0/6.0 upgrade guides to docs directory (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3900\"\u003e#3900\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCorrect default values for \u003ccode\u003epersistent_timeout\u003c/code\u003e and \u003ccode\u003eworker_boot_timeout\u003c/code\u003e in DSL docs (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3912\"\u003e#3912\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd file descriptor limit warning in test helper for contributors (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3893\"\u003e#3893\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eBreaking changes\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDefault production bind address changed from \u003ccode\u003e0.0.0.0\u003c/code\u003e to \u003ccode\u003e::\u003c/code\u003e (IPv6) when a non-loopback IPv6 interface is available; falls back to \u003ccode\u003e0.0.0.0\u003c/code\u003e if IPv6 is unavailable (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3847\"\u003e#3847\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.2.0 / 2026-01-20\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFeatures\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd workers \u003ccode\u003e:auto\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3827\"\u003e#3827\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMake it possible to restrict control server commands to stats (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3787\"\u003e#3787\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eBugfixes\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDon't break if \u003ccode\u003eWEB_CONCURRENCY\u003c/code\u003e is set to a blank string (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3837\"\u003e#3837\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDon't share server between worker 0 and descendants on refork (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3602\"\u003e#3602\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix phase check race condition in \u003ccode\u003ePuma::Cluster#check_workers\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3690\"\u003e#3690\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix advertising of CLI config before config files are loaded (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3823\"\u003e#3823\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003ePerformance\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e17% faster HTTP parsing through pre-interning env keys (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3825\"\u003e#3825\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImplement \u003ccode\u003edsize\u003c/code\u003e and \u003ccode\u003edcompact\u003c/code\u003e functions for \u003ccode\u003ePuma::HttpParser\u003c/code\u003e, which makes Puma's C-extension GC-compactible (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3828\"\u003e#3828\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRefactor\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRemove \u003ccode\u003eNoMethodError\u003c/code\u003e rescue in \u003ccode\u003eReactor#select_loop\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3831\"\u003e#3831\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eVarious cleanups in the C extension (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3814\"\u003e#3814\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMonomorphize \u003ccode\u003ehandle_request\u003c/code\u003e return (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3802\"\u003e#3802\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\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/puma/puma/commit/08f63d495955eaee065d0ee18849f4ddcd52fe72\"\u003e\u003ccode\u003e08f63d4\u003c/code\u003e\u003c/a\u003e Release v8.0.0 (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3914\"\u003e#3914\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/7406cc192480ce9d01c9a47e6f41fcb1548217a6\"\u003e\u003ccode\u003e7406cc1\u003c/code\u003e\u003c/a\u003e Fix IPv4-mapped IPv6 addresses in \u003ccode\u003eREMOTE_ADDR\u003c/code\u003e and request logs (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3916\"\u003e#3916\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/e090243320eb743a6c03f77f4ffa9e1a24c677b1\"\u003e\u003ccode\u003ee090243\u003c/code\u003e\u003c/a\u003e Build(deps): Bump actions/checkout from 4 to 6 (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3915\"\u003e#3915\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/7d5dca1a561a95c2a6b8742b52c81c73cd2b95ca\"\u003e\u003ccode\u003e7d5dca1\u003c/code\u003e\u003c/a\u003e Update SECURITY.md, native Github vuln reports [ci skip] (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3913\"\u003e#3913\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/66e6a32de52d9beed43e1c598bda360f906ccbef\"\u003e\u003ccode\u003e66e6a32\u003c/code\u003e\u003c/a\u003e Minor correction to defaults documented in dsl.rb (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3912\"\u003e#3912\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/3788eca453a64ffb05a67115d3e2a276bbaf21a3\"\u003e\u003ccode\u003e3788eca\u003c/code\u003e\u003c/a\u003e ci: limit rack-conform to main pushes and scope ragel PR runs (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3908\"\u003e#3908\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/57b7799201adf43cdf508f90c57b95e23f49bbcd\"\u003e\u003ccode\u003e57b7799\u003c/code\u003e\u003c/a\u003e ci: run turbo-rails only on latest stable Ruby and Rails (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3909\"\u003e#3909\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/6685d6b8024c5480774b790808e4f0343e414fa5\"\u003e\u003ccode\u003e6685d6b\u003c/code\u003e\u003c/a\u003e ci: replace skip-duplicate jobs with concurrency and trigger filters (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3907\"\u003e#3907\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/2848c823dfc9838033d6ce342fee917e81aeedc1\"\u003e\u003ccode\u003e2848c82\u003c/code\u003e\u003c/a\u003e ci: run push workflows only on main and release branches (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3906\"\u003e#3906\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/97a37bb7c6a457f8846eb3ce307daadd4b38b4f8\"\u003e\u003ccode\u003e97a37bb\u003c/code\u003e\u003c/a\u003e Add release pre-merge checks and align Release.md [ci skip] (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3904\"\u003e#3904\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/puma/puma/compare/v7.1.0...v8.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rake` from 13.3.1 to 13.4.1\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rake/commit/92193acc3674fd1567bab0bcf3f5df37f141b47e\"\u003e\u003ccode\u003e92193ac\u003c/code\u003e\u003c/a\u003e v13.4.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rake/commit/b74be0be2421b7719ebde57420ff738479ada341\"\u003e\u003ccode\u003eb74be0b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/rake/issues/721\"\u003e#721\u003c/a\u003e from ruby/fix/add-options-to-gemspec\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rake/commit/829f66d86cd28810fdd3dcbc4fff8feabf554d73\"\u003e\u003ccode\u003e829f66d\u003c/code\u003e\u003c/a\u003e Add lib/rake/options.rb to gemspec\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rake/commit/2d55bc4a8b97db9f0c085df59d338077885f6f1a\"\u003e\u003ccode\u003e2d55bc4\u003c/code\u003e\u003c/a\u003e v13.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rake/commit/14150701d48a16400b820977f6d64a7f0604d9f0\"\u003e\u003ccode\u003e1415070\u003c/code\u003e\u003c/a\u003e Exclude dependabot updates from release note\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rake/commit/b3dc948e2689487b37052288097a6666e001effb\"\u003e\u003ccode\u003eb3dc948\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/rake/issues/713\"\u003e#713\u003c/a\u003e from pvdb/simplify_standard_system_dir\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rake/commit/4c01004905405af9670455f886ef072ff4b26851\"\u003e\u003ccode\u003e4c01004\u003c/code\u003e\u003c/a\u003e Ensure thread_pool.join runs even when an exception is raised\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rake/commit/dbeb18c8369a325eb0c9c6d0369a2c6fd25dc74b\"\u003e\u003ccode\u003edbeb18c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/rake/issues/719\"\u003e#719\u003c/a\u003e from ruby/dependabot/github_actions/ruby/setup-ruby-1...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rake/commit/a8fb42bc5a4bedfdd16c210e88baa705d5fca913\"\u003e\u003ccode\u003ea8fb42b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/rake/issues/717\"\u003e#717\u003c/a\u003e from ruby/dependabot/github_actions/actions/upload-pa...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rake/commit/451937af47e0ca398223843f4cc58d09457aae66\"\u003e\u003ccode\u003e451937a\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/rake/issues/718\"\u003e#718\u003c/a\u003e from ruby/dependabot/github_actions/lewagon/wait-on-c...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby/rake/compare/v13.3.1...v13.4.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `stripe` from 18.4.0 to 19.0.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/stripe/stripe-ruby/releases\"\u003estripe's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev19.0.0\u003c/h2\u003e\n\u003cp\u003eThis release changes the pinned API version to \u003ccode\u003e2026-03-25.dahlia\u003c/code\u003e and contains breaking changes (prefixed with ⚠️ below). There's also a \u003ca href=\"https://github.com/stripe/stripe-ruby/wiki/Migration-guide-for-v19\"\u003edetailed migration guide\u003c/a\u003e to simplify your upgrade process.\u003c/p\u003e\n\u003cp\u003ePlease review details for the breaking changes and alternatives in the \u003ca href=\"https://docs.stripe.com/changelog/dahlia\"\u003eStripe API changelog\u003c/a\u003e before upgrading.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e⚠️ \u003cstrong\u003eBreaking change:\u003c/strong\u003e \u003ca href=\"https://redirect.github.com/stripe/stripe-ruby/pull/1829\"\u003e#1829\u003c/a\u003e Add decimal_string coercion for v1 and v2 API fields\n\u003cul\u003e\n\u003cli\u003eAll \u003ccode\u003edecimal_string\u003c/code\u003e fields changed type from \u003ccode\u003eString\u003c/code\u003e to \u003ccode\u003eBigDecimal\u003c/code\u003e in both request params and response objects. Code that reads or writes these fields as \u003ccode\u003eString\u003c/code\u003e will need to use \u003ccode\u003eBigDecimal\u003c/code\u003e instead. Affected fields across v1 and v2 APIs:\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eCheckout::Session\u003c/strong\u003e: \u003ccode\u003efx_rate\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eClimate::Order\u003c/strong\u003e: \u003ccode\u003emetric_tons\u003c/code\u003e; \u003cstrong\u003eClimate::Product\u003c/strong\u003e: \u003ccode\u003emetric_tons_available\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eCreditNoteLineItem\u003c/strong\u003e: \u003ccode\u003eunit_amount_decimal\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eInvoiceItem\u003c/strong\u003e: \u003ccode\u003equantity_decimal\u003c/code\u003e, \u003ccode\u003eunit_amount_decimal\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eInvoiceLineItem\u003c/strong\u003e: \u003ccode\u003equantity_decimal\u003c/code\u003e, \u003ccode\u003eunit_amount_decimal\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eIssuing::Authorization\u003c/strong\u003e / \u003cstrong\u003eIssuing::Transaction\u003c/strong\u003e (and TestHelpers): \u003ccode\u003equantity_decimal\u003c/code\u003e, \u003ccode\u003eunit_cost_decimal\u003c/code\u003e, \u003ccode\u003egross_amount_decimal\u003c/code\u003e, \u003ccode\u003elocal_amount_decimal\u003c/code\u003e, \u003ccode\u003enational_amount_decimal\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ePlan\u003c/strong\u003e: \u003ccode\u003eamount_decimal\u003c/code\u003e, \u003ccode\u003eflat_amount_decimal\u003c/code\u003e, \u003ccode\u003eunit_amount_decimal\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ePrice\u003c/strong\u003e: \u003ccode\u003eunit_amount_decimal\u003c/code\u003e, \u003ccode\u003eflat_amount_decimal\u003c/code\u003e (including \u003ccode\u003ecurrency_options\u003c/code\u003e and \u003ccode\u003etiers\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eV2::Core::Account\u003c/strong\u003e / \u003cstrong\u003eV2::Core::AccountPerson\u003c/strong\u003e: \u003ccode\u003epercent_ownership\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eRequest params on \u003cstrong\u003eInvoice\u003c/strong\u003e, \u003cstrong\u003eProduct\u003c/strong\u003e, \u003cstrong\u003eQuote\u003c/strong\u003e, \u003cstrong\u003eSubscription\u003c/strong\u003e, \u003cstrong\u003eSubscriptionItem\u003c/strong\u003e, \u003cstrong\u003eSubscriptionSchedule\u003c/strong\u003e, \u003cstrong\u003ePaymentLink\u003c/strong\u003e: \u003ccode\u003eunit_amount_decimal\u003c/code\u003e, \u003ccode\u003eflat_amount_decimal\u003c/code\u003e, \u003ccode\u003equantity_decimal\u003c/code\u003e (where applicable)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e⚠️ \u003cstrong\u003eBreaking change:\u003c/strong\u003e \u003ca href=\"https://redirect.github.com/stripe/stripe-ruby/pull/1828\"\u003e#1828\u003c/a\u003e ⚠️ Throw an error when using the wrong webhook parsing method\u003c/li\u003e\n\u003cli\u003e⚠️ \u003cstrong\u003eBreaking change:\u003c/strong\u003e \u003ca href=\"https://redirect.github.com/stripe/stripe-ruby/pull/1823\"\u003e#1823\u003c/a\u003e ⚠️ Drop support for Ruby 2.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/stripe/stripe-ruby/pull/1825\"\u003e#1825\u003c/a\u003e Require cgi/escape instead of cgi\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/stripe/stripe-ruby/pull/1814\"\u003e#1814\u003c/a\u003e Add runtime support for V2 int64 string-encoded fields\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/stripe/stripe-ruby/pull/1817\"\u003e#1817\u003c/a\u003e Remove AlipayAccount and RecipientTransfer resource files\n\u003cul\u003e\n\u003cli\u003e⚠️ Removes \u003ccode\u003eStripe::AlipayAccount\u003c/code\u003e and \u003ccode\u003eStripe::RecipientTransfer\u003c/code\u003e resource classes (dead code since v7.0.0)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/stripe/stripe-ruby/pull/1816\"\u003e#1816\u003c/a\u003e remove v2-specific guards for removing nils from request params\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/stripe/stripe-ruby/pull/1824\"\u003e#1824\u003c/a\u003e Add gem dependency on logger\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/stripe/stripe-ruby/blob/v19.0.0/CHANGELOG.md\"\u003ethe changelog for more details\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003ev18.5.0-beta.1\u003c/h2\u003e\n\u003cp\u003eThis release changes the pinned API version to \u003ccode\u003e2026-02-25.preview\u003c/code\u003e.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/stripe/stripe-ruby/pull/1789\"\u003e#1789\u003c/a\u003e Update generated code for beta\n\u003cul\u003e\n\u003cli\u003eAdd support for \u003ccode\u003esmart_disputes\u003c/code\u003e on \u003ccode\u003eAccount::Setting\u003c/code\u003e, \u003ccode\u003eAccountCreateParams::Setting\u003c/code\u003e, \u003ccode\u003eAccountUpdateParams::Setting\u003c/code\u003e, \u003ccode\u003eV2::Core::Account::Configuration::Merchant\u003c/code\u003e, \u003ccode\u003eV2::Core::AccountCreateParams::Configuration::Merchant\u003c/code\u003e, and \u003ccode\u003eV2::Core::AccountUpdateParams::Configuration::Merchant\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for \u003ccode\u003eemail_customers_on_successful_payment\u003c/code\u003e on \u003ccode\u003eAccount::Setting::Payment\u003c/code\u003e, \u003ccode\u003eAccountCreateParams::Setting::Payment\u003c/code\u003e, and \u003ccode\u003eAccountUpdateParams::Setting::Payment\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for \u003ccode\u003emanaged_payments\u003c/code\u003e on \u003ccode\u003eCheckout::SessionCreateParams\u003c/code\u003e, \u003ccode\u003eCheckout::Session\u003c/code\u003e, \u003ccode\u003ePaymentIntent\u003c/code\u003e, \u003ccode\u003eSetupIntent\u003c/code\u003e, and \u003ccode\u003eSubscription\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for \u003ccode\u003epurpose\u003c/code\u003e on \u003ccode\u003eV2::MoneyManagement::OutboundPaymentCreateParams\u003c/code\u003e and \u003ccode\u003eV2::MoneyManagement::OutboundPayment\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for \u003ccode\u003ebranch_number\u003c/code\u003e and \u003ccode\u003eswift_code\u003c/code\u003e on \u003ccode\u003eV2::MoneyManagement::PayoutMethod::BankAccount\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eChange \u003ccode\u003eV2::MoneyManagement::Transaction.flow\u003c/code\u003e and \u003ccode\u003eV2::MoneyManagement::TransactionEntry::TransactionDetail.flow\u003c/code\u003e to be optional\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/stripe/stripe-ruby/blob/v18.5.0-beta.1/CHANGELOG.md\"\u003ethe changelog for more details\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003ev18.5.0-alpha.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/stripe/stripe-ruby/pull/1818\"\u003e#1818\u003c/a\u003e Update generated code for private-preview\n\u003cul\u003e\n\u003cli\u003eAdd support for \u003ccode\u003esimulate_crypto_deposit\u003c/code\u003e test helper method on resource \u003ccode\u003ePaymentIntent\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for \u003ccode\u003edeposit_options\u003c/code\u003e and \u003ccode\u003emode\u003c/code\u003e on \u003ccode\u003ePaymentIntent::PaymentMethodOption::Crypto\u003c/code\u003e, \u003ccode\u003ePaymentIntentConfirmParams::PaymentMethodOption::Crypto\u003c/code\u003e, \u003ccode\u003ePaymentIntentCreateParams::PaymentMethodOption::Crypto\u003c/code\u003e, and \u003ccode\u003ePaymentIntentUpdateParams::PaymentMethodOption::Crypto\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for \u003ccode\u003ecrypto_display_details\u003c/code\u003e on \u003ccode\u003ePaymentIntent::NextAction\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/stripe/stripe-ruby/pull/1812\"\u003e#1812\u003c/a\u003e Update generated code for private-preview\n\u003cul\u003e\n\u003cli\u003eAdd support for new resources \u003ccode\u003eOrchestration::PaymentAttempt\u003c/code\u003e and \u003ccode\u003eRadar::CustomerEvaluation\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for \u003ccode\u003eretrieve\u003c/code\u003e method on resource \u003ccode\u003eOrchestration::PaymentAttempt\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for \u003ccode\u003ecreate\u003c/code\u003e and \u003ccode\u003eupdate\u003c/code\u003e methods on resource \u003ccode\u003eRadar::CustomerEvaluation\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\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/stripe/stripe-ruby/blob/master/CHANGELOG.md\"\u003estripe's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e19.0.0 - 2026-03-25\u003c/h2\u003e\n\u003cp\u003eThis release changes the pinned API version to \u003ccode\u003e2026-03-25.dahlia\u003c/code\u003e and contains breaking changes (prefixed with ⚠️ below). There's also a \u003ca href=\"https://github.com/stripe/stripe-ruby/wiki/Migration-guide-for-v19\"\u003edetailed migration guide\u003c/a\u003e to simplify your upgrade process.\u003c/p\u003e\n\u003cp\u003ePlease review details for the breaking changes and alternatives in the \u003ca href=\"https://docs.stripe.com/changelog/dahlia\"\u003eStripe API changelog\u003c/a\u003e before upgrading.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e⚠️ \u003cstrong\u003eBreaking change:\u003c/strong\u003e \u003ca href=\"https://redirect.github.com/stripe/stripe-ruby/pull/1829\"\u003e#1829\u003c/a\u003e Add decimal_string coercion for v1 and v2 API fields\n\u003cul\u003e\n\u003cli\u003eAll \u003ccode\u003edecimal_string\u003c/code\u003e fields changed type from \u003ccode\u003eString\u003c/code\u003e to \u003ccode\u003eBigDecimal\u003c/code\u003e in both request params and response objects. Code that reads or writes these fields as \u003ccode\u003eString\u003c/code\u003e will need to use \u003ccode\u003eBigDecimal\u003c/code\u003e instead. Affected fields across v1 and v2 APIs:\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eCheckout::Session\u003c/strong\u003e: \u003ccode\u003efx_rate\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eClimate::Order\u003c/strong\u003e: \u003ccode\u003emetric_tons\u003c/code\u003e; \u003cstrong\u003eClimate::Product\u003c/strong\u003e: \u003ccode\u003emetric_tons_available\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eCreditNoteLineItem\u003c/strong\u003e: \u003ccode\u003eunit_amount_decimal\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eInvoiceItem\u003c/strong\u003e: \u003ccode\u003equantity_decimal\u003c/code\u003e, \u003ccode\u003eunit_amount_decimal\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eInvoiceLineItem\u003c/strong\u003e: \u003ccode\u003equantity_decimal\u003c/code\u003e, \u003ccode\u003eunit_amount_decimal\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eIssuing::Authorization\u003c/strong\u003e / \u003cstrong\u003eIssuing::Transaction\u003c/strong\u003e (and TestHelpers): \u003ccode\u003equantity_decimal\u003c/code\u003e, \u003ccode\u003eunit_cost_decimal\u003c/code\u003e, \u003ccode\u003egross_amount_decimal\u003c/code\u003e, \u003ccode\u003elocal_amount_decimal\u003c/code\u003e, \u003ccode\u003enational_amount_decimal\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ePlan\u003c/strong\u003e: \u003ccode\u003eamount_decimal\u003c/code\u003e, \u003ccode\u003eflat_amount_decimal\u003c/code\u003e, \u003ccode\u003eunit_amount_decimal\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ePrice\u003c/strong\u003e: \u003ccode\u003eunit_amount_decimal\u003c/code\u003e, \u003ccode\u003eflat_amount_decimal\u003c/code\u003e (including \u003ccode\u003ecurrency_options\u003c/code\u003e and \u003ccode\u003etiers\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eV2::Core::Account\u003c/strong\u003e / \u003cstrong\u003eV2::Core::AccountPerson\u003c/strong\u003e: \u003ccode\u003epercent_ownership\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eRequest params on \u003cstrong\u003eInvoice\u003c/strong\u003e, \u003cstrong\u003eProduct\u003c/strong\u003e, \u003cstrong\u003eQuote\u003c/strong\u003e, \u003cstrong\u003eSubscription\u003c/strong\u003e, \u003cstrong\u003eSubscriptionItem\u003c/strong\u003e, \u003cstrong\u003eSubscriptionSchedule\u003c/strong\u003e, \u003cstrong\u003ePaymentLink\u003c/strong\u003e: \u003ccode\u003eunit_amount_decimal\u003c/code\u003e, \u003ccode\u003eflat_amount_decimal\u003c/code\u003e, \u003ccode\u003equantity_decimal\u003c/code\u003e (where applicable)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e⚠️ \u003cstrong\u003eBreaking change:\u003c/strong\u003e \u003ca href=\"https://redirect.github.com/stripe/stripe-ruby/pull/1828\"\u003e#1828\u003c/a\u003e ⚠️ Throw an error when using the wrong webhook parsing method\u003c/li\u003e\n\u003cli\u003e⚠️ \u003cstrong\u003eBreaking change:\u003c/strong\u003e \u003ca href=\"https://redirect.github.com/stripe/stripe-ruby/pull/1823\"\u003e#1823\u003c/a\u003e ⚠️ Drop support for Ruby 2.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/stripe/stripe-ruby/pull/1825\"\u003e#1825\u003c/a\u003e Require cgi/escape instead of cgi\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/stripe/stripe-ruby/pull/1814\"\u003e#1814\u003c/a\u003e Add runtime support for V2 int64 string-encoded fields\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/stripe/stripe-ruby/pull/1817\"\u003e#1817\u003c/a\u003e Remove AlipayAccount and RecipientTransfer resource files\n\u003cul\u003e\n\u003cli\u003e⚠️ Removes \u003ccode\u003eStripe::AlipayAccount\u003c/code\u003e and \u003ccode\u003eStripe::RecipientTransfer\u003c/code\u003e resource classes (dead code since v7.0.0)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/stripe/stripe-ruby/pull/1816\"\u003e#1816\u003c/a\u003e remove v2-specific guards for removing nils from request params\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/stripe/stripe-ruby/pull/1824\"\u003e#1824\u003c/a\u003e Add gem dependency on logger\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e⚠️ Breaking changes due to changes in the Stripe API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eGenerated changes from \u003ca href=\"https://redirect.github.com/stripe/stripe-ruby/pull/1804\"\u003e#1804\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/stripe/stripe-ruby/pull/1834\"\u003e#1834\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/stripe/stripe-ruby/pull/1831\"\u003e#1831\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/stripe/stripe-ruby/pull/1830\"\u003e#1830\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for \u003ccode\u003eupi_payments\u003c/code\u003e on \u003ccode\u003eAccount::Capability\u003c/code\u003e, \u003ccode\u003eAccountCreateParams::Capability\u003c/code\u003e, and \u003ccode\u003eAccountUpdateParams::Capability\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for \u003ccode\u003eupi\u003c/code\u003e on \u003ccode\u003eCharge::PaymentMethodDetail\u003c/code\u003e, \u003ccode\u003eCheckout::Session::PaymentMethodOption\u003c/code\u003e, \u003ccode\u003eCheckout::SessionCreateParams::PaymentMethodOption\u003c/code\u003e, \u003ccode\u003eConfirmationToken::PaymentMethodPreview\u003c/code\u003e, \u003ccode\u003eConfirmationTokenCreateParams::PaymentMethodDatum\u003c/code\u003e, \u003ccode\u003eMandate::PaymentMethodDetail\u003c/code\u003e, \u003ccode\u003ePaymentAttemptRecord::PaymentMethodDetail\u003c/code\u003e, \u003ccode\u003ePaymentIntent::PaymentMethodOption\u003c/code\u003e, \u003ccode\u003ePaymentIntentConfirmParams::PaymentMethodDatum\u003c/code\u003e, \u003ccode\u003ePaymentIntentConfirmParams::PaymentMethodOption\u003c/code\u003e, \u003ccode\u003ePaymentIntentCreateParams::PaymentMethodDatum\u003c/code\u003e, \u003ccode\u003ePaymentIntentCreateParams::PaymentMethodOption\u003c/code\u003e, \u003ccode\u003ePaymentIntentUpdateParams::PaymentMethodDatum\u003c/code\u003e, \u003ccode\u003ePaymentIntentUpdateParams::PaymentMethodOption\u003c/code\u003e, \u003ccode\u003ePaymentMethodConfigurationCreateParams\u003c/code\u003e, \u003ccode\u003ePaymentMethodConfigurationUpdateParams\u003c/code\u003e, \u003ccode\u003ePaymentMethodConfiguration\u003c/code\u003e, \u003ccode\u003ePaymentMethodCreateParams\u003c/code\u003e, \u003ccode\u003ePaymentMethod\u003c/code\u003e, \u003ccode\u003ePaymentRecord::PaymentMethodDetail\u003c/code\u003e, \u003ccode\u003eSetupAttempt::PaymentMethodDetail\u003c/code\u003e, \u003ccode\u003eSetupIntent::PaymentMethodOption\u003c/code\u003e, \u003ccode\u003eSetupIntentConfirmParams::PaymentMethodDatum\u003c/code\u003e, \u003ccode\u003eSetupIntentConfirmParams::PaymentMethodOption\u003c/code\u003e, \u003ccode\u003eSetupIntentCreateParams::PaymentMethodDatum\u003c/code\u003e, \u003ccode\u003eSetupIntentCreateParams::PaymentMethodOption\u003c/code\u003e, \u003ccode\u003eSetupIntentUpdateParams::PaymentMethodDatum\u003c/code\u003e, and \u003ccode\u003eSetupIntentUpdateParams::PaymentMethodOption\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for \u003ccode\u003eintegration_identifier\u003c/code\u003e on \u003ccode\u003eCheckout::SessionCreateParams\u003c/code\u003e and \u003ccode\u003eCheckout::Session\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for \u003ccode\u003ecrypto\u003c/code\u003e on \u003ccode\u003eCheckout::SessionCreateParams::PaymentMethodOption\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for \u003ccode\u003epending_invoice_item_interval\u003c/code\u003e on \u003ccode\u003eCheckout::SessionCreateParams::SubscriptionDatum\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for \u003ccode\u003emetadata\u003c/code\u003e on \u003ccode\u003eCreditNoteCreateParams::Line\u003c/code\u003e, \u003ccode\u003eCreditNoteLineItem\u003c/code\u003e, \u003ccode\u003eCreditNoteListPreviewLineItemsParams::Line\u003c/code\u003e, and \u003ccode\u003eCreditNotePreviewParams::Line\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for \u003ccode\u003equantity_decimal\u003c/code\u003e on \u003ccode\u003eInvoiceAddLinesParams::Line\u003c/code\u003e, \u003ccode\u003eInvoiceCreatePreviewParams::InvoiceItem\u003c/code\u003e, \u003ccode\u003eInvoiceItemCreateParams\u003c/code\u003e, \u003ccode\u003eInvoiceItemUpdateParams\u003c/code\u003e, \u003ccode\u003eInvoiceItem\u003c/code\u003e, \u003ccode\u003eInvoiceLineItemUpdateParams\u003c/code\u003e, \u003ccode\u003eInvoiceLineItem\u003c/code\u003e, and \u003ccode\u003eInvoiceUpdateLinesParams::Line\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e⚠️ Add support for \u003ccode\u003elevel\u003c/code\u003e on \u003ccode\u003eIssuing::AuthorizationCreateParams::RiskAssessment::CardTestingRisk\u003c/code\u003e and \u003ccode\u003eIssuing::AuthorizationCreateParams::RiskAssessment::MerchantDisputeRisk\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e⚠️ Remove support for \u003ccode\u003erisk_level\u003c/code\u003e on \u003ccode\u003eIssuing::AuthorizationCreateParams::RiskAssessment::CardTestingRisk\u003c/code\u003e and \u003ccode\u003eIssuing::AuthorizationCreateParams::RiskAssessment::MerchantDisputeRisk\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for \u003ccode\u003elifecycle_controls\u003c/code\u003e on \u003ccode\u003eIssuing::CardCreateParams\u003c/code\u003e and \u003ccode\u003eIssuing::Card\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e⚠️ Change type of \u003ccode\u003eIssuing::Token::NetworkDatum::Visa.card_reference_id\u003c/code\u003e from \u003ccode\u003estring\u003c/code\u003e to \u003ccode\u003enullable(string)\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e⚠️ Change type of \u003ccode\u003ePaymentAttemptRecord::PaymentMethodDetail::Card.brand\u003c/code\u003e and \u003ccode\u003ePaymentRecord::PaymentMethodDetail::Card.brand\u003c/code\u003e from \u003ccode\u003eenum\u003c/code\u003e to \u003ccode\u003enullable(enum)\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e⚠️ Change type of \u003ccode\u003ePaymentAttemptRecord::PaymentMethodDetail::Card.exp_month\u003c/code\u003e and \u003ccode\u003ePaymentRecord::PaymentMethodDetail::Card.exp_month\u003c/code\u003e from \u003ccode\u003elongInteger\u003c/code\u003e to \u003ccode\u003enullable(longInteger)\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e⚠️ Change type of \u003ccode\u003ePaymentAttemptRecord::PaymentMethodDetail::Card.exp_year\u003c/code\u003e and \u003ccode\u003ePaymentRecord::PaymentMethodDetail::Card.exp_year\u003c/code\u003e from \u003ccode\u003elongInteger\u003c/code\u003e to \u003ccode\u003enullable(longInteger)\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e⚠️ Change type of \u003ccode\u003ePaymentAttemptRecord::PaymentMethodDetail::Card.funding\u003c/code\u003e and \u003ccode\u003ePaymentRecord::PaymentMethodDetail::Card.funding\u003c/code\u003e from \u003ccode\u003eenum('credit'|'debit'|'prepaid'|'unknown')\u003c/code\u003e to \u003ccode\u003enullable(enum('credit'|'debit'|'prepaid'|'unknown'))\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e⚠️ Change type of \u003ccode\u003ePaymentAttemptRecord::PaymentMethodDetail::Card.last4\u003c/code\u003e and \u003ccode\u003ePaymentRecord::PaymentMethodDetail::Card.last4\u003c/code\u003e from \u003ccode\u003estring\u003c/code\u003e to \u003ccode\u003enullable(string)\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e⚠️ Change type of \u003ccode\u003ePaymentAttemptRecord::PaymentMethodDetail::Card.moto\u003c/code\u003e and \u003ccode\u003ePaymentRecord::PaymentMethodDetail::Card.moto\u003c/code\u003e from \u003ccode\u003eboolean\u003c/code\u003e to \u003ccode\u003enullable(boolean)\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for \u003ccode\u003ecryptogram\u003c/code\u003e, \u003ccode\u003eelectronic_commerce_indicator\u003c/code\u003e, \u003ccode\u003eexemption_indicator_applied\u003c/code\u003e, and \u003ccode\u003eexemption_indicator\u003c/code\u003e on \u003ccode\u003ePaymentAttemptRecord::PaymentMethodDetail::Card::ThreeDSecure\u003c/code\u003e and \u003ccode\u003ePaymentRecord::PaymentMethodDetail::Card::ThreeDSecure\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for \u003ccode\u003eupi_handle_redirect_or_display_qr_code\u003c/code\u003e on \u003ccode\u003ePaymentIntent::NextAction\u003c/code\u003e and \u003ccode\u003eSetupIntent::NextAction\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for \u003ccode\u003erecommended_action\u003c/code\u003e and \u003ccode\u003esignals\u003c/code\u003e on \u003ccode\u003eRadar::PaymentEvaluation\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\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/stripe/stripe-ruby/commit/e822bb2c6910149147e96efe3a697233b093b14d\"\u003e\u003ccode\u003ee822bb2\u003c/code\u003e\u003c/a\u003e Bump version to 19.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/stripe/stripe-ruby/commit/8ec331a2fb1eb232997e5b0b777edd1227b328bb\"\u003e\u003ccode\u003e8ec331a\u003c/code\u003e\u003c/a\u003e Update generated code for v2206 and (\u003ca href=\"https://redirect.github.com/stripe/stripe-ruby/issues/1834\"\u003e#1834\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/stripe/stripe-ruby/commit/2a55dcd1fa80b0589deffa5ac18b802067eecdfc\"\u003e\u003ccode\u003e2a55dcd\u003c/code\u003e\u003c/a\u003e Update generated code for v2205 and (\u003ca href=\"https://redirect.github.com/stripe/stripe-ruby/issues/1831\"\u003e#1831\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/stripe/stripe-ruby/commit/31a009a74de14e18a16132e23ccc2695098d179b\"\u003e\u003ccode\u003e31a009a\u003c/code\u003e\u003c/a\u003e Add decimal_string coercion for v1 and v2 API fields (\u003ca href=\"https://redirect.github.com/stripe/stripe-ruby/issues/1829\"\u003e#1829\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/stripe/stripe-ruby/commit/1b3b213b9dcb6557f8dc0f3b6b6b7441afaf49da\"\u003e\u003ccode\u003e1b3b213\u003c/code\u003e\u003c/a\u003e Update generated code for v2205 and (\u003ca href=\"https://redirect.github.com/stripe/stripe-ruby/issues/1830\"\u003e#1830\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/stripe/stripe-ruby/commit/5f7ca14df2c6a232e0ee0dd2e43b742cc387b2fb\"\u003e\u003ccode\u003e5f7ca14\u003c/code\u003e\u003c/a\u003e Add gem dependency on logger (\u003ca href=\"https://redirect.github.com/stripe/stripe-ruby/issues/1824\"\u003e#1824\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/stripe/stripe-ruby/commit/489e3f9af1db4e202de3b3ed52614fa78b866f07\"\u003e\u003ccode\u003e489e3f9\u003c/code\u003e\u003c/a\u003e Add errors when parsing the wrong kind of webhooks payload (\u003ca href=\"https://redirect.github.com/stripe/stripe-ruby/issues/1828\"\u003e#1828\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/stripe/stripe-ruby/commit/474d6313ba687528a537df552354227c6e155614\"\u003e\u003ccode\u003e474d631\u003c/code\u003e\u003c/a\u003e Update generated code (\u003ca href=\"https://redirect.github.com/stripe/stripe-ruby/issues/1804\"\u003e#1804\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/stripe/stripe-ruby/commit/f69d848307ae0f46b1d8f3550d939772c9d0e834\"\u003e\u003ccode\u003ef69d848\u003c/code\u003e\u003c/a\u003e Require cgi/escape instead of cgi (\u003ca href=\"https://redirect.github.com/stripe/stripe-ruby/issues/1825\"\u003e#1825\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/stripe/stripe-ruby/commit/f52faa430d285359b3dd420da26a648daf63f0fe\"\u003e\u003ccode\u003ef52faa4\u003c/code\u003e\u003c/a\u003e update supported versions (\u003ca href=\"https://redirect.github.com/stripe/stripe-ruby/issues/1823\"\u003e#1823\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/stripe/stripe-ruby/compare/v18.4.0...v19.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `tilt` from 2.6.1 to 2.7.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jeremyevans/tilt/blob/master/CHANGELOG.md\"\u003etilt's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.7.0 (2026-01-09)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport passing template-specific options to Tilt::Pipeline.new (LevitatingBusinessMan) (\u003ca href=\"https://redirect.github.com/jeremyevans/tilt/issues/24\"\u003e#24\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove deprecated creole template (jeremyevans)\u003c/li\u003e\n\u003cli\u003eMake the rendering of Prawn templates idempotent (rickenharp) (\u003ca href=\"https://redirect.github.com/jeremyevans/tilt/issues/20\"\u003e#20\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/jeremyevans/tilt/commit/2b1189faba686df872d8d9838c9d482e7c24ea19\"\u003e\u003ccode\u003e2b1189f\u003c/code\u003e\u003c/a\u003e Bump version to 2.7.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jeremyevans/tilt/commit/ac414e75f25a85c72b5bd8cf9e5f4a07828cfd56\"\u003e\u003ccode\u003eac414e7\u003c/code\u003e\u003c/a\u003e Minor changes to Tile::Pipeline.new options support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jeremyevans/tilt/commit/df4b7e3644f7d248ff70f1db7d2028b21e683a14\"\u003e\u003ccode\u003edf4b7e3\u003c/code\u003e\u003c/a\u003e allow additional options to pipeline\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jeremyevans/tilt/commit/f9193d5c1011ca9a77e2064ab1d143e75696b7f7\"\u003e\u003ccode\u003ef9193d5\u003c/code\u003e\u003c/a\u003e Drop JRuby 9.4 from CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jeremyevans/tilt/commit/712e75d1abb2e3c9731427e77140a44579ea7c7f\"\u003e\u003ccode\u003e712e75d\u003c/code\u003e\u003c/a\u003e Remove use of minitest mocks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jeremyevans/tilt/commit/d3aa2a0b3e8b1201f4dd35d5d44c82f07aa05699\"\u003e\u003ccode\u003ed3aa2a0\u003c/code\u003e\u003c/a\u003e Add Ruby 4.0 to CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jeremyevans/tilt/commit/8454c9fa5a2bd96ccadf469dbdeebc8f4aa95aba\"\u003e\u003ccode\u003e8454c9f\u003c/code\u003e\u003c/a\u003e Require URI in haml test to work around test failure on Ruby 4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jeremyevans/tilt/commit/e271cab3851ea8ece85d0072511bea2312792aa7\"\u003e\u003ccode\u003ee271cab\u003c/code\u003e\u003c/a\u003e Fix class name in coffeescript documentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jeremyevans/tilt/commit/1bca97079bb16db207a8fac1d10102caaf25327a\"\u003e\u003ccode\u003e1bca970\u003c/code\u003e\u003c/a\u003e Remove deprecated creole template\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jeremyevans/tilt/commit/7e5263ea8ebfa0f891de61139c940951243bc21c\"\u003e\u003ccode\u003e7e5263e\u003c/code\u003e\u003c/a\u003e Mention Tilt::StaticTemplate in README\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jeremyevans/tilt/compare/v2.6.1...v2.7.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `aws-partitions` from 1.1212.0 to 1.1241.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/aws/aws-sdk-ruby/blob/version-3/gems/aws-partitions/CHANGELOG.md\"\u003eaws-partitions's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.1241.0 (2026-04-24)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Updated the partitions source data the determines the AWS service regions and endpoints.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.1240.0 (2026-04-17)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Updated the partitions source data the deter...\n\n_Description has been truncated_","html_url":"https://github.com/NameawaShinderu/ubicloud-byoh/pull/18","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/NameawaShinderu%2Fubicloud-byoh/issues/18","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/18/packages"}},{"old_version":"2.0.17","new_version":"2.0.18","update_type":"patch","path":null,"pr_created_at":"2026-04-15T02:17:47.000Z","version_change":"2.0.17 → 2.0.18","issue":{"uuid":"4265830819","node_id":"PR_kwDODdTws87Sfm-O","number":3207,"state":"open","title":"Bump the bundler group across 1 directory with 116 updates","user":"dependabot[bot]","labels":["dependencies","ruby"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-04-15T02:17:47.000Z","updated_at":"2026-04-22T02:21:05.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"bundler","update_count":116,"packages":[{"name":"bootsnap","old_version":"1.18.6","new_version":"1.23.0","repository_url":"https://github.com/rails/bootsnap"},{"name":"devise","old_version":"4.9.4","new_version":"5.0.3","repository_url":"https://github.com/heartcombo/devise"},{"name":"govuk-components","old_version":"5.11.3","new_version":"6.1.0","repository_url":"https://github.com/x-govuk/govuk-components"},{"name":"govuk_design_system_formbuilder","old_version":"5.11.0","new_version":"6.1.0","repository_url":"https://github.com/x-govuk/govuk-form-builder"},{"name":"haml-rails","old_version":"2.1.0","new_version":"3.0.0","repository_url":"https://github.com/haml/haml-rails"},{"name":"oauth2","old_version":"2.0.17","new_version":"2.0.18","repository_url":"https://github.com/ruby-oauth/oauth2"},{"name":"omniauth-rails_csrf_protection","old_version":"1.0.2","new_version":"2.0.1","repository_url":"https://github.com/cookpad/omniauth-rails_csrf_protection"},{"name":"pg","old_version":"1.6.2","new_version":"1.6.3","repository_url":"https://github.com/ged/ruby-pg"},{"name":"prometheus_exporter","old_version":"2.3.0","new_version":"2.3.1","repository_url":"https://github.com/discourse/prometheus_exporter"},{"name":"puma","old_version":"7.0.4","new_version":"8.0.0","repository_url":"https://github.com/puma/puma"},{"name":"rails","old_version":"8.0.3","new_version":"8.1.3","repository_url":"https://github.com/rails/rails"},{"name":"sentry-rails","old_version":"5.27.1","new_version":"6.5.0","repository_url":"https://github.com/getsentry/sentry-ruby"},{"name":"sentry-sidekiq","old_version":"5.27.1","new_version":"6.5.0","repository_url":"https://github.com/getsentry/sentry-ruby"},{"name":"haml_lint","old_version":"0.66.0","new_version":"0.73.0","repository_url":"https://github.com/sds/haml-lint"},{"name":"rubocop","old_version":"1.80.2","new_version":"1.86.1","repository_url":"https://github.com/rubocop/rubocop"},{"name":"dotenv-rails","old_version":"3.1.8","new_version":"3.2.0","repository_url":"https://github.com/bkeepers/dotenv"},{"name":"pry-byebug","old_version":"3.11.0","new_version":"3.12.0","repository_url":"https://github.com/deivid-rodriguez/pry-byebug"},{"name":"sidekiq","old_version":"8.0.7","new_version":"8.1.2","repository_url":"https://github.com/sidekiq/sidekiq"},{"name":"turbo-rails","old_version":"2.0.16","new_version":"2.0.23","repository_url":"https://github.com/hotwired/turbo-rails"},{"name":"axe-core-rspec","old_version":"4.10.3","new_version":"4.11.1","repository_url":"https://github.com/dequelabs/axe-core-gems"},{"name":"brakeman","old_version":"7.1.0","new_version":"8.0.4","repository_url":"https://github.com/presidentbeef/brakeman"},{"name":"i18n-tasks","old_version":"1.0.15","new_version":"1.1.2","repository_url":"https://github.com/glebm/i18n-tasks"},{"name":"rspec-rails","old_version":"8.0.2","new_version":"8.0.4","repository_url":"https://github.com/rspec/rspec-rails"},{"name":"rubocop-factory_bot","old_version":"2.27.1","new_version":"2.28.0","repository_url":"https://github.com/rubocop/rubocop-factory_bot"},{"name":"rubocop-performance","old_version":"1.26.0","new_version":"1.26.1","repository_url":"https://github.com/rubocop/rubocop-performance"},{"name":"rubocop-rails","old_version":"2.33.3","new_version":"2.34.3","repository_url":"https://github.com/rubocop/rubocop-rails"},{"name":"rubocop-rspec","old_version":"3.7.0","new_version":"3.9.0","repository_url":"https://github.com/rubocop/rubocop-rspec"},{"name":"rubocop-rspec_rails","old_version":"2.31.0","new_version":"2.32.0","repository_url":"https://github.com/rubocop/rubocop-rspec_rails"},{"name":"selenium-webdriver","old_version":"4.35.0","new_version":"4.43.0","repository_url":"https://github.com/SeleniumHQ/selenium"},{"name":"shoulda-matchers","old_version":"6.5.0","new_version":"7.0.1","repository_url":"https://github.com/thoughtbot/shoulda-matchers"},{"name":"vcr","old_version":"6.3.1","new_version":"6.4.0","repository_url":"https://github.com/vcr/vcr"},{"name":"webmock","old_version":"3.25.1","new_version":"3.26.2","repository_url":"https://github.com/bblimke/webmock"},{"name":"faker","old_version":"3.5.2","new_version":"3.7.1","repository_url":"https://github.com/faker-ruby/faker"},{"name":"pry","old_version":"0.15.2","new_version":"0.16.0","repository_url":"https://github.com/pry/pry"},{"name":"listen","old_version":"3.9.0","new_version":"3.10.0","repository_url":"https://github.com/guard/listen"},{"name":"spring","old_version":"4.4.0","new_version":"4.4.2","repository_url":"https://github.com/rails/spring"},{"name":"web-console","old_version":"4.2.1","new_version":"4.3.0","repository_url":"https://github.com/rails/web-console"},{"name":"net-imap","old_version":"0.5.10","new_version":"0.6.3","repository_url":"https://github.com/ruby/net-imap"},{"name":"factory_bot","old_version":"6.5.5","new_version":"6.5.6","repository_url":"https://github.com/thoughtbot/factory_bot"},{"name":"faraday-follow_redirects","old_version":"0.3.0","new_version":"0.5.0","repository_url":"https://github.com/tisba/faraday-follow-redirects"},{"name":"json-jwt","old_version":"1.16.7","new_version":"1.17.0","repository_url":"https://github.com/nov/json-jwt"},{"name":"rack-oauth2","old_version":"2.2.1","new_version":"2.3.0","repository_url":"https://github.com/nov/rack-oauth2"},{"name":"rspec","old_version":"3.13.1","new_version":"3.13.2","repository_url":"https://github.com/rspec/rspec"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps the bundler group with 43 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [bootsnap](https://github.com/rails/bootsnap) | `1.18.6` | `1.23.0` |\n| [devise](https://github.com/heartcombo/devise) | `4.9.4` | `5.0.3` |\n| [govuk-components](https://github.com/x-govuk/govuk-components) | `5.11.3` | `6.1.0` |\n| [govuk_design_system_formbuilder](https://github.com/x-govuk/govuk-form-builder) | `5.11.0` | `6.1.0` |\n| [haml-rails](https://github.com/haml/haml-rails) | `2.1.0` | `3.0.0` |\n| [oauth2](https://github.com/ruby-oauth/oauth2) | `2.0.17` | `2.0.18` |\n| [omniauth-rails_csrf_protection](https://github.com/cookpad/omniauth-rails_csrf_protection) | `1.0.2` | `2.0.1` |\n| [pg](https://github.com/ged/ruby-pg) | `1.6.2` | `1.6.3` |\n| [prometheus_exporter](https://github.com/discourse/prometheus_exporter) | `2.3.0` | `2.3.1` |\n| [puma](https://github.com/puma/puma) | `7.0.4` | `8.0.0` |\n| [rails](https://github.com/rails/rails) | `8.0.3` | `8.1.3` |\n| [sentry-rails](https://github.com/getsentry/sentry-ruby) | `5.27.1` | `6.5.0` |\n| [sentry-sidekiq](https://github.com/getsentry/sentry-ruby) | `5.27.1` | `6.5.0` |\n| [haml_lint](https://github.com/sds/haml-lint) | `0.66.0` | `0.73.0` |\n| [rubocop](https://github.com/rubocop/rubocop) | `1.80.2` | `1.86.1` |\n| [dotenv-rails](https://github.com/bkeepers/dotenv) | `3.1.8` | `3.2.0` |\n| [pry-byebug](https://github.com/deivid-rodriguez/pry-byebug) | `3.11.0` | `3.12.0` |\n| [sidekiq](https://github.com/sidekiq/sidekiq) | `8.0.7` | `8.1.2` |\n| [turbo-rails](https://github.com/hotwired/turbo-rails) | `2.0.16` | `2.0.23` |\n| [axe-core-rspec](https://github.com/dequelabs/axe-core-gems) | `4.10.3` | `4.11.1` |\n| [brakeman](https://github.com/presidentbeef/brakeman) | `7.1.0` | `8.0.4` |\n| [i18n-tasks](https://github.com/glebm/i18n-tasks) | `1.0.15` | `1.1.2` |\n| [rspec-rails](https://github.com/rspec/rspec-rails) | `8.0.2` | `8.0.4` |\n| [rubocop-factory_bot](https://github.com/rubocop/rubocop-factory_bot) | `2.27.1` | `2.28.0` |\n| [rubocop-performance](https://github.com/rubocop/rubocop-performance) | `1.26.0` | `1.26.1` |\n| [rubocop-rails](https://github.com/rubocop/rubocop-rails) | `2.33.3` | `2.34.3` |\n| [rubocop-rspec](https://github.com/rubocop/rubocop-rspec) | `3.7.0` | `3.9.0` |\n| [rubocop-rspec_rails](https://github.com/rubocop/rubocop-rspec_rails) | `2.31.0` | `2.32.0` |\n| [selenium-webdriver](https://github.com/SeleniumHQ/selenium) | `4.35.0` | `4.43.0` |\n| [shoulda-matchers](https://github.com/thoughtbot/shoulda-matchers) | `6.5.0` | `7.0.1` |\n| [vcr](https://github.com/vcr/vcr) | `6.3.1` | `6.4.0` |\n| [webmock](https://github.com/bblimke/webmock) | `3.25.1` | `3.26.2` |\n| [faker](https://github.com/faker-ruby/faker) | `3.5.2` | `3.7.1` |\n| [pry](https://github.com/pry/pry) | `0.15.2` | `0.16.0` |\n| [listen](https://github.com/guard/listen) | `3.9.0` | `3.10.0` |\n| [spring](https://github.com/rails/spring) | `4.4.0` | `4.4.2` |\n| [web-console](https://github.com/rails/web-console) | `4.2.1` | `4.3.0` |\n| [net-imap](https://github.com/ruby/net-imap) | `0.5.10` | `0.6.3` |\n| [factory_bot](https://github.com/thoughtbot/factory_bot) | `6.5.5` | `6.5.6` |\n| [faraday-follow_redirects](https://github.com/tisba/faraday-follow-redirects) | `0.3.0` | `0.5.0` |\n| [json-jwt](https://github.com/nov/json-jwt) | `1.16.7` | `1.17.0` |\n| [rack-oauth2](https://github.com/nov/rack-oauth2) | `2.2.1` | `2.3.0` |\n| [rspec](https://github.com/rspec/rspec) | `3.13.1` | `3.13.2` |\n\n\nUpdates `bootsnap` from 1.18.6 to 1.23.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/bootsnap/releases\"\u003ebootsnap's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.23.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRequire Ruby 2.7.\u003c/li\u003e\n\u003cli\u003eFix support for absolute paths in \u003ccode\u003eBOOTSNAP_IGNORE_DIRECTORIES\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/rails/bootsnap/compare/v1.22.0...v1.23.0\"\u003ehttps://github.com/rails/bootsnap/compare/v1.22.0...v1.23.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.22.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eProper fix for the \u003ccode\u003eopendir\u003c/code\u003e crash.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003ebootsnap/rake\u003c/code\u003e for cleaning the bootsnap cache as part of \u003ccode\u003erake clobber\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/rails/bootsnap/compare/v1.21.1...v1.22.0\"\u003ehttps://github.com/rails/bootsnap/compare/v1.21.1...v1.22.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.21.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFallback to pure the pure ruby path scanner on unexpected error.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/rails/bootsnap/compare/v1.21.0...v1.21.1\"\u003ehttps://github.com/rails/bootsnap/compare/v1.21.0...v1.21.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.20.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eHandle broken symlinks in load path scanning code.\nShould fix \u003ccode\u003eErrno::ENOENT fstatat\u003c/code\u003e issues some users have encountered after upgrading to 1.20.0.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/rails/bootsnap/compare/v1.20.0...v1.20.1\"\u003ehttps://github.com/rails/bootsnap/compare/v1.20.0...v1.20.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.20.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eOptimized load path scanning with a C extension. Should be about 2x faster on supported platforms.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/rails/bootsnap/compare/v1.19.0...v1.20.0\"\u003ehttps://github.com/rails/bootsnap/compare/v1.19.0...v1.20.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/rails/bootsnap/blob/main/CHANGELOG.md\"\u003ebootsnap's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e1.23.0\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eRequire Ruby 2.7.\u003c/li\u003e\n\u003cli\u003eFix support for absolute paths in \u003ccode\u003eBOOTSNAP_IGNORE_DIRECTORIES\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e1.22.0\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eBetter fix for the \u003ccode\u003eopendir\u003c/code\u003e crash.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003ebootsnap/rake\u003c/code\u003e for cleaning the bootsnap cache as part of \u003ccode\u003erake clobber\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e1.21.1\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003ePrevent a Ruby crash while scanning load path if \u003ccode\u003eopendir\u003c/code\u003e fails without setting \u003ccode\u003eerrno\u003c/code\u003e.\nAccording to the C spec this should not happen, but according to user reports, it did.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e1.21.0\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eFix the \u003ccode\u003erequire\u003c/code\u003e decorator to handle \u003ccode\u003eBootsnap.unload_cache!\u003c/code\u003e being called.\u003c/li\u003e\n\u003cli\u003eMinor optimization: Eagerly clear cache buffers to appease the GC.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e1.20.1\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eHandle broken symlinks in load path scanning code.\nShould fix \u003ccode\u003eErrno::ENOENT fstatat\u003c/code\u003e issues some users have encountered after upgrading to 1.20.0.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e1.20.0\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eOptimized load path scanning with a C extension. Should be about 2x faster on supported platforms.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e1.19.0\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eRemove JSON parsing cache. Recent versions of the \u003ccode\u003ejson\u003c/code\u003e gem are as fast as \u003ccode\u003emsgpack\u003c/code\u003e if not faster.\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/rails/bootsnap/commit/7b04583c5a242ef8e3a7dac907b9f682c6d2f20d\"\u003e\u003ccode\u003e7b04583\u003c/code\u003e\u003c/a\u003e Release 1.23.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/32e709d4168422433ca4f06e5aaec510dd87f882\"\u003e\u003ccode\u003e32e709d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/bootsnap/issues/530\"\u003e#530\u003c/a\u003e from fxn/readdir\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/8326783ad7f2dd17681fd080a6144aa83e03478c\"\u003e\u003ccode\u003e8326783\u003c/code\u003e\u003c/a\u003e Handle readdir errors in bs_rb_scan_dir()\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/780728416ab3eff3c39093246542eb75168a157c\"\u003e\u003ccode\u003e7807284\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/bootsnap/issues/528\"\u003e#528\u003c/a\u003e from Umofomia/path-scanner-cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/c30155d2d55e3dee46453071e1b21fba81a8295f\"\u003e\u003ccode\u003ec30155d\u003c/code\u003e\u003c/a\u003e Fix bundle path check and consolidate common code in PathScanner\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/c2ef9a36c3ae67338e57aacd98d3399333ea0bc2\"\u003e\u003ccode\u003ec2ef9a3\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/bootsnap/issues/526\"\u003e#526\u003c/a\u003e from Umofomia/claw--fix-ignored-directories-absolute-...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/93c35b83fd326ebfea4fb45f8cdd37c7c233222a\"\u003e\u003ccode\u003e93c35b8\u003c/code\u003e\u003c/a\u003e LoadPathScanner: Avoid computing the absolute path when not needed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/2bf7aa4f248d3a730a26ee281ee7266dc0ba2c8d\"\u003e\u003ccode\u003e2bf7aa4\u003c/code\u003e\u003c/a\u003e Fix absolute path support for ignored directories in PathScanner.native_call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/749bf76af511e3cbd5531a19b46a8974c7fcd968\"\u003e\u003ccode\u003e749bf76\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/bootsnap/issues/527\"\u003e#527\u003c/a\u003e from byroot/ruby-2.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/52411892e2bc2d99ba23079e903bb2c2eea5572b\"\u003e\u003ccode\u003e5241189\u003c/code\u003e\u003c/a\u003e Require Ruby 2.7\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/bootsnap/compare/v1.18.6...v1.23.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `devise` from 4.9.4 to 5.0.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/heartcombo/devise/releases\"\u003edevise's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev5.0.3\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/heartcombo/devise/blob/v5.0.3/CHANGELOG.md#503---2026-03-16\"\u003ehttps://github.com/heartcombo/devise/blob/v5.0.3/CHANGELOG.md#503---2026-03-16\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev5.0.2\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/heartcombo/devise/blob/v5.0.2/CHANGELOG.md#502---2026-02-18\"\u003ehttps://github.com/heartcombo/devise/blob/v5.0.2/CHANGELOG.md#502---2026-02-18\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev5.0.1\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/heartcombo/devise/blob/v5.0.1/CHANGELOG.md#501---2026-02-13\"\u003ehttps://github.com/heartcombo/devise/blob/v5.0.1/CHANGELOG.md#501---2026-02-13\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev5.0.0\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/heartcombo/devise/blob/v5.0.0/CHANGELOG.md#500---2026-01-23\"\u003ehttps://github.com/heartcombo/devise/blob/v5.0.0/CHANGELOG.md#500---2026-01-23\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev5.0.0.rc\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/heartcombo/devise/blob/v5.0.0.rc/CHANGELOG.md#500rc---2025-12-31\"\u003ehttps://github.com/heartcombo/devise/blob/v5.0.0.rc/CHANGELOG.md#500rc---2025-12-31\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/heartcombo/devise/blob/main/CHANGELOG.md\"\u003edevise's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch3\u003e5.0.3 - 2026-03-16\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003esecurity fixes\n\u003cul\u003e\n\u003cli\u003eFix race condition vulnerability on confirmable \u0026quot;change email\u0026quot; which would allow confirming an email they don't own CVE-2026-32700 \u003ca href=\"https://github.com/heartcombo/devise/security/advisories/GHSA-57hq-95w6-v4fc\"\u003eGHSA-57hq-95w6-v4fc\u003c/a\u003e \u003ca href=\"https://redirect.github.com/heartcombo/devise/pull/5783\"\u003e#5783\u003c/a\u003e \u003ca href=\"https://redirect.github.com/heartcombo/devise/pull/5784\"\u003e#5784\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e5.0.2 - 2026-02-18\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eenhancements\n\u003cul\u003e\n\u003cli\u003eAllow resource class scopes to override the global configuration for \u003ccode\u003esign_in_after_change_password\u003c/code\u003e behaviour. \u003ca href=\"https://redirect.github.com/heartcombo/devise/pull/5825\"\u003e#5825\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cem\u003eNote\u003c/em\u003e: some users ran into an issue with this change because \u003ccode\u003eRegistrationsController\u003c/code\u003e now relies on a setting from the \u003ccode\u003e:registerable\u003c/code\u003e module. These users were configuring their own routes pointing to the \u003ccode\u003eRegistrationsController\u003c/code\u003e for resource edit/update actions mostly, without relying on the other registration actions (e.g. user sign up.), so they omitted \u003ccode\u003e:registerable\u003c/code\u003e from the model declaration. While using just a portion of the controller functionality is a valid use for \u003ccode\u003e:registerable\u003c/code\u003e (or any module really), the module must still be declared in the model, much like the other modules must be declared if you plan on using just a portion of their behavior. Please check \u003ca href=\"https://redirect.github.com/heartcombo/devise/pull/5828#issuecomment-3926822788\"\u003ethis issue\u003c/a\u003e for more info.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003esign_in_after_reset_password?\u003c/code\u003e check hook to passwords controller, to allow it to be customized by users. \u003ca href=\"https://redirect.github.com/heartcombo/devise/pull/5826\"\u003e#5826\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e5.0.1 - 2026-02-13\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ebug fixes\n\u003cul\u003e\n\u003cli\u003eFix translation issue with German \u003ccode\u003eE-Mail\u003c/code\u003e on invalid authentication messages caused by previous fix for incorrect grammar \u003ca href=\"https://redirect.github.com/heartcombo/devise/pull/5822\"\u003e#5822\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e5.0.0 - 2026-01-23\u003c/h3\u003e\n\u003cp\u003eno changes\u003c/p\u003e\n\u003ch3\u003e5.0.0.rc - 2025-12-31\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003ebreaking changes\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eDrop support to Ruby \u0026lt; 2.7\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDrop support to Rails \u0026lt; 7.0\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove deprecated \u003ccode\u003e:bypass\u003c/code\u003e option from \u003ccode\u003esign_in\u003c/code\u003e helper, use \u003ccode\u003ebypass_sign_in\u003c/code\u003e instead. \u003ca href=\"https://redirect.github.com/heartcombo/devise/pull/5803\"\u003e#5803\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove deprecated \u003ccode\u003edevise_error_messages!\u003c/code\u003e helper, use \u003ccode\u003erender \u0026quot;devise/shared/error_messages\u0026quot;, resource: resource\u003c/code\u003e instead. \u003ca href=\"https://redirect.github.com/heartcombo/devise/pull/5803\"\u003e#5803\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove deprecated \u003ccode\u003escope\u003c/code\u003e second argument from \u003ccode\u003esign_in(resource, :admin)\u003c/code\u003e controller test helper, use \u003ccode\u003esign_in(resource, scope: :admin)\u003c/code\u003e instead. \u003ca href=\"https://redirect.github.com/heartcombo/devise/pull/5803\"\u003e#5803\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove deprecated \u003ccode\u003eDevise::TestHelpers\u003c/code\u003e, use \u003ccode\u003eDevise::Test::ControllerHelpers\u003c/code\u003e instead. \u003ca href=\"https://redirect.github.com/heartcombo/devise/pull/5803\"\u003e#5803\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove deprecated \u003ccode\u003eDevise::Models::Authenticatable::BLACKLIST_FOR_SERIALIZATION\u003c/code\u003e \u003ca href=\"https://redirect.github.com/heartcombo/devise/pull/5598\"\u003e#5598\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove deprecated \u003ccode\u003eDevise.activerecord51?\u003c/code\u003e method.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove \u003ccode\u003eSecretKeyFinder\u003c/code\u003e and use \u003ccode\u003eapp.secret_key_base\u003c/code\u003e as the default secret key for \u003ccode\u003eDevise.secret_key\u003c/code\u003e if a custom \u003ccode\u003eDevise.secret_key\u003c/code\u003e is not provided.\u003c/p\u003e\n\u003cp\u003eThis is potentially a breaking change because Devise previously used the following order to find a secret key:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eapp.credentials.secret_key_base \u0026gt; app.secrets.secret_key_base \u0026gt; application.config.secret_key_base \u0026gt; application.secret_key_base\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eNow, it always uses \u003ccode\u003eapplication.secret_key_base\u003c/code\u003e. Make sure you're using the same secret key after the upgrade; otherwise, previously generated tokens for \u003ccode\u003erecoverable\u003c/code\u003e, \u003ccode\u003elockable\u003c/code\u003e, and \u003ccode\u003econfirmable\u003c/code\u003e will be invalid.\n\u003ca href=\"https://redirect.github.com/heartcombo/devise/pull/5645\"\u003e#5645\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eChange password instructions button label on devise view from \u003ccode\u003eSend me reset password instructions\u003c/code\u003e to \u003ccode\u003eSend me password reset instructions\u003c/code\u003e \u003ca href=\"https://redirect.github.com/heartcombo/devise/pull/5515\"\u003e#5515\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eChange \u003ccode\u003e\u0026lt;br\u0026gt;\u003c/code\u003e tags separating form elements to wrapping them in \u003ccode\u003e\u0026lt;p\u0026gt;\u003c/code\u003e tags \u003ca href=\"https://redirect.github.com/heartcombo/devise/pull/5494\"\u003e#5494\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eReplace \u003ccode\u003e[data-turbo-cache=false]\u003c/code\u003e with \u003ccode\u003e[data-turbo-temporary]\u003c/code\u003e on \u003ccode\u003edevise/shared/error_messages\u003c/code\u003e partial. This has been \u003ca href=\"https://github.com/hotwired/turbo/releases/tag/v7.3.0\"\u003edeprecated by Turbo since v7.3.0 (released on Mar 1, 2023)\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eIf you are using an older version of Turbo and the default devise template, you'll need to copy it over to your app and change that back to \u003ccode\u003e[data-turbo-cache=false]\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eenhancements\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Rails 8 support.\u003c/li\u003e\n\u003c/ul\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/heartcombo/devise/commit/2f809205b2a9112767e68e1a5666c649a42609c6\"\u003e\u003ccode\u003e2f80920\u003c/code\u003e\u003c/a\u003e Release v5.0.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/heartcombo/devise/commit/53347074021b38590653b95523f9b7113e5dcfdc\"\u003e\u003ccode\u003e5334707\u003c/code\u003e\u003c/a\u003e Add CVE to changelog [ci skip]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/heartcombo/devise/commit/02527772bd9adbc3357d9c62fbc16e73e438121d\"\u003e\u003ccode\u003e0252777\u003c/code\u003e\u003c/a\u003e Fix race condition vulnerability, by ensuring the \u003ccode\u003eunconfirmed_email\u003c/code\u003e is alwa...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/heartcombo/devise/commit/879f79fceaf2ec6525219ee7bb4057ce4db65729\"\u003e\u003ccode\u003e879f79f\u003c/code\u003e\u003c/a\u003e Bundle update\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/heartcombo/devise/commit/0f4493bd0302f85d1662b71c4f2145268fecc200\"\u003e\u003ccode\u003e0f4493b\u003c/code\u003e\u003c/a\u003e Configure default permissions as read-only for the workflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/heartcombo/devise/commit/8c785761bd3c717793f0da4146dd630865568567\"\u003e\u003ccode\u003e8c78576\u003c/code\u003e\u003c/a\u003e Ignore test/** folder for GH default code scanning\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/heartcombo/devise/commit/c9e655e13253dc53e3c0981a8345f134bcda1fc5\"\u003e\u003ccode\u003ec9e655e\u003c/code\u003e\u003c/a\u003e Bundle update, clear dependabot security issues\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/heartcombo/devise/commit/3fd061095084d8f9d3f8c995c46caabcd15640fd\"\u003e\u003ccode\u003e3fd0610\u003c/code\u003e\u003c/a\u003e Add a note to the changelog about an edge case issue some users ran into\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/heartcombo/devise/commit/5b008ed51c0df3223cf727e7ad07378d6329b12f\"\u003e\u003ccode\u003e5b008ed\u003c/code\u003e\u003c/a\u003e Release v5.0.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/heartcombo/devise/commit/916f94ed4b4bb8e7881d5cf8c6535b7ccb368f7a\"\u003e\u003ccode\u003e916f94e\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003esign_in_after_reset_password?\u003c/code\u003e check hook to passwords controller (\u003ca href=\"https://redirect.github.com/heartcombo/devise/issues/5826\"\u003e#5826\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/heartcombo/devise/compare/v4.9.4...v5.0.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `govuk-components` from 5.11.3 to 6.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/x-govuk/govuk-components/releases\"\u003egovuk-components's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 6.1.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate supported Ruby, Rails and ViewComponent versions\u003c/li\u003e\n\u003cli\u003eSupport GOV.UK Design System version 6.1.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 6.0.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003esupport GOV.UK Design System version 6.0.0\u003c/li\u003e\n\u003cli\u003eremove the service name and navigation items from the header component \u003ca href=\"https://redirect.github.com/x-govuk/govuk-components/issues/626\"\u003e#626\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eupdate the govuk_tag colours (magenta replaces pink and teal replaces turquoise) \u003ca href=\"https://redirect.github.com/x-govuk/govuk-components/issues/624\"\u003e#624\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003esupport ViewComponent version 4.3\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eUpgrade notes\u003c/h2\u003e\n\u003cp\u003eThe service name and navigation items have been removed from the header. Instead, passing a block of HTML to the header will render it in the \u003ccode\u003e.govuk-header__container\u003c/code\u003e. You'll need to add your own styles to make things render in the right place. There are examples \u003ca href=\"https://govuk-components.x-govuk.org/components/header/#adding-more-content-to-the-header\"\u003ein the guide\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/DFE-Digital/register-early-career-teachers-public/pull/2327\"\u003ein this PR\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eVersion 6.0.0b1\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!CAUTION]\u003cbr /\u003e\nThe GOV.UK Header Component has changed significantly, \u003ca href=\"https://github.com/alphagov/govuk-frontend/releases/tag/v6.0.0-beta.1\"\u003esee the upstream release notes for more info\u003c/a\u003e.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003cul\u003e\n\u003cli\u003eSupport \u003ca href=\"https://github.com/alphagov/govuk-frontend/releases/tag/v6.0.0-rc.0\"\u003eGOV.UK frontend 6.0.0-rc0\u003c/a\u003e \u003ca href=\"https://redirect.github.com/x-govuk/govuk-components/issues/624\"\u003e#624\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove navigation items and service name from GOV.UK Header component \u003ca href=\"https://redirect.github.com/x-govuk/govuk-components/issues/626\"\u003e#626\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump ViewComponent support to 4.3 \u003ca href=\"https://redirect.github.com/x-govuk/govuk-components/issues/628\"\u003e#628\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 5.13.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix a bug in the service nav where \u003ccode\u003earia-current=\u0026quot;true\u0026quot;\u003c/code\u003e was showing where it shouldn't have been. Thanks \u003ca href=\"https://github.com/DavidBiddle\"\u003e\u003ccode\u003e@​DavidBiddle\u003c/code\u003e\u003c/a\u003e for diagnosing (\u003ca href=\"https://redirect.github.com/x-govuk/govuk-components/issues/621\"\u003e#621\u003c/a\u003e) and fixing (\u003ca href=\"https://redirect.github.com/x-govuk/govuk-components/issues/622\"\u003e#622\u003c/a\u003e) this :heart:\u003c/li\u003e\n\u003cli\u003eChange some links in the docs from netlify.app to x-govuk.org\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 5.13.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Rails 8.1. Thanks \u003ca href=\"https://github.com/thomasleese\"\u003e\u003ccode\u003e@​thomasleese\u003c/code\u003e\u003c/a\u003e. \u003ca href=\"https://redirect.github.com/x-govuk/govuk-components/issues/619\"\u003e#619\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to govuk-frontend 5.13.0\u003c/li\u003e\n\u003cli\u003eAdd Netlify link to the footer to qualify for Netlify's open source plan which we're using for the \u003ca href=\"https://govuk-components.x-govuk.org/\"\u003enew guide domain\u003c/a\u003e  ccb566fd4cd1ed5a8\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/x-govuk/govuk-components/commit/d0a5d8d2becbbee616a93c9160c457edc053f43d\"\u003e\u003ccode\u003ed0a5d8d\u003c/code\u003e\u003c/a\u003e Release version 6.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/x-govuk/govuk-components/commit/9b10ed070a94ea6bee9e477cb04da0bf8e987eb5\"\u003e\u003ccode\u003e9b10ed0\u003c/code\u003e\u003c/a\u003e Various version bumps (\u003ca href=\"https://redirect.github.com/x-govuk/govuk-components/issues/635\"\u003e#635\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/x-govuk/govuk-components/commit/9cfa5a8ab3477672b24aa2c5c0e3ffaf49b5e25f\"\u003e\u003ccode\u003e9cfa5a8\u003c/code\u003e\u003c/a\u003e Bump supported ViewComponent to 4.6.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/x-govuk/govuk-components/commit/c82a3b15eb528843ae8b6cd8bf6f11f8069420a0\"\u003e\u003ccode\u003ec82a3b1\u003c/code\u003e\u003c/a\u003e Bump supported Ruby and Rails versions to latest\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/x-govuk/govuk-components/commit/24a77f9d4c1e25a1619d2612d8dd2417a01f147a\"\u003e\u003ccode\u003e24a77f9\u003c/code\u003e\u003c/a\u003e Upgrade to govuk-frontend 6.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/x-govuk/govuk-components/commit/f91de7d0e514511b2d1cced27136ca24cc412436\"\u003e\u003ccode\u003ef91de7d\u003c/code\u003e\u003c/a\u003e Fix build error in guide (\u003ca href=\"https://redirect.github.com/x-govuk/govuk-components/issues/636\"\u003e#636\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/x-govuk/govuk-components/commit/c8a496a65de0aeb7d8ae9460b416dd66a7e54ef7\"\u003e\u003ccode\u003ec8a496a\u003c/code\u003e\u003c/a\u003e Fix build error in guide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/x-govuk/govuk-components/commit/6a1dc1c9ea15d8ba70e9c04a31bcba132f912abe\"\u003e\u003ccode\u003e6a1dc1c\u003c/code\u003e\u003c/a\u003e Bump immutable from 5.1.3 to 5.1.5 in /guide (\u003ca href=\"https://redirect.github.com/x-govuk/govuk-components/issues/633\"\u003e#633\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/x-govuk/govuk-components/commit/67980c0d6b6b3dddba6ab20476ca205c35cf4a21\"\u003e\u003ccode\u003e67980c0\u003c/code\u003e\u003c/a\u003e Bump immutable from 5.1.3 to 5.1.5 in /guide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/x-govuk/govuk-components/commit/ebf136f536c48dde8357c1c78993e90e91cbe255\"\u003e\u003ccode\u003eebf136f\u003c/code\u003e\u003c/a\u003e Release version 6.0.0\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/x-govuk/govuk-components/compare/v5.11.3...v6.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `govuk_design_system_formbuilder` from 5.11.0 to 6.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/x-govuk/govuk-form-builder/releases\"\u003egovuk_design_system_formbuilder's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 6.1.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade to govuk-frontend 6.1.0 \u003ca href=\"https://redirect.github.com/x-govuk/govuk-form-builder/issues/618\"\u003e#618\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport defining text options for file upload component \u003ca href=\"https://redirect.github.com/x-govuk/govuk-form-builder/issues/614\"\u003e#614\u003c/a\u003e, thank you \u003ca href=\"https://github.com/stephencdaly\"\u003e\u003ccode\u003e@​stephencdaly\u003c/code\u003e\u003c/a\u003e for contributing this\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 6.0.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport govuk-frontend 6.0.0 by \u003ca href=\"https://github.com/peteryates\"\u003e\u003ccode\u003e@​peteryates\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/x-govuk/govuk-form-builder/pull/601\"\u003ex-govuk/govuk-form-builder#601\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for Rails 8.1 by \u003ca href=\"https://github.com/benilovj\"\u003e\u003ccode\u003e@​benilovj\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/x-govuk/govuk-form-builder/pull/590\"\u003ex-govuk/govuk-form-builder#590\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003egovuk_time_field\u003c/code\u003e by \u003ca href=\"https://github.com/thomasleese\"\u003e\u003ccode\u003e@​thomasleese\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/x-govuk/govuk-form-builder/pull/599\"\u003ex-govuk/govuk-form-builder#599\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove \u003ccode\u003earia-describedby\u003c/code\u003e link between labels/legends and supplemental content by \u003ca href=\"https://github.com/peteryates\"\u003e\u003ccode\u003e@​peteryates\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/x-govuk/govuk-form-builder/pull/580\"\u003ex-govuk/govuk-form-builder#580\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport injecting content before and after inputs by \u003ca href=\"https://github.com/peteryates\"\u003e\u003ccode\u003e@​peteryates\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/x-govuk/govuk-form-builder/pull/598\"\u003ex-govuk/govuk-form-builder#598\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade Ruby and Rails versions by \u003ca href=\"https://github.com/peteryates\"\u003e\u003ccode\u003e@​peteryates\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/x-govuk/govuk-form-builder/pull/606\"\u003ex-govuk/govuk-form-builder#606\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate nanoc requirement from ~\u0026gt; 4.13.0 to ~\u0026gt; 4.14.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/x-govuk/govuk-form-builder/pull/597\"\u003ex-govuk/govuk-form-builder#597\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDeal with negative values when generating IDs by \u003ca href=\"https://github.com/peteryates\"\u003e\u003ccode\u003e@​peteryates\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/x-govuk/govuk-form-builder/pull/608\"\u003ex-govuk/govuk-form-builder#608\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 6.0.0b1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport govuk-frontend 6.0.0 by \u003ca href=\"https://github.com/peteryates\"\u003e\u003ccode\u003e@​peteryates\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/x-govuk/govuk-form-builder/pull/601\"\u003ex-govuk/govuk-form-builder#601\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for Rails 8.1 by \u003ca href=\"https://github.com/benilovj\"\u003e\u003ccode\u003e@​benilovj\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/x-govuk/govuk-form-builder/pull/590\"\u003ex-govuk/govuk-form-builder#590\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003egovuk_time_field\u003c/code\u003e by \u003ca href=\"https://github.com/thomasleese\"\u003e\u003ccode\u003e@​thomasleese\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/x-govuk/govuk-form-builder/pull/599\"\u003ex-govuk/govuk-form-builder#599\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove \u003ccode\u003earia-describedby\u003c/code\u003e link between labels/legends and supplemental content by \u003ca href=\"https://github.com/peteryates\"\u003e\u003ccode\u003e@​peteryates\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/x-govuk/govuk-form-builder/pull/580\"\u003ex-govuk/govuk-form-builder#580\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport injecting content before and after inputs by \u003ca href=\"https://github.com/peteryates\"\u003e\u003ccode\u003e@​peteryates\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/x-govuk/govuk-form-builder/pull/598\"\u003ex-govuk/govuk-form-builder#598\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade Ruby and Rails versions by \u003ca href=\"https://github.com/peteryates\"\u003e\u003ccode\u003e@​peteryates\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/x-govuk/govuk-form-builder/pull/606\"\u003ex-govuk/govuk-form-builder#606\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate nanoc requirement from ~\u0026gt; 4.13.0 to ~\u0026gt; 4.14.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/x-govuk/govuk-form-builder/pull/597\"\u003ex-govuk/govuk-form-builder#597\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDeal with negative values when generating IDs by \u003ca href=\"https://github.com/peteryates\"\u003e\u003ccode\u003e@​peteryates\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/x-govuk/govuk-form-builder/pull/608\"\u003ex-govuk/govuk-form-builder#608\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 5.13.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eupgrade to govuk-frontend 5.13.0 \u003ca href=\"https://redirect.github.com/x-govuk/govuk-form-builder/issues/586\"\u003e#586\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003evarious minor version bumps\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/x-govuk/govuk-form-builder/commit/5cbe8f6e79a805327b72f09ee191cd58f09587fc\"\u003e\u003ccode\u003e5cbe8f6\u003c/code\u003e\u003c/a\u003e Release version 6.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/x-govuk/govuk-form-builder/commit/3b721e9ba3e3cf1a685cb3dd3dbca3aeb9604150\"\u003e\u003ccode\u003e3b721e9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/x-govuk/govuk-form-builder/issues/618\"\u003e#618\u003c/a\u003e from x-govuk/govuk-frontend-6.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/x-govuk/govuk-form-builder/commit/1169b60d51f775aed34960bb636106efa2042ffd\"\u003e\u003ccode\u003e1169b60\u003c/code\u003e\u003c/a\u003e Update supported versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/x-govuk/govuk-form-builder/commit/81733638cc0ceace44e85b2fc9ef0393362bef01\"\u003e\u003ccode\u003e8173363\u003c/code\u003e\u003c/a\u003e Upgrade to govuk-frontend 6.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/x-govuk/govuk-form-builder/commit/c96270cb8cc861c40d0a6155355cbdfc8f9831eb\"\u003e\u003ccode\u003ec96270c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/x-govuk/govuk-form-builder/issues/617\"\u003e#617\u003c/a\u003e from x-govuk/fix-guide-build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/x-govuk/govuk-form-builder/commit/d6f4e390ac6f51b7120a3f3efa73669f74ed9f50\"\u003e\u003ccode\u003ed6f4e39\u003c/code\u003e\u003c/a\u003e Reqire 'active_model' in guide perosn class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/x-govuk/govuk-form-builder/commit/b156fe78df8f74dc1574b16449d0515a9ddcd174\"\u003e\u003ccode\u003eb156fe7\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/x-govuk/govuk-form-builder/issues/614\"\u003e#614\u003c/a\u003e from stephencdaly/add-options-to-file-upload-for-java...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/x-govuk/govuk-form-builder/commit/1c573ccc92b156684ee56a02329c7ca3bb3e7947\"\u003e\u003ccode\u003e1c573cc\u003c/code\u003e\u003c/a\u003e Add example to guide for setting custom text for file upload component\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/x-govuk/govuk-form-builder/commit/9ed0f9573b7f015f79ccbf9c67a9e5dd91c8ba58\"\u003e\u003ccode\u003e9ed0f95\u003c/code\u003e\u003c/a\u003e Support defining text options for file upload component\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/x-govuk/govuk-form-builder/commit/a12d0c63e346946540d5cb8af44128c04fc55f8e\"\u003e\u003ccode\u003ea12d0c6\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/x-govuk/govuk-form-builder/issues/611\"\u003e#611\u003c/a\u003e from x-govuk/dependabot/bundler/slim_lint-tw-0.34.0\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/x-govuk/govuk-form-builder/compare/v5.11.0...v6.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `haml-rails` from 2.1.0 to 3.0.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/haml/haml-rails/commit/6c7c8ca772b2c8d36b58278c2c09498385979f85\"\u003e\u003ccode\u003e6c7c8ca\u003c/code\u003e\u003c/a\u003e Version 3.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/haml/haml-rails/commit/e364abbc6a54f84b344c1ec846d683f927e1ae59\"\u003e\u003ccode\u003ee364abb\u003c/code\u003e\u003c/a\u003e Just use the newest one\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/haml/haml-rails/commit/30005dc31f9926dac33ba776389e9456e068b20f\"\u003e\u003ccode\u003e30005dc\u003c/code\u003e\u003c/a\u003e [CI] uses: actions/checkout@v5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/haml/haml-rails/commit/e639b11fe1571cdc1e8bb48143d13a63110e09e1\"\u003e\u003ccode\u003ee639b11\u003c/code\u003e\u003c/a\u003e Properly state the supported version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/haml/haml-rails/commit/3e1b70552ca28a42a4741d3bfd3cf7cf379c6486\"\u003e\u003ccode\u003e3e1b705\u003c/code\u003e\u003c/a\u003e frozen_string_literal: ❄️\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/haml/haml-rails/commit/2c51fd5848e6d36e36f831cf827578003525d08f\"\u003e\u003ccode\u003e2c51fd5\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/haml/haml-rails/issues/197\"\u003e#197\u003c/a\u003e from amatsuda/rails_versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/haml/haml-rails/commit/9f4703ddff0644ba52529c5cf41c1624829b16a7\"\u003e\u003ccode\u003e9f4703d\u003c/code\u003e\u003c/a\u003e Fall back to the newest templates by default\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/haml/haml-rails/commit/f0a9ff88ef682af3d6023e1d453ed978597abd72\"\u003e\u003ccode\u003ef0a9ff8\u003c/code\u003e\u003c/a\u003e Rails 5.1 scaffold templates\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/haml/haml-rails/commit/852cf01c9831ee09049f7b990a648d441c876093\"\u003e\u003ccode\u003e852cf01\u003c/code\u003e\u003c/a\u003e Rails 5.2 scaffold templates\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/haml/haml-rails/commit/8bb0351a85b83e81d1b27f18fdda17a77961c1af\"\u003e\u003ccode\u003e8bb0351\u003c/code\u003e\u003c/a\u003e Rails 6.0 scaffold templates\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/haml/haml-rails/compare/v2.1.0...v3.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `oauth2` from 2.0.17 to 2.0.18\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby-oauth/oauth2/releases\"\u003eoauth2's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.0.18\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/compare/v2.0.17...v2.0.18\"\u003e2.0.18\u003c/a\u003e - 2025-11-08\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eTAG: \u003ca href=\"https://github.com/ruby-oauth/oauth2/releases/tag/v2.0.18\"\u003ev2.0.18\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCOVERAGE: 100.00% -- 526/526 lines in 14 files\u003c/li\u003e\n\u003cli\u003eBRANCH COVERAGE: 100.00% -- 178/178 branches in 14 files\u003c/li\u003e\n\u003cli\u003e90.48% documented\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/683\"\u003egh!683\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/684\"\u003egh!684\u003c/a\u003e - Improve documentation by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/686\"\u003egh!686\u003c/a\u003e- Add Incident Response Plan by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/687\"\u003egh!687\u003c/a\u003e- Add Threat Model by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/685\"\u003egh!685\u003c/a\u003e - upgrade kettle-dev v1.1.24 by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eupgrade kettle-dev v1.1.52 by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003eAdd open collective donors to README\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/690\"\u003egh!690\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/691\"\u003egh!691\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/692\"\u003egh!692\u003c/a\u003e - Add yard-fence\n\u003cul\u003e\n\u003cli\u003ehandle braces within code fences in markdown properly by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cp\u003eOfficial Discord 👉️ [![Live Chat on Discord][✉️discord-invite-img]][✉️discord-invite]\u003c/p\u003e\n\u003cp\u003eMany paths lead to being a sponsor or a backer of this project. Are you on such a path?\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://opencollective.com/ruby-oauth#backer\"\u003e![OpenCollective Backers][🖇osc-backers-i]\u003c/a\u003e [![OpenCollective Sponsors][🖇osc-sponsors-i]][🖇osc-sponsors] [![Sponsor Me on Github][🖇sponsor-img]][🖇sponsor] \u003ca href=\"https://liberapay.com/pboling/donate\"\u003e\u003cimg src=\"https://img.shields.io/liberapay/goal/pboling.svg?logo=liberapay\u0026amp;color=a51611\u0026amp;style=flat\" alt=\"Liberapay Goal Progress\" /\u003e\u003c/a\u003e [![Donate on PayPal][🖇paypal-img]][🖇paypal]\u003c/p\u003e\n\u003cp\u003e[![Buy me a coffee][🖇buyme-small-img]][🖇buyme] [![Donate on Polar][🖇polar-img]][🖇polar] [![Donate to my FLOSS efforts at ko-fi.com][🖇kofi-img]][🖇kofi] [![Donate to my FLOSS efforts using Patreon][🖇patreon-img]][🖇patreon]\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\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby-oauth/oauth2/blob/main/CHANGELOG.md\"\u003eoauth2's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[2.0.18] - 2025-11-08\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eTAG: [v2.0.18][2.0.18t]\u003c/li\u003e\n\u003cli\u003eCOVERAGE: 100.00% -- 526/526 lines in 14 files\u003c/li\u003e\n\u003cli\u003eBRANCH COVERAGE: 100.00% -- 178/178 branches in 14 files\u003c/li\u003e\n\u003cli\u003e90.48% documented\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/683\"\u003egh!683\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/684\"\u003egh!684\u003c/a\u003e - Improve documentation by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/686\"\u003egh!686\u003c/a\u003e- Add Incident Response Plan by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/687\"\u003egh!687\u003c/a\u003e- Add Threat Model by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/685\"\u003egh!685\u003c/a\u003e - upgrade kettle-dev v1.1.24 by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eupgrade kettle-dev v1.1.52 by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003eAdd open collective donors to README\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/690\"\u003egh!690\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/691\"\u003egh!691\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/692\"\u003egh!692\u003c/a\u003e - Add yard-fence\n\u003cul\u003e\n\u003cli\u003ehandle braces within code fences in markdown properly by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\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/ruby-oauth/oauth2/commit/b5753116121553d56937039dafc5ea472d9a99ed\"\u003e\u003ccode\u003eb575311\u003c/code\u003e\u003c/a\u003e 🔖 Prepare release v2.0.18\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/b5af77ba42ec111dda68abdee33d631e27fdfe61\"\u003e\u003ccode\u003eb5af77b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/issues/693\"\u003e#693\u003c/a\u003e from ruby-oauth/feat/docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/cf2853d9fa05999f88c9df8b1b3a8a3ed21c64e8\"\u003e\u003ccode\u003ecf2853d\u003c/code\u003e\u003c/a\u003e 📝 Update docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/18434156bfc988527d2453b2174e6356e233757d\"\u003e\u003ccode\u003e1843415\u003c/code\u003e\u003c/a\u003e ⬆️ kettle-dev v1.1.52, yard-fence v0.8.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/f592dd8753966a30671ebc2e8a28ab26138b6c2b\"\u003e\u003ccode\u003ef592dd8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/issues/692\"\u003e#692\u003c/a\u003e from ruby-oauth/feat/docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/2095732d7cd4eeb80fe74c89e2a2d012517e40d6\"\u003e\u003ccode\u003e2095732\u003c/code\u003e\u003c/a\u003e ⬆️ yard-fence v0.7.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/50f3fd08e733ed75b2cc99e077e9ea9d64a3d5d5\"\u003e\u003ccode\u003e50f3fd0\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/issues/691\"\u003e#691\u003c/a\u003e from ruby-oauth/feat/docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/bcb0e40bfca989f164a04cbf46a4175822b7cb28\"\u003e\u003ccode\u003ebcb0e40\u003c/code\u003e\u003c/a\u003e ✏️ Fix typos in docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/f24f1a8bfbf546595aa16cd6fa82119c8218c1d3\"\u003e\u003ccode\u003ef24f1a8\u003c/code\u003e\u003c/a\u003e Create CNAME\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/bff58e1afec541feca2a337664d09c58b8a22419\"\u003e\u003ccode\u003ebff58e1\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/issues/690\"\u003e#690\u003c/a\u003e from ruby-oauth/feat/yard-fence\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby-oauth/oauth2/compare/v2.0.17...v2.0.18\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `omniauth-rails_csrf_protection` from 1.0.2 to 2.0.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/cookpad/omniauth-rails_csrf_protection/releases\"\u003eomniauth-rails_csrf_protection's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 2.0.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix an issue with configuration delegation in Rails \u0026lt; 8.1 (\u003ca href=\"https://redirect.github.com/cookpad/omniauth-rails_csrf_protection/issues/26\"\u003e#26\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003eFor more details, please see 1a0d39099957675f549e1f23c836f57b99b09a00.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 2.0.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eStop using deprecated \u003ccode\u003eActiveSupport::Configurable\u003c/code\u003e when this gem is running against Action Pack version 8.1 and later (\u003ca href=\"https://redirect.github.com/cookpad/omniauth-rails_csrf_protection/issues/23\"\u003e#23\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/cookpad/omniauth-rails_csrf_protection/issues/24\"\u003e#24\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/cookpad/omniauth-rails_csrf_protection/commit/c4f53d72e6a278c02f1a6d294c4f8004354ee0b7\"\u003e\u003ccode\u003ec4f53d7\u003c/code\u003e\u003c/a\u003e Bump to 2.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cookpad/omniauth-rails_csrf_protection/commit/1a0d39099957675f549e1f23c836f57b99b09a00\"\u003e\u003ccode\u003e1a0d390\u003c/code\u003e\u003c/a\u003e Fix an issue with configuration delegation in Rails \u0026lt; 8.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cookpad/omniauth-rails_csrf_protection/commit/bc315e1b09fbf6a363d5293067b42675f020fc4c\"\u003e\u003ccode\u003ebc315e1\u003c/code\u003e\u003c/a\u003e Properly silence Rails 8.0.x warning message in test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cookpad/omniauth-rails_csrf_protection/commit/23483750b4a0a803347e02778b975886ecb82875\"\u003e\u003ccode\u003e2348375\u003c/code\u003e\u003c/a\u003e Bump to 2.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cookpad/omniauth-rails_csrf_protection/commit/c283d1d159a292c5fce8ed1a2f5997f6bde209f5\"\u003e\u003ccode\u003ec283d1d\u003c/code\u003e\u003c/a\u003e Update README to add OmniAuth's built-in solution\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cookpad/omniauth-rails_csrf_protection/commit/2cf722bd7cc310009ee626cce28a7ea52b47f649\"\u003e\u003ccode\u003e2cf722b\u003c/code\u003e\u003c/a\u003e Add workaround for deprecated AS::Configurable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cookpad/omniauth-rails_csrf_protection/commit/431597eb44ff8ae0bf9802d1a1dc85ebb8d2cfa3\"\u003e\u003ccode\u003e431597e\u003c/code\u003e\u003c/a\u003e Silence \u003ccode\u003e#to_time\u003c/code\u003e warning in Rails 8.0.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cookpad/omniauth-rails_csrf_protection/commit/5e9c8a27b0ccac54ca3bec7f3b49d43ddefdc4d6\"\u003e\u003ccode\u003e5e9c8a2\u003c/code\u003e\u003c/a\u003e Print Ruby version in the test output\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cookpad/omniauth-rails_csrf_protection/commit/3e62c0572bf5c9796fff5fe197f07d5ed172a7c5\"\u003e\u003ccode\u003e3e62c05\u003c/code\u003e\u003c/a\u003e Remove unnecessary logger gem entry in Gemfile\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cookpad/omniauth-rails_csrf_protection/commit/f9810a5886d692312c6d015914fdad00cf7f41b2\"\u003e\u003ccode\u003ef9810a5\u003c/code\u003e\u003c/a\u003e Update build matrix and fix build errors\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/cookpad/omniauth-rails_csrf_protection/compare/v1.0.2...v2.0.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pg` from 1.6.2 to 1.6.3\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ged/ruby-pg/blob/master/CHANGELOG.md\"\u003epg's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.6.3 [2025-12-29] Lars Kanis \u003ca href=\"mailto:lars@greiz-reinsdorf.de\"\u003elars@greiz-reinsdorf.de\u003c/a\u003e\u003c/h2\u003e\n\u003cp\u003eAdded:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd binary gems for ruby-4.0, now providing ruby-3.0 to 4.0. \u003ca href=\"https://redirect.github.com/ged/ruby-pg/pull/682\"\u003e#682\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate fat binary gem to OpenSSL-3.6.0 and PostgreSQL-18.1.\u003c/li\u003e\n\u003cli\u003eImprove documentation of PG::Result and README. \u003ca href=\"https://redirect.github.com/ged/ruby-pg/pull/676\"\u003e#676\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate errorcodes to PostgreSQL-18.\u003c/li\u003e\n\u003cli\u003eUse \u003ccode\u003erb_hash_new_capa\u003c/code\u003e on Ruby-3.2+ . \u003ca href=\"https://redirect.github.com/ged/ruby-pg/pull/674\"\u003e#674\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDeny any server communication on a frozen PG::Connection . \u003ca href=\"https://redirect.github.com/ged/ruby-pg/pull/677\"\u003e#677\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix possible race condition in PG::Result in Ractor context. \u003ca href=\"https://redirect.github.com/ged/ruby-pg/pull/674\"\u003e#674\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eRemoved:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDrop binary gem support for platform \u003ccode\u003ex86-mingw32\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/ged/ruby-pg/pull/682\"\u003e#682\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDrop binary gems for ruby-2.7.\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/ged/ruby-pg/commit/d4539c25dcc89d47088e1423f8d1915c041920f5\"\u003e\u003ccode\u003ed4539c2\u003c/code\u003e\u003c/a\u003e Bump VERSION to pg-1.6.3 and add release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ged/ruby-pg/commit/720900dbb9d16aa855793146f15c3772e14f627a\"\u003e\u003ccode\u003e720900d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ged/ruby-pg/issues/682\"\u003e#682\u003c/a\u003e from larskanis/ruby-4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ged/ruby-pg/commit/f605b5937093884089109c8baa5fe268fc513eaf\"\u003e\u003ccode\u003ef605b59\u003c/code\u003e\u003c/a\u003e Remove x86-mingw32 from binary builds\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ged/ruby-pg/commit/5c690006ba158da70d73d939a233cf75ecdd30ef\"\u003e\u003ccode\u003e5c69000\u003c/code\u003e\u003c/a\u003e Update to ruby-4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ged/ruby-pg/commit/2acaf3d0f76334e056229efe260e1f558a8c6b42\"\u003e\u003ccode\u003e2acaf3d\u003c/code\u003e\u003c/a\u003e CI: workaround missing ruby-4.0 on Window\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ged/ruby-pg/commit/b500ded81127963603e1f724e82bed649c9ca8a1\"\u003e\u003ccode\u003eb500ded\u003c/code\u003e\u003c/a\u003e fix comment\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ged/ruby-pg/commit/bc3f2f8b1110e9bcb225d65554e1a7fc842d0506\"\u003e\u003ccode\u003ebc3f2f8\u003c/code\u003e\u003c/a\u003e CI: Macos-13 on Intel is deprecated\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ged/ruby-pg/commit/77667eb4313bd7b79356f402b0fa7fba409483b8\"\u003e\u003ccode\u003e77667eb\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ged/ruby-pg/issues/678\"\u003e#678\u003c/a\u003e from larskanis/ci-update\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ged/ruby-pg/commit/6e52ce504d05c5359d55f45d9580672103263b54\"\u003e\u003ccode\u003e6e52ce5\u003c/code\u003e\u003c/a\u003e CI: Update PostgreSQL on Macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ged/ruby-pg/commit/6d40f50e51a037022495fe6d98181435652464ff\"\u003e\u003ccode\u003e6d40f50\u003c/code\u003e\u003c/a\u003e CI: Print mkmf.log on failure on Macos\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ged/ruby-pg/compare/v1.6.2...v1.6.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `prometheus_exporter` from 2.3.0 to 2.3.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/discourse/prometheus_exporter/blob/main/CHANGELOG\"\u003eprometheus_exporter's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[2.3.1] - 2025-11-11\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFIX: get controller full path instead of controller name - Alex Platteeuw\u003c/li\u003e\n\u003cli\u003eFEATURE: Secure PrometheusExporter scraping with SSL - Nicolas Rodriquez\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/discourse/prometheus_exporter/commit/15e9d4783db8267fb3b0c48e5464ec4c1ae58c00\"\u003e\u003ccode\u003e15e9d47\u003c/code\u003e\u003c/a\u003e version bump (\u003ca href=\"https://redirect.github.com/discourse/prometheus_exporter/issues/358\"\u003e#358\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/discourse/prometheus_exporter/commit/4bd3817744bb5011aed6c669696ed957c23cd3fe\"\u003e\u003ccode\u003e4bd3817\u003c/code\u003e\u003c/a\u003e fix: get controller full path instead of controller name (\u003ca href=\"https://redirect.github.com/discourse/prometheus_exporter/issues/353\"\u003e#353\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/discourse/prometheus_exporter/commit/4bb4fa333386b166a745df92be5620b11be3872a\"\u003e\u003ccode\u003e4bb4fa3\u003c/code\u003e\u003c/a\u003e Secure PrometheusExporter scraping with SSL (\u003ca href=\"https://redirect.github.com/discourse/prometheus_exporter/issues/350\"\u003e#350\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/discourse/prometheus_exporter/commit/b10933453f0952cd17d143487c5adc8bb74b492a\"\u003e\u003ccode\u003eb109334\u003c/code\u003e\u003c/a\u003e Add connect_timeout: settings to PrometheusExporter::Client (\u003ca href=\"https://redirect.github.com/discourse/prometheus_exporter/issues/352\"\u003e#352\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/discourse/prometheus_exporter/compare/v2.3.0...v2.3.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `puma` from 7.0.4 to 8.0.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/puma/puma/releases\"\u003epuma's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev8.0.0 - Into the Arena\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003eRead our \u003ca href=\"https://github.com/puma/puma/blob/main/docs/8.0-Upgrade.md\"\u003eVersion 8 Upgrade Guide.\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFeatures\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eenv[\u0026quot;puma.mark_as_io_bound\u0026quot;]\u003c/code\u003e API and \u003ccode\u003emax_io_threads\u003c/code\u003e config to allow IO-bound requests to exceed the thread pool max, enabling better handling of mixed workloads (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3816\"\u003e#3816\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/puma/puma/issues/3894\"\u003e#3894\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003esingle\u003c/code\u003e and \u003ccode\u003ecluster\u003c/code\u003e DSL hooks for mode-specific configuration (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3621\"\u003e#3621\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eon_force\u003c/code\u003e option to \u003ccode\u003eshutdown_debug\u003c/code\u003e to only dump thread backtraces on forced (non-graceful) shutdown (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3671\"\u003e#3671\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd API to dynamically update min and max thread counts at runtime via \u003ccode\u003eupdate_thread_pool_min_max\u003c/code\u003e and \u003ccode\u003eServerPluginControl\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3658\"\u003e#3658\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse SIGPWR for thread backtrace dumps on Linux/JRuby where SIGINFO is unavailable (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3829\"\u003e#3829\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eBugfixes\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix phased restart for \u003ccode\u003efork_worker\u003c/code\u003e to avoid forking from stale worker 0 when it has been replaced (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3853\"\u003e#3853\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003ePerformance\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eJRuby HTTP parser improvements: pre-allocated header keys, perfect hash lookup, reduced memory copies (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3838\"\u003e#3838\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCache downcased header key in \u003ccode\u003estr_headers\u003c/code\u003e to avoid redundant \u003ccode\u003eString#downcase\u003c/code\u003e calls, reducing allocations by ~50% per response (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3874\"\u003e#3874\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRefactor\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCollect \u003ccode\u003eenv\u003c/code\u003e processing into dedicated \u003ccode\u003eclient_env.rb\u003c/code\u003e module (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3582\"\u003e#3582\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMove event to default configuration (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3872\"\u003e#3872\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDocs\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd gRPC guide for configuring gRPC lifecycle hooks in clustered mode (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3885\"\u003e#3885\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd 7.0 upgrade guide, move 5.0/6.0 upgrade guides to docs directory (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3900\"\u003e#3900\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCorrect default values for \u003ccode\u003epersistent_timeout\u003c/code\u003e and \u003ccode\u003eworker_boot_timeout\u003c/code\u003e in DSL docs (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3912\"\u003e#3912\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd file descriptor limit warning in test helper for contributors (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3893\"\u003e#3893\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eBreaking changes\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDefault production bind address changed from \u003ccode\u003e0.0.0.0\u003c/code\u003e to \u003ccode\u003e::\u003c/code\u003e (IPv6) when a non-loopback IPv6 interface is available; falls back to \u003ccode\u003e0.0.0.0\u003c/code\u003e if IPv6 is unavailable (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3847\"\u003e#3847\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev7.2.0 - On The Corner\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFeatures\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd workers \u003ccode\u003e:auto\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3827\"\u003e#3827\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMake it possible to restrict control server commands to stats (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3787\"\u003e#3787\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eBugfixes\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDon't break if \u003ccode\u003eWEB_CONCURRENCY\u003c/code\u003e is set to a blank string (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3837\"\u003e#3837\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDon't share server between worker 0 and descendants on refork (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3602\"\u003e#3602\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix phase check race condition in \u003ccode\u003ePuma::Cluster#check_workers\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3690\"\u003e#3690\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix advertising of CLI config before config files are loaded (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3823\"\u003e#3823\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003ePerformance\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e17% faster HTTP parsing through pre-interning env keys (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3825\"\u003e#3825\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImplement \u003ccode\u003edsize\u003c/code\u003e and \u003ccode\u003edcompact\u003c/code\u003e functions for \u003ccode\u003ePuma::HttpParser\u003c/code\u003e, which makes Puma's C-extension GC-compactible (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3828\"\u003e#3828\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRefactor\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRemove \u003ccode\u003eNoMethodError\u003c/code\u003e rescue in \u003ccode\u003eReactor#select_loop\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3831\"\u003e#3831\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eVarious cleanups in the C extension (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3814\"\u003e#3814\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\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/puma/puma/blob/main/History.md\"\u003epuma's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.0.0 / 2026-03-27\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFeatures\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eenv[\u0026quot;puma.mark_as_io_bound\u0026quot;]\u003c/code\u003e API and \u003ccode\u003emax_io_threads\u003c/code\u003e config to allow IO-bound requests to exceed the thread pool max, enabling better handling of mixed workloads (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3816\"\u003e#3816\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/puma/puma/issues/3894\"\u003e#3894\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003esingle\u003c/code\u003e and \u003ccode\u003ecluster\u003c/code\u003e DSL hooks for mode-specific configuration (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3621\"\u003e#3621\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eon_force\u003c/code\u003e option to \u003ccode\u003eshutdown_debug\u003c/code\u003e to only dump thread backtraces on forced (non-graceful) shutdown (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3671\"\u003e#3671\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd API to dynamically update min and max thread counts at runtime via \u003ccode\u003eupdate_thread_pool_min_max\u003c/code\u003e and \u003ccode\u003eServerPluginControl\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3658\"\u003e#3658\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse SIGPWR for thread backtrace dumps on Linux/JRuby where SIGINFO is unavailable (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3829\"\u003e#3829\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eBugfixes\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix phased restart for \u003ccode\u003efork_worker\u003c/code\u003e to avoid forking from stale worker 0 when it has been replaced (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3853\"\u003e#3853\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003ePerformance\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eJRuby HTTP parser improvements: pre-allocated header keys, perfect hash lookup, reduced memory copies (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3838\"\u003e#3838\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCache downcased header key in \u003ccode\u003estr_headers\u003c/code\u003e to avoid redundant \u003ccode\u003eString#downcase\u003c/code\u003e calls, reducing allocations by ~50% per response (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3874\"\u003e#3874\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRefactor\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCollect \u003ccode\u003eenv\u003c/code\u003e processing into dedicated \u003ccode\u003eclient_env.rb\u003c/code\u003e module (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3582\"\u003e#3582\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMove event to default configuration (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3872\"\u003e#3872\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDocs\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd gRPC guide for configuring gRPC lifecycle hooks in clustered mode (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3885\"\u003e#3885\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd 7.0 upgrade guide, move 5.0/6.0 upgrade guides to docs directory (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3900\"\u003e#3900\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCorrect default values for \u003ccode\u003epersistent_timeout\u003c/code\u003e and \u003ccode\u003eworker_boot_timeout\u003c/code\u003e in DSL docs (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3912\"\u003e#3912\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd file descriptor limit warning in test helper for contributors (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3893\"\u003e#3893\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eBreaking changes\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDefault production bind address changed from \u003ccode\u003e0.0.0.0\u003c/code\u003e to \u003ccode\u003e::\u003c/code\u003e (IPv6) when a non-loopback IPv6 interface is available; falls back to \u003ccode\u003e0.0.0.0\u003c/code\u003e if IPv6 is unavailable (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3847\"\u003e#3847\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.2.0 / 2026-01-20\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFeatures\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd workers \u003ccode\u003e:auto\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3827\"\u003e#3827\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMake it possible to restrict control server commands to stats (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3787\"\u003e#3787\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eBugfixes\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDon't break if \u003ccode\u003eWEB_CONCURRENCY\u003c/code\u003e is set to a blank string (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3837\"\u003e#3837\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDon't share server between worker 0 and descendants on refork (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3602\"\u003e#3602\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix phase check race condition in \u003ccode\u003ePuma::Cluster#check_workers\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3690\"\u003e#3690\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix advertising of CLI config before config files are loaded (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3823\"\u003e#3823\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003ePerformance\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e17% faster HTTP parsing through pre-interning env keys (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3825\"\u003e#3825\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImplement \u003ccode\u003edsize\u003c/code\u003e and \u003ccode\u003edcompact\u003c/code\u003e functions for \u003ccode\u003ePuma::HttpParser\u003c/code\u003e, which makes Puma's C-extension GC-compactible (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3828\"\u003e#3828\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRefactor\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRemove \u003ccode\u003eNoMethodError\u003c/code\u003e rescue in \u003ccode\u003eReactor#select_loop\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3831\"\u003e#3831\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eVarious cleanups in the C extension (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3814\"\u003e#3814\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMonomorphize \u003ccode\u003ehandle_request\u003c/code\u003e return (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3802\"\u003e#3802\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\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/puma/puma/commit/08f63d495955eaee065d0ee18849f4ddcd52fe72\"\u003e\u003ccode\u003e08f63d4\u003c/code\u003e\u003c/a\u003e Release v8.0.0 (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3914\"\u003e#3914\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/7406cc192480ce9d01c9a47e6f41fcb1548217a6\"\u003e\u003ccode\u003e7406cc1\u003c/code\u003e\u003c/a\u003e Fix IPv4-mapped IPv6 addresses in \u003ccode\u003eREMOTE_ADDR\u003c/code\u003e and request logs (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3916\"\u003e#3916\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/e090243320eb743a6c03f77f4ffa9e1a24c677b1\"\u003e\u003ccode\u003ee090243\u003c/code\u003e\u003c/a\u003e Build(deps): Bump actions/checkout from 4 to 6 (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3915\"\u003e#3915\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/7d5dca1a561a95c2a6b8742b52c81c73cd2b95ca\"\u003e\u003ccode\u003e7d5dca1\u003c/code\u003e\u003c/a\u003e Update SECURITY.md, native Github vuln reports [ci skip] (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3913\"\u003e#3913\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/66e6a32de52d9beed43e1c598bda360f906ccbef\"\u003e\u003ccode\u003e66e6a32\u003c/code\u003e\u003c/a\u003e Minor correction to defaults documented in dsl.rb (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3912\"\u003e#3912\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/3788eca453a64ffb05a67115d3e2a276bbaf21a3\"\u003e\u003ccode\u003e3788eca\u003c/code\u003e\u003c/a\u003e ci: limit rack-conform to main pushes and scope ragel PR runs (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3908\"\u003e#3908\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/57b7799201adf43cdf508f90c57b95e23f49bbcd\"\u003e\u003ccode\u003e57b7799\u003c/code\u003e\u003c/a\u003e ci: run turbo-rails only on latest stable Ruby and Rails (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3909\"\u003e#3909\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/6685d6b8024c5480774b790808e4f0343e414fa5\"\u003e\u003ccode\u003e6685d6b\u003c/code\u003e\u003c/a\u003e ci: replace skip-duplicate jobs with concurrency and trigger filters (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3907\"\u003e#3907\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/2848c823dfc9838033d6ce342fee917e81aeedc1\"\u003e\u003ccode\u003e2848c82\u003c/code\u003e\u003c/a\u003e ci: run push workflows only on main and release branches (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3906\"\u003e#3906\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/97a37bb7c6a457f8846eb3ce307daadd4b38b4f8\"\u003e\u003ccode\u003e97a37bb\u003c/code\u003e\u003c/a\u003e Add release pre-merge checks and align Release.md [ci skip] (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3904\"\u003e#3904\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/puma/puma/compare/v7.0.4...v8.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rails` from 8.0.3 to 8.1.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003erails's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.1.3\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eJSONGemCoderEncoder\u003c/code\u003e to correctly serialize custom object hash keys.\u003c/p\u003e\n\u003cp\u003eWhen hash keys are custom objects whose \u003ccode\u003eas_json\u003c/code\u003e returns a Hash,\nthe encoder now calls \u003ccode\u003eto_s\u003c/code\u003e on the original key object instead of\non the \u003ccode\u003eas_json\u003c/code\u003e result.\u003c/p\u003e\n\u003cp\u003eBefore:\nhash = {CustomKey.new(123) =\u0026gt; \u0026quot;value\u0026quot;}\nhash.to_json  # =\u0026gt; {\u0026quot;{:id=\u0026gt;123}\u0026quot;:\u0026quot;value\u0026quot;}\u003c/p\u003e\n\u003cp\u003eAfter:\nhash.to_json  # =\u0026gt; {\u0026quot;custom_123\u0026quot;:\u0026quot;value\u0026quot;}\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eDan Sharp\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix inflections to better handle overlapping acronyms.\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eActiveSupport::Inflector.inflections(:en) do |inflect|\r\n  inflect.acronym \u0026quot;USD\u0026quot;\r\n  inflect.acronym \u0026quot;USDC\u0026quot;\r\nend\r\n\u003cp\u003e\u0026quot;USDC\u0026quot;.underscore # =\u0026gt; \u0026quot;usdc\u0026quot;\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eSaid Kaldybaev\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSilence Dalli 4.0+ warning when using \u003ccode\u003eActiveSupport::Cache::MemCacheStore\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003ezzak\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix Ruby 4.0 delegator warning when calling inspect on attributes.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eHammad Khan\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eNoMethodError\u003c/code\u003e when deserialising \u003ccode\u003eType::Integer\u003c/code\u003e objects marshalled under Rails 8.0.\u003c/p\u003e\n\u003cp\u003eThe performance optimisation that replaced \u003ccode\u003e@range\u003c/code\u003e with \u003ccode\u003e@max\u003c/code\u003e/\u003ccode\u003e@min\u003c/code\u003e\nbroke Marshal compatibility. Objects serialised under 8.0 (with \u003ccode\u003e@range\u003c/code\u003e)\nand deserialised under 8.1 (expecting \u003ccode\u003e@max\u003c/code\u003e/\u003ccode\u003e@min\u003c/code\u003e) would crash with\n\u003ccode\u003eundefined method '\u0026lt;=' for nil\u003c/code\u003e because \u003ccode\u003eMarshal.load\u003c/code\u003e restores instance\nvariables without calling \u003ccode\u003einitialize\u003c/code\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/rails/rails/commit/fa8f0812160665bff083a089d2bb2fc1817ea03e\"\u003e\u003ccode\u003efa8f081\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.3 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/63cef3de3bd88d5973837ea268dc710e7dbf7b8e\"\u003e\u003ccode\u003e63cef3d\u003c/code\u003e\u003c/a\u003e Merge branch '8-1-sec' into 8-1-stable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/1db4b89687cc18311fc3f92623136705df24e671\"\u003e\u003ccode\u003e1db4b89\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.2.1 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/1c7d1cf0a1ab4142eb20ef30fe2062aad6f72e21\"\u003e\u003ccode\u003e1c7d1cf\u003c/code\u003e\u003c/a\u003e Update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/e91694b1f0e176eb01bfcc480a008bffc70f7602\"\u003e\u003ccode\u003ee91694b\u003c/code\u003e\u003c/a\u003e Update CHANGELOG (8.1 only)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/6752711c8c31d79ba50d13af6a6698a3b85415e0\"\u003e\u003ccode\u003e6752711\u003c/code\u003e\u003c/a\u003e Fix XSS in debug exceptions copy-to-clipboard\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/63f5ad83edaa0b976f82d46988d745426aa4a42d\"\u003e\u003ccode\u003e63f5ad8\u003c/code\u003e\u003c/a\u003e Skip blank attribute names in Action View tag helpers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/8c9676b803820110548cdb7523800db43bc6874c\"\u003e\u003ccode\u003e8c9676b\u003c/code\u003e\u003c/a\u003e Prevent glob injection in ActiveStorage DiskService#delete_prefixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/9b06fbc0f504b8afe333f33d19548f3b85fbe655\"\u003e\u003ccode\u003e9b06fbc\u003c/code\u003e\u003c/a\u003e Prevent path traversal in ActiveStorage DiskService\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/ec1a0e215efd27a3b3911aae6df978a80f456a49\"\u003e\u003ccode\u003eec1a0e2\u003c/code\u003e\u003c/a\u003e Improve performance of NumberToDelimitedConverter\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/rails/compare/v8.0.3...v8.1.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sentry-rails` from 5.27.1 to 6.5.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/getsentry/sentry-ruby/blob/master/CHANGELOG.md\"\u003esentry-rails's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e6.5.0\u003c/h2\u003e\n\u003ch3\u003eNew Features ✨\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e(otlp) Add collector_url option to OTLP integration by \u003ca href=\"https://github.com/sl0thentr0py\"\u003e\u003ccode\u003e@​sl0thentr0py\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2887\"\u003e#2887\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e(release-detector) Prefer HEROKU_BUILD_COMMIT over deprecated HEROKU_SLUG_COMMIT by \u003ca href=\"https://github.com/ericapisani\"\u003e\u003ccode\u003e@​ericapisani\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2886\"\u003e#2886\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImplement strict trace continuation by \u003ca h...\n\n_Description has been truncated_","html_url":"https://github.com/ministryofjustice/laa-court-data-ui/pull/3207","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/ministryofjustice%2Flaa-court-data-ui/issues/3207","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/3207/packages"}},{"old_version":"2.0.17","new_version":"2.0.18","update_type":"patch","path":null,"pr_created_at":"2026-02-04T00:00:25.000Z","version_change":"2.0.17 → 2.0.18","issue":{"uuid":"3893807743","node_id":"PR_kwDOIy0ZTM7BU1Q_","number":4710,"state":"closed","title":"Bump the production-dependencies group across 1 directory with 37 updates","user":"dependabot[bot]","labels":["dependencies","ruby"],"assignees":[],"locked":true,"comments_count":1,"pull_request":true,"closed_at":"2026-02-04T06:51:02.000Z","author_association":null,"state_reason":null,"created_at":"2026-02-04T00:00:25.000Z","updated_at":"2026-02-04T06:51:21.000Z","time_to_close":24637,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"production-dependencies","update_count":37,"packages":[{"name":"acme-client","old_version":"2.0.26","new_version":"2.0.30","repository_url":"https://github.com/unixcharles/acme-client"},{"name":"argon2","old_version":"2.3.2","new_version":"2.3.3","repository_url":"https://github.com/technion/ruby-argon2"},{"name":"aws-sdk-ec2","old_version":"1.569.0","new_version":"1.591.0","repository_url":"https://github.com/aws/aws-sdk-ruby"},{"name":"aws-sdk-iam","old_version":"1.132.0","new_version":"1.140.0","repository_url":"https://github.com/aws/aws-sdk-ruby"},{"name":"aws-sdk-s3","old_version":"1.208.0","new_version":"1.212.0","repository_url":"https://github.com/aws/aws-sdk-ruby"},{"name":"bcrypt_pbkdf","old_version":"1.1.1","new_version":"1.1.2","repository_url":"https://github.com/net-ssh/bcrypt_pbkdf-ruby"},{"name":"countries","old_version":"8.0.4","new_version":"8.1.0","repository_url":"https://github.com/countries/countries"},{"name":"excon","old_version":"1.3.0","new_version":"1.3.2","repository_url":"https://github.com/excon/excon"},{"name":"nokogiri","old_version":"1.18.10","new_version":"1.19.0","repository_url":"https://github.com/sparklemotion/nokogiri"},{"name":"pry","old_version":"0.15.2","new_version":"0.16.0","repository_url":"https://github.com/pry/pry"},{"name":"reline","old_version":"0.6.2","new_version":"0.6.3","repository_url":"https://github.com/ruby/reline"},{"name":"roda","old_version":"3.97.0","new_version":"3.100.0","repository_url":"https://github.com/jeremyevans/roda"},{"name":"rodauth","old_version":"2.41.0","new_version":"2.42.0","repository_url":"https://github.com/jeremyevans/rodauth"},{"name":"rqrcode","old_version":"3.1.0","new_version":"3.2.0","repository_url":"https://github.com/whomwah/rqrcode"},{"name":"sequel_pg","old_version":"1.18.0","new_version":"1.18.2","repository_url":"https://github.com/jeremyevans/sequel_pg"},{"name":"tilt","old_version":"2.6.1","new_version":"2.7.0","repository_url":"https://github.com/jeremyevans/tilt"},{"name":"addressable","old_version":"2.8.7","new_version":"2.8.8","repository_url":"https://github.com/sporkmonger/addressable"},{"name":"date","old_version":"3.5.0","new_version":"3.5.1","repository_url":"https://github.com/ruby/date"},{"name":"hashie","old_version":"5.0.0","new_version":"5.1.0","repository_url":"https://github.com/hashie/hashie"},{"name":"multi_xml","old_version":"0.7.2","new_version":"0.8.1","repository_url":"https://github.com/sferik/multi_xml"},{"name":"net-imap","old_version":"0.5.12","new_version":"0.6.2","repository_url":"https://github.com/ruby/net-imap"},{"name":"oauth2","old_version":"2.0.17","new_version":"2.0.18","repository_url":"https://github.com/ruby-oauth/oauth2"},{"name":"omniauth-oauth2","old_version":"1.8.0","new_version":"1.9.0","repository_url":"https://github.com/omniauth/omniauth-oauth2"},{"name":"openapi_parser","old_version":"2.3.0","new_version":"2.3.1","repository_url":"https://github.com/ota42y/openapi_parser"},{"name":"optparse","old_version":"0.8.0","new_version":"0.8.1","repository_url":"https://github.com/ruby/optparse"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps the production-dependencies group with 25 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [acme-client](https://github.com/unixcharles/acme-client) | `2.0.26` | `2.0.30` |\n| [argon2](https://github.com/technion/ruby-argon2) | `2.3.2` | `2.3.3` |\n| [aws-sdk-ec2](https://github.com/aws/aws-sdk-ruby) | `1.569.0` | `1.591.0` |\n| [aws-sdk-iam](https://github.com/aws/aws-sdk-ruby) | `1.132.0` | `1.140.0` |\n| [aws-sdk-s3](https://github.com/aws/aws-sdk-ruby) | `1.208.0` | `1.212.0` |\n| [bcrypt_pbkdf](https://github.com/net-ssh/bcrypt_pbkdf-ruby) | `1.1.1` | `1.1.2` |\n| [countries](https://github.com/countries/countries) | `8.0.4` | `8.1.0` |\n| [excon](https://github.com/excon/excon) | `1.3.0` | `1.3.2` |\n| [nokogiri](https://github.com/sparklemotion/nokogiri) | `1.18.10` | `1.19.0` |\n| [pry](https://github.com/pry/pry) | `0.15.2` | `0.16.0` |\n| [reline](https://github.com/ruby/reline) | `0.6.2` | `0.6.3` |\n| [roda](https://github.com/jeremyevans/roda) | `3.97.0` | `3.100.0` |\n| [rodauth](https://github.com/jeremyevans/rodauth) | `2.41.0` | `2.42.0` |\n| [rqrcode](https://github.com/whomwah/rqrcode) | `3.1.0` | `3.2.0` |\n| [sequel_pg](https://github.com/jeremyevans/sequel_pg) | `1.18.0` | `1.18.2` |\n| [tilt](https://github.com/jeremyevans/tilt) | `2.6.1` | `2.7.0` |\n| [addressable](https://github.com/sporkmonger/addressable) | `2.8.7` | `2.8.8` |\n| [date](https://github.com/ruby/date) | `3.5.0` | `3.5.1` |\n| [hashie](https://github.com/hashie/hashie) | `5.0.0` | `5.1.0` |\n| [multi_xml](https://github.com/sferik/multi_xml) | `0.7.2` | `0.8.1` |\n| [net-imap](https://github.com/ruby/net-imap) | `0.5.12` | `0.6.2` |\n| [oauth2](https://github.com/ruby-oauth/oauth2) | `2.0.17` | `2.0.18` |\n| [omniauth-oauth2](https://github.com/omniauth/omniauth-oauth2) | `1.8.0` | `1.9.0` |\n| [openapi_parser](https://github.com/ota42y/openapi_parser) | `2.3.0` | `2.3.1` |\n| [optparse](https://github.com/ruby/optparse) | `0.8.0` | `0.8.1` |\n\n\nUpdates `acme-client` from 2.0.26 to 2.0.30\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/unixcharles/acme-client/blob/master/CHANGELOG.md\"\u003eacme-client's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ccode\u003e2.0.30\u003c/code\u003e\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd a default message to RateLimited error\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThis fix avoid argument error on RateLimited object when stubbing without passing arguments.\u003c/p\u003e\n\u003ch2\u003e\u003ccode\u003e2.0.29\u003c/code\u003e\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eIP support to the CertificateRequest helper\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ccode\u003e2.0.28\u003c/code\u003e\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMake \u003ca href=\"https://datatracker.ietf.org/doc/html/rfc8555/#section-6.6\"\u003eRetry-After\u003c/a\u003e accessible from RateLimited#retry_after exceptions\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ccode\u003e2.0.27\u003c/code\u003e\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Renewal Information (ARI) (RFC 9773)\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/unixcharles/acme-client/commit/dbd7481ff141647094d907cfd9e4598208ba19eb\"\u003e\u003ccode\u003edbd7481\u003c/code\u003e\u003c/a\u003e Bump 2.0.30\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unixcharles/acme-client/commit/d9a9328769a055da0771b33a4a006f20a3371b65\"\u003e\u003ccode\u003ed9a9328\u003c/code\u003e\u003c/a\u003e Add a default message to RateLimited error.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unixcharles/acme-client/commit/1e5d529d17bc35d559627fdafc27b99a6fdf60b9\"\u003e\u003ccode\u003e1e5d529\u003c/code\u003e\u003c/a\u003e bump to 2.0.29\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unixcharles/acme-client/commit/cfc29429faab0e278ee1260ad9375bab6549e984\"\u003e\u003ccode\u003ecfc2942\u003c/code\u003e\u003c/a\u003e Add IP support to the CertificateRequest helper (\u003ca href=\"https://redirect.github.com/unixcharles/acme-client/issues/261\"\u003e#261\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unixcharles/acme-client/commit/559889f21df6e765152687ffd6a973b61f7befa3\"\u003e\u003ccode\u003e559889f\u003c/code\u003e\u003c/a\u003e Bump to 2.0.28\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unixcharles/acme-client/commit/5e15c9f17d21eef85d01190344aa462191a2b486\"\u003e\u003ccode\u003e5e15c9f\u003c/code\u003e\u003c/a\u003e Add retry_after property to RateLimited client error (\u003ca href=\"https://redirect.github.com/unixcharles/acme-client/issues/260\"\u003e#260\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unixcharles/acme-client/commit/ff515cab615d682cbaaada9ac6ab52dc160e4b01\"\u003e\u003ccode\u003eff515ca\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 5 to 6 (\u003ca href=\"https://redirect.github.com/unixcharles/acme-client/issues/259\"\u003e#259\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unixcharles/acme-client/commit/443a45d2266463b91b5f1935c16139b6021f3c99\"\u003e\u003ccode\u003e443a45d\u003c/code\u003e\u003c/a\u003e Bump to 2.0.27\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unixcharles/acme-client/commit/d32e7f92ad6d542d49b3ed8907e349c109013512\"\u003e\u003ccode\u003ed32e7f9\u003c/code\u003e\u003c/a\u003e Add Renewal Information (ARI) support (RFC 9773) (\u003ca href=\"https://redirect.github.com/unixcharles/acme-client/issues/257\"\u003e#257\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/unixcharles/acme-client/compare/v2.0.26...v2.0.30\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `argon2` from 2.3.2 to 2.3.3\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/technion/ruby-argon2/commit/747fef31d86b7eeb20c35b90292b2831ce9641be\"\u003e\u003ccode\u003e747fef3\u003c/code\u003e\u003c/a\u003e Bump version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/technion/ruby-argon2/commit/d281278b46f0d3fd0a61dc6f4e5beb0a0c356c97\"\u003e\u003ccode\u003ed281278\u003c/code\u003e\u003c/a\u003e Fix build on Ruby 4.0 (\u003ca href=\"https://redirect.github.com/technion/ruby-argon2/issues/69\"\u003e#69\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/technion/ruby-argon2/compare/v2.3.2...v2.3.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `aws-sdk-ec2` from 1.569.0 to 1.591.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/aws/aws-sdk-ruby/blob/version-3/gems/aws-sdk-ec2/CHANGELOG.md\"\u003eaws-sdk-ec2's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.591.0 (2026-01-16)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Code Generated Changes, see \u003ccode\u003e./build_tools\u003c/code\u003e or \u003ccode\u003eaws-sdk-core\u003c/code\u003e's CHANGELOG.md for details.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.590.0 (2026-01-15)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - This release includes documentation updates to support up to four Elastic Volume modifications per Amazon EBS volume within a rolling 24-hour period.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.589.0 (2026-01-08)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Code Generated Changes, see \u003ccode\u003e./build_tools\u003c/code\u003e or \u003ccode\u003eaws-sdk-core\u003c/code\u003e's CHANGELOG.md for details.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.588.0 (2026-01-05)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Code Generated Changes, see \u003ccode\u003e./build_tools\u003c/code\u003e or \u003ccode\u003eaws-sdk-core\u003c/code\u003e's CHANGELOG.md for details.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.587.0 (2025-12-22)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Adds support for linkedGroupId on the CreatePlacementGroup and DescribePlacementGroups APIs. The linkedGroupId parameter is reserved for future use.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.586.0 (2025-12-18)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - This release adds AvailabilityZoneId support for CreateFleet, ModifyFleet, DescribeFleets, RequestSpotFleet, ModifySpotFleetRequests and DescribeSpotFleetRequests APIs.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.585.0 (2025-12-15)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - EC2 Capacity Manager now supports SpotTotalCount, SpotTotalInterruptions and SpotInterruptionRate metrics for both vCPU and instance units.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.584.0 (2025-12-08)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Amazon EC2 P6-B300 instances provide 8x NVIDIA Blackwell Ultra GPUs with 2.1 TB high bandwidth GPU memory, 6.4 Tbps EFA networking, 300 Gbps dedicated ENA throughput, and 4 TB of system memory. Amazon EC2 C8a instances are powered by 5th Gen AMD EPYC processors with a maximum frequency of 4.5 GHz.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.583.0 (2025-11-25)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - This release adds support to view Network firewall proxy appliances attached to an existing NAT Gateway via DescribeNatGateways API NatGatewayAttachedAppliance structure.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.582.0 (2025-11-21)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - This release adds a new capability to create and manage interruptible EC2 Capacity Reservations.\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\u003eSee full diff in \u003ca href=\"https://github.com/aws/aws-sdk-ruby/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `aws-sdk-iam` from 1.132.0 to 1.140.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/aws/aws-sdk-ruby/blob/version-3/gems/aws-sdk-iam/CHANGELOG.md\"\u003eaws-sdk-iam's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.140.0 (2026-01-16)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Code Generated Changes, see \u003ccode\u003e./build_tools\u003c/code\u003e or \u003ccode\u003eaws-sdk-core\u003c/code\u003e's CHANGELOG.md for details.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.139.0 (2026-01-08)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Code Generated Changes, see \u003ccode\u003e./build_tools\u003c/code\u003e or \u003ccode\u003eaws-sdk-core\u003c/code\u003e's CHANGELOG.md for details.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.138.0 (2026-01-05)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Code Generated Changes, see \u003ccode\u003e./build_tools\u003c/code\u003e or \u003ccode\u003eaws-sdk-core\u003c/code\u003e's CHANGELOG.md for details.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.137.0 (2025-12-05)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Adding the ExpirationTime attribute to the delegation request resource.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.136.0 (2025-11-21)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Code Generated Changes, see \u003ccode\u003e./build_tools\u003c/code\u003e or \u003ccode\u003eaws-sdk-core\u003c/code\u003e's CHANGELOG.md for details.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.135.0 (2025-11-19)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Added the EnableOutboundWebIdentityFederation, DisableOutboundWebIdentityFederation and GetOutboundWebIdentityFederationInfo APIs for the IAM outbound federation feature.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.134.0 (2025-11-18)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Added the AssociateDelegationRequest, GetDelegationRequest, AcceptDelegationRequest, RejectDelegatonRequest, ListDelegationRequests, UpdateDelegationRequest, SendDelegationToken and GetHumanReadableSummary APIs for the IAM temporary delegation feature.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.133.0 (2025-11-10)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Added CreateDelegationRequest API, which is not available for general use at this time.\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\u003eSee full diff in \u003ca href=\"https://github.com/aws/aws-sdk-ruby/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `aws-sdk-s3` from 1.208.0 to 1.212.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/aws/aws-sdk-ruby/blob/version-3/gems/aws-sdk-s3/CHANGELOG.md\"\u003eaws-sdk-s3's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.212.0 (2026-01-16)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Code Generated Changes, see \u003ccode\u003e./build_tools\u003c/code\u003e or \u003ccode\u003eaws-sdk-core\u003c/code\u003e's CHANGELOG.md for details.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.211.0 (2026-01-08)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFeature - Code Generated Changes, see \u003ccode\u003e./build_tools\u003c/code\u003e or \u003ccode\u003eaws-sdk-core\u003c/code\u003e's CHANGELOG.md for details.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eIssue - Falls back to header request checksums when using custom endpoints or endpoint providers for PutObject and UploadPart operations.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.210.1 (2026-01-06)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eIssue - Normalize response encoding to UTF-8 for proper XML error parsing in HTTP 200 responses.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.210.0 (2026-01-05)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFeature - Code Generated Changes, see \u003ccode\u003e./build_tools\u003c/code\u003e or \u003ccode\u003eaws-sdk-core\u003c/code\u003e's CHANGELOG.md for details.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFeature - Added \u003ccode\u003e:http_chunk_size\u003c/code\u003e parameter to \u003ccode\u003eTransferManager#upload_file\u003c/code\u003e to control the buffer size when streaming request bodies over HTTP. Larger chunk sizes may improve network throughput at the cost of higher memory usage (Ruby MRI only).\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFeature - Improved memory efficiency when calculating request checksums for large file uploads (Ruby MRI only).\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.209.0 (2025-12-23)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Add additional validation to Outpost bucket names.\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\u003eSee full diff in \u003ca href=\"https://github.com/aws/aws-sdk-ruby/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `bcrypt_pbkdf` from 1.1.1 to 1.1.2\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/net-ssh/bcrypt_pbkdf-ruby/commit/e52088f9a28e34321a9b359f30d472097f1d7f01\"\u003e\u003ccode\u003ee52088f\u003c/code\u003e\u003c/a\u003e chore: bump version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/net-ssh/bcrypt_pbkdf-ruby/commit/26919975ca7b77425609387955d31784381c3af6\"\u003e\u003ccode\u003e2691997\u003c/code\u003e\u003c/a\u003e added benchmark gem to gemspec\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/net-ssh/bcrypt_pbkdf-ruby/commit/fc2498597f6f556979ccc8ee58acce10e39ff09a\"\u003e\u003ccode\u003efc24985\u003c/code\u003e\u003c/a\u003e chore: bump version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/net-ssh/bcrypt_pbkdf-ruby/commit/25919bbc4a148ba2031e6c52ec777ded97560df4\"\u003e\u003ccode\u003e25919bb\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/net-ssh/bcrypt_pbkdf-ruby/issues/26\"\u003e#26\u003c/a\u003e from brendon/Ruby-3.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/net-ssh/bcrypt_pbkdf-ruby/commit/77d005a0be09f848cf8838d09e611290b027a791\"\u003e\u003ccode\u003e77d005a\u003c/code\u003e\u003c/a\u003e Add Ruby 3.4 support\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/net-ssh/bcrypt_pbkdf-ruby/compare/v1.1.1...v1.1.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `countries` from 8.0.4 to 8.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/countries/countries/releases\"\u003ecountries's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.1.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate Romania standard VAT from 19% to 21% + single reduced rate to 11% (Aug 1st 2025 change) by \u003ca href=\"https://github.com/jarthod\"\u003e\u003ccode\u003e@​jarthod\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/930\"\u003ecountries/countries#930\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove CP code from FR translations. Fixes \u003ca href=\"https://redirect.github.com/countries/countries/issues/928\"\u003e#928\u003c/a\u003e by \u003ca href=\"https://github.com/pmor\"\u003e\u003ccode\u003e@​pmor\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/932\"\u003ecountries/countries#932\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eiso_short_name_lower_case\u003c/code\u003e attribute as an alternative to \u003ca href=\"https://redirect.github.com/countries/countries/issues/907\"\u003e#907\u003c/a\u003e by \u003ca href=\"https://github.com/pmor\"\u003e\u003ccode\u003e@​pmor\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/915\"\u003ecountries/countries#915\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAllow locales to be set with strings. Fixes \u003ca href=\"https://redirect.github.com/countries/countries/issues/916\"\u003e#916\u003c/a\u003e by \u003ca href=\"https://github.com/pmor\"\u003e\u003ccode\u003e@​pmor\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/931\"\u003ecountries/countries#931\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd #pluck support by \u003ca href=\"https://github.com/pmor\"\u003e\u003ccode\u003e@​pmor\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/933\"\u003ecountries/countries#933\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix misuse of File.join with nested array by \u003ca href=\"https://github.com/marksmith\"\u003e\u003ccode\u003e@​marksmith\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/936\"\u003ecountries/countries#936\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdds translations in Bulgarian for MK, CZ, CV, SZ by \u003ca href=\"https://github.com/kirichkov\"\u003e\u003ccode\u003e@​kirichkov\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/935\"\u003ecountries/countries#935\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate BG to EUR (effective 1 Jan 26) by \u003ca href=\"https://github.com/pmor\"\u003e\u003ccode\u003e@​pmor\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/940\"\u003ecountries/countries#940\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate vatican nationality by \u003ca href=\"https://github.com/pmor\"\u003e\u003ccode\u003e@​pmor\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/941\"\u003ecountries/countries#941\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd ruby 4.0.0 to test matrix and update gems by \u003ca href=\"https://github.com/pmor\"\u003e\u003ccode\u003e@​pmor\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/942\"\u003ecountries/countries#942\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/marksmith\"\u003e\u003ccode\u003e@​marksmith\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/countries/countries/pull/936\"\u003ecountries/countries#936\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kirichkov\"\u003e\u003ccode\u003e@​kirichkov\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/countries/countries/pull/935\"\u003ecountries/countries#935\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/countries/countries/compare/v8.0.4...v8.0.5\"\u003ehttps://github.com/countries/countries/compare/v8.0.4...v8.0.5\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/countries/countries/blob/master/CHANGELOG.md\"\u003ecountries's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/countries/countries/releases/tag/v8.1.0\u0026#x27;\"\u003e8.1.0\u003c/a\u003e (2026/01/02 09:14 +00:00)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate Romania standard VAT from 19% to 21% + single reduced rate to 11% (Aug 1st 2025 change) by \u003ca href=\"https://github.com/jarthod\"\u003e\u003ccode\u003e@​jarthod\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/930\"\u003ecountries/countries#930\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove CP code from FR translations. Fixes \u003ca href=\"https://redirect.github.com/countries/countries/issues/928\"\u003e#928\u003c/a\u003e by \u003ca href=\"https://github.com/pmor\"\u003e\u003ccode\u003e@​pmor\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/932\"\u003ecountries/countries#932\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eiso_short_name_lower_case\u003c/code\u003e attribute as an alternative to \u003ca href=\"https://redirect.github.com/countries/countries/issues/907\"\u003e#907\u003c/a\u003e by \u003ca href=\"https://github.com/pmor\"\u003e\u003ccode\u003e@​pmor\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/915\"\u003ecountries/countries#915\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAllow locales to be set with strings. Fixes \u003ca href=\"https://redirect.github.com/countries/countries/issues/916\"\u003e#916\u003c/a\u003e by \u003ca href=\"https://github.com/pmor\"\u003e\u003ccode\u003e@​pmor\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/931\"\u003ecountries/countries#931\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd #pluck support by \u003ca href=\"https://github.com/pmor\"\u003e\u003ccode\u003e@​pmor\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/933\"\u003ecountries/countries#933\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix misuse of File.join with nested array by \u003ca href=\"https://github.com/marksmith\"\u003e\u003ccode\u003e@​marksmith\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/936\"\u003ecountries/countries#936\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdds translations in Bulgarian for MK, CZ, CV, SZ by \u003ca href=\"https://github.com/kirichkov\"\u003e\u003ccode\u003e@​kirichkov\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/935\"\u003ecountries/countries#935\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate BG to EUR (effective 1 Jan 26) by \u003ca href=\"https://github.com/pmor\"\u003e\u003ccode\u003e@​pmor\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/940\"\u003ecountries/countries#940\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate vatican nationality by \u003ca href=\"https://github.com/pmor\"\u003e\u003ccode\u003e@​pmor\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/941\"\u003ecountries/countries#941\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd ruby 4.0.0 to test matrix and update gems by \u003ca href=\"https://github.com/pmor\"\u003e\u003ccode\u003e@​pmor\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/942\"\u003ecountries/countries#942\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/countries/countries/commit/8c026f5b49da93d7bf484d1c0ff59e14750970b1\"\u003e\u003ccode\u003e8c026f5\u003c/code\u003e\u003c/a\u003e Bump version, update CHANGELOG and cache\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/countries/countries/commit/6d05a3420ab989b9450fbccfa07ef58e63b059a8\"\u003e\u003ccode\u003e6d05a34\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/countries/countries/issues/942\"\u003e#942\u003c/a\u003e from countries/ruby-4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/countries/countries/commit/3c827e3c0dd967fc5b6b4a651b3517e8cba1b07c\"\u003e\u003ccode\u003e3c827e3\u003c/code\u003e\u003c/a\u003e Add ruby 4.0.0 to test matrix and update gems\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/countries/countries/commit/c9474b8c3760ded6b536aac6a0e59742b38fb72f\"\u003e\u003ccode\u003ec9474b8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/countries/countries/issues/941\"\u003e#941\u003c/a\u003e from countries/update-vatican-nationality\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/countries/countries/commit/87a8f56c3b510e7fb0e22649fc4aee3188564d96\"\u003e\u003ccode\u003e87a8f56\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/countries/countries/issues/940\"\u003e#940\u003c/a\u003e from countries/update_BG_to_EUR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/countries/countries/commit/0999e7b104ee0ea835ecd020ad02433c5d1d0fa5\"\u003e\u003ccode\u003e0999e7b\u003c/code\u003e\u003c/a\u003e Cache update needed to validate specs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/countries/countries/commit/16d61084f3e26c647ff5fabfcc86d301ee52594d\"\u003e\u003ccode\u003e16d6108\u003c/code\u003e\u003c/a\u003e Update spec\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/countries/countries/commit/1cdc06f6b7d51bbfd842d1004f4af510f0cb34bb\"\u003e\u003ccode\u003e1cdc06f\u003c/code\u003e\u003c/a\u003e Change Vatican nationality to Vatican Citizen over Italian\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/countries/countries/commit/33bf18d3ce490c0752925cf976839729beaf9ea3\"\u003e\u003ccode\u003e33bf18d\u003c/code\u003e\u003c/a\u003e Update BG to EUR (effective 1 Jan 26)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/countries/countries/commit/89a10415b780601b9d969f7a88eba6ffdd3ea9e6\"\u003e\u003ccode\u003e89a1041\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/countries/countries/issues/935\"\u003e#935\u003c/a\u003e from simplicitybg/bg-translations-update\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/countries/countries/compare/v8.0.4...v8.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `excon` from 1.3.0 to 1.3.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/excon/excon/blob/master/changelog.txt\"\u003eexcon's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e1.3.2 2025-12-03\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eupdate bundled certs\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e1.3.1 2025-11-05\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eupdate bundled certs\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/excon/excon/commit/e94efe6637d9d99a66e8a39b52c0131c706432b7\"\u003e\u003ccode\u003ee94efe6\u003c/code\u003e\u003c/a\u003e v1.3.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/excon/excon/commit/7e858751ff850bafc4000fcca4f3f331c70c07bc\"\u003e\u003ccode\u003e7e85875\u003c/code\u003e\u003c/a\u003e update bundled certs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/excon/excon/commit/f076a7657782c518cbff2c1683309c2c106e6275\"\u003e\u003ccode\u003ef076a76\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 5 to 6 (\u003ca href=\"https://redirect.github.com/excon/excon/issues/893\"\u003e#893\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/excon/excon/commit/fbe4748d49ac87504ee8d3e7352da0de3485144c\"\u003e\u003ccode\u003efbe4748\u003c/code\u003e\u003c/a\u003e adjust ractor usage for Ruby 3.5+\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/excon/excon/commit/7900bec2e4f4916b0d8994e5e7f3b57ca10ddb68\"\u003e\u003ccode\u003e7900bec\u003c/code\u003e\u003c/a\u003e v1.3.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/excon/excon/commit/a18079c2a55780951d61da712d68554217106ede\"\u003e\u003ccode\u003ea18079c\u003c/code\u003e\u003c/a\u003e update bundled certs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/excon/excon/commit/60ac6aa966172e6bd20264366e213943d891329c\"\u003e\u003ccode\u003e60ac6aa\u003c/code\u003e\u003c/a\u003e update bundled certs\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/excon/excon/compare/v1.3.0...v1.3.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `nokogiri` from 1.18.10 to 1.19.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sparklemotion/nokogiri/releases\"\u003enokogiri's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.19.0 / 2025-12-28\u003c/h2\u003e\n\u003ch4\u003eRuby\u003c/h4\u003e\n\u003cp\u003eThis release is focused on changes to Ruby version support, and is otherwise functionally identical to v1.18.10.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eIntroduce native gem support for Ruby 4.0. \u003ca href=\"https://redirect.github.com/sparklemotion/nokogiri/issues/3590\"\u003e#3590\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnd support for Ruby 3.1, for which \u003ca href=\"https://www.ruby-lang.org/en/downloads/branches/\"\u003eupstream support ended 2025-03-26\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eEnd support for JRuby 9.4 (which targets Ruby 3.1 compatibility).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cpre\u003e\u003ccode\u003e11a97ecc3c0e7e5edcf395720b10860ef493b768f6aa80c539573530bc933767  nokogiri-1.19.0-aarch64-linux-gnu.gem\neb70507f5e01bc23dad9b8dbec2b36ad0e61d227b42d292835020ff754fb7ba9  nokogiri-1.19.0-aarch64-linux-musl.gem\n572a259026b2c8b7c161fdb6469fa2d0edd2b61cd599db4bbda93289abefbfe5  nokogiri-1.19.0-arm-linux-gnu.gem\n23ed90922f1a38aed555d3de4d058e90850c731c5b756d191b3dc8055948e73c  nokogiri-1.19.0-arm-linux-musl.gem\n0811dfd936d5f6dd3f6d32ef790568bf29b2b7bead9ba68866847b33c9cf5810  nokogiri-1.19.0-arm64-darwin.gem\n5f3a70e252be641d8a4099f7fb4cc25c81c632cb594eec9b4b8f2ca8be4374f3  nokogiri-1.19.0-java.gem\n05d7ed2d95731edc9bef2811522dc396df3e476ef0d9c76793a9fca81cab056b  nokogiri-1.19.0-x64-mingw-ucrt.gem\n1dad56220b603a8edb9750cd95798bffa2b8dd9dd9aa47f664009ee5b43e3067  nokogiri-1.19.0-x86_64-darwin.gem\nf482b95c713d60031d48c44ce14562f8d2ce31e3a9e8dd0ccb131e9e5a68b58c  nokogiri-1.19.0-x86_64-linux-gnu.gem\n1c4ca6b381622420073ce6043443af1d321e8ed93cc18b08e2666e5bd02ffae4  nokogiri-1.19.0-x86_64-linux-musl.gem\ne304d21865f62518e04f2bf59f93bd3a97ca7b07e7f03952946d8e1c05f45695  nokogiri-1.19.0.gem\n\u003c/code\u003e\u003c/pre\u003e\n\u003c!-- raw HTML omitted --\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/sparklemotion/nokogiri/blob/main/CHANGELOG.md\"\u003enokogiri's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.19.0 / 2025-12-28\u003c/h2\u003e\n\u003ch4\u003eRuby\u003c/h4\u003e\n\u003cp\u003eThis release is focused on changes to Ruby version support, and is otherwise functionally identical to v1.18.10.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eIntroduce native gem support for Ruby 4.0. \u003ca href=\"https://redirect.github.com/sparklemotion/nokogiri/issues/3590\"\u003e#3590\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnd support for Ruby 3.1, for which \u003ca href=\"https://www.ruby-lang.org/en/downloads/branches/\"\u003eupstream support ended 2025-03-26\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eEnd support for JRuby 9.4 (which targets Ruby 3.1 compatibility).\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/sparklemotion/nokogiri/commit/d77bfb66302532b90c0f340ed6b4ae74f275dde8\"\u003e\u003ccode\u003ed77bfb6\u003c/code\u003e\u003c/a\u003e version bump to v1.19.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/1eb5c2c035b360fd1195de0b274e901b6e0c12dd\"\u003e\u003ccode\u003e1eb5c2c\u003c/code\u003e\u003c/a\u003e dev: convert scripts/test-gem-set to use mise\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/88a120fd8198cd49b7cbe6388c92cd92d776407d\"\u003e\u003ccode\u003e88a120f\u003c/code\u003e\u003c/a\u003e dep: Add native Ruby 4 support, drop Ruby 3.1 support (v1.19.x) (\u003ca href=\"https://redirect.github.com/sparklemotion/nokogiri/issues/3592\"\u003e#3592\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/f8c8f74e846ea49d2cb221710cc08618842ba21e\"\u003e\u003ccode\u003ef8c8f74\u003c/code\u003e\u003c/a\u003e Skip the parser compression test for Windows system libs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/e91c0fcde1a3b331863468407bb52bc2a7d27830\"\u003e\u003ccode\u003ee91c0fc\u003c/code\u003e\u003c/a\u003e ci: temporarily pin to setup-ruby with windows ruby 4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/1b08acc30a3147a6addab090bf6100e077437f26\"\u003e\u003ccode\u003e1b08acc\u003c/code\u003e\u003c/a\u003e dep: update to minitest 6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/404487d983593ba1bb8ce91568a65da6d2d86439\"\u003e\u003ccode\u003e404487d\u003c/code\u003e\u003c/a\u003e dep: require JRuby \u0026gt;= 10.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/19b22eaaacad92da5ec5b38e97bb750e14b096e5\"\u003e\u003ccode\u003e19b22ea\u003c/code\u003e\u003c/a\u003e dep: add support for native Ruby 4.0 gem\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/ec57d11955d4d2e4d47bea3803312e128f5875f2\"\u003e\u003ccode\u003eec57d11\u003c/code\u003e\u003c/a\u003e ci: bump versions in CI images\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/f7b640f364e7aca0c55b25beda3aa369581a71c7\"\u003e\u003ccode\u003ef7b640f\u003c/code\u003e\u003c/a\u003e ci: avoid bundler collisions in downstream tests\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sparklemotion/nokogiri/compare/v1.18.10...v1.19.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pry` from 0.15.2 to 0.16.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pry/pry/releases\"\u003epry's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.16.0\u003c/h2\u003e\n\u003ch4\u003eFeatures\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eRuby 4.0 Support.\nPry will now require and default to Reline for newer Rubies.\n(\u003ca href=\"https://redirect.github.com/pry/pry/pull/2357\"\u003e#2357\u003c/a\u003e)\n(\u003ca href=\"https://redirect.github.com/pry/pry/pull/2349\"\u003e#2349\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRevert 'Unify show-doc with show-source'.\n(\u003ca href=\"https://redirect.github.com/pry/pry/pull/2346\"\u003e#2346\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eBreaking Changes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eRemove experimental \u003ccode\u003ePry.auto_resize!\u003c/code\u003e\nReturns a warning. The code will be removed later.\n(\u003ca href=\"https://redirect.github.com/pry/pry/pull/2359\"\u003e#2359\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDrop support for Ruby \u0026lt; 2.6\n(\u003ca href=\"https://redirect.github.com/pry/pry/pull/2349\"\u003e#2349\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/ydah\"\u003e\u003ccode\u003e@​ydah\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pry/pry/pull/2343\"\u003epry/pry#2343\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pry/pry/compare/v0.15.2...v0.16.0\"\u003ehttps://github.com/pry/pry/compare/v0.15.2...v0.16.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/pry/pry/blob/master/CHANGELOG.md\"\u003epry's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch3\u003e\u003ca href=\"https://github.com/pry/pry/blob/master/v0.16.0\"\u003ehttps://github.com/pry/pry/blob/master/v0.16.0\u003c/a\u003e (December 26, 2025)\u003c/h3\u003e\n\u003ch4\u003eFeatures\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eRuby 4.0 Support.\nPry will now require and default to Reline for newer Rubies.\n(\u003ca href=\"https://redirect.github.com/pry/pry/pull/2357\"\u003e#2357\u003c/a\u003e)\n(\u003ca href=\"https://redirect.github.com/pry/pry/pull/2349\"\u003e#2349\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRevert 'Unify show-doc with show-source'.\n(\u003ca href=\"https://redirect.github.com/pry/pry/pull/2346\"\u003e#2346\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eBreaking Changes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eRemove experimental \u003ccode\u003ePry.auto_resize!\u003c/code\u003e\nReturns a warning. The code will be removed later.\n(\u003ca href=\"https://redirect.github.com/pry/pry/pull/2359\"\u003e#2359\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDrop support for Ruby \u0026lt; 2.6\n(\u003ca href=\"https://redirect.github.com/pry/pry/pull/2349\"\u003e#2349\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/pry/pry/commit/5a267df08ad6a69dcb890733a2765b47585439c8\"\u003e\u003ccode\u003e5a267df\u003c/code\u003e\u003c/a\u003e v0.16.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pry/pry/commit/538b15043c66e18ff98d1948b7fd1c22a73b042b\"\u003e\u003ccode\u003e538b150\u003c/code\u003e\u003c/a\u003e Update CHANGELOG\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pry/pry/commit/0a7ab20e34feb3f7952c47392b2a8030c5f161ce\"\u003e\u003ccode\u003e0a7ab20\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pry/pry/issues/2361\"\u003e#2361\u003c/a\u003e from andrehjr/remove-outdated-deps\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pry/pry/commit/8dcb2c82fffdb846b961f5d1e555dba3e9450ab5\"\u003e\u003ccode\u003e8dcb2c8\u003c/code\u003e\u003c/a\u003e Remove pinned method_source version for Ruby \u0026lt; 2.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pry/pry/commit/fc9969bca186a252b1a43d85b663f4352bc8b6ec\"\u003e\u003ccode\u003efc9969b\u003c/code\u003e\u003c/a\u003e Remove psych pinned version from Gemfile\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pry/pry/commit/23b3ed6b737d190f95abaf30478a749c6b8d9b95\"\u003e\u003ccode\u003e23b3ed6\u003c/code\u003e\u003c/a\u003e Remove hardcoded require for rubocop \u0026gt; 2.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pry/pry/commit/e9ac449c1d7a3607a87d15d6be19d7a6be3645ad\"\u003e\u003ccode\u003ee9ac449\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pry/pry/issues/2349\"\u003e#2349\u003c/a\u003e from andrehjr/no-readline-installed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pry/pry/commit/679249bc189c3bd7fb187dc174a08a3ff88ec1da\"\u003e\u003ccode\u003e679249b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pry/pry/issues/2359\"\u003e#2359\u003c/a\u003e from andrehjr/remove-experiental-autoresize\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pry/pry/commit/17d5954f7ea2ebddb38a9af9f1987d2997d0e62b\"\u003e\u003ccode\u003e17d5954\u003c/code\u003e\u003c/a\u003e Remove experimental Pry.auto_resize!\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pry/pry/commit/090822bcabcedba392ceaea5b4549d04c2cab7dd\"\u003e\u003ccode\u003e090822b\u003c/code\u003e\u003c/a\u003e Pry will only support Ruby 2.6+ form now on\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pry/pry/compare/v0.15.2...v0.16.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `reline` from 0.6.2 to 0.6.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/reline/releases\"\u003ereline's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.6.3\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix CSI pattern regexp to accept parameter bytes and intermediate bytes by \u003ca href=\"https://github.com/tompng\"\u003e\u003ccode\u003e@​tompng\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/reline/pull/848\"\u003eruby/reline#848\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse key symbol names instead of hardcoded C-r C-s C-h C-? in reverse/forward i-search by \u003ca href=\"https://github.com/tompng\"\u003e\u003ccode\u003e@​tompng\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/reline/pull/855\"\u003eruby/reline#855\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🛠 Other Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBump actions/checkout from 4 to 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/ruby/reline/pull/846\"\u003eruby/reline#846\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump step-security/harden-runner from 2.12.2 to 2.13.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/ruby/reline/pull/844\"\u003eruby/reline#844\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/upload-pages-artifact 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/ruby/reline/pull/849\"\u003eruby/reline#849\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump step-security/harden-runner from 2.13.0 to 2.13.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/ruby/reline/pull/850\"\u003eruby/reline#850\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse test-unit-ruby-core by \u003ca href=\"https://github.com/tompng\"\u003e\u003ccode\u003e@​tompng\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/reline/pull/852\"\u003eruby/reline#852\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove retrieve_keybuffer by \u003ca href=\"https://github.com/tompng\"\u003e\u003ccode\u003e@​tompng\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/reline/pull/851\"\u003eruby/reline#851\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump rubygems/release-gem from 1.1.1 to 1.1.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/ruby/reline/pull/857\"\u003eruby/reline#857\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse bundler/setup instead of Bunlder.require in multiline_repl by \u003ca href=\"https://github.com/tompng\"\u003e\u003ccode\u003e@​tompng\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/reline/pull/860\"\u003eruby/reline#860\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump version to 0.6.3 by \u003ca href=\"https://github.com/ima1zumi\"\u003e\u003ccode\u003e@​ima1zumi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/reline/pull/858\"\u003eruby/reline#858\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ruby/reline/compare/v0.6.2...v0.6.3\"\u003ehttps://github.com/ruby/reline/compare/v0.6.2...v0.6.3\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/ruby/reline/commit/55390d5c0cfb8916b170b9146428c8de98ff7dc8\"\u003e\u003ccode\u003e55390d5\u003c/code\u003e\u003c/a\u003e Bump up to 0.6.3 (\u003ca href=\"https://redirect.github.com/ruby/reline/issues/858\"\u003e#858\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/reline/commit/07255abec99bb6daaf87cc13c8f35e205ace9bbb\"\u003e\u003ccode\u003e07255ab\u003c/code\u003e\u003c/a\u003e Use bundler/setup instead of Bunlder.require in multiline_repl (\u003ca href=\"https://redirect.github.com/ruby/reline/issues/860\"\u003e#860\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/reline/commit/7eef150d6e3c7e85836b1a6da40a15f06a3c487e\"\u003e\u003ccode\u003e7eef150\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/reline/issues/857\"\u003e#857\u003c/a\u003e from ruby/dependabot/github_actions/rubygems/release-...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/reline/commit/63dfa17da92da947082d9d6e8336f3f5cd69b974\"\u003e\u003ccode\u003e63dfa17\u003c/code\u003e\u003c/a\u003e Bump rubygems/release-gem from 1.1.1 to 1.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/reline/commit/1d1e8081f20d4603b3342ee01ab63303304f69c0\"\u003e\u003ccode\u003e1d1e808\u003c/code\u003e\u003c/a\u003e Use key symbol names instead of hardcoded C-r C-s C-h C-? in reverse/forward ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/reline/commit/433a93076eee3bc30bb9d6c43df355a414bfbfdd\"\u003e\u003ccode\u003e433a930\u003c/code\u003e\u003c/a\u003e Fix CSI pattern regexp to accept parameter bytes and intermediate bytes (\u003ca href=\"https://redirect.github.com/ruby/reline/issues/848\"\u003e#848\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/reline/commit/5d5c1ff0cc0662b8a6285b6a9b56283bca2e5e5d\"\u003e\u003ccode\u003e5d5c1ff\u003c/code\u003e\u003c/a\u003e Remove retrieve_keybuffer (\u003ca href=\"https://redirect.github.com/ruby/reline/issues/851\"\u003e#851\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/reline/commit/199c26a2c07d83c9281cc8b97892d60b595173eb\"\u003e\u003ccode\u003e199c26a\u003c/code\u003e\u003c/a\u003e Use test-unit-ruby-core (\u003ca href=\"https://redirect.github.com/ruby/reline/issues/852\"\u003e#852\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/reline/commit/19aa19f1bfa2b738603f2c65de81a15b19b14594\"\u003e\u003ccode\u003e19aa19f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/reline/issues/850\"\u003e#850\u003c/a\u003e from ruby/dependabot/github_actions/step-security/har...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/reline/commit/9300d4de899868ea554c1a522f37a5d3eee94926\"\u003e\u003ccode\u003e9300d4d\u003c/code\u003e\u003c/a\u003e Bump step-security/harden-runner from 2.13.0 to 2.13.1\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby/reline/compare/v0.6.2...v0.6.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `roda` from 3.97.0 to 3.100.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jeremyevans/roda/blob/master/CHANGELOG\"\u003eroda's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e=== 3.100.0 (2026-01-12)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd sec_fetch_site_csrf plugin, for CSRF protection using Sec-Fetch-Site header (jeremyevans)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e=== 3.99.0 (2025-12-12)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for set matchers by default, as Set will be a core class in Ruby 4 (jeremyevans)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e=== 3.98.0 (2025-11-13)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for the :env_key option to the sessions plugin (jeremyevans) (\u003ca href=\"https://redirect.github.com/jeremyevans/roda/issues/403\"\u003e#403\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/jeremyevans/roda/commit/5a869c86afc6a2e25cdf02c2cdc680ca0144a9ce\"\u003e\u003ccode\u003e5a869c8\u003c/code\u003e\u003c/a\u003e Bump version to 3.100.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jeremyevans/roda/commit/b05ee5845d5e35ed68fce7f9eed51cbe6cad0c55\"\u003e\u003ccode\u003eb05ee58\u003c/code\u003e\u003c/a\u003e Add Ruby 4.0 to CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jeremyevans/roda/commit/483272fa283211fbb4d8d43d3ee058ce7bf94ab2\"\u003e\u003ccode\u003e483272f\u003c/code\u003e\u003c/a\u003e Add sec_fetch_site_csrf plugin, for CSRF protection using Sec-Fetch-Site header\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jeremyevans/roda/commit/81b22346444027538f53a59d29f73b4f716598fd\"\u003e\u003ccode\u003e81b2234\u003c/code\u003e\u003c/a\u003e Bump version to 3.99.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jeremyevans/roda/commit/180d499a9178f31d29b669c7591e5b3dd8f4e1f1\"\u003e\u003ccode\u003e180d499\u003c/code\u003e\u003c/a\u003e Update run_require_slash plugin docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jeremyevans/roda/commit/8f190dfd7484ab0f7ab1e07d41b800b738c5987e\"\u003e\u003ccode\u003e8f190df\u003c/code\u003e\u003c/a\u003e Update website home page\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jeremyevans/roda/commit/ca50e40ed039b64c821609333a8290c0512b1327\"\u003e\u003ccode\u003eca50e40\u003c/code\u003e\u003c/a\u003e Add Understandability as a goal\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jeremyevans/roda/commit/578ca9a106790c87f799b6b6e337099d5c8d99b1\"\u003e\u003ccode\u003e578ca9a\u003c/code\u003e\u003c/a\u003e Add support for set matchers by default, as Set will be a core class in Ruby 4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jeremyevans/roda/commit/8fc5b77fcd0d49625bcc77007622fe94a0f2afc2\"\u003e\u003ccode\u003e8fc5b77\u003c/code\u003e\u003c/a\u003e Bump version to 3.98.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jeremyevans/roda/commit/5b1a58ec704add896d1e8442c1e4bb80a0c5d85e\"\u003e\u003ccode\u003e5b1a58e\u003c/code\u003e\u003c/a\u003e Add support for the :env_key option to the sessions plugin\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/jeremyevans/roda/compare/3.97.0...3.100.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rodauth` from 2.41.0 to 2.42.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jeremyevans/rodauth/blob/master/CHANGELOG\"\u003erodauth's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e=== 2.42.0 (2025-12-18)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid mixed string/symbol keys in JSON when using the jwt_refresh feature (jeremyevans)\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/jeremyevans/rodauth/commit/8c07562f8c481b514dcbd42cc0cc5827699f8daf\"\u003e\u003ccode\u003e8c07562\u003c/code\u003e\u003c/a\u003e Bump version to 2.42.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jeremyevans/rodauth/commit/3724d1cc7b9e9cdb386d183f74197af6fad672c5\"\u003e\u003ccode\u003e3724d1c\u003c/code\u003e\u003c/a\u003e Avoid mixed string/symbol keys in JSON in a few specs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jeremyevans/rodauth/commit/e067e0bce6189fd1dce5c4eccddf593ab417ae4d\"\u003e\u003ccode\u003ee067e0b\u003c/code\u003e\u003c/a\u003e Avoid mixed string/symbol keys in JSON when using the jwt_refresh feature\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/jeremyevans/rodauth/compare/2.41.0...2.42.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rqrcode` from 3.1.0 to 3.2.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/whomwah/rqrcode/releases\"\u003erqrcode's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.2.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRelease 3.1.1 mergeback by \u003ca href=\"https://github.com/whomwah\"\u003e\u003ccode\u003e@​whomwah\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/whomwah/rqrcode/pull/162\"\u003ewhomwah/rqrcode#162\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUsing AI Assistant to identity (and fix) performance bottlenecks by \u003ca href=\"https://github.com/whomwah\"\u003e\u003ccode\u003e@​whomwah\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/whomwah/rqrcode/pull/163\"\u003ewhomwah/rqrcode#163\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated minimum Ruby version requirement to \u0026gt;= 3.2.0\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eSVG rendering\u003c/strong\u003e: Improved by \u003cstrong\u003e+130%\u003c/strong\u003e (from 184 i/s to 424 i/s) with \u003cstrong\u003e71% memory reduction\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eHTML rendering\u003c/strong\u003e: Now the fastest export format at \u003cstrong\u003e1,876 i/s\u003c/strong\u003e (rendering-only benchmark)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eMemory efficiency\u003c/strong\u003e: HTML now uses \u003cstrong\u003e6x less memory\u003c/strong\u003e than SVG (previously 22x)\u003c/li\u003e\n\u003cli\u003euses rqrcode_core 2.1 \u003ca href=\"https://github.com/whomwah/rqrcode_core/blob/main/CHANGELOG.md#210---2026-01-07\"\u003ewhich also received performance improvements\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eReleases/3.2.0 by \u003ca href=\"https://github.com/whomwah\"\u003e\u003ccode\u003e@​whomwah\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/whomwah/rqrcode/pull/164\"\u003ewhomwah/rqrcode#164\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/whomwah/rqrcode/compare/v3.1.1...v3.2.0\"\u003ehttps://github.com/whomwah/rqrcode/compare/v3.1.1...v3.2.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev3.1.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRelease 3.1.0 mergeback by \u003ca href=\"https://github.com/whomwah\"\u003e\u003ccode\u003e@​whomwah\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/whomwah/rqrcode/pull/158\"\u003ewhomwah/rqrcode#158\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate required_ruby_version to allow Ruby 4.0 by \u003ca href=\"https://github.com/k0kubun\"\u003e\u003ccode\u003e@​k0kubun\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/whomwah/rqrcode/pull/160\"\u003ewhomwah/rqrcode#160\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReleases/v3.1.1 by \u003ca href=\"https://github.com/whomwah\"\u003e\u003ccode\u003e@​whomwah\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/whomwah/rqrcode/pull/161\"\u003ewhomwah/rqrcode#161\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/k0kubun\"\u003e\u003ccode\u003e@​k0kubun\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/whomwah/rqrcode/pull/160\"\u003ewhomwah/rqrcode#160\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/whomwah/rqrcode/compare/v3.1.0...v3.1.1\"\u003ehttps://github.com/whomwah/rqrcode/compare/v3.1.0...v3.1.1\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/whomwah/rqrcode/blob/main/CHANGELOG.md\"\u003erqrcode's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[3.2.0] - 2026-01-08\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eComprehensive benchmarking suite in \u003ccode\u003ebenchmark/\u003c/code\u003e directory for measuring performance and memory usage across all export formats (SVG, PNG, HTML, ANSI)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ebenchmark_helper.rb\u003c/code\u003e providing shared utilities for IPS, memory, and stack profiling\u003c/li\u003e\n\u003cli\u003eRake tasks for running benchmarks individually or all at once\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ebenchmark/README.md\u003c/code\u003e explaining usage, metrics, and interpretation of results\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eAGENTS.md\u003c/code\u003e as a development guide for AI agents\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eSVG rendering\u003c/strong\u003e: Improved by \u003cstrong\u003e+130%\u003c/strong\u003e (from 184 i/s to 424 i/s) with \u003cstrong\u003e71% memory reduction\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eHTML rendering\u003c/strong\u003e: Now the fastest export format at \u003cstrong\u003e1,876 i/s\u003c/strong\u003e (rendering-only benchmark)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eMemory efficiency\u003c/strong\u003e: HTML now uses \u003cstrong\u003e6x less memory\u003c/strong\u003e than SVG (previously 22x)\u003c/li\u003e\n\u003cli\u003eUpdated minimum Ruby version requirement to \u0026gt;= 3.2.0\u003c/li\u003e\n\u003cli\u003eUpdated GitHub workflow Ruby matrix to test only supported versions (3.2, 3.3, 3.4, 4.0)\u003c/li\u003e\n\u003cli\u003eUpdated \u003ccode\u003eREADME.md\u003c/code\u003e with benchmark documentation and contribution guidelines\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[3.1.1] - 2025-11-25\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate required_ruby_version to support \u0026gt;= rather than ~\u0026gt; ready for Ruby 4\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/whomwah/rqrcode/commit/f0d65004f2b5ba595fd47b36104fc1a549c07def\"\u003e\u003ccode\u003ef0d6500\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/whomwah/rqrcode/issues/164\"\u003e#164\u003c/a\u003e from whomwah/releases/3.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/whomwah/rqrcode/commit/e3f69d6275d11fa330efd1b7ffad899a05de8bd8\"\u003e\u003ccode\u003ee3f69d6\u003c/code\u003e\u003c/a\u003e chore(release): bump version to 3.2.0 and update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/whomwah/rqrcode/commit/ea5d9cd59972bb649b76fc71df5a7181632532fa\"\u003e\u003ccode\u003eea5d9cd\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/whomwah/rqrcode/issues/163\"\u003e#163\u003c/a\u003e from whomwah/feat/performance1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/whomwah/rqrcode/commit/36917bf812e849f88776df6969904761b454e13b\"\u003e\u003ccode\u003e36917bf\u003c/code\u003e\u003c/a\u003e perf(svg): optimize SVG path export for speed and output size\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/whomwah/rqrcode/commit/4697d7d2f4b2478f7aeafa45305d4f6da11a535e\"\u003e\u003ccode\u003e4697d7d\u003c/code\u003e\u003c/a\u003e docs(benchmark): update benchmark results for 2026-01-08\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/whomwah/rqrcode/commit/12a395d13de08680f53561af4403dd9f2535bcfe\"\u003e\u003ccode\u003e12a395d\u003c/code\u003e\u003c/a\u003e chore: update ruby support to \u0026gt;= 3.2 and update dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/whomwah/rqrcode/commit/ed9c3a42c83903f6310fbedace896be4fc556e40\"\u003e\u003ccode\u003eed9c3a4\u003c/code\u003e\u003c/a\u003e refactor(html): optimize as_html for performance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/whomwah/rqrcode/commit/a0515013f8173c388c8fcc06cbb836140e48b23f\"\u003e\u003ccode\u003ea051501\u003c/code\u003e\u003c/a\u003e refactor(svg): move color prefix logic to top-level render method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/whomwah/rqrcode/commit/b4ef4532bd6c7a59b3060da02420f6d764aa42d3\"\u003e\u003ccode\u003eb4ef453\u003c/code\u003e\u003c/a\u003e docs: add semantic commit message guidelines to AGENTS.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/whomwah/rqrcode/commit/822071682137186eca433fe0167f32d8f5b061c2\"\u003e\u003ccode\u003e8220716\u003c/code\u003e\u003c/a\u003e chore(deps): update rqrcode_core to 2.1.0\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/whomwah/rqrcode/compare/v3.1.0...v3.2.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sequel_pg` from 1.18.0 to 1.18.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jeremyevans/sequel_pg/blob/master/CHANGELOG\"\u003esequel_pg's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e=== 1.18.2 (2025-12-18)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid bogus warnings about the implicit block parameter in Ruby 3.3 (jeremyevans) (\u003ca href=\"https://redirect.github.com/jeremyevans/sequel_pg/issues/64\"\u003e#64\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e=== 1.18.1 (2025-12-16)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix truncated results for map/select_map/select_order_map/as_hash/to_hash_groups/select_hash/select_hash_groups/as_set/select_set for datasets using use_cursor (jeremyevans) (\u003ca href=\"https://redirect.github.com/jeremyevans/sequel_pg/issues/62\"\u003e#62\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAvoid compilation warnings checking for HAVE_* definitions (jeremyevans)\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/jeremyevans/sequel_pg/commit/de99106f589629cb3813371a8d534a4d2a811298\"\u003e\u003ccode\u003ede99106\u003c/code\u003e\u003c/a\u003e Bump version to 1.18.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jeremyevans/sequel_pg/commit/72bf00a5a6c655aa6451d2639600be02a5ab32d4\"\u003e\u003ccode\u003e72bf00a\u003c/code\u003e\u003c/a\u003e Avoid bogus warnings about the implicit block parameter in Ruby 3.3 (Fixes \u003ca href=\"https://redirect.github.com/jeremyevans/sequel_pg/issues/64\"\u003e#64\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jeremyevans/sequel_pg/commit/556edaaa9c2d06510cd51885d46666b6e2c87d8d\"\u003e\u003ccode\u003e556edaa\u003c/code\u003e\u003c/a\u003e Bump version to 1.18.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jeremyevans/sequel_pg/commit/82f812e85135924a2ec1410d76f53037514698ef\"\u003e\u003ccode\u003e82f812e\u003c/code\u003e\u003c/a\u003e Fix truncated results for map/select_map/select_order_map/as_hash/to_hash_gro...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jeremyevans/sequel_pg/commit/998030d04be6b9439d8783c94da664fc68dc4a4b\"\u003e\u003ccode\u003e998030d\u003c/code\u003e\u003c/a\u003e Avoid compilation warnings checking for HAVE_* definitions\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/jeremyevans/sequel_pg/compare/1.18.0...1.18.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `tilt` from 2.6.1 to 2.7.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jeremyevans/tilt/blob/master/CHANGELOG.md\"\u003etilt's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.7.0 (2026-01-09)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport passing template-specific options to Tilt::Pipeline.new (LevitatingBusinessMan) (\u003ca href=\"https://redirect.github.com/jeremyevans/tilt/issues/24\"\u003e#24\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove deprecated creole template (jeremyevans)\u003c/li\u003e\n\u003cli\u003eMake the rendering of Prawn templates idempotent (rickenharp) (\u003ca href=\"https://redirect.github.com/jeremyevans/tilt/issues/20\"\u003e#20\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/jeremyevans/tilt/commit/2b1189faba686df872d8d9838c9d482e7c24ea19\"\u003e\u003ccode\u003e2b1189f\u003c/code\u003e\u003c/a\u003e Bump version to 2.7.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jeremyevans/tilt/commit/ac414e75f25a85c72b5bd8cf9e5f4a07828cfd56\"\u003e\u003ccode\u003eac414e7\u003c/code\u003e\u003c/a\u003e Minor changes to Tile::Pipeline.new options support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jeremyevans/tilt/commit/df4b7e3644f7d248ff70f1db7d2028b21e683a14\"\u003e\u003ccode\u003edf4b7e3\u003c/code\u003e\u003c/a\u003e allow additional options to pipeline\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jeremyevans/tilt/commit/f9193d5c1011ca9a77e2064ab1d143e75696b7f7\"\u003e\u003ccode\u003ef9193d5\u003c/code\u003e\u003c/a\u003e Drop JRuby 9.4 from CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jeremyevans/tilt/commit/712e75d1abb2e3c9731427e77140a44579ea7c7f\"\u003e\u003ccode\u003e712e75d\u003c/code\u003e\u003c/a\u003e Remove use of minitest mocks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jeremyevans/tilt/commit/d3aa2a0b3e8b1201f4dd35d5d44c82f07aa05699\"\u003e\u003ccode\u003ed3aa2a0\u003c/code\u003e\u003c/a\u003e Add Ruby 4.0 to CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jeremyevans/tilt/commit/8454c9fa5a2bd96ccadf469dbdeebc8f4aa95aba\"\u003e\u003ccode\u003e8454c9f\u003c/code\u003e\u003c/a\u003e Require URI in haml test to work around test failure on Ruby 4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jeremyevans/tilt/commit/e271cab3851ea8ece85d0072511bea2312792aa7\"\u003e\u003ccode\u003ee271cab\u003c/code\u003e\u003c/a\u003e Fix class name in coffeescript documentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jeremyevans/tilt/commit/1bca97079bb16db207a8fac1d10102caaf25327a\"\u003e\u003ccode\u003e1bca970\u003c/code\u003e\u003c/a\u003e Remove deprecated creole template\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jeremyevans/tilt/commit/7e5263ea8ebfa0f891de61139c940951243bc21c\"\u003e\u003ccode\u003e7e5263e\u003c/code\u003e\u003c/a\u003e Mention Tilt::StaticTemplate in README\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jeremyevans/tilt/compare/v2.6.1...v2.7.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `addressable` from 2.8.7 to 2.8.8\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sporkmonger/addressable/blob/main/CHANGELOG.md\"\u003eaddressable's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eAddressable 2.8.8 \u003c!-- raw HTML omitted --\u003e\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eReplace the \u003ccode\u003eunicode.data\u003c/code\u003e blob by a ruby constant (\u003ca href=\"https://redirect.github.com/sporkmonger/addressable/issues/561\"\u003e#561\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow \u003ccode\u003epublic_suffix\u003c/code\u003e 7 (\u003ca href=\"https://redirect.github.com/sporkmonger/addressable/issues/558\"\u003e#558\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/sporkmonger/addressable/issues/561\"\u003e#561\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/sporkmonger/addressable/pull/561\"\u003esporkmonger/addressable#561\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/sporkmonger/addressable/issues/558\"\u003e#558\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/sporkmonger/addressable/pull/558\"\u003esporkmonger/addressable#558\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/sporkmonger/addressable/commit/111af8e8d3260dbd5b10a2dfec42a4e129d18705\"\u003e\u003ccode\u003e111af8e\u003c/code\u003e\u003c/a\u003e Update version, gemspec, and CHANGELOG for 2.8.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sporkmonger/addressable/commit/d923a5e9a7b20ed57199e9a37366446c7f8fde4f\"\u003e\u003ccode\u003ed923a5e\u003c/code\u003e\u003c/a\u003e Fix heading levels in README and Changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sporkmonger/addressable/commit/88f14727fffea367e3801e05f72d17f9079281a9\"\u003e\u003ccode\u003e88f1472\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 5 to 6 (\u003ca href=\"https://redirect.github.com/sporkmonger/addressable/issues/560\"\u003e#560\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sporkmonger/addressable/commit/22528139b10c9697a4790f334d9323ecc02c59fe\"\u003e\u003ccode\u003e2252813\u003c/code\u003e\u003c/a\u003e Replace the \u003ccode\u003eunicode.data\u003c/code\u003e blob by a ruby constant (\u003ca href=\"https://redirect.github.com/sporkmonger/addressable/issues/561\"\u003e#561\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sporkmonger/addressable/commit/af2d3f6e70b9551f94124e2dbab0d739127a8234\"\u003e\u003ccode\u003eaf2d3f6\u003c/code\u003e\u003c/a\u003e Allow \u003ccode\u003epublic_suffix\u003c/code\u003e v7 (\u003ca href=\"https://redirect.github.com/sporkmonger/addressable/issues/558\"\u003e#558\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sporkmonger/addressable/commit/aaa53fe23417b0bb5ce198ed081a70e70f240260\"\u003e\u003ccode\u003eaaa53fe\u003c/code\u003e\u003c/a\u003e CI: restore older rubies for \u003ccode\u003epublic_suffix\u003c/code\u003e jobs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sporkmonger/addressable/commit/49fc47477dc39f816bee25419c687e9a1f0282ef\"\u003e\u003ccode\u003e49fc474\u003c/code\u003e\u003c/a\u003e CI: fix \u003ccode\u003eprofile:template_match_memory\u003c/code\u003e task for Ruby \u0026gt;2.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sporkmonger/addressable/commit/c0f98d5f18e428a601b55f3740546293a18fc371\"\u003e\u003ccode\u003ec0f98d5\u003c/code\u003e\u003c/a\u003e CI: use latest stable ruby outside the version matrix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sporkmonger/addressable/commit/7cb10aae0353bc3c280aecaf3f62645b62c1ccce\"\u003e\u003ccode\u003e7cb10aa\u003c/code\u003e\u003c/a\u003e CI: test with modern JVM Rubies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sporkmonger/addressable/commit/dd1adcfc8368ab188526f7160c6e74fe2ef4cafa\"\u003e\u003ccode\u003edd1adcf\u003c/code\u003e\u003c/a\u003e CI: less \u003ccode\u003eubuntu-22.04\u003c/code\u003e, more \u003ccode\u003eubuntu-24.04\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sporkmonger/addressable/compare/addressable-2.8.7...addressable-2.8.8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `aws-partitions` from 1.1196.0 to 1.1212.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/aws/aws-sdk-ruby/blob/version-3/gems/aws-partitions/CHANGELOG.md\"\u003eaws-partitions's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.1212.0 (2026-02-02)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Updated the partitions source data the determines the AWS service regions and endpoints.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.1211.0 (2026-01-30)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Updated the partitions source data the determines the AWS service regions and endpoints.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.1210.0 (2026-01-27)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Updated the partitions source data the determines the AWS service regions and endpoints.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.1209.0 (2026-01-22)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Updated the partitions source data the determines the AWS service regions and endpoints.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.1208.0 (2026-01-21)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Updated the partitions source data the determines the AWS service regions and endpoints.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.1207.0 (2026-01-20)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Updated the partitions source data the determines the AWS service regions and endpoints.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.1206.0 (2026-01-16)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Updated the partitions source data the determines the AWS service regions and endpoints.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.1205.0 (2026-01-15)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Updated the partitions source data the determines the AWS service regions and endpoints.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.1204.0 (2026-01-14)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Updated the partitions source data the determines the AWS service regions and endpoints.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.1203.0 (2026-01-12)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Updated the partitions source data the determines the AWS service regions and endpoints.\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\u003eSee full diff in \u003ca href=\"https://github.com/aws/aws-sdk-ruby/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `aws-sdk-core` from 3.240.0 to 3.242.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/aws/aws-sdk-ruby/blob/version-3/gems/aws-sdk-core/CHANGELOG.md\"\u003eaws-sdk-core's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.242.0 (2026-02-02)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Include HTTP status code and body in errors whehn retrieving ECS credentials and Instance Profile credentials.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.241.4 (2026-01-16)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eIssue - Rewind IO during initialization for \u003ccode\u003eAwsChunkedTrailerDigestIO\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.241.3 (2026-01-08)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eIssue - Disable request trailer checksums when using non-HTTPs endpoints.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.241.2 (2026-01-07)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eIssue - Preserve existing Content-Encoding when applying request trailer checksum.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.241.1 (2026-01-06)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eIssue - Fix memory leak in ClockSkew retry plugin by normalizing endpoints to prevent unlimited hash growth.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.241.0 (2026-01-05)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Improved memory efficiency when calculating request checksums.\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\u003eSee full diff in \u003ca href=\"https://github.com/aws/aws-sdk-ruby/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `date` from 3.5.0 to 3.5.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/date/releases\"\u003edate's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.5.1\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRemove archaic conditions by \u003ca href=\"https://github.com/nobu\"\u003e\u003ccode\u003e@​nobu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/date/pull/144\"\u003eruby/date#144\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[DOC] Remove the name from same file references by \u003ca href=\"https://github.com/nobu\"\u003e\u003ccode\u003e@​nobu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/date/pull/147\"\u003eruby/date#147\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCall rb_gc_register_mark_object after object allocation by \u003ca href=\"https://github.com/peterzhu2118\"\u003e\u003ccode\u003e@​peterzhu2118\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/date/pull/149\"\u003eruby/date#149\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/peterzhu2118\"\u003e\u003ccode\u003e@​peterzhu2118\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/date/pull/149\"\u003eruby/date#149\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ruby/date/compare/v3.5.0...v3.5.1\"\u003ehttps://github.com/ruby/date/compare/v3.5.0...v3.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/ruby/date/commit/2b5442d85a97859a680eb4be20c6e1a28f3af282\"\u003e\u003ccode\u003e2b5442d\u003c/code\u003e\u003c/a\u003e v3.5.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/date/commit/2cd5033b42f1bdac8c2a762b854a6c1db71310d5\"\u003e\u003ccode\u003e2cd5033\u003c/code\u003e\u003c/a\u003e Reorganize page documentations (\u003ca href=\"https://redirect.github.com/ruby/date/issues/15154\"\u003e#15154\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/date/commit/b8d37ac27c9d7b2e5401c1cede0d260d7176d824\"\u003e\u003ccode\u003eb8d37ac\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/date/issues/150\"\u003e#150\u003c/a\u003e from ruby/dependabot/github_actions/step-security/har...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/date/commit/2ecd780a4761e1ef31306bf495d11b93bc0c2b1d\"\u003e\u003ccode\u003e2ecd780\u003c/code\u003e\u003c/a\u003e Bump step-security/harden-runner from 2.13.2 to 2.13.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/date/commit/184aac08653a9e9ef139ebe4c3677ff82bf3df46\"\u003e\u003ccode\u003e184aac0\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/date/issues/149\"\u003e#149\u003c/a\u003e from ruby/pz-init-register-mark-obj\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/date/commit/cbec5948e013e0f6cf7cba9a7a582eb0a92a181d\"\u003e\u003ccode\u003ecbec594\u003c/code\u003e\u003c/a\u003e Call rb_gc_register_mark_object after object allocation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/date/commit/de80b014b3ae0a883e81f988f859795222583c08\"\u003e\u003ccode\u003ede80b01\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/date/issues/148\"\u003e#148\u003c/a\u003e from ruby/dependabot/github_actions/actions/checkout-6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/date/commit/6de721a3db73fcce483782f43a5b4914f91aebea\"\u003e\u003ccode\u003e6de721a\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 5 to 6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/date/commit/e41082e068bbbe2f5c65285695c93cda794de059\"\u003e\u003ccode\u003ee41082e\u003c/code\u003e\u003c/a\u003e [DOC] Remove the name from same file references\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/date/commit/cd1c0ab38ec5b5f674664a89eac7402bccf17189\"\u003e\u003ccode\u003ecd1c0ab\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/date/issues/146\"\u003e#146\u003c/a\u003e from ruby/dependabot/github_actions/step-security/har...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby/date/compare/v3.5.0...v3.5.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `faraday-net_http` from 3.4.1 to 3.4.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/lostisland/faraday-net_http/releases\"\u003efaraday-net_http's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.4.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUse more conservative net-http version constraint by \u003ca href=\"https://github.com/RDeckard\"\u003e\u003ccode\u003e@​RDeckard\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lostisland/faraday-net_http/pull/53\"\u003elostisland/faraday-net_http#53\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/RDeckard\"\u003e\u003ccode\u003e@​RDeckard\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/lostisland/faraday-net_http/pull/53\"\u003elostisland/faraday-net_http#53\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/lostisland/faraday-net_http/compare/v3.4.1...v3.4.2\"\u003ehttps://github.com/lostisland/faraday-net_http/compare/v3.4.1...v3.4.2\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/lostisland/faraday-net_http/commit/821a73a0f1fb2fd109b3ef58312b6ee10b4f2944\"\u003e\u003ccode\u003e821a73a\u003c/code\u003e\u003c/a\u003e Update ci.yml to allow manual runs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lostisland/faraday-net_http/commit/d71af6b6da15597311c59c90a02a4fe27013fb4a\"\u003e\u003ccode\u003ed71af6b\u003c/code\u003e\u003c/a\u003e Version bump to 3.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lostisland/faraday-net_http/commit/9c90d68d674de4f1a0d24f13cf05169816773840\"\u003e\u003ccode\u003e9c90d68\u003c/code\u003e\u003c/a\u003e Use more conservative net-http version constraint (\u003ca href=\"https://redirect.github.com/lostisland/faraday-net_http/issues/53\"\u003e#53\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lostisland/faraday-net_http/commit/2047b9ab36a25b595b9f444e3b12d7661c2fa818\"\u003e\u003ccode\u003e2047b9a\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 4 to 5 (\u003ca href=\"https://redirect.github.com/lostisland/faraday-net_http/issues/51\"\u003e#51\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/lostisland/faraday-net_http/compare/v3.4.1...v3.4.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `faraday-retry` from 2.3.2 to 2.4.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/lostisland/faraday-retry/releases\"\u003efaraday-retry's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.4.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump actions/checkout from 4 to 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/lostisland/faraday-retry/pull/49\"\u003elostisland/faraday-retry#49\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/lostisland/faraday-retry/pull/50\"\u003elostisland/faraday-retry#50\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRelax \u003ccode\u003erequired_ruby_version\u003c/code\u003e to support Ruby 4.0 by \u003ca href=\"https://github.com/taketo1113\"\u003e\u003ccode\u003e@​taketo1113\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lostisland/faraday-retry/pull/51\"\u003elostisland/faraday-retry#51\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/taketo1113\"\u003e\u003ccode\u003e@​taketo1113\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/lostisland/faraday-retry/pull/51\"\u003elostisland/faraday-retry#51\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/lostisland/faraday-retry/compare/v2.3.2...v2.4.0\"\u003ehttps://github.com/lostisland/faraday-retry/compare/v2.3.2....\n\n_Description has been truncated_","html_url":"https://github.com/ubicloud/ubicloud/pull/4710","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/ubicloud%2Fubicloud/issues/4710","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/4710/packages"}},{"old_version":"2.0.17","new_version":"2.0.18","update_type":"patch","path":null,"pr_created_at":"2026-01-29T12:04:35.000Z","version_change":"2.0.17 → 2.0.18","issue":{"uuid":"3870312006","node_id":"PR_kwDOKC_6yM7AHLPP","number":531,"state":"open","title":"Bump the bundler group across 1 directory with 19 updates","user":"dependabot[bot]","labels":["dependencies","ruby"],"assignees":[],"locked":false,"comments_count":4,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-01-29T12:04:35.000Z","updated_at":"2026-01-30T12:01:04.193Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"bundler","update_count":19,"packages":[{"name":"rails","old_version":"8.1.0","new_version":"8.1.2","repository_url":"https://github.com/rails/rails"},{"name":"pg","old_version":"1.6.2","new_version":"1.6.3","repository_url":"https://github.com/ged/ruby-pg"},{"name":"puma","old_version":"7.1.0","new_version":"7.2.0","repository_url":"https://github.com/puma/puma"},{"name":"bootsnap","old_version":"1.18.6","new_version":"1.21.1","repository_url":"https://github.com/rails/bootsnap"},{"name":"alba","old_version":"3.9.1","new_version":"3.10.0","repository_url":"https://github.com/okuramasafumi/alba"},{"name":"aws-sdk-s3","old_version":"1.209.0","new_version":"1.213.0","repository_url":"https://github.com/aws/aws-sdk-ruby"},{"name":"httparty","old_version":"0.24.0","new_version":"0.24.2","repository_url":"https://github.com/jnunemaker/httparty"},{"name":"oauth2","old_version":"2.0.17","new_version":"2.0.18","repository_url":"https://github.com/ruby-oauth/oauth2"},{"name":"prometheus_exporter","old_version":"2.3.0","new_version":"2.3.1","repository_url":"https://github.com/discourse/prometheus_exporter"},{"name":"sentry-rails","old_version":"5.28.1","new_version":"6.3.0","repository_url":"https://github.com/getsentry/sentry-ruby"},{"name":"sidekiq","old_version":"8.0.8","new_version":"8.0.10","repository_url":"https://github.com/sidekiq/sidekiq"},{"name":"connection_pool","old_version":"2.5.4","new_version":"3.0.2","repository_url":"https://github.com/mperham/connection_pool"},{"name":"with_advisory_lock","old_version":"7.0.2","new_version":"7.5.0","repository_url":"https://github.com/ClosureTree/with_advisory_lock"},{"name":"debug","old_version":"1.11.0","new_version":"1.11.1","repository_url":"https://github.com/ruby/debug"},{"name":"dotenv-rails","old_version":"3.1.8","new_version":"3.2.0","repository_url":"https://github.com/bkeepers/dotenv"},{"name":"rubocop-govuk","old_version":"5.1.20","new_version":"5.2.0","repository_url":"https://github.com/alphagov/rubocop-govuk"},{"name":"rubocop-performance","old_version":"1.26.0","new_version":"1.26.1","repository_url":"https://github.com/rubocop/rubocop-performance"},{"name":"webmock","old_version":"3.25.1","new_version":"3.26.1","repository_url":"https://github.com/bblimke/webmock"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps the bundler group with 18 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [rails](https://github.com/rails/rails) | `8.1.0` | `8.1.2` |\n| [pg](https://github.com/ged/ruby-pg) | `1.6.2` | `1.6.3` |\n| [puma](https://github.com/puma/puma) | `7.1.0` | `7.2.0` |\n| [bootsnap](https://github.com/rails/bootsnap) | `1.18.6` | `1.21.1` |\n| [alba](https://github.com/okuramasafumi/alba) | `3.9.1` | `3.10.0` |\n| [aws-sdk-s3](https://github.com/aws/aws-sdk-ruby) | `1.209.0` | `1.213.0` |\n| [httparty](https://github.com/jnunemaker/httparty) | `0.24.0` | `0.24.2` |\n| [oauth2](https://github.com/ruby-oauth/oauth2) | `2.0.17` | `2.0.18` |\n| [prometheus_exporter](https://github.com/discourse/prometheus_exporter) | `2.3.0` | `2.3.1` |\n| [sentry-rails](https://github.com/getsentry/sentry-ruby) | `5.28.1` | `6.3.0` |\n| [sidekiq](https://github.com/sidekiq/sidekiq) | `8.0.8` | `8.0.10` |\n| [connection_pool](https://github.com/mperham/connection_pool) | `2.5.4` | `3.0.2` |\n| [with_advisory_lock](https://github.com/ClosureTree/with_advisory_lock) | `7.0.2` | `7.5.0` |\n| [debug](https://github.com/ruby/debug) | `1.11.0` | `1.11.1` |\n| [dotenv-rails](https://github.com/bkeepers/dotenv) | `3.1.8` | `3.2.0` |\n| [rubocop-govuk](https://github.com/alphagov/rubocop-govuk) | `5.1.20` | `5.2.0` |\n| [rubocop-performance](https://github.com/rubocop/rubocop-performance) | `1.26.0` | `1.26.1` |\n| [webmock](https://github.com/bblimke/webmock) | `3.25.1` | `3.26.1` |\n\n\nUpdates `rails` from 8.1.0 to 8.1.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003erails's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.1.2\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eMake \u003ccode\u003edelegate\u003c/code\u003e and \u003ccode\u003edelegate_missing_to\u003c/code\u003e work in BasicObject subclasses.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix Inflectors when using a locale that fallbacks to \u003ccode\u003e:en\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eSaid Kaldybaev\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eActiveSupport::TimeWithZone#as_json\u003c/code\u003e to consistently return UTF-8 strings.\u003c/p\u003e\n\u003cp\u003ePreviously the returned string would sometime be encoded in US-ASCII, which in\nsome cases may be problematic.\u003c/p\u003e\n\u003cp\u003eNow the method consistently always return UTF-8 strings.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eJean Boussier\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eTimeWithZone#xmlschema\u003c/code\u003e when wrapping a \u003ccode\u003eDateTime\u003c/code\u003e instance in local time.\u003c/p\u003e\n\u003cp\u003ePreviously it would return an invalid time.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eDmytro Rymar\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eImplement LocalCache strategy on \u003ccode\u003eActiveSupport::Cache::MemoryStore\u003c/code\u003e. The memory store\nneeds to respond to the same interface as other cache stores (e.g. \u003ccode\u003eActiveSupport::NullStore\u003c/code\u003e).\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eMikey Gough\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eActiveSupport::Inflector.humanize\u003c/code\u003e with international characters.\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eActiveSupport::Inflector.humanize(\u0026quot;áÉÍÓÚ\u0026quot;)  # =\u0026gt; \u0026quot;Áéíóú\u0026quot;\nActiveSupport::Inflector.humanize(\u0026quot;аБВГДЕ\u0026quot;) # =\u0026gt; \u0026quot;Абвгде\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003cem\u003eJose Luis Duran\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Record\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix counting cached queries in \u003ccode\u003eActiveRecord::RuntimeRegistry\u003c/code\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/rails/rails/commit/d7c8ae65b7045490965218a994c300aea8dbb079\"\u003e\u003ccode\u003ed7c8ae6\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.2 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/695ac6d83e14d85c131dc4bbad04e9d9cd22676c\"\u003e\u003ccode\u003e695ac6d\u003c/code\u003e\u003c/a\u003e Update Gemfile.lock\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/01263f18e8cd1f9443fe50940682b89ad862450e\"\u003e\u003ccode\u003e01263f1\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56512\"\u003e#56512\u003c/a\u003e from byroot/remove-minitest-ci\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/3ea2701a15ac253fc6b87b0034a87e3abcb3d3e5\"\u003e\u003ccode\u003e3ea2701\u003c/code\u003e\u003c/a\u003e CHANGELOG sync\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/d3fe83ff97d86480103c8757f055f6903612505b\"\u003e\u003ccode\u003ed3fe83f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56541\"\u003e#56541\u003c/a\u003e from rails/remove-system-test-from-default-ci-template\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/528351457f6aa2a472c22b6cf481bea7d2621e0b\"\u003e\u003ccode\u003e5283514\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56012\"\u003e#56012\u003c/a\u003e from jmalcic/restore-default-adc-for-gcs-iam-client\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/53e82ef8a931d4b6d01b9240ea6e486b31e14d61\"\u003e\u003ccode\u003e53e82ef\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56534\"\u003e#56534\u003c/a\u003e from khasinski/fix-sqlite3-schema-dump-default-nil\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/d2509f864aed30800b9e6d305831a62c825033a5\"\u003e\u003ccode\u003ed2509f8\u003c/code\u003e\u003c/a\u003e Allow backburner warning\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/8c48fd1c1e0a66217e03fe227197dd7b8ff0fc3c\"\u003e\u003ccode\u003e8c48fd1\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56535\"\u003e#56535\u003c/a\u003e from eglitobias/8-1-stable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/adcface26aae1018cdfe87610f85c87508b52865\"\u003e\u003ccode\u003eadcface\u003c/code\u003e\u003c/a\u003e Fix PostgreSQL schema_search_path after reconnect and reset\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/rails/compare/v8.1.0...v8.1.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pg` from 1.6.2 to 1.6.3\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ged/ruby-pg/blob/master/CHANGELOG.md\"\u003epg's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.6.3 [2025-12-29] Lars Kanis \u003ca href=\"mailto:lars@greiz-reinsdorf.de\"\u003elars@greiz-reinsdorf.de\u003c/a\u003e\u003c/h2\u003e\n\u003cp\u003eAdded:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd binary gems for ruby-4.0, now providing ruby-3.0 to 4.0. \u003ca href=\"https://redirect.github.com/ged/ruby-pg/issues/682\"\u003e#682\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate fat binary gem to OpenSSL-3.6.0 and PostgreSQL-18.1.\u003c/li\u003e\n\u003cli\u003eImprove documentation of PG::Result and README. \u003ca href=\"https://redirect.github.com/ged/ruby-pg/issues/676\"\u003e#676\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate errorcodes to PostgreSQL-18.\u003c/li\u003e\n\u003cli\u003eUse \u003ccode\u003erb_hash_new_capa\u003c/code\u003e on Ruby-3.2+ . \u003ca href=\"https://redirect.github.com/ged/ruby-pg/issues/674\"\u003e#674\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDeny any server communication on a frozen PG::Connection . \u003ca href=\"https://redirect.github.com/ged/ruby-pg/issues/677\"\u003e#677\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix possible race condition in PG::Result in Ractor context. \u003ca href=\"https://redirect.github.com/ged/ruby-pg/issues/674\"\u003e#674\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eRemoved:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDrop binary gem support for platform \u003ccode\u003ex86-mingw32\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/ged/ruby-pg/issues/682\"\u003e#682\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDrop binary gems for ruby-2.7.\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/ged/ruby-pg/commit/d4539c25dcc89d47088e1423f8d1915c041920f5\"\u003e\u003ccode\u003ed4539c2\u003c/code\u003e\u003c/a\u003e Bump VERSION to pg-1.6.3 and add release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ged/ruby-pg/commit/720900dbb9d16aa855793146f15c3772e14f627a\"\u003e\u003ccode\u003e720900d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ged/ruby-pg/issues/682\"\u003e#682\u003c/a\u003e from larskanis/ruby-4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ged/ruby-pg/commit/f605b5937093884089109c8baa5fe268fc513eaf\"\u003e\u003ccode\u003ef605b59\u003c/code\u003e\u003c/a\u003e Remove x86-mingw32 from binary builds\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ged/ruby-pg/commit/5c690006ba158da70d73d939a233cf75ecdd30ef\"\u003e\u003ccode\u003e5c69000\u003c/code\u003e\u003c/a\u003e Update to ruby-4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ged/ruby-pg/commit/2acaf3d0f76334e056229efe260e1f558a8c6b42\"\u003e\u003ccode\u003e2acaf3d\u003c/code\u003e\u003c/a\u003e CI: workaround missing ruby-4.0 on Window\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ged/ruby-pg/commit/b500ded81127963603e1f724e82bed649c9ca8a1\"\u003e\u003ccode\u003eb500ded\u003c/code\u003e\u003c/a\u003e fix comment\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ged/ruby-pg/commit/bc3f2f8b1110e9bcb225d65554e1a7fc842d0506\"\u003e\u003ccode\u003ebc3f2f8\u003c/code\u003e\u003c/a\u003e CI: Macos-13 on Intel is deprecated\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ged/ruby-pg/commit/77667eb4313bd7b79356f402b0fa7fba409483b8\"\u003e\u003ccode\u003e77667eb\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ged/ruby-pg/issues/678\"\u003e#678\u003c/a\u003e from larskanis/ci-update\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ged/ruby-pg/commit/6e52ce504d05c5359d55f45d9580672103263b54\"\u003e\u003ccode\u003e6e52ce5\u003c/code\u003e\u003c/a\u003e CI: Update PostgreSQL on Macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ged/ruby-pg/commit/6d40f50e51a037022495fe6d98181435652464ff\"\u003e\u003ccode\u003e6d40f50\u003c/code\u003e\u003c/a\u003e CI: Print mkmf.log on failure on Macos\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ged/ruby-pg/compare/v1.6.2...v1.6.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `puma` from 7.1.0 to 7.2.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/puma/puma/releases\"\u003epuma's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev7.2.0\u003c/h2\u003e\n\u003ch2\u003e7.2.0 On The Corner\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFeatures\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd workers \u003ccode\u003e:auto\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3827\"\u003e#3827\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMake it possible to restrict control server commands to stats (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3787\"\u003e#3787\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eBugfixes\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDon't break if \u003ccode\u003eWEB_CONCURRENCY\u003c/code\u003e is set to a blank string (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3837\"\u003e#3837\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDon't share server between worker 0 and descendants on refork (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3602\"\u003e#3602\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix phase check race condition in \u003ccode\u003ePuma::Cluster#check_workers\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3690\"\u003e#3690\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix advertising of CLI config before config files are loaded (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3823\"\u003e#3823\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003ePerformance\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e17% faster HTTP parsing through pre-interning env keys (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3825\"\u003e#3825\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImplement \u003ccode\u003edsize\u003c/code\u003e and \u003ccode\u003edcompact\u003c/code\u003e functions for \u003ccode\u003ePuma::HttpParser\u003c/code\u003e, which makes Puma's C-extension GC-compactible (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3828\"\u003e#3828\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRefactor\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRemove \u003ccode\u003eNoMethodError\u003c/code\u003e rescue in \u003ccode\u003eReactor#select_loop\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3831\"\u003e#3831\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eVarious cleanups in the C extension (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3814\"\u003e#3814\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMonomorphize \u003ccode\u003ehandle_request\u003c/code\u003e return (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3802\"\u003e#3802\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDocs\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eChange link to \u003ccode\u003edocs/deployment.md\u003c/code\u003e in \u003ccode\u003eREADME.md\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3848\"\u003e#3848\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix formatting for each signal description in signals.md (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3813\"\u003e#3813\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate deployment and Kubernetes docs with Puma configuration tips (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3807\"\u003e#3807\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRename master to main (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3809\"\u003e#3809\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/puma/puma/issues/3808\"\u003e#3808\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/puma/puma/issues/3800\"\u003e#3800\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix some minor typos in the docs (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3804\"\u003e#3804\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eGOVERNANCE.md\u003c/code\u003e, \u003ccode\u003eMAINTAINERS\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3826\"\u003e#3826\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove Code Climate badge (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3820\"\u003e#3820\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ca href=\"https://github.com/joshuay03\"\u003e\u003ccode\u003e@​joshuay03\u003c/code\u003e\u003c/a\u003e to the maintainer list\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eCI\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUse Minitest 6 where applicable (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3859\"\u003e#3859\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMany test suite improvements and flake fixes (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3861\"\u003e#3861\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/puma/puma/issues/3863\"\u003e#3863\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/puma/puma/issues/3860\"\u003e#3860\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/puma/puma/issues/3852\"\u003e#3852\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/puma/puma/issues/3857\"\u003e#3857\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/puma/puma/issues/3856\"\u003e#3856\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/puma/puma/issues/3845\"\u003e#3845\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/puma/puma/issues/3843\"\u003e#3843\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/puma/puma/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/puma/puma/issues/3841\"\u003e#3841\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/puma/puma/issues/3822\"\u003e#3822\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/puma/puma/issues/3817\"\u003e#3817\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/puma/puma/issues/3764\"\u003e#3764\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\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/moozzi\"\u003e\u003ccode\u003e@​moozzi\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/puma/puma/pull/3848\"\u003epuma/puma#3848\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ybiquitous\"\u003e\u003ccode\u003e@​ybiquitous\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/puma/puma/pull/3813\"\u003epuma/puma#3813\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrafanie\"\u003e\u003ccode\u003e@​jrafanie\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/puma/puma/pull/3804\"\u003epuma/puma#3804\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/puma/puma/compare/v7.1.0...v7.2.0\"\u003ehttps://github.com/puma/puma/compare/v7.1.0...v7.2.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/puma/puma/blob/main/History.md\"\u003epuma's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e7.2.0 / 2026-01-20\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFeatures\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd workers \u003ccode\u003e:auto\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3827\"\u003e#3827\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMake it possible to restrict control server commands to stats (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3787\"\u003e#3787\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eBugfixes\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDon't break if \u003ccode\u003eWEB_CONCURRENCY\u003c/code\u003e is set to a blank string (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3837\"\u003e#3837\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDon't share server between worker 0 and descendants on refork (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3602\"\u003e#3602\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix phase check race condition in \u003ccode\u003ePuma::Cluster#check_workers\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3690\"\u003e#3690\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix advertising of CLI config before config files are loaded (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3823\"\u003e#3823\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003ePerformance\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e17% faster HTTP parsing through pre-interning env keys (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3825\"\u003e#3825\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImplement \u003ccode\u003edsize\u003c/code\u003e and \u003ccode\u003edcompact\u003c/code\u003e functions for \u003ccode\u003ePuma::HttpParser\u003c/code\u003e, which makes Puma's C-extension GC-compactible (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3828\"\u003e#3828\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRefactor\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRemove \u003ccode\u003eNoMethodError\u003c/code\u003e rescue in \u003ccode\u003eReactor#select_loop\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3831\"\u003e#3831\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eVarious cleanups in the C extension (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3814\"\u003e#3814\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMonomorphize \u003ccode\u003ehandle_request\u003c/code\u003e return (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3802\"\u003e#3802\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDocs\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eChange link to \u003ccode\u003edocs/deployment.md\u003c/code\u003e in \u003ccode\u003eREADME.md\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3848\"\u003e#3848\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix formatting for each signal description in signals.md (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3813\"\u003e#3813\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate deployment and Kubernetes docs with Puma configuration tips (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3807\"\u003e#3807\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRename master to main (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3809\"\u003e#3809\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/puma/puma/issues/3808\"\u003e#3808\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/puma/puma/issues/3800\"\u003e#3800\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix some minor typos in the docs (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3804\"\u003e#3804\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eGOVERNANCE.md\u003c/code\u003e, \u003ccode\u003eMAINTAINERS\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3826\"\u003e#3826\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove Code Climate badge (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3820\"\u003e#3820\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ca href=\"https://github.com/joshuay03\"\u003e\u003ccode\u003e@​joshuay03\u003c/code\u003e\u003c/a\u003e to the maintainer list\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eCI\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUse Minitest 6 where applicable (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3859\"\u003e#3859\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMany test suite improvements and flake fixes (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3861\"\u003e#3861\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/puma/puma/issues/3863\"\u003e#3863\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/puma/puma/issues/3860\"\u003e#3860\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/puma/puma/issues/3852\"\u003e#3852\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/puma/puma/issues/3857\"\u003e#3857\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/puma/puma/issues/3856\"\u003e#3856\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/puma/puma/issues/3845\"\u003e#3845\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/puma/puma/issues/3843\"\u003e#3843\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/puma/puma/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/puma/puma/issues/3841\"\u003e#3841\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/puma/puma/issues/3822\"\u003e#3822\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/puma/puma/issues/3817\"\u003e#3817\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/puma/puma/issues/3764\"\u003e#3764\u003c/a\u003e)\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/puma/puma/commit/96b5aa63e0599e8adf971ceb57efa3cc5663f8a9\"\u003e\u003ccode\u003e96b5aa6\u003c/code\u003e\u003c/a\u003e v7.2.0 (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3864\"\u003e#3864\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/5d7d1ddb266d52abfd96d763a4870af2c3ce9d1a\"\u003e\u003ccode\u003e5d7d1dd\u003c/code\u003e\u003c/a\u003e Add workers :auto (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3827\"\u003e#3827\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/b8c4783cc1ed24300b4b940c57a5dd970db99369\"\u003e\u003ccode\u003eb8c4783\u003c/code\u003e\u003c/a\u003e ci: fix ci - remove \u003ccode\u003eappend_as_bytes\u003c/code\u003e logic, misc changes (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3861\"\u003e#3861\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/44a3ac43a71ea1344e739275b9f55708f9e496ee\"\u003e\u003ccode\u003e44a3ac4\u003c/code\u003e\u003c/a\u003e Fix PR label manager when maintainer comments [ci skip] (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3863\"\u003e#3863\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/43f5d8935ea85d19e98459294114b31196276bc1\"\u003e\u003ccode\u003e43f5d89\u003c/code\u003e\u003c/a\u003e Add GOVERNANCE.md, MAINTAINERS (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3826\"\u003e#3826\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/21afa66798c46212ef392085cb1825c74d107810\"\u003e\u003ccode\u003e21afa66\u003c/code\u003e\u003c/a\u003e Use Minitest 6 where applicable (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3859\"\u003e#3859\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/ec7dd61cf9c5e9ec58f356ca2e32e90602de094c\"\u003e\u003ccode\u003eec7dd61\u003c/code\u003e\u003c/a\u003e ci: Update test_http11.rb for TruffleRuby - string size (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3860\"\u003e#3860\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/fa89dbe1ce8dd8f3159363f30cecaf4338583b2c\"\u003e\u003ccode\u003efa89dbe\u003c/code\u003e\u003c/a\u003e ci: add \u003ccode\u003eruby 4.0\u003c/code\u003e and \u003ccode\u003erails 8.1\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3852\"\u003e#3852\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/98ff11d220b53d7e5c3dc3e4246e66e75284ed7b\"\u003e\u003ccode\u003e98ff11d\u003c/code\u003e\u003c/a\u003e Fix flaky test test_horrible_queries (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3857\"\u003e#3857\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/da162d7b2b87b978d8bbd6d0d1ccde69ce1735da\"\u003e\u003ccode\u003eda162d7\u003c/code\u003e\u003c/a\u003e ci: fix tests.yml (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3856\"\u003e#3856\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/puma/puma/compare/v7.1.0...v7.2.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `bootsnap` from 1.18.6 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/rails/bootsnap/releases\"\u003ebootsnap's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.20.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eHandle broken symlinks in load path scanning code.\nShould fix \u003ccode\u003eErrno::ENOENT fstatat\u003c/code\u003e issues some users have encountered after upgrading to 1.20.0.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/rails/bootsnap/compare/v1.20.0...v1.20.1\"\u003ehttps://github.com/rails/bootsnap/compare/v1.20.0...v1.20.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.20.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eOptimized load path scanning with a C extension. Should be about 2x faster on supported platforms.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/rails/bootsnap/compare/v1.19.0...v1.20.0\"\u003ehttps://github.com/rails/bootsnap/compare/v1.19.0...v1.20.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/rails/bootsnap/blob/main/CHANGELOG.md\"\u003ebootsnap's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e1.21.1\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003ePrevent a Ruby crash while scanning load path if \u003ccode\u003eopendir\u003c/code\u003e fails without setting \u003ccode\u003eerrno\u003c/code\u003e.\nAccording to the C spec this should not happen, but according to user reports, it did.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e1.21.0\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eFix the \u003ccode\u003erequire\u003c/code\u003e decorator to handle \u003ccode\u003eBootsnap.unload_cache!\u003c/code\u003e being called.\u003c/li\u003e\n\u003cli\u003eMinor optimization: Eagerly clear cache buffers to appease the GC.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e1.20.1\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eHandle broken symlinks in load path scanning code.\nShould fix \u003ccode\u003eErrno::ENOENT fstatat\u003c/code\u003e issues some users have encountered after upgrading to 1.20.0.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e1.20.0\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eOptimized load path scanning with a C extension. Should be about 2x faster on supported platforms.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e1.19.0\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eRemove JSON parsing cache. Recent versions of the \u003ccode\u003ejson\u003c/code\u003e gem are as fast as \u003ccode\u003emsgpack\u003c/code\u003e if not faster.\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/rails/bootsnap/commit/182a80984302f2354f154016a113f17dd7bbf76c\"\u003e\u003ccode\u003e182a809\u003c/code\u003e\u003c/a\u003e Release 1.21.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/1e59365c057d670e1c32e51c50f3f818c7389e8f\"\u003e\u003ccode\u003e1e59365\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/bootsnap/issues/522\"\u003e#522\u003c/a\u003e from byroot/improve-scandir\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/a2ff4b8927a9ad8df138d558162edb8a5239f792\"\u003e\u003ccode\u003ea2ff4b8\u003c/code\u003e\u003c/a\u003e Fallback to pure the pure ruby path scanner on unexpected error\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/6003c143ee66d607ecaeb316c690947ed81beb1d\"\u003e\u003ccode\u003e6003c14\u003c/code\u003e\u003c/a\u003e Avoid crashing when \u003ccode\u003eopendir\u003c/code\u003e fails without setting \u003ccode\u003eerrno\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/92edbf7ef8c8c26277884fb5d373c1a1fa0743fd\"\u003e\u003ccode\u003e92edbf7\u003c/code\u003e\u003c/a\u003e Release 1.21.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/f4908947b6718c788cd8e44d16b480cfe23275c0\"\u003e\u003ccode\u003ef490894\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/bootsnap/issues/520\"\u003e#520\u003c/a\u003e from byroot/handle-unload\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/4a559a0db625369bd189c89ea3f3465e6548ed01\"\u003e\u003ccode\u003e4a559a0\u003c/code\u003e\u003c/a\u003e Fix the \u003ccode\u003erequire\u003c/code\u003e decorator to handle \u003ccode\u003eBootsnap.unload_cache!\u003c/code\u003e being called\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/417dd84ee30bbe172c6af84c876f73843ebcd413\"\u003e\u003ccode\u003e417dd84\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/bootsnap/issues/518\"\u003e#518\u003c/a\u003e from byroot/clear-buffers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/7d57a706ce72a11ec928e201093bd3e4d2f868b7\"\u003e\u003ccode\u003e7d57a70\u003c/code\u003e\u003c/a\u003e Eagerly clear cache buffers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/018fcb8fb4cc8d4593766d37be85f0c19cc5b91a\"\u003e\u003ccode\u003e018fcb8\u003c/code\u003e\u003c/a\u003e Add Ruby 4.0 to the CI matrix\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/bootsnap/compare/v1.18.6...v1.21.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `alba` from 3.9.1 to 3.10.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/okuramasafumi/alba/releases\"\u003ealba's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.10.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e[Feat] Enable type definition for \u003ccode\u003eattribute\u003c/code\u003e by \u003ca href=\"https://github.com/okuramasafumi\"\u003e\u003ccode\u003e@​okuramasafumi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/okuramasafumi/alba/pull/470\"\u003eokuramasafumi/alba#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/okuramasafumi/alba/pull/471\"\u003eokuramasafumi/alba#471\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump rubygems/release-gem from 1.1.1 to 1.1.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/okuramasafumi/alba/pull/474\"\u003eokuramasafumi/alba#474\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix hash object resource methods by \u003ca href=\"https://github.com/jkmcrg\"\u003e\u003ccode\u003e@​jkmcrg\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/okuramasafumi/alba/pull/475\"\u003eokuramasafumi/alba#475\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump step-security/harden-runner from 2.13.1 to 2.13.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/okuramasafumi/alba/pull/476\"\u003eokuramasafumi/alba#476\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/jkmcrg\"\u003e\u003ccode\u003e@​jkmcrg\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/okuramasafumi/alba/pull/475\"\u003eokuramasafumi/alba#475\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/okuramasafumi/alba/compare/v3.9.1...v3.10.0\"\u003ehttps://github.com/okuramasafumi/alba/compare/v3.9.1...v3.10.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/okuramasafumi/alba/blob/main/CHANGELOG.md\"\u003ealba's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.10.0 2025-11-11\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSupport type validation and coercion for a single attribute method \u003ca href=\"https://redirect.github.com/okuramasafumi/alba/pull/470\"\u003e#470\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003eThank you \u003ca href=\"https://github.com/denblackstache\"\u003e\u003ccode\u003e@​denblackstache\u003c/code\u003e\u003c/a\u003e for requesting the feature\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eFix hash object resource methods \u003ca href=\"https://redirect.github.com/okuramasafumi/alba/pull/475\"\u003e#475\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003eThank you, \u003ca href=\"https://github.com/jkmcrg\"\u003e\u003ccode\u003e@​jkmcrg\u003c/code\u003e\u003c/a\u003e\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/okuramasafumi/alba/commit/5c5f9fb69f754ebb530510736d97e04ca8f30af5\"\u003e\u003ccode\u003e5c5f9fb\u003c/code\u003e\u003c/a\u003e [Release] Bump version to 3.10.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/okuramasafumi/alba/commit/eae8d27af9eccab7e39718f05f3b0b3ae6922685\"\u003e\u003ccode\u003eeae8d27\u003c/code\u003e\u003c/a\u003e [Release] Keep a changelog for version 3.10.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/okuramasafumi/alba/commit/bf4ef12d7efb9462630489669b9d5c764b18f4b6\"\u003e\u003ccode\u003ebf4ef12\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/okuramasafumi/alba/issues/476\"\u003e#476\u003c/a\u003e from okuramasafumi/dependabot/github_actions/step-sec...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/okuramasafumi/alba/commit/bfcb7d03495aed2e90d47f4a772ced78caef5ec4\"\u003e\u003ccode\u003ebfcb7d0\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/okuramasafumi/alba/issues/475\"\u003e#475\u003c/a\u003e from jkmcrg/fix-hash-object-resource-methods\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/okuramasafumi/alba/commit/5cb24dfccc9a3baa0cb7b8880dc6c9b6dd42d63e\"\u003e\u003ccode\u003e5cb24df\u003c/code\u003e\u003c/a\u003e Bump step-security/harden-runner from 2.13.1 to 2.13.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/okuramasafumi/alba/commit/f0c8b2aa04b4903a2a615a805b77ed85223925ef\"\u003e\u003ccode\u003ef0c8b2a\u003c/code\u003e\u003c/a\u003e [Fix] Rescue key error on hash indexing to delegate to resource method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/okuramasafumi/alba/commit/eb0a1970e058b233c4f5f25df0e51b96785092e0\"\u003e\u003ccode\u003eeb0a197\u003c/code\u003e\u003c/a\u003e [Fix] Add test for serializing a hash with a resource method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/okuramasafumi/alba/commit/674dbade95a5e9b6f538144731ffff1086e695b7\"\u003e\u003ccode\u003e674dbad\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/okuramasafumi/alba/issues/474\"\u003e#474\u003c/a\u003e from okuramasafumi/dependabot/github_actions/rubygems...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/okuramasafumi/alba/commit/77ada319c72b8d9b504400b80af14fd7bd433589\"\u003e\u003ccode\u003e77ada31\u003c/code\u003e\u003c/a\u003e Bump rubygems/release-gem from 1.1.1 to 1.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/okuramasafumi/alba/commit/09db9c2a0e0c390e5a1af88ddc946e8912234dcb\"\u003e\u003ccode\u003e09db9c2\u003c/code\u003e\u003c/a\u003e [Chore] Update GitHub Sponsors username in FUNDING.yml\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/okuramasafumi/alba/compare/v3.9.1...v3.10.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `aws-sdk-s3` from 1.209.0 to 1.213.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/aws/aws-sdk-ruby/blob/version-3/gems/aws-sdk-s3/CHANGELOG.md\"\u003eaws-sdk-s3's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.213.0 (2026-01-28)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Adds support for the UpdateObjectEncryption API to change the server-side encryption type of objects in general purpose buckets.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.212.0 (2026-01-16)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Code Generated Changes, see \u003ccode\u003e./build_tools\u003c/code\u003e or \u003ccode\u003eaws-sdk-core\u003c/code\u003e's CHANGELOG.md for details.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.211.0 (2026-01-08)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFeature - Code Generated Changes, see \u003ccode\u003e./build_tools\u003c/code\u003e or \u003ccode\u003eaws-sdk-core\u003c/code\u003e's CHANGELOG.md for details.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eIssue - Falls back to header request checksums when using custom endpoints or endpoint providers for PutObject and UploadPart operations.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.210.1 (2026-01-06)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eIssue - Normalize response encoding to UTF-8 for proper XML error parsing in HTTP 200 responses.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.210.0 (2026-01-05)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFeature - Code Generated Changes, see \u003ccode\u003e./build_tools\u003c/code\u003e or \u003ccode\u003eaws-sdk-core\u003c/code\u003e's CHANGELOG.md for details.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFeature - Added \u003ccode\u003e:http_chunk_size\u003c/code\u003e parameter to \u003ccode\u003eTransferManager#upload_file\u003c/code\u003e to control the buffer size when streaming request bodies over HTTP. Larger chunk sizes may improve network throughput at the cost of higher memory usage (Ruby MRI only).\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFeature - Improved memory efficiency when calculating request checksums for large file uploads (Ruby MRI only).\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\u003eSee full diff in \u003ca href=\"https://github.com/aws/aws-sdk-ruby/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `httparty` from 0.24.0 to 0.24.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jnunemaker/httparty/releases\"\u003ehttparty's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.24.2\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/jnunemaker/httparty/compare/v0.24.1...v0.24.2\"\u003ehttps://github.com/jnunemaker/httparty/compare/v0.24.1...v0.24.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eStreaming uploads are now opt-in - The streaming multipart upload feature introduced in 0.24.0 caused compatibility issues with some servers (returning 400 errors). Streaming is now disabled by default to preserve backwards compatibility. Enable it explicitly with stream_body: true for memory-efficient large file uploads. (\u003ca href=\"https://redirect.github.com/jnunemaker/httparty/issues/832\"\u003e#832\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eExample\u003c/h2\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003e# Default behavior (buffered, compatible with all servers)\nHTTParty.post('http://example.com/upload', body: { file: File.open('large.zip') })\n\u003ch1\u003eOpt-in to streaming for large files (reduced memory usage)\u003c/h1\u003e\n\u003cp\u003eHTTParty.post('\u003ca href=\"http://example.com/upload\"\u003ehttp://example.com/upload\u003c/a\u003e', body: { file: File.open('large.zip') }, stream_body: true)\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003ch2\u003ev0.24.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd trailing clrf when building header for non-file parts. by \u003ca href=\"https://github.com/serixscorpio\"\u003e\u003ccode\u003e@​serixscorpio\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jnunemaker/httparty/pull/833\"\u003ejnunemaker/httparty#833\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/serixscorpio\"\u003e\u003ccode\u003e@​serixscorpio\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/jnunemaker/httparty/pull/833\"\u003ejnunemaker/httparty#833\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/jnunemaker/httparty/compare/v0.24.0...v0.24.1\"\u003ehttps://github.com/jnunemaker/httparty/compare/v0.24.0...v0.24.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/jnunemaker/httparty/commit/9c89e55ce3578b393e17b2928acab5b5f941e808\"\u003e\u003ccode\u003e9c89e55\u003c/code\u003e\u003c/a\u003e fix: make streaming uploads opt-in for backwards compatibility\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jnunemaker/httparty/commit/906aab0de3d41129c0003f582f57fd30b970056a\"\u003e\u003ccode\u003e906aab0\u003c/code\u003e\u003c/a\u003e Release 0.24.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jnunemaker/httparty/commit/06d436383ca50aeee7621ed186427b2b6d59cefb\"\u003e\u003ccode\u003e06d4363\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/jnunemaker/httparty/issues/833\"\u003e#833\u003c/a\u003e from serixscorpio/fix-stream-multipart-non-file-header\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jnunemaker/httparty/commit/51cc6b9073fb174f1d36d9e9925440bd362d9ef1\"\u003e\u003ccode\u003e51cc6b9\u003c/code\u003e\u003c/a\u003e fix: freeze time in logstash formatter test to prevent flaky failures\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jnunemaker/httparty/commit/bbc4658b8f517969891026365a6434bdfdfe53ae\"\u003e\u003ccode\u003ebbc4658\u003c/code\u003e\u003c/a\u003e Add trailing clrf when building header for non-file parts.\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/jnunemaker/httparty/compare/v0.24.0...v0.24.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `oauth2` from 2.0.17 to 2.0.18\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby-oauth/oauth2/releases\"\u003eoauth2's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.0.18\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/compare/v2.0.17...v2.0.18\"\u003e2.0.18\u003c/a\u003e - 2025-11-08\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eTAG: \u003ca href=\"https://github.com/ruby-oauth/oauth2/releases/tag/v2.0.18\"\u003ev2.0.18\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCOVERAGE: 100.00% -- 526/526 lines in 14 files\u003c/li\u003e\n\u003cli\u003eBRANCH COVERAGE: 100.00% -- 178/178 branches in 14 files\u003c/li\u003e\n\u003cli\u003e90.48% documented\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/683\"\u003egh!683\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/684\"\u003egh!684\u003c/a\u003e - Improve documentation by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/686\"\u003egh!686\u003c/a\u003e- Add Incident Response Plan by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/687\"\u003egh!687\u003c/a\u003e- Add Threat Model by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/685\"\u003egh!685\u003c/a\u003e - upgrade kettle-dev v1.1.24 by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eupgrade kettle-dev v1.1.52 by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003eAdd open collective donors to README\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/690\"\u003egh!690\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/691\"\u003egh!691\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/692\"\u003egh!692\u003c/a\u003e - Add yard-fence\n\u003cul\u003e\n\u003cli\u003ehandle braces within code fences in markdown properly by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cp\u003eOfficial Discord 👉️ [![Live Chat on Discord][✉️discord-invite-img]][✉️discord-invite]\u003c/p\u003e\n\u003cp\u003eMany paths lead to being a sponsor or a backer of this project. Are you on such a path?\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://opencollective.com/ruby-oauth#backer\"\u003e![OpenCollective Backers][🖇osc-backers-i]\u003c/a\u003e [![OpenCollective Sponsors][🖇osc-sponsors-i]][🖇osc-sponsors] [![Sponsor Me on Github][🖇sponsor-img]][🖇sponsor] \u003ca href=\"https://liberapay.com/pboling/donate\"\u003e\u003cimg src=\"https://img.shields.io/liberapay/goal/pboling.svg?logo=liberapay\u0026amp;color=a51611\u0026amp;style=flat\" alt=\"Liberapay Goal Progress\" /\u003e\u003c/a\u003e [![Donate on PayPal][🖇paypal-img]][🖇paypal]\u003c/p\u003e\n\u003cp\u003e[![Buy me a coffee][🖇buyme-small-img]][🖇buyme] [![Donate on Polar][🖇polar-img]][🖇polar] [![Donate to my FLOSS efforts at ko-fi.com][🖇kofi-img]][🖇kofi] [![Donate to my FLOSS efforts using Patreon][🖇patreon-img]][🖇patreon]\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\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby-oauth/oauth2/blob/main/CHANGELOG.md\"\u003eoauth2's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[2.0.18] - 2025-11-08\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eTAG: [v2.0.18][2.0.18t]\u003c/li\u003e\n\u003cli\u003eCOVERAGE: 100.00% -- 526/526 lines in 14 files\u003c/li\u003e\n\u003cli\u003eBRANCH COVERAGE: 100.00% -- 178/178 branches in 14 files\u003c/li\u003e\n\u003cli\u003e90.48% documented\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/683\"\u003egh!683\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/684\"\u003egh!684\u003c/a\u003e - Improve documentation by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/686\"\u003egh!686\u003c/a\u003e- Add Incident Response Plan by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/687\"\u003egh!687\u003c/a\u003e- Add Threat Model by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/685\"\u003egh!685\u003c/a\u003e - upgrade kettle-dev v1.1.24 by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eupgrade kettle-dev v1.1.52 by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003eAdd open collective donors to README\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/690\"\u003egh!690\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/691\"\u003egh!691\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/692\"\u003egh!692\u003c/a\u003e - Add yard-fence\n\u003cul\u003e\n\u003cli\u003ehandle braces within code fences in markdown properly by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSecurity\u003c/h3\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/ruby-oauth/oauth2/commit/b5753116121553d56937039dafc5ea472d9a99ed\"\u003e\u003ccode\u003eb575311\u003c/code\u003e\u003c/a\u003e 🔖 Prepare release v2.0.18\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/b5af77ba42ec111dda68abdee33d631e27fdfe61\"\u003e\u003ccode\u003eb5af77b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/issues/693\"\u003e#693\u003c/a\u003e from ruby-oauth/feat/docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/cf2853d9fa05999f88c9df8b1b3a8a3ed21c64e8\"\u003e\u003ccode\u003ecf2853d\u003c/code\u003e\u003c/a\u003e 📝 Update docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/18434156bfc988527d2453b2174e6356e233757d\"\u003e\u003ccode\u003e1843415\u003c/code\u003e\u003c/a\u003e ⬆️ kettle-dev v1.1.52, yard-fence v0.8.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/f592dd8753966a30671ebc2e8a28ab26138b6c2b\"\u003e\u003ccode\u003ef592dd8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/issues/692\"\u003e#692\u003c/a\u003e from ruby-oauth/feat/docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/2095732d7cd4eeb80fe74c89e2a2d012517e40d6\"\u003e\u003ccode\u003e2095732\u003c/code\u003e\u003c/a\u003e ⬆️ yard-fence v0.7.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/50f3fd08e733ed75b2cc99e077e9ea9d64a3d5d5\"\u003e\u003ccode\u003e50f3fd0\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/issues/691\"\u003e#691\u003c/a\u003e from ruby-oauth/feat/docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/bcb0e40bfca989f164a04cbf46a4175822b7cb28\"\u003e\u003ccode\u003ebcb0e40\u003c/code\u003e\u003c/a\u003e ✏️ Fix typos in docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/f24f1a8bfbf546595aa16cd6fa82119c8218c1d3\"\u003e\u003ccode\u003ef24f1a8\u003c/code\u003e\u003c/a\u003e Create CNAME\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/bff58e1afec541feca2a337664d09c58b8a22419\"\u003e\u003ccode\u003ebff58e1\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/issues/690\"\u003e#690\u003c/a\u003e from ruby-oauth/feat/yard-fence\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby-oauth/oauth2/compare/v2.0.17...v2.0.18\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `prometheus_exporter` from 2.3.0 to 2.3.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/discourse/prometheus_exporter/blob/main/CHANGELOG\"\u003eprometheus_exporter's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[2.3.1] - 2025-11-11\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFIX: get controller full path instead of controller name - Alex Platteeuw\u003c/li\u003e\n\u003cli\u003eFEATURE: Secure PrometheusExporter scraping with SSL - Nicolas Rodriquez\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/discourse/prometheus_exporter/commit/15e9d4783db8267fb3b0c48e5464ec4c1ae58c00\"\u003e\u003ccode\u003e15e9d47\u003c/code\u003e\u003c/a\u003e version bump (\u003ca href=\"https://redirect.github.com/discourse/prometheus_exporter/issues/358\"\u003e#358\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/discourse/prometheus_exporter/commit/4bd3817744bb5011aed6c669696ed957c23cd3fe\"\u003e\u003ccode\u003e4bd3817\u003c/code\u003e\u003c/a\u003e fix: get controller full path instead of controller name (\u003ca href=\"https://redirect.github.com/discourse/prometheus_exporter/issues/353\"\u003e#353\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/discourse/prometheus_exporter/commit/4bb4fa333386b166a745df92be5620b11be3872a\"\u003e\u003ccode\u003e4bb4fa3\u003c/code\u003e\u003c/a\u003e Secure PrometheusExporter scraping with SSL (\u003ca href=\"https://redirect.github.com/discourse/prometheus_exporter/issues/350\"\u003e#350\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/discourse/prometheus_exporter/commit/b10933453f0952cd17d143487c5adc8bb74b492a\"\u003e\u003ccode\u003eb109334\u003c/code\u003e\u003c/a\u003e Add connect_timeout: settings to PrometheusExporter::Client (\u003ca href=\"https://redirect.github.com/discourse/prometheus_exporter/issues/352\"\u003e#352\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/discourse/prometheus_exporter/compare/v2.3.0...v2.3.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sentry-rails` from 5.28.1 to 6.3.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/getsentry/sentry-ruby/blob/master/CHANGELOG.md\"\u003esentry-rails's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e6.3.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eImplement new \u003ccode\u003eSentry.metrics\u003c/code\u003e functionality (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2818\"\u003e#2818\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003eThe SDK now supports Sentry's new \u003ca href=\"https://docs.sentry.io/product/explore/metrics/\"\u003eTrace Connected Metrics\u003c/a\u003e product.\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003e Sentry.metrics.count(\u0026quot;button.click\u0026quot;, 1, attributes: { button_id: \u0026quot;submit\u0026quot; })\n Sentry.metrics.distribution(\u0026quot;response.time\u0026quot;, 120.5, unit: \u0026quot;millisecond\u0026quot;)\n Sentry.metrics.gauge(\u0026quot;cpu.usage\u0026quot;, 75.2, unit: \u0026quot;percent\u0026quot;)\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eMetrics is enabled by default and only activates once you use the above APIs. To disable completely:\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eSentry.init do |config|\n  # ...\n  config.enable_metrics = false\nend\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSupport for tracing \u003ccode\u003eSequel\u003c/code\u003e queries (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2814\"\u003e#2814\u003c/a\u003e)\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003erequire \u0026quot;sentry\u0026quot;\nrequire \u0026quot;sentry/sequel\u0026quot;\n\u003cp\u003eSentry.init do |config|\nconfig.enabled_patches \u0026lt;\u0026lt; :sequel\nend\u003c/p\u003e\n\u003cp\u003eDB = Sequel.sqlite\nDB.extension(:sentry)\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for OpenTelemetry messaging/queue system spans (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2685\"\u003e#2685\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for \u003ccode\u003econfig.std_lib_logger_filter\u003c/code\u003e proc (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2829\"\u003e#2829\u003c/a\u003e)\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eSentry.init do |config|\n  config.std_lib_logger_filter = proc do |logger, message, severity|\n    # Only send ERROR and above messages\n    severity == :error || severity == :fatal\n  end\n\u003cp\u003econfig.enabled_patches = [:std_lib_logger]\nend\n\u003c/code\u003e\u003c/pre\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/getsentry/sentry-ruby/commit/babf7aa58b31ab3f3653b4afae711d8f63d4f9c3\"\u003e\u003ccode\u003ebabf7aa\u003c/code\u003e\u003c/a\u003e release: 6.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/854f4cafa72011f0eb36c319200278b39cf3b453\"\u003e\u003ccode\u003e854f4ca\u003c/code\u003e\u003c/a\u003e Handle more extra attribute types when logging (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/issues/2815\"\u003e#2815\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/9ce51e3c4e313e3a2f7ab2a18494612c133f3372\"\u003e\u003ccode\u003e9ce51e3\u003c/code\u003e\u003c/a\u003e Automatic collection of Sequel queries (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/issues/2814\"\u003e#2814\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/d45e53fd87dc28a9fc5e17ef239aa2a00e2387d5\"\u003e\u003ccode\u003ed45e53f\u003c/code\u003e\u003c/a\u003e Ignore new rails rate limit errors (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/issues/2774\"\u003e#2774\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/0da2bde916965f02ce12c57df4c915aaf3353cba\"\u003e\u003ccode\u003e0da2bde\u003c/code\u003e\u003c/a\u003e release: 6.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/bcc0fe7d211b6dffd273a13ebeb2bcf8af0f0fb7\"\u003e\u003ccode\u003ebcc0fe7\u003c/code\u003e\u003c/a\u003e fix(logging): improve error handling in AR subscriber (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/issues/2798\"\u003e#2798\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/5aa2643123c4020308ecd365c7c07113612b4ca3\"\u003e\u003ccode\u003e5aa2643\u003c/code\u003e\u003c/a\u003e release: 6.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/78a5a08950025b029132b81198f0279dbf42f34c\"\u003e\u003ccode\u003e78a5a08\u003c/code\u003e\u003c/a\u003e fix(rails): fix logging of cached queries with binds (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/issues/2789\"\u003e#2789\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/a5cee1bdbf51747d719db5a998b36ed303107ae4\"\u003e\u003ccode\u003ea5cee1b\u003c/code\u003e\u003c/a\u003e fix(rails): handle positioned binds in logging (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/issues/2787\"\u003e#2787\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/6aed46375b6992a87a74efc83fd1e9ca5ecf854d\"\u003e\u003ccode\u003e6aed463\u003c/code\u003e\u003c/a\u003e release: 6.1.1\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/getsentry/sentry-ruby/compare/5.28.1...6.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sentry-ruby` from 5.28.1 to 6.3.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/getsentry/sentry-ruby/blob/master/CHANGELOG.md\"\u003esentry-ruby's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e6.3.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eImplement new \u003ccode\u003eSentry.metrics\u003c/code\u003e functionality (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2818\"\u003e#2818\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003eThe SDK now supports Sentry's new \u003ca href=\"https://docs.sentry.io/product/explore/metrics/\"\u003eTrace Connected Metrics\u003c/a\u003e product.\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003e Sentry.metrics.count(\u0026quot;button.click\u0026quot;, 1, attributes: { button_id: \u0026quot;submit\u0026quot; })\n Sentry.metrics.distribution(\u0026quot;response.time\u0026quot;, 120.5, unit: \u0026quot;millisecond\u0026quot;)\n Sentry.metrics.gauge(\u0026quot;cpu.usage\u0026quot;, 75.2, unit: \u0026quot;percent\u0026quot;)\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eMetrics is enabled by default and only activates once you use the above APIs. To disable completely:\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eSentry.init do |config|\n  # ...\n  config.enable_metrics = false\nend\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSupport for tracing \u003ccode\u003eSequel\u003c/code\u003e queries (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2814\"\u003e#2814\u003c/a\u003e)\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003erequire \u0026quot;sentry\u0026quot;\nrequire \u0026quot;sentry/sequel\u0026quot;\n\u003cp\u003eSentry.init do |config|\nconfig.enabled_patches \u0026lt;\u0026lt; :sequel\nend\u003c/p\u003e\n\u003cp\u003eDB = Sequel.sqlite\nDB.extension(:sentry)\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for OpenTelemetry messaging/queue system spans (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2685\"\u003e#2685\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for \u003ccode\u003econfig.std_lib_logger_filter\u003c/code\u003e proc (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2829\"\u003e#2829\u003c/a\u003e)\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eSentry.init do |config|\n  config.std_lib_logger_filter = proc do |logger, message, severity|\n    # Only send ERROR and above messages\n    severity == :error || severity == :fatal\n  end\n\u003cp\u003econfig.enabled_patches = [:std_lib_logger]\nend\n\u003c/code\u003e\u003c/pre\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/getsentry/sentry-ruby/commit/babf7aa58b31ab3f3653b4afae711d8f63d4f9c3\"\u003e\u003ccode\u003ebabf7aa\u003c/code\u003e\u003c/a\u003e release: 6.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/8c43650a4bafeb47d5ffd011a9fc74e34b8ee786\"\u003e\u003ccode\u003e8c43650\u003c/code\u003e\u003c/a\u003e Enable metrics by default (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/issues/2835\"\u003e#2835\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/9cd6a0692502d0e28cd0e7706e1657e88dc39d0f\"\u003e\u003ccode\u003e9cd6a06\u003c/code\u003e\u003c/a\u003e Lazily start TelemetryEventBuffer threads (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/issues/2832\"\u003e#2832\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/8db45ed759a8c85cfd61e5ea46ee2b16eb525f8a\"\u003e\u003ccode\u003e8db45ed\u003c/code\u003e\u003c/a\u003e Max drop limit for TelemetryEventBuffer after which we completely drop events...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/a3546833c4440c458cce042cf1b787814d195e9b\"\u003e\u003ccode\u003ea354683\u003c/code\u003e\u003c/a\u003e Unify LogEventBuffer and MetricEventBuffer logic (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/issues/2830\"\u003e#2830\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/8b8bad5d84f72ea553b843d05b72cb3214e5926c\"\u003e\u003ccode\u003e8b8bad5\u003c/code\u003e\u003c/a\u003e feat(std_lib_logger): add support for filtering (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/issues/2829\"\u003e#2829\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/846c2ba8dcb688fc2214176a0f39cbfa400e58d7\"\u003e\u003ccode\u003e846c2ba\u003c/code\u003e\u003c/a\u003e Unify Logs and Metrics implementations (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/issues/2826\"\u003e#2826\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/c11a4991db94fc1745e5a46c9d35d5f1b27b0c66\"\u003e\u003ccode\u003ec11a499\u003c/code\u003e\u003c/a\u003e fix: prevent SDK crash when SDK logging fails  (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/issues/2817\"\u003e#2817\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/854f4cafa72011f0eb36c319200278b39cf3b453\"\u003e\u003ccode\u003e854f4ca\u003c/code\u003e\u003c/a\u003e Handle more extra attribute types when logging (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/issues/2815\"\u003e#2815\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/4fcb9412ed7c566218b5a222beeb8f6c401b1111\"\u003e\u003ccode\u003e4fcb941\u003c/code\u003e\u003c/a\u003e Implement new \u003ccode\u003eSentry.metrics\u003c/code\u003e functionality (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/issues/2818\"\u003e#2818\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/getsentry/sentry-ruby/compare/5.28.1...6.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sidekiq` from 8.0.8 to 8.0.10\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sidekiq/sidekiq/blob/main/Changes.md\"\u003esidekiq's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.0.10\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd confirm dialog for Delete All buttons in Web UI \u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/6853\"\u003e#6853\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdjust scheduler to run closer to poll average \u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/6866\"\u003e#6866\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eForward compatibility changes for connection_pool 3.0.0\u003c/li\u003e\n\u003cli\u003eBackwards compatibility fix for \u0026lt;8.0.9 process data in Redis \u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/6870\"\u003e#6870\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBacktrace dump can now be triggered with the INFO signal, since Puma uses the\nsame signal \u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/6857\"\u003e#6857\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.0.9\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImplement idle Redis connection reaping, will be activated in 8.1 \u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/6663\"\u003e#6663\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdated \u003ccode\u003eSidekiq::Process\u003c/code\u003e API to provide capsule data. The \u003ccode\u003equeues\u003c/code\u003e and \u003ccode\u003eweights\u003c/code\u003e\ndata will be removed from Redis in Sidekiq 8.1, as this data can now be found in the\n\u003ccode\u003ecapsules\u003c/code\u003e element. \u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/6295\"\u003e#6295\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRestore bulk action buttons on Scheduled, Retry and Dead tabs [#6833, deve1212]\u003c/li\u003e\n\u003cli\u003eSupport logging additional job attributes [#6846, bschrag620]\u003c/li\u003e\n\u003cli\u003eFix display of long job args \u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/6836\"\u003e#6836\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCreate development lifecycle (\u003ccode\u003edocs/sdlc.md\u003c/code\u003e) and security (\u003ccode\u003edocs/SECURITY.md\u003c/code\u003e) policy\ndocumentation for Sidekiq's current workflows\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/sidekiq/sidekiq/commit/843e8a9ab4ed37e542c2aac302b6c478f8606989\"\u003e\u003ccode\u003e843e8a9\u003c/code\u003e\u003c/a\u003e doc(changes) [ciskip]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/4bf6c00e69eacf243b1d939a9d5b822e96c7934d\"\u003e\u003ccode\u003e4bf6c00\u003c/code\u003e\u003c/a\u003e Add confirm dialog for Delete All, fixes \u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/6853\"\u003e#6853\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/b42be8b804eeeec87bc4b9aa99f4fb62e81d256d\"\u003e\u003ccode\u003eb42be8b\u003c/code\u003e\u003c/a\u003e fmt\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/2319d094c8d631388cc133eafb1b593ba235ba4d\"\u003e\u003ccode\u003e2319d09\u003c/code\u003e\u003c/a\u003e fix formula to process scheduled tasks closer to average, fixes \u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/6866\"\u003e#6866\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/9d8c221906ff17fa62f294c64f1b77799564d984\"\u003e\u003ccode\u003e9d8c221\u003c/code\u003e\u003c/a\u003e remove superfluous test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/844ebe397c6faf5cd62cda9e5cd70ec165890497\"\u003e\u003ccode\u003e844ebe3\u003c/code\u003e\u003c/a\u003e forward compat with connection_pool 3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/06658367209bd55bb9d0da36c7b912e22847203e\"\u003e\u003ccode\u003e0665836\u003c/code\u003e\u003c/a\u003e changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/551c614ec1c2ee81bf11c2ab1106f54a79eb11f9\"\u003e\u003ccode\u003e551c614\u003c/code\u003e\u003c/a\u003e prevent pool 3+ because it will be backwards incompatible\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/6e2db39f23c3215b626b560e06195d3a1482a188\"\u003e\u003ccode\u003e6e2db39\u003c/code\u003e\u003c/a\u003e Add todo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/71ce07ef595c6bfcc53ca478a4c4180081f8d233\"\u003e\u003ccode\u003e71ce07e\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 5 to 6 (\u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/6873\"\u003e#6873\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sidekiq/sidekiq/compare/v8.0.8...v8.0.10\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `connection_pool` from 2.5.4 to 3.0.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mperham/connection_pool/blob/main/Changes.md\"\u003econnection_pool's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.0.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport :name keyword for backwards compatibility \u003ca href=\"https://redirect.github.com/mperham/connection_pool/issues/210\"\u003e#210\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.0.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd missing \u003ccode\u003efork.rb\u003c/code\u003e to gemspec.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.0.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eBREAKING CHANGES\u003c/strong\u003e \u003ccode\u003eConnectionPool\u003c/code\u003e and \u003ccode\u003eConnectionPool::TimedStack\u003c/code\u003e now\nuse keyword arguments rather than positional arguments everywhere. Expected impact is minimal as most people use the \u003ccode\u003ewith\u003c/code\u003e API, which is unchanged.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003epool = ConnectionPool.new(size: 5, timeout: 5)\npool.checkout(1) # 2.x\npool.reap(30)    # 2.x\npool.checkout(timeout: 1) # 3.x\npool.reap(idle_seconds: 30) # 3.x\n\u003c/code\u003e\u003c/pre\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Ruby \u0026lt;3.2.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.5.5\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport \u003ccode\u003eConnectionPool::TimedStack#pop(exception: false)\u003c/code\u003e \u003ca href=\"https://redirect.github.com/mperham/connection_pool/issues/207\"\u003e#207\u003c/a\u003e\nto avoid using exceptions as control flow.\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/mperham/connection_pool/commit/78bc41e2a9fffbdd7242736233aeedfb64953dd8\"\u003e\u003ccode\u003e78bc41e\u003c/code\u003e\u003c/a\u003e bump, changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mperham/connection_pool/commit/955c64f96de81f5b2cee2546d3ea4c93ec11f6e9\"\u003e\u003ccode\u003e955c64f\u003c/code\u003e\u003c/a\u003e Support :name keyword arg for backwards compat, \u003ca href=\"https://redirect.github.com/mperham/connection_pool/issues/210\"\u003e#210\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mperham/connection_pool/commit/0dae4dd21acfd5bfbae15c25c7e6031a0bde3fca\"\u003e\u003ccode\u003e0dae4dd\u003c/code\u003e\u003c/a\u003e Fix missing fork.rb\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mperham/connection_pool/commit/f0d6dd2ab7241132a5bce4845d011a66786bad2c\"\u003e\u003ccode\u003ef0d6dd2\u003c/code\u003e\u003c/a\u003e docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mperham/connection_pool/commit/84a66b9ecbfb4fd13cb16b412ff5971a5bbe2fc5\"\u003e\u003ccode\u003e84a66b9\u003c/code\u003e\u003c/a\u003e refactor idle reaping for readability\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mperham/connection_pool/commit/e7825d6f460481359e44e2225f536974bd53adfb\"\u003e\u003ccode\u003ee7825d6\u003c/code\u003e\u003c/a\u003e fix CI warning\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mperham/connection_pool/commit/9e03836b196846f7898644c1dac02ae18309907f\"\u003e\u003ccode\u003e9e03836\u003c/code\u003e\u003c/a\u003e fork refactoring\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mperham/connection_pool/commit/6213bf543b77f997bc4569964a78d820e9cd591f\"\u003e\u003ccode\u003e6213bf5\u003c/code\u003e\u003c/a\u003e ci tuning\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mperham/connection_pool/commit/5d3f6c1db81b009c06d1f1d85e12c21c1fe74fa2\"\u003e\u003ccode\u003e5d3f6c1\u003c/code\u003e\u003c/a\u003e Connection Pool 3.0 (\u003ca href=\"https://redirect.github.com/mperham/connection_pool/issues/209\"\u003e#209\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mperham/connection_pool/commit/949f950e1186685e8dd7c93f59d35f3a36be4cbd\"\u003e\u003ccode\u003e949f950\u003c/code\u003e\u003c/a\u003e Add benchmark to validate fast path performance\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/mperham/connection_pool/compare/v2.5.4...v3.0.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `with_advisory_lock` from 7.0.2 to 7.5.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ClosureTree/with_advisory_lock/releases\"\u003ewith_advisory_lock's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ewith_advisory_lock: v7.5.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/ClosureTree/with_advisory_lock/compare/with_advisory_lock/v7.0.2...with_advisory_lock/v7.5.0\"\u003e7.5.0\u003c/a\u003e (2026-01-21)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd blocking advisory locks with deadlock detection for PostgreSQL (\u003ca href=\"https://redirect.github.com/ClosureTree/with_advisory_lock/issues/140\"\u003e#140\u003c/a\u003e) (\u003ca href=\"https://github.com/ClosureTree/with_advisory_lock/commit/f7f9aff545381107a632a25511e8fc08654a28b6\"\u003ef7f9aff\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Trilogy adapter support with MariaDB 12.0+ (\u003ca href=\"https://redirect.github.com/ClosureTree/with_advisory_lock/issues/134\"\u003e#134\u003c/a\u003e) (\u003ca href=\"https://github.com/ClosureTree/with_advisory_lock/commit/b7764cd9432b25b37c6da9160f980da29a5cdaa6\"\u003eb7764cd\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump version for new features (\u003ca href=\"https://github.com/ClosureTree/with_advisory_lock/commit/9a8c4be5cf51147e60df7e5733360e3dfd8d009e\"\u003e9a8c4be\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse monotonic clock so postgres timeouts are unaffected by system clock changes (\u003ca href=\"https://redirect.github.com/ClosureTree/with_advisory_lock/issues/141\"\u003e#141\u003c/a\u003e) (\u003ca href=\"https://github.com/ClosureTree/with_advisory_lock/commit/929e0103e5ffc4c66f9088942441f764de1bc650\"\u003e929e010\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/ClosureTree/with_advisory_lock/blob/master/CHANGELOG.md\"\u003ewith_advisory_lock's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/ClosureTree/with_advisory_lock/compare/with_advisory_lock/v7.0.2...with_advisory_lock/v7.5.0\"\u003e7.5.0\u003c/a\u003e (2026-01-21)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd blocking advisory locks with deadlock detection for PostgreSQL (\u003ca href=\"https://redirect.github.com/ClosureTree/with_advisory_lock/issues/140\"\u003e#140\u003c/a\u003e) (\u003ca href=\"https://github.com/ClosureTree/with_advisory_lock/commit/f7f9aff545381107a632a25511e8fc08654a28b6\"\u003ef7f9aff\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Trilogy adapter support with MariaDB 12.0+ (\u003ca href=\"https://redirect.github.com/ClosureTree/with_advisory_lock/issues/134\"\u003e#134\u003c/a\u003e) (\u003ca href=\"https://github.com/ClosureTree/with_advisory_lock/commit/b7764cd9432b25b37c6da9160f980da29a5cdaa6\"\u003eb7764cd\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump version for new features (\u003ca href=\"https://github.com/ClosureTree/with_advisory_lock/commit/9a8c4be5cf51147e60df7e5733360e3dfd8d009e\"\u003e9a8c4be\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse monotonic clock so postgres timeouts are unaffected by system clock changes (\u003ca href=\"https://redirect.github.com/ClosureTree/with_advisory_lock/issues/141\"\u003e#141\u003c/a\u003e) (\u003ca href=\"https://github.com/ClosureTree/with_advisory_lock/commit/929e0103e5ffc4c66f9088942441f764de1bc650\"\u003e929e010\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/ClosureTree/with_advisory_lock/commit/b5fec3524a4d6c0ef45b2cb43d01bb50d07e53ed\"\u003e\u003ccode\u003eb5fec35\u003c/code\u003e\u003c/a\u003e chore(master): release with_advisory_lock 7.5.0 (\u003ca href=\"https://redirect.github.com/ClosureTree/with_advisory_lock/issues/144\"\u003e#144\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClosureTree/with_advisory_lock/commit/9a8c4be5cf51147e60df7e5733360e3dfd8d009e\"\u003e\u003ccode\u003e9a8c4be\u003c/code\u003e\u003c/a\u003e feat: bump version for new features\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClosureTree/with_advisory_lock/commit/b7764cd9432b25b37c6da9160f980da29a5cdaa6\"\u003e\u003ccode\u003eb7764cd\u003c/code\u003e\u003c/a\u003e feat: Add Trilogy adapter support with MariaDB 12.0+ (\u003ca href=\"https://redirect.github.com/ClosureTree/with_advisory_lock/issues/134\"\u003e#134\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClosureTree/with_advisory_lock/commit/f7f9aff545381107a632a25511e8fc08654a28b6\"\u003e\u003ccode\u003ef7f9aff\u003c/code\u003e\u003c/a\u003e feat: add blocking advisory locks with deadlock detection for PostgreSQL (\u003ca href=\"https://redirect.github.com/ClosureTree/with_advisory_lock/issues/140\"\u003e#140\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClosureTree/with_advisory_lock/commit/929e0103e5ffc4c66f9088942441f764de1bc650\"\u003e\u003ccode\u003e929e010\u003c/code\u003e\u003c/a\u003e fix: Use monotonic clock so postgres timeouts are unaffected by system clock ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClosureTree/with_advisory_lock/commit/98ebdccd49197568b9249f860e38fd68eb4ee984\"\u003e\u003ccode\u003e98ebdcc\u003c/code\u003e\u003c/a\u003e chore: add Ruby 4.0 and Rails 8.1 support (\u003ca href=\"https://redirect.github.com/ClosureTree/with_advisory_lock/issues/139\"\u003e#139\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClosureTree/with_advisory_lock/commit/7ec974a845843dcc2cf8efc4854837317bc10913\"\u003e\u003ccode\u003e7ec974a\u003c/code\u003e\u003c/a\u003e doc: Add test instructions (\u003ca href=\"https://redirect.github.com/ClosureTree/with_advisory_lock/issues/136\"\u003e#136\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/ClosureTree/with_advisory_lock/compare/with_advisory_lock/v7.0.2...with_advisory_lock/v7.5.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `debug` from 1.11.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/ruby/debug/releases\"\u003edebug's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.11.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ecommand\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eb path: path_pattern\u003c/code\u003e is accepted in \u003ca href=\"https://github.com/ruby/debug/commit/1139d781ffde33a1ae6de04e718269cf...\n\n_Description has been truncated_","html_url":"https://github.com/ministryofjustice/laa-crime-application-store/pull/531","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/ministryofjustice%2Flaa-crime-application-store/issues/531","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/531/packages"}},{"old_version":"2.0.17","new_version":"2.0.18","update_type":"patch","path":null,"pr_created_at":"2026-01-23T09:38:42.000Z","version_change":"2.0.17 → 2.0.18","issue":{"uuid":"3846667210","node_id":"PR_kwDOKC_6yM6-4_gh","number":525,"state":"closed","title":"Bump the bundler group across 1 directory with 15 updates","user":"dependabot[bot]","labels":["dependencies","ruby"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-01-23T12:00:42.000Z","author_association":null,"state_reason":null,"created_at":"2026-01-23T09:38:42.000Z","updated_at":"2026-01-23T12:00:44.000Z","time_to_close":8520,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"bundler","update_count":15,"packages":[{"name":"rails","old_version":"8.1.0","new_version":"8.1.2","repository_url":"https://github.com/rails/rails"},{"name":"pg","old_version":"1.6.2","new_version":"1.6.3","repository_url":"https://github.com/ged/ruby-pg"},{"name":"puma","old_version":"7.1.0","new_version":"7.2.0","repository_url":"https://github.com/puma/puma"},{"name":"bootsnap","old_version":"1.18.6","new_version":"1.21.1","repository_url":"https://github.com/rails/bootsnap"},{"name":"alba","old_version":"3.9.1","new_version":"3.10.0","repository_url":"https://github.com/okuramasafumi/alba"},{"name":"aws-sdk-s3","old_version":"1.209.0","new_version":"1.212.0","repository_url":"https://github.com/aws/aws-sdk-ruby"},{"name":"oauth2","old_version":"2.0.17","new_version":"2.0.18","repository_url":"https://github.com/ruby-oauth/oauth2"},{"name":"prometheus_exporter","old_version":"2.3.0","new_version":"2.3.1","repository_url":"https://github.com/discourse/prometheus_exporter"},{"name":"sentry-rails","old_version":"5.28.1","new_version":"6.3.0","repository_url":"https://github.com/getsentry/sentry-ruby"},{"name":"sidekiq","old_version":"8.0.8","new_version":"8.1.0","repository_url":"https://github.com/sidekiq/sidekiq"},{"name":"with_advisory_lock","old_version":"7.0.2","new_version":"7.5.0","repository_url":"https://github.com/ClosureTree/with_advisory_lock"},{"name":"debug","old_version":"1.11.0","new_version":"1.11.1","repository_url":"https://github.com/ruby/debug"},{"name":"dotenv-rails","old_version":"3.1.8","new_version":"3.2.0","repository_url":"https://github.com/bkeepers/dotenv"},{"name":"webmock","old_version":"3.25.1","new_version":"3.26.1","repository_url":"https://github.com/bblimke/webmock"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps the bundler group with 14 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [rails](https://github.com/rails/rails) | `8.1.0` | `8.1.2` |\n| [pg](https://github.com/ged/ruby-pg) | `1.6.2` | `1.6.3` |\n| [puma](https://github.com/puma/puma) | `7.1.0` | `7.2.0` |\n| [bootsnap](https://github.com/rails/bootsnap) | `1.18.6` | `1.21.1` |\n| [alba](https://github.com/okuramasafumi/alba) | `3.9.1` | `3.10.0` |\n| [aws-sdk-s3](https://github.com/aws/aws-sdk-ruby) | `1.209.0` | `1.212.0` |\n| [oauth2](https://github.com/ruby-oauth/oauth2) | `2.0.17` | `2.0.18` |\n| [prometheus_exporter](https://github.com/discourse/prometheus_exporter) | `2.3.0` | `2.3.1` |\n| [sentry-rails](https://github.com/getsentry/sentry-ruby) | `5.28.1` | `6.3.0` |\n| [sidekiq](https://github.com/sidekiq/sidekiq) | `8.0.8` | `8.1.0` |\n| [with_advisory_lock](https://github.com/ClosureTree/with_advisory_lock) | `7.0.2` | `7.5.0` |\n| [debug](https://github.com/ruby/debug) | `1.11.0` | `1.11.1` |\n| [dotenv-rails](https://github.com/bkeepers/dotenv) | `3.1.8` | `3.2.0` |\n| [webmock](https://github.com/bblimke/webmock) | `3.25.1` | `3.26.1` |\n\n\nUpdates `rails` from 8.1.0 to 8.1.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003erails's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.1.2\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eMake \u003ccode\u003edelegate\u003c/code\u003e and \u003ccode\u003edelegate_missing_to\u003c/code\u003e work in BasicObject subclasses.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix Inflectors when using a locale that fallbacks to \u003ccode\u003e:en\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eSaid Kaldybaev\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eActiveSupport::TimeWithZone#as_json\u003c/code\u003e to consistently return UTF-8 strings.\u003c/p\u003e\n\u003cp\u003ePreviously the returned string would sometime be encoded in US-ASCII, which in\nsome cases may be problematic.\u003c/p\u003e\n\u003cp\u003eNow the method consistently always return UTF-8 strings.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eJean Boussier\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eTimeWithZone#xmlschema\u003c/code\u003e when wrapping a \u003ccode\u003eDateTime\u003c/code\u003e instance in local time.\u003c/p\u003e\n\u003cp\u003ePreviously it would return an invalid time.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eDmytro Rymar\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eImplement LocalCache strategy on \u003ccode\u003eActiveSupport::Cache::MemoryStore\u003c/code\u003e. The memory store\nneeds to respond to the same interface as other cache stores (e.g. \u003ccode\u003eActiveSupport::NullStore\u003c/code\u003e).\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eMikey Gough\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eActiveSupport::Inflector.humanize\u003c/code\u003e with international characters.\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eActiveSupport::Inflector.humanize(\u0026quot;áÉÍÓÚ\u0026quot;)  # =\u0026gt; \u0026quot;Áéíóú\u0026quot;\nActiveSupport::Inflector.humanize(\u0026quot;аБВГДЕ\u0026quot;) # =\u0026gt; \u0026quot;Абвгде\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003cem\u003eJose Luis Duran\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Record\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix counting cached queries in \u003ccode\u003eActiveRecord::RuntimeRegistry\u003c/code\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/rails/rails/commit/d7c8ae65b7045490965218a994c300aea8dbb079\"\u003e\u003ccode\u003ed7c8ae6\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.2 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/695ac6d83e14d85c131dc4bbad04e9d9cd22676c\"\u003e\u003ccode\u003e695ac6d\u003c/code\u003e\u003c/a\u003e Update Gemfile.lock\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/01263f18e8cd1f9443fe50940682b89ad862450e\"\u003e\u003ccode\u003e01263f1\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56512\"\u003e#56512\u003c/a\u003e from byroot/remove-minitest-ci\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/3ea2701a15ac253fc6b87b0034a87e3abcb3d3e5\"\u003e\u003ccode\u003e3ea2701\u003c/code\u003e\u003c/a\u003e CHANGELOG sync\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/d3fe83ff97d86480103c8757f055f6903612505b\"\u003e\u003ccode\u003ed3fe83f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56541\"\u003e#56541\u003c/a\u003e from rails/remove-system-test-from-default-ci-template\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/528351457f6aa2a472c22b6cf481bea7d2621e0b\"\u003e\u003ccode\u003e5283514\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56012\"\u003e#56012\u003c/a\u003e from jmalcic/restore-default-adc-for-gcs-iam-client\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/53e82ef8a931d4b6d01b9240ea6e486b31e14d61\"\u003e\u003ccode\u003e53e82ef\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56534\"\u003e#56534\u003c/a\u003e from khasinski/fix-sqlite3-schema-dump-default-nil\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/d2509f864aed30800b9e6d305831a62c825033a5\"\u003e\u003ccode\u003ed2509f8\u003c/code\u003e\u003c/a\u003e Allow backburner warning\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/8c48fd1c1e0a66217e03fe227197dd7b8ff0fc3c\"\u003e\u003ccode\u003e8c48fd1\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56535\"\u003e#56535\u003c/a\u003e from eglitobias/8-1-stable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/adcface26aae1018cdfe87610f85c87508b52865\"\u003e\u003ccode\u003eadcface\u003c/code\u003e\u003c/a\u003e Fix PostgreSQL schema_search_path after reconnect and reset\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/rails/compare/v8.1.0...v8.1.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pg` from 1.6.2 to 1.6.3\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ged/ruby-pg/blob/master/CHANGELOG.md\"\u003epg's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.6.3 [2025-12-29] Lars Kanis \u003ca href=\"mailto:lars@greiz-reinsdorf.de\"\u003elars@greiz-reinsdorf.de\u003c/a\u003e\u003c/h2\u003e\n\u003cp\u003eAdded:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd binary gems for ruby-4.0, now providing ruby-3.0 to 4.0. \u003ca href=\"https://redirect.github.com/ged/ruby-pg/issues/682\"\u003e#682\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate fat binary gem to OpenSSL-3.6.0 and PostgreSQL-18.1.\u003c/li\u003e\n\u003cli\u003eImprove documentation of PG::Result and README. \u003ca href=\"https://redirect.github.com/ged/ruby-pg/issues/676\"\u003e#676\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate errorcodes to PostgreSQL-18.\u003c/li\u003e\n\u003cli\u003eUse \u003ccode\u003erb_hash_new_capa\u003c/code\u003e on Ruby-3.2+ . \u003ca href=\"https://redirect.github.com/ged/ruby-pg/issues/674\"\u003e#674\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDeny any server communication on a frozen PG::Connection . \u003ca href=\"https://redirect.github.com/ged/ruby-pg/issues/677\"\u003e#677\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix possible race condition in PG::Result in Ractor context. \u003ca href=\"https://redirect.github.com/ged/ruby-pg/issues/674\"\u003e#674\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eRemoved:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDrop binary gem support for platform \u003ccode\u003ex86-mingw32\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/ged/ruby-pg/issues/682\"\u003e#682\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDrop binary gems for ruby-2.7.\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/ged/ruby-pg/commit/d4539c25dcc89d47088e1423f8d1915c041920f5\"\u003e\u003ccode\u003ed4539c2\u003c/code\u003e\u003c/a\u003e Bump VERSION to pg-1.6.3 and add release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ged/ruby-pg/commit/720900dbb9d16aa855793146f15c3772e14f627a\"\u003e\u003ccode\u003e720900d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ged/ruby-pg/issues/682\"\u003e#682\u003c/a\u003e from larskanis/ruby-4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ged/ruby-pg/commit/f605b5937093884089109c8baa5fe268fc513eaf\"\u003e\u003ccode\u003ef605b59\u003c/code\u003e\u003c/a\u003e Remove x86-mingw32 from binary builds\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ged/ruby-pg/commit/5c690006ba158da70d73d939a233cf75ecdd30ef\"\u003e\u003ccode\u003e5c69000\u003c/code\u003e\u003c/a\u003e Update to ruby-4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ged/ruby-pg/commit/2acaf3d0f76334e056229efe260e1f558a8c6b42\"\u003e\u003ccode\u003e2acaf3d\u003c/code\u003e\u003c/a\u003e CI: workaround missing ruby-4.0 on Window\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ged/ruby-pg/commit/b500ded81127963603e1f724e82bed649c9ca8a1\"\u003e\u003ccode\u003eb500ded\u003c/code\u003e\u003c/a\u003e fix comment\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ged/ruby-pg/commit/bc3f2f8b1110e9bcb225d65554e1a7fc842d0506\"\u003e\u003ccode\u003ebc3f2f8\u003c/code\u003e\u003c/a\u003e CI: Macos-13 on Intel is deprecated\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ged/ruby-pg/commit/77667eb4313bd7b79356f402b0fa7fba409483b8\"\u003e\u003ccode\u003e77667eb\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ged/ruby-pg/issues/678\"\u003e#678\u003c/a\u003e from larskanis/ci-update\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ged/ruby-pg/commit/6e52ce504d05c5359d55f45d9580672103263b54\"\u003e\u003ccode\u003e6e52ce5\u003c/code\u003e\u003c/a\u003e CI: Update PostgreSQL on Macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ged/ruby-pg/commit/6d40f50e51a037022495fe6d98181435652464ff\"\u003e\u003ccode\u003e6d40f50\u003c/code\u003e\u003c/a\u003e CI: Print mkmf.log on failure on Macos\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ged/ruby-pg/compare/v1.6.2...v1.6.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `puma` from 7.1.0 to 7.2.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/puma/puma/releases\"\u003epuma's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev7.2.0\u003c/h2\u003e\n\u003ch2\u003e7.2.0 On The Corner\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFeatures\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd workers \u003ccode\u003e:auto\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3827\"\u003e#3827\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMake it possible to restrict control server commands to stats (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3787\"\u003e#3787\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eBugfixes\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDon't break if \u003ccode\u003eWEB_CONCURRENCY\u003c/code\u003e is set to a blank string (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3837\"\u003e#3837\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDon't share server between worker 0 and descendants on refork (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3602\"\u003e#3602\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix phase check race condition in \u003ccode\u003ePuma::Cluster#check_workers\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3690\"\u003e#3690\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix advertising of CLI config before config files are loaded (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3823\"\u003e#3823\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003ePerformance\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e17% faster HTTP parsing through pre-interning env keys (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3825\"\u003e#3825\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImplement \u003ccode\u003edsize\u003c/code\u003e and \u003ccode\u003edcompact\u003c/code\u003e functions for \u003ccode\u003ePuma::HttpParser\u003c/code\u003e, which makes Puma's C-extension GC-compactible (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3828\"\u003e#3828\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRefactor\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRemove \u003ccode\u003eNoMethodError\u003c/code\u003e rescue in \u003ccode\u003eReactor#select_loop\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3831\"\u003e#3831\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eVarious cleanups in the C extension (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3814\"\u003e#3814\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMonomorphize \u003ccode\u003ehandle_request\u003c/code\u003e return (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3802\"\u003e#3802\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDocs\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eChange link to \u003ccode\u003edocs/deployment.md\u003c/code\u003e in \u003ccode\u003eREADME.md\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3848\"\u003e#3848\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix formatting for each signal description in signals.md (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3813\"\u003e#3813\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate deployment and Kubernetes docs with Puma configuration tips (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3807\"\u003e#3807\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRename master to main (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3809\"\u003e#3809\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/puma/puma/issues/3808\"\u003e#3808\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/puma/puma/issues/3800\"\u003e#3800\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix some minor typos in the docs (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3804\"\u003e#3804\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eGOVERNANCE.md\u003c/code\u003e, \u003ccode\u003eMAINTAINERS\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3826\"\u003e#3826\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove Code Climate badge (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3820\"\u003e#3820\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ca href=\"https://github.com/joshuay03\"\u003e\u003ccode\u003e@​joshuay03\u003c/code\u003e\u003c/a\u003e to the maintainer list\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eCI\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUse Minitest 6 where applicable (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3859\"\u003e#3859\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMany test suite improvements and flake fixes (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3861\"\u003e#3861\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/puma/puma/issues/3863\"\u003e#3863\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/puma/puma/issues/3860\"\u003e#3860\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/puma/puma/issues/3852\"\u003e#3852\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/puma/puma/issues/3857\"\u003e#3857\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/puma/puma/issues/3856\"\u003e#3856\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/puma/puma/issues/3845\"\u003e#3845\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/puma/puma/issues/3843\"\u003e#3843\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/puma/puma/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/puma/puma/issues/3841\"\u003e#3841\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/puma/puma/issues/3822\"\u003e#3822\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/puma/puma/issues/3817\"\u003e#3817\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/puma/puma/issues/3764\"\u003e#3764\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\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/moozzi\"\u003e\u003ccode\u003e@​moozzi\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/puma/puma/pull/3848\"\u003epuma/puma#3848\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ybiquitous\"\u003e\u003ccode\u003e@​ybiquitous\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/puma/puma/pull/3813\"\u003epuma/puma#3813\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrafanie\"\u003e\u003ccode\u003e@​jrafanie\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/puma/puma/pull/3804\"\u003epuma/puma#3804\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/puma/puma/compare/v7.1.0...v7.2.0\"\u003ehttps://github.com/puma/puma/compare/v7.1.0...v7.2.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/puma/puma/blob/main/History.md\"\u003epuma's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e7.2.0 / 2026-01-20\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFeatures\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd workers \u003ccode\u003e:auto\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3827\"\u003e#3827\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMake it possible to restrict control server commands to stats (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3787\"\u003e#3787\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eBugfixes\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDon't break if \u003ccode\u003eWEB_CONCURRENCY\u003c/code\u003e is set to a blank string (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3837\"\u003e#3837\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDon't share server between worker 0 and descendants on refork (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3602\"\u003e#3602\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix phase check race condition in \u003ccode\u003ePuma::Cluster#check_workers\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3690\"\u003e#3690\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix advertising of CLI config before config files are loaded (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3823\"\u003e#3823\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003ePerformance\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e17% faster HTTP parsing through pre-interning env keys (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3825\"\u003e#3825\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImplement \u003ccode\u003edsize\u003c/code\u003e and \u003ccode\u003edcompact\u003c/code\u003e functions for \u003ccode\u003ePuma::HttpParser\u003c/code\u003e, which makes Puma's C-extension GC-compactible (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3828\"\u003e#3828\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRefactor\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRemove \u003ccode\u003eNoMethodError\u003c/code\u003e rescue in \u003ccode\u003eReactor#select_loop\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3831\"\u003e#3831\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eVarious cleanups in the C extension (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3814\"\u003e#3814\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMonomorphize \u003ccode\u003ehandle_request\u003c/code\u003e return (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3802\"\u003e#3802\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDocs\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eChange link to \u003ccode\u003edocs/deployment.md\u003c/code\u003e in \u003ccode\u003eREADME.md\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3848\"\u003e#3848\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix formatting for each signal description in signals.md (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3813\"\u003e#3813\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate deployment and Kubernetes docs with Puma configuration tips (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3807\"\u003e#3807\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRename master to main (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3809\"\u003e#3809\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/puma/puma/issues/3808\"\u003e#3808\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/puma/puma/issues/3800\"\u003e#3800\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix some minor typos in the docs (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3804\"\u003e#3804\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eGOVERNANCE.md\u003c/code\u003e, \u003ccode\u003eMAINTAINERS\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3826\"\u003e#3826\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove Code Climate badge (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3820\"\u003e#3820\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ca href=\"https://github.com/joshuay03\"\u003e\u003ccode\u003e@​joshuay03\u003c/code\u003e\u003c/a\u003e to the maintainer list\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eCI\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUse Minitest 6 where applicable (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3859\"\u003e#3859\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMany test suite improvements and flake fixes (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3861\"\u003e#3861\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/puma/puma/issues/3863\"\u003e#3863\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/puma/puma/issues/3860\"\u003e#3860\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/puma/puma/issues/3852\"\u003e#3852\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/puma/puma/issues/3857\"\u003e#3857\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/puma/puma/issues/3856\"\u003e#3856\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/puma/puma/issues/3845\"\u003e#3845\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/puma/puma/issues/3843\"\u003e#3843\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/puma/puma/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/puma/puma/issues/3841\"\u003e#3841\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/puma/puma/issues/3822\"\u003e#3822\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/puma/puma/issues/3817\"\u003e#3817\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/puma/puma/issues/3764\"\u003e#3764\u003c/a\u003e)\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/puma/puma/commit/96b5aa63e0599e8adf971ceb57efa3cc5663f8a9\"\u003e\u003ccode\u003e96b5aa6\u003c/code\u003e\u003c/a\u003e v7.2.0 (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3864\"\u003e#3864\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/5d7d1ddb266d52abfd96d763a4870af2c3ce9d1a\"\u003e\u003ccode\u003e5d7d1dd\u003c/code\u003e\u003c/a\u003e Add workers :auto (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3827\"\u003e#3827\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/b8c4783cc1ed24300b4b940c57a5dd970db99369\"\u003e\u003ccode\u003eb8c4783\u003c/code\u003e\u003c/a\u003e ci: fix ci - remove \u003ccode\u003eappend_as_bytes\u003c/code\u003e logic, misc changes (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3861\"\u003e#3861\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/44a3ac43a71ea1344e739275b9f55708f9e496ee\"\u003e\u003ccode\u003e44a3ac4\u003c/code\u003e\u003c/a\u003e Fix PR label manager when maintainer comments [ci skip] (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3863\"\u003e#3863\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/43f5d8935ea85d19e98459294114b31196276bc1\"\u003e\u003ccode\u003e43f5d89\u003c/code\u003e\u003c/a\u003e Add GOVERNANCE.md, MAINTAINERS (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3826\"\u003e#3826\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/21afa66798c46212ef392085cb1825c74d107810\"\u003e\u003ccode\u003e21afa66\u003c/code\u003e\u003c/a\u003e Use Minitest 6 where applicable (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3859\"\u003e#3859\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/ec7dd61cf9c5e9ec58f356ca2e32e90602de094c\"\u003e\u003ccode\u003eec7dd61\u003c/code\u003e\u003c/a\u003e ci: Update test_http11.rb for TruffleRuby - string size (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3860\"\u003e#3860\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/fa89dbe1ce8dd8f3159363f30cecaf4338583b2c\"\u003e\u003ccode\u003efa89dbe\u003c/code\u003e\u003c/a\u003e ci: add \u003ccode\u003eruby 4.0\u003c/code\u003e and \u003ccode\u003erails 8.1\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3852\"\u003e#3852\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/98ff11d220b53d7e5c3dc3e4246e66e75284ed7b\"\u003e\u003ccode\u003e98ff11d\u003c/code\u003e\u003c/a\u003e Fix flaky test test_horrible_queries (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3857\"\u003e#3857\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/da162d7b2b87b978d8bbd6d0d1ccde69ce1735da\"\u003e\u003ccode\u003eda162d7\u003c/code\u003e\u003c/a\u003e ci: fix tests.yml (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3856\"\u003e#3856\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/puma/puma/compare/v7.1.0...v7.2.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `bootsnap` from 1.18.6 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/rails/bootsnap/releases\"\u003ebootsnap's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.20.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eHandle broken symlinks in load path scanning code.\nShould fix \u003ccode\u003eErrno::ENOENT fstatat\u003c/code\u003e issues some users have encountered after upgrading to 1.20.0.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/rails/bootsnap/compare/v1.20.0...v1.20.1\"\u003ehttps://github.com/rails/bootsnap/compare/v1.20.0...v1.20.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.20.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eOptimized load path scanning with a C extension. Should be about 2x faster on supported platforms.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/rails/bootsnap/compare/v1.19.0...v1.20.0\"\u003ehttps://github.com/rails/bootsnap/compare/v1.19.0...v1.20.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/rails/bootsnap/blob/main/CHANGELOG.md\"\u003ebootsnap's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e1.21.1\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003ePrevent a Ruby crash while scanning load path if \u003ccode\u003eopendir\u003c/code\u003e fails without setting \u003ccode\u003eerrno\u003c/code\u003e.\nAccording to the C spec this should not happen, but according to user reports, it did.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e1.21.0\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eFix the \u003ccode\u003erequire\u003c/code\u003e decorator to handle \u003ccode\u003eBootsnap.unload_cache!\u003c/code\u003e being called.\u003c/li\u003e\n\u003cli\u003eMinor optimization: Eagerly clear cache buffers to appease the GC.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e1.20.1\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eHandle broken symlinks in load path scanning code.\nShould fix \u003ccode\u003eErrno::ENOENT fstatat\u003c/code\u003e issues some users have encountered after upgrading to 1.20.0.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e1.20.0\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eOptimized load path scanning with a C extension. Should be about 2x faster on supported platforms.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e1.19.0\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eRemove JSON parsing cache. Recent versions of the \u003ccode\u003ejson\u003c/code\u003e gem are as fast as \u003ccode\u003emsgpack\u003c/code\u003e if not faster.\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/rails/bootsnap/commit/182a80984302f2354f154016a113f17dd7bbf76c\"\u003e\u003ccode\u003e182a809\u003c/code\u003e\u003c/a\u003e Release 1.21.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/1e59365c057d670e1c32e51c50f3f818c7389e8f\"\u003e\u003ccode\u003e1e59365\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/bootsnap/issues/522\"\u003e#522\u003c/a\u003e from byroot/improve-scandir\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/a2ff4b8927a9ad8df138d558162edb8a5239f792\"\u003e\u003ccode\u003ea2ff4b8\u003c/code\u003e\u003c/a\u003e Fallback to pure the pure ruby path scanner on unexpected error\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/6003c143ee66d607ecaeb316c690947ed81beb1d\"\u003e\u003ccode\u003e6003c14\u003c/code\u003e\u003c/a\u003e Avoid crashing when \u003ccode\u003eopendir\u003c/code\u003e fails without setting \u003ccode\u003eerrno\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/92edbf7ef8c8c26277884fb5d373c1a1fa0743fd\"\u003e\u003ccode\u003e92edbf7\u003c/code\u003e\u003c/a\u003e Release 1.21.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/f4908947b6718c788cd8e44d16b480cfe23275c0\"\u003e\u003ccode\u003ef490894\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/bootsnap/issues/520\"\u003e#520\u003c/a\u003e from byroot/handle-unload\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/4a559a0db625369bd189c89ea3f3465e6548ed01\"\u003e\u003ccode\u003e4a559a0\u003c/code\u003e\u003c/a\u003e Fix the \u003ccode\u003erequire\u003c/code\u003e decorator to handle \u003ccode\u003eBootsnap.unload_cache!\u003c/code\u003e being called\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/417dd84ee30bbe172c6af84c876f73843ebcd413\"\u003e\u003ccode\u003e417dd84\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/bootsnap/issues/518\"\u003e#518\u003c/a\u003e from byroot/clear-buffers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/7d57a706ce72a11ec928e201093bd3e4d2f868b7\"\u003e\u003ccode\u003e7d57a70\u003c/code\u003e\u003c/a\u003e Eagerly clear cache buffers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/018fcb8fb4cc8d4593766d37be85f0c19cc5b91a\"\u003e\u003ccode\u003e018fcb8\u003c/code\u003e\u003c/a\u003e Add Ruby 4.0 to the CI matrix\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/bootsnap/compare/v1.18.6...v1.21.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `alba` from 3.9.1 to 3.10.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/okuramasafumi/alba/releases\"\u003ealba's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.10.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e[Feat] Enable type definition for \u003ccode\u003eattribute\u003c/code\u003e by \u003ca href=\"https://github.com/okuramasafumi\"\u003e\u003ccode\u003e@​okuramasafumi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/okuramasafumi/alba/pull/470\"\u003eokuramasafumi/alba#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/okuramasafumi/alba/pull/471\"\u003eokuramasafumi/alba#471\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump rubygems/release-gem from 1.1.1 to 1.1.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/okuramasafumi/alba/pull/474\"\u003eokuramasafumi/alba#474\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix hash object resource methods by \u003ca href=\"https://github.com/jkmcrg\"\u003e\u003ccode\u003e@​jkmcrg\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/okuramasafumi/alba/pull/475\"\u003eokuramasafumi/alba#475\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump step-security/harden-runner from 2.13.1 to 2.13.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/okuramasafumi/alba/pull/476\"\u003eokuramasafumi/alba#476\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/jkmcrg\"\u003e\u003ccode\u003e@​jkmcrg\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/okuramasafumi/alba/pull/475\"\u003eokuramasafumi/alba#475\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/okuramasafumi/alba/compare/v3.9.1...v3.10.0\"\u003ehttps://github.com/okuramasafumi/alba/compare/v3.9.1...v3.10.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/okuramasafumi/alba/blob/main/CHANGELOG.md\"\u003ealba's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.10.0 2025-11-11\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSupport type validation and coercion for a single attribute method \u003ca href=\"https://redirect.github.com/okuramasafumi/alba/pull/470\"\u003e#470\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003eThank you \u003ca href=\"https://github.com/denblackstache\"\u003e\u003ccode\u003e@​denblackstache\u003c/code\u003e\u003c/a\u003e for requesting the feature\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eFix hash object resource methods \u003ca href=\"https://redirect.github.com/okuramasafumi/alba/pull/475\"\u003e#475\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003eThank you, \u003ca href=\"https://github.com/jkmcrg\"\u003e\u003ccode\u003e@​jkmcrg\u003c/code\u003e\u003c/a\u003e\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/okuramasafumi/alba/commit/5c5f9fb69f754ebb530510736d97e04ca8f30af5\"\u003e\u003ccode\u003e5c5f9fb\u003c/code\u003e\u003c/a\u003e [Release] Bump version to 3.10.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/okuramasafumi/alba/commit/eae8d27af9eccab7e39718f05f3b0b3ae6922685\"\u003e\u003ccode\u003eeae8d27\u003c/code\u003e\u003c/a\u003e [Release] Keep a changelog for version 3.10.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/okuramasafumi/alba/commit/bf4ef12d7efb9462630489669b9d5c764b18f4b6\"\u003e\u003ccode\u003ebf4ef12\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/okuramasafumi/alba/issues/476\"\u003e#476\u003c/a\u003e from okuramasafumi/dependabot/github_actions/step-sec...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/okuramasafumi/alba/commit/bfcb7d03495aed2e90d47f4a772ced78caef5ec4\"\u003e\u003ccode\u003ebfcb7d0\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/okuramasafumi/alba/issues/475\"\u003e#475\u003c/a\u003e from jkmcrg/fix-hash-object-resource-methods\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/okuramasafumi/alba/commit/5cb24dfccc9a3baa0cb7b8880dc6c9b6dd42d63e\"\u003e\u003ccode\u003e5cb24df\u003c/code\u003e\u003c/a\u003e Bump step-security/harden-runner from 2.13.1 to 2.13.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/okuramasafumi/alba/commit/f0c8b2aa04b4903a2a615a805b77ed85223925ef\"\u003e\u003ccode\u003ef0c8b2a\u003c/code\u003e\u003c/a\u003e [Fix] Rescue key error on hash indexing to delegate to resource method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/okuramasafumi/alba/commit/eb0a1970e058b233c4f5f25df0e51b96785092e0\"\u003e\u003ccode\u003eeb0a197\u003c/code\u003e\u003c/a\u003e [Fix] Add test for serializing a hash with a resource method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/okuramasafumi/alba/commit/674dbade95a5e9b6f538144731ffff1086e695b7\"\u003e\u003ccode\u003e674dbad\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/okuramasafumi/alba/issues/474\"\u003e#474\u003c/a\u003e from okuramasafumi/dependabot/github_actions/rubygems...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/okuramasafumi/alba/commit/77ada319c72b8d9b504400b80af14fd7bd433589\"\u003e\u003ccode\u003e77ada31\u003c/code\u003e\u003c/a\u003e Bump rubygems/release-gem from 1.1.1 to 1.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/okuramasafumi/alba/commit/09db9c2a0e0c390e5a1af88ddc946e8912234dcb\"\u003e\u003ccode\u003e09db9c2\u003c/code\u003e\u003c/a\u003e [Chore] Update GitHub Sponsors username in FUNDING.yml\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/okuramasafumi/alba/compare/v3.9.1...v3.10.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `aws-sdk-s3` from 1.209.0 to 1.212.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/aws/aws-sdk-ruby/blob/version-3/gems/aws-sdk-s3/CHANGELOG.md\"\u003eaws-sdk-s3's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.212.0 (2026-01-16)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Code Generated Changes, see \u003ccode\u003e./build_tools\u003c/code\u003e or \u003ccode\u003eaws-sdk-core\u003c/code\u003e's CHANGELOG.md for details.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.211.0 (2026-01-08)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFeature - Code Generated Changes, see \u003ccode\u003e./build_tools\u003c/code\u003e or \u003ccode\u003eaws-sdk-core\u003c/code\u003e's CHANGELOG.md for details.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eIssue - Falls back to header request checksums when using custom endpoints or endpoint providers for PutObject and UploadPart operations.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.210.1 (2026-01-06)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eIssue - Normalize response encoding to UTF-8 for proper XML error parsing in HTTP 200 responses.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.210.0 (2026-01-05)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFeature - Code Generated Changes, see \u003ccode\u003e./build_tools\u003c/code\u003e or \u003ccode\u003eaws-sdk-core\u003c/code\u003e's CHANGELOG.md for details.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFeature - Added \u003ccode\u003e:http_chunk_size\u003c/code\u003e parameter to \u003ccode\u003eTransferManager#upload_file\u003c/code\u003e to control the buffer size when streaming request bodies over HTTP. Larger chunk sizes may improve network throughput at the cost of higher memory usage (Ruby MRI only).\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFeature - Improved memory efficiency when calculating request checksums for large file uploads (Ruby MRI only).\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\u003eSee full diff in \u003ca href=\"https://github.com/aws/aws-sdk-ruby/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `oauth2` from 2.0.17 to 2.0.18\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby-oauth/oauth2/releases\"\u003eoauth2's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.0.18\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/compare/v2.0.17...v2.0.18\"\u003e2.0.18\u003c/a\u003e - 2025-11-08\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eTAG: \u003ca href=\"https://github.com/ruby-oauth/oauth2/releases/tag/v2.0.18\"\u003ev2.0.18\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCOVERAGE: 100.00% -- 526/526 lines in 14 files\u003c/li\u003e\n\u003cli\u003eBRANCH COVERAGE: 100.00% -- 178/178 branches in 14 files\u003c/li\u003e\n\u003cli\u003e90.48% documented\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/683\"\u003egh!683\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/684\"\u003egh!684\u003c/a\u003e - Improve documentation by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/686\"\u003egh!686\u003c/a\u003e- Add Incident Response Plan by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/687\"\u003egh!687\u003c/a\u003e- Add Threat Model by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/685\"\u003egh!685\u003c/a\u003e - upgrade kettle-dev v1.1.24 by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eupgrade kettle-dev v1.1.52 by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003eAdd open collective donors to README\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/690\"\u003egh!690\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/691\"\u003egh!691\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/692\"\u003egh!692\u003c/a\u003e - Add yard-fence\n\u003cul\u003e\n\u003cli\u003ehandle braces within code fences in markdown properly by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cp\u003eOfficial Discord 👉️ [![Live Chat on Discord][✉️discord-invite-img]][✉️discord-invite]\u003c/p\u003e\n\u003cp\u003eMany paths lead to being a sponsor or a backer of this project. Are you on such a path?\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://opencollective.com/ruby-oauth#backer\"\u003e![OpenCollective Backers][🖇osc-backers-i]\u003c/a\u003e [![OpenCollective Sponsors][🖇osc-sponsors-i]][🖇osc-sponsors] [![Sponsor Me on Github][🖇sponsor-img]][🖇sponsor] \u003ca href=\"https://liberapay.com/pboling/donate\"\u003e\u003cimg src=\"https://img.shields.io/liberapay/goal/pboling.svg?logo=liberapay\u0026amp;color=a51611\u0026amp;style=flat\" alt=\"Liberapay Goal Progress\" /\u003e\u003c/a\u003e [![Donate on PayPal][🖇paypal-img]][🖇paypal]\u003c/p\u003e\n\u003cp\u003e[![Buy me a coffee][🖇buyme-small-img]][🖇buyme] [![Donate on Polar][🖇polar-img]][🖇polar] [![Donate to my FLOSS efforts at ko-fi.com][🖇kofi-img]][🖇kofi] [![Donate to my FLOSS efforts using Patreon][🖇patreon-img]][🖇patreon]\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\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby-oauth/oauth2/blob/main/CHANGELOG.md\"\u003eoauth2's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[2.0.18] - 2025-11-08\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eTAG: [v2.0.18][2.0.18t]\u003c/li\u003e\n\u003cli\u003eCOVERAGE: 100.00% -- 526/526 lines in 14 files\u003c/li\u003e\n\u003cli\u003eBRANCH COVERAGE: 100.00% -- 178/178 branches in 14 files\u003c/li\u003e\n\u003cli\u003e90.48% documented\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/683\"\u003egh!683\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/684\"\u003egh!684\u003c/a\u003e - Improve documentation by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/686\"\u003egh!686\u003c/a\u003e- Add Incident Response Plan by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/687\"\u003egh!687\u003c/a\u003e- Add Threat Model by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/685\"\u003egh!685\u003c/a\u003e - upgrade kettle-dev v1.1.24 by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eupgrade kettle-dev v1.1.52 by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003eAdd open collective donors to README\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/690\"\u003egh!690\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/691\"\u003egh!691\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/692\"\u003egh!692\u003c/a\u003e - Add yard-fence\n\u003cul\u003e\n\u003cli\u003ehandle braces within code fences in markdown properly by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSecurity\u003c/h3\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/ruby-oauth/oauth2/commit/b5753116121553d56937039dafc5ea472d9a99ed\"\u003e\u003ccode\u003eb575311\u003c/code\u003e\u003c/a\u003e 🔖 Prepare release v2.0.18\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/b5af77ba42ec111dda68abdee33d631e27fdfe61\"\u003e\u003ccode\u003eb5af77b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/issues/693\"\u003e#693\u003c/a\u003e from ruby-oauth/feat/docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/cf2853d9fa05999f88c9df8b1b3a8a3ed21c64e8\"\u003e\u003ccode\u003ecf2853d\u003c/code\u003e\u003c/a\u003e 📝 Update docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/18434156bfc988527d2453b2174e6356e233757d\"\u003e\u003ccode\u003e1843415\u003c/code\u003e\u003c/a\u003e ⬆️ kettle-dev v1.1.52, yard-fence v0.8.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/f592dd8753966a30671ebc2e8a28ab26138b6c2b\"\u003e\u003ccode\u003ef592dd8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/issues/692\"\u003e#692\u003c/a\u003e from ruby-oauth/feat/docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/2095732d7cd4eeb80fe74c89e2a2d012517e40d6\"\u003e\u003ccode\u003e2095732\u003c/code\u003e\u003c/a\u003e ⬆️ yard-fence v0.7.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/50f3fd08e733ed75b2cc99e077e9ea9d64a3d5d5\"\u003e\u003ccode\u003e50f3fd0\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/issues/691\"\u003e#691\u003c/a\u003e from ruby-oauth/feat/docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/bcb0e40bfca989f164a04cbf46a4175822b7cb28\"\u003e\u003ccode\u003ebcb0e40\u003c/code\u003e\u003c/a\u003e ✏️ Fix typos in docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/f24f1a8bfbf546595aa16cd6fa82119c8218c1d3\"\u003e\u003ccode\u003ef24f1a8\u003c/code\u003e\u003c/a\u003e Create CNAME\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/bff58e1afec541feca2a337664d09c58b8a22419\"\u003e\u003ccode\u003ebff58e1\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/issues/690\"\u003e#690\u003c/a\u003e from ruby-oauth/feat/yard-fence\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby-oauth/oauth2/compare/v2.0.17...v2.0.18\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `prometheus_exporter` from 2.3.0 to 2.3.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/discourse/prometheus_exporter/blob/main/CHANGELOG\"\u003eprometheus_exporter's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[2.3.1] - 2025-11-11\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFIX: get controller full path instead of controller name - Alex Platteeuw\u003c/li\u003e\n\u003cli\u003eFEATURE: Secure PrometheusExporter scraping with SSL - Nicolas Rodriquez\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/discourse/prometheus_exporter/commit/15e9d4783db8267fb3b0c48e5464ec4c1ae58c00\"\u003e\u003ccode\u003e15e9d47\u003c/code\u003e\u003c/a\u003e version bump (\u003ca href=\"https://redirect.github.com/discourse/prometheus_exporter/issues/358\"\u003e#358\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/discourse/prometheus_exporter/commit/4bd3817744bb5011aed6c669696ed957c23cd3fe\"\u003e\u003ccode\u003e4bd3817\u003c/code\u003e\u003c/a\u003e fix: get controller full path instead of controller name (\u003ca href=\"https://redirect.github.com/discourse/prometheus_exporter/issues/353\"\u003e#353\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/discourse/prometheus_exporter/commit/4bb4fa333386b166a745df92be5620b11be3872a\"\u003e\u003ccode\u003e4bb4fa3\u003c/code\u003e\u003c/a\u003e Secure PrometheusExporter scraping with SSL (\u003ca href=\"https://redirect.github.com/discourse/prometheus_exporter/issues/350\"\u003e#350\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/discourse/prometheus_exporter/commit/b10933453f0952cd17d143487c5adc8bb74b492a\"\u003e\u003ccode\u003eb109334\u003c/code\u003e\u003c/a\u003e Add connect_timeout: settings to PrometheusExporter::Client (\u003ca href=\"https://redirect.github.com/discourse/prometheus_exporter/issues/352\"\u003e#352\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/discourse/prometheus_exporter/compare/v2.3.0...v2.3.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sentry-rails` from 5.28.1 to 6.3.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/getsentry/sentry-ruby/blob/master/CHANGELOG.md\"\u003esentry-rails's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e6.3.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eImplement new \u003ccode\u003eSentry.metrics\u003c/code\u003e functionality (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2818\"\u003e#2818\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003eThe SDK now supports Sentry's new \u003ca href=\"https://docs.sentry.io/product/explore/metrics/\"\u003eTrace Connected Metrics\u003c/a\u003e product.\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003e Sentry.metrics.count(\u0026quot;button.click\u0026quot;, 1, attributes: { button_id: \u0026quot;submit\u0026quot; })\n Sentry.metrics.distribution(\u0026quot;response.time\u0026quot;, 120.5, unit: \u0026quot;millisecond\u0026quot;)\n Sentry.metrics.gauge(\u0026quot;cpu.usage\u0026quot;, 75.2, unit: \u0026quot;percent\u0026quot;)\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eMetrics is enabled by default and only activates once you use the above APIs. To disable completely:\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eSentry.init do |config|\n  # ...\n  config.enable_metrics = false\nend\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSupport for tracing \u003ccode\u003eSequel\u003c/code\u003e queries (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2814\"\u003e#2814\u003c/a\u003e)\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003erequire \u0026quot;sentry\u0026quot;\nrequire \u0026quot;sentry/sequel\u0026quot;\n\u003cp\u003eSentry.init do |config|\nconfig.enabled_patches \u0026lt;\u0026lt; :sequel\nend\u003c/p\u003e\n\u003cp\u003eDB = Sequel.sqlite\nDB.extension(:sentry)\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for OpenTelemetry messaging/queue system spans (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2685\"\u003e#2685\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for \u003ccode\u003econfig.std_lib_logger_filter\u003c/code\u003e proc (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2829\"\u003e#2829\u003c/a\u003e)\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eSentry.init do |config|\n  config.std_lib_logger_filter = proc do |logger, message, severity|\n    # Only send ERROR and above messages\n    severity == :error || severity == :fatal\n  end\n\u003cp\u003econfig.enabled_patches = [:std_lib_logger]\nend\n\u003c/code\u003e\u003c/pre\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/getsentry/sentry-ruby/commit/babf7aa58b31ab3f3653b4afae711d8f63d4f9c3\"\u003e\u003ccode\u003ebabf7aa\u003c/code\u003e\u003c/a\u003e release: 6.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/854f4cafa72011f0eb36c319200278b39cf3b453\"\u003e\u003ccode\u003e854f4ca\u003c/code\u003e\u003c/a\u003e Handle more extra attribute types when logging (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/issues/2815\"\u003e#2815\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/9ce51e3c4e313e3a2f7ab2a18494612c133f3372\"\u003e\u003ccode\u003e9ce51e3\u003c/code\u003e\u003c/a\u003e Automatic collection of Sequel queries (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/issues/2814\"\u003e#2814\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/d45e53fd87dc28a9fc5e17ef239aa2a00e2387d5\"\u003e\u003ccode\u003ed45e53f\u003c/code\u003e\u003c/a\u003e Ignore new rails rate limit errors (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/issues/2774\"\u003e#2774\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/0da2bde916965f02ce12c57df4c915aaf3353cba\"\u003e\u003ccode\u003e0da2bde\u003c/code\u003e\u003c/a\u003e release: 6.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/bcc0fe7d211b6dffd273a13ebeb2bcf8af0f0fb7\"\u003e\u003ccode\u003ebcc0fe7\u003c/code\u003e\u003c/a\u003e fix(logging): improve error handling in AR subscriber (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/issues/2798\"\u003e#2798\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/5aa2643123c4020308ecd365c7c07113612b4ca3\"\u003e\u003ccode\u003e5aa2643\u003c/code\u003e\u003c/a\u003e release: 6.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/78a5a08950025b029132b81198f0279dbf42f34c\"\u003e\u003ccode\u003e78a5a08\u003c/code\u003e\u003c/a\u003e fix(rails): fix logging of cached queries with binds (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/issues/2789\"\u003e#2789\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/a5cee1bdbf51747d719db5a998b36ed303107ae4\"\u003e\u003ccode\u003ea5cee1b\u003c/code\u003e\u003c/a\u003e fix(rails): handle positioned binds in logging (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/issues/2787\"\u003e#2787\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/6aed46375b6992a87a74efc83fd1e9ca5ecf854d\"\u003e\u003ccode\u003e6aed463\u003c/code\u003e\u003c/a\u003e release: 6.1.1\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/getsentry/sentry-ruby/compare/5.28.1...6.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sentry-ruby` from 5.28.1 to 6.3.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/getsentry/sentry-ruby/blob/master/CHANGELOG.md\"\u003esentry-ruby's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e6.3.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eImplement new \u003ccode\u003eSentry.metrics\u003c/code\u003e functionality (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2818\"\u003e#2818\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003eThe SDK now supports Sentry's new \u003ca href=\"https://docs.sentry.io/product/explore/metrics/\"\u003eTrace Connected Metrics\u003c/a\u003e product.\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003e Sentry.metrics.count(\u0026quot;button.click\u0026quot;, 1, attributes: { button_id: \u0026quot;submit\u0026quot; })\n Sentry.metrics.distribution(\u0026quot;response.time\u0026quot;, 120.5, unit: \u0026quot;millisecond\u0026quot;)\n Sentry.metrics.gauge(\u0026quot;cpu.usage\u0026quot;, 75.2, unit: \u0026quot;percent\u0026quot;)\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eMetrics is enabled by default and only activates once you use the above APIs. To disable completely:\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eSentry.init do |config|\n  # ...\n  config.enable_metrics = false\nend\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSupport for tracing \u003ccode\u003eSequel\u003c/code\u003e queries (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2814\"\u003e#2814\u003c/a\u003e)\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003erequire \u0026quot;sentry\u0026quot;\nrequire \u0026quot;sentry/sequel\u0026quot;\n\u003cp\u003eSentry.init do |config|\nconfig.enabled_patches \u0026lt;\u0026lt; :sequel\nend\u003c/p\u003e\n\u003cp\u003eDB = Sequel.sqlite\nDB.extension(:sentry)\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for OpenTelemetry messaging/queue system spans (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2685\"\u003e#2685\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for \u003ccode\u003econfig.std_lib_logger_filter\u003c/code\u003e proc (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2829\"\u003e#2829\u003c/a\u003e)\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eSentry.init do |config|\n  config.std_lib_logger_filter = proc do |logger, message, severity|\n    # Only send ERROR and above messages\n    severity == :error || severity == :fatal\n  end\n\u003cp\u003econfig.enabled_patches = [:std_lib_logger]\nend\n\u003c/code\u003e\u003c/pre\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/getsentry/sentry-ruby/commit/babf7aa58b31ab3f3653b4afae711d8f63d4f9c3\"\u003e\u003ccode\u003ebabf7aa\u003c/code\u003e\u003c/a\u003e release: 6.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/8c43650a4bafeb47d5ffd011a9fc74e34b8ee786\"\u003e\u003ccode\u003e8c43650\u003c/code\u003e\u003c/a\u003e Enable metrics by default (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/issues/2835\"\u003e#2835\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/9cd6a0692502d0e28cd0e7706e1657e88dc39d0f\"\u003e\u003ccode\u003e9cd6a06\u003c/code\u003e\u003c/a\u003e Lazily start TelemetryEventBuffer threads (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/issues/2832\"\u003e#2832\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/8db45ed759a8c85cfd61e5ea46ee2b16eb525f8a\"\u003e\u003ccode\u003e8db45ed\u003c/code\u003e\u003c/a\u003e Max drop limit for TelemetryEventBuffer after which we completely drop events...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/a3546833c4440c458cce042cf1b787814d195e9b\"\u003e\u003ccode\u003ea354683\u003c/code\u003e\u003c/a\u003e Unify LogEventBuffer and MetricEventBuffer logic (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/issues/2830\"\u003e#2830\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/8b8bad5d84f72ea553b843d05b72cb3214e5926c\"\u003e\u003ccode\u003e8b8bad5\u003c/code\u003e\u003c/a\u003e feat(std_lib_logger): add support for filtering (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/issues/2829\"\u003e#2829\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/846c2ba8dcb688fc2214176a0f39cbfa400e58d7\"\u003e\u003ccode\u003e846c2ba\u003c/code\u003e\u003c/a\u003e Unify Logs and Metrics implementations (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/issues/2826\"\u003e#2826\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/c11a4991db94fc1745e5a46c9d35d5f1b27b0c66\"\u003e\u003ccode\u003ec11a499\u003c/code\u003e\u003c/a\u003e fix: prevent SDK crash when SDK logging fails  (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/issues/2817\"\u003e#2817\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/854f4cafa72011f0eb36c319200278b39cf3b453\"\u003e\u003ccode\u003e854f4ca\u003c/code\u003e\u003c/a\u003e Handle more extra attribute types when logging (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/issues/2815\"\u003e#2815\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/4fcb9412ed7c566218b5a222beeb8f6c401b1111\"\u003e\u003ccode\u003e4fcb941\u003c/code\u003e\u003c/a\u003e Implement new \u003ccode\u003eSentry.metrics\u003c/code\u003e functionality (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/issues/2818\"\u003e#2818\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/getsentry/sentry-ruby/compare/5.28.1...6.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sidekiq` from 8.0.8 to 8.1.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sidekiq/sidekiq/blob/main/Changes.md\"\u003esidekiq's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.1.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eretry_for\u003c/code\u003e and \u003ccode\u003eretry\u003c/code\u003e are now mutually exclusive [#6878, Saidbek]\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eperform_inline\u003c/code\u003e now enforces \u003ccode\u003estrict_args!\u003c/code\u003e [#6718, Saidbek]\u003c/li\u003e\n\u003cli\u003eIntegrate Herb linting for ERB templates [#6760, Saidbek]\u003c/li\u003e\n\u003cli\u003eRemove CSRF code, use \u003ccode\u003eSec-Fetch-Site\u003c/code\u003e header [#6874, deve1212]\u003c/li\u003e\n\u003cli\u003eAllow custom Web UI \u003ccode\u003eassets_path\u003c/code\u003e for CDN purposes [#6865, stanhu]\u003c/li\u003e\n\u003cli\u003eUpgrade to connection_pool 3.0\u003c/li\u003e\n\u003cli\u003eAllow idle connection reaping after N seconds.\nYou can activate this \u003cstrong\u003ebeta\u003c/strong\u003e feature like below.\nFeedback requested: is this feature stable and useful for you in production?\nThis feature may or may not be enabled by default in Sidekiq 9.0.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eSidekiq.configure_server do |cfg|\n  cfg.reap_idle_redis_connections(60)\nend\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003e8.0.10\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd confirm dialog for Delete All buttons in Web UI \u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/6853\"\u003e#6853\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdjust scheduler to run closer to poll average \u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/6866\"\u003e#6866\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eForward compatibility changes for connection_pool 3.0.0\u003c/li\u003e\n\u003cli\u003eBackwards compatibility fix for \u0026lt;8.0.9 process data in Redis \u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/6870\"\u003e#6870\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBacktrace dump can now be triggered with the INFO signal, since Puma uses the\nsame signal \u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/6857\"\u003e#6857\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.0.9\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImplement idle Redis connection reaping, will be activated in 8.1 \u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/6663\"\u003e#6663\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdated \u003ccode\u003eSidekiq::Process\u003c/code\u003e API to provide capsule data. The \u003ccode\u003equeues\u003c/code\u003e and \u003ccode\u003eweights\u003c/code\u003e\ndata will be removed from Redis in Sidekiq 8.1, as this data can now be found in the\n\u003ccode\u003ecapsules\u003c/code\u003e element. \u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/6295\"\u003e#6295\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRestore bulk action buttons on Scheduled, Retry and Dead tabs [#6833, deve1212]\u003c/li\u003e\n\u003cli\u003eSupport logging additional job attributes [#6846, bschrag620]\u003c/li\u003e\n\u003cli\u003eFix display of long job args \u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/6836\"\u003e#6836\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCreate development lifecycle (\u003ccode\u003edocs/sdlc.md\u003c/code\u003e) and security (\u003ccode\u003edocs/SECURITY.md\u003c/code\u003e) policy\ndocumentation for Sidekiq's current workflows\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/sidekiq/sidekiq/commit/bb172d9b2b17a086c9cfa2763f58eb0b89937a77\"\u003e\u003ccode\u003ebb172d9\u003c/code\u003e\u003c/a\u003e doc(changes)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/1f8d7f5a40f1a996558c305cba5418cb3cc4af08\"\u003e\u003ccode\u003e1f8d7f5\u003c/code\u003e\u003c/a\u003e announce TTIN deprecation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/761e2d3f00666d115153d611cdeab1a4b89566a6\"\u003e\u003ccode\u003e761e2d3\u003c/code\u003e\u003c/a\u003e doc(changes)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/c8753b9fc8e51e07c65f0bb19e637007c255d540\"\u003e\u003ccode\u003ec8753b9\u003c/code\u003e\u003c/a\u003e pro changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/bdda9f5096e8cc48a07eeffdc076f51a2ff3116d\"\u003e\u003ccode\u003ebdda9f5\u003c/code\u003e\u003c/a\u003e 8.1 changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/fae17a28e58ccda85f9e09b7ad1b098529e5f491\"\u003e\u003ccode\u003efae17a2\u003c/code\u003e\u003c/a\u003e Remove old CSRF code\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/878d687cf3f32c910c95820e63294fb11bae1ad2\"\u003e\u003ccode\u003e878d687\u003c/code\u003e\u003c/a\u003e Use pool 3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/6d3be2c91b97263e37c0b0d8cd3dc92d093b2cb1\"\u003e\u003ccode\u003e6d3be2c\u003c/code\u003e\u003c/a\u003e fmt\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/3ab97e9a1c48298b572eee3cf9b16c20b7cbb74a\"\u003e\u003ccode\u003e3ab97e9\u003c/code\u003e\u003c/a\u003e Allow Redis connection reaping with connection_pool 3.0+\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/b7f71bad9bac866d914b62270ff16b64a466a25f\"\u003e\u003ccode\u003eb7f71ba\u003c/code\u003e\u003c/a\u003e Upgrade dependencies to latest minor version\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sidekiq/sidekiq/compare/v8.0.8...v8.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `with_advisory_lock` from 7.0.2 to 7.5.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ClosureTree/with_advisory_lock/releases\"\u003ewith_advisory_lock's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ewith_advisory_lock: v7.5.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/ClosureTree/with_advisory_lock/compare/with_advisory_lock/v7.0.2...with_advisory_lock/v7.5.0\"\u003e7.5.0\u003c/a\u003e (2026-01-21)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd blocking advisory locks with deadlock detection for PostgreSQL (\u003ca href=\"https://redirect.github.com/ClosureTree/with_advisory_lock/issues/140\"\u003e#140\u003c/a\u003e) (\u003ca href=\"https://github.com/ClosureTree/with_advisory_lock/commit/f7f9aff545381107a632a25511e8fc08654a28b6\"\u003ef7f9aff\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Trilogy adapter support with MariaDB 12.0+ (\u003ca href=\"https://redirect.github.com/ClosureTree/with_advisory_lock/issues/134\"\u003e#134\u003c/a\u003e) (\u003ca href=\"https://github.com/ClosureTree/with_advisory_lock/commit/b7764cd9432b25b37c6da9160f980da29a5cdaa6\"\u003eb7764cd\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump version for new features (\u003ca href=\"https://github.com/ClosureTree/with_advisory_lock/commit/9a8c4be5cf51147e60df7e5733360e3dfd8d009e\"\u003e9a8c4be\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse monotonic clock so postgres timeouts are unaffected by system clock changes (\u003ca href=\"https://redirect.github.com/ClosureTree/with_advisory_lock/issues/141\"\u003e#141\u003c/a\u003e) (\u003ca href=\"https://github.com/ClosureTree/with_advisory_lock/commit/929e0103e5ffc4c66f9088942441f764de1bc650\"\u003e929e010\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/ClosureTree/with_advisory_lock/blob/master/CHANGELOG.md\"\u003ewith_advisory_lock's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/ClosureTree/with_advisory_lock/compare/with_advisory_lock/v7.0.2...with_advisory_lock/v7.5.0\"\u003e7.5.0\u003c/a\u003e (2026-01-21)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd blocking advisory locks with deadlock detection for PostgreSQL (\u003ca href=\"https://redirect.github.com/ClosureTree/with_advisory_lock/issues/140\"\u003e#140\u003c/a\u003e) (\u003ca href=\"https://github.com/ClosureTree/with_advisory_lock/commit/f7f9aff545381107a632a25511e8fc08654a28b6\"\u003ef7f9aff\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Trilogy adapter support with MariaDB 12.0+ (\u003ca href=\"https://redirect.github.com/ClosureTree/with_advisory_lock/issues/134\"\u003e#134\u003c/a\u003e) (\u003ca href=\"https://github.com/ClosureTree/with_advisory_lock/commit/b7764cd9432b25b37c6da9160f980da29a5cdaa6\"\u003eb7764cd\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump version for new features (\u003ca href=\"https://github.com/ClosureTree/with_advisory_lock/commit/9a8c4be5cf51147e60df7e5733360e3dfd8d009e\"\u003e9a8c4be\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse monotonic clock so postgres timeouts are unaffected by system clock changes (\u003ca href=\"https://redirect.github.com/ClosureTree/with_advisory_lock/issues/141\"\u003e#141\u003c/a\u003e) (\u003ca href=\"https://github.com/ClosureTree/with_advisory_lock/commit/929e0103e5ffc4c66f9088942441f764de1bc650\"\u003e929e010\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/ClosureTree/with_advisory_lock/commit/b5fec3524a4d6c0ef45b2cb43d01bb50d07e53ed\"\u003e\u003ccode\u003eb5fec35\u003c/code\u003e\u003c/a\u003e chore(master): release with_advisory_lock 7.5.0 (\u003ca href=\"https://redirect.github.com/ClosureTree/with_advisory_lock/issues/144\"\u003e#144\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClosureTree/with_advisory_lock/commit/9a8c4be5cf51147e60df7e5733360e3dfd8d009e\"\u003e\u003ccode\u003e9a8c4be\u003c/code\u003e\u003c/a\u003e feat: bump version for new features\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClosureTree/with_advisory_lock/commit/b7764cd9432b25b37c6da9160f980da29a5cdaa6\"\u003e\u003ccode\u003eb7764cd\u003c/code\u003e\u003c/a\u003e feat: Add Trilogy adapter support with MariaDB 12.0+ (\u003ca href=\"https://redirect.github.com/ClosureTree/with_advisory_lock/issues/134\"\u003e#134\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClosureTree/with_advisory_lock/commit/f7f9aff545381107a632a25511e8fc08654a28b6\"\u003e\u003ccode\u003ef7f9aff\u003c/code\u003e\u003c/a\u003e feat: add blocking advisory locks with deadlock detection for PostgreSQL (\u003ca href=\"https://redirect.github.com/ClosureTree/with_advisory_lock/issues/140\"\u003e#140\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClosureTree/with_advisory_lock/commit/929e0103e5ffc4c66f9088942441f764de1bc650\"\u003e\u003ccode\u003e929e010\u003c/code\u003e\u003c/a\u003e fix: Use monotonic clock so postgres timeouts are unaffected by system clock ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClosureTree/with_advisory_lock/commit/98ebdccd49197568b9249f860e38fd68eb4ee984\"\u003e\u003ccode\u003e98ebdcc\u003c/code\u003e\u003c/a\u003e chore: add Ruby 4.0 and Rails 8.1 support (\u003ca href=\"https://redirect.github.com/ClosureTree/with_advisory_lock/issues/139\"\u003e#139\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClosureTree/with_advisory_lock/commit/7ec974a845843dcc2cf8efc4854837317bc10913\"\u003e\u003ccode\u003e7ec974a\u003c/code\u003e\u003c/a\u003e doc: Add test instructions (\u003ca href=\"https://redirect.github.com/ClosureTree/with_advisory_lock/issues/136\"\u003e#136\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/ClosureTree/with_advisory_lock/compare/with_advisory_lock/v7.0.2...with_advisory_lock/v7.5.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `debug` from 1.11.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/ruby/debug/releases\"\u003edebug's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.11.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ecommand\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eb path: path_pattern\u003c/code\u003e is accepted in \u003ca href=\"https://github.com/ruby/debug/commit/1139d781ffde33a1ae6de04e718269cf8e4b0d09\"\u003ehttps://github.com/ruby/debug/commit/1139d781ffde33a1ae6de04e718269cf8e4b0d09\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003efix\n\u003cul\u003e\n\u003cli\u003ecatch any exception on \u003ccode\u003esingletonclass\u003c/code\u003e by \u003ca href=\"https://github.com/ko1\"\u003e\u003ccode\u003e@​ko1\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/debug/pull/1163\"\u003eruby/debug#1163\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003euse \u003ccode\u003eKernel.__callee__\u003c/code\u003e by \u003ca href=\"https://github.com/ko1\"\u003e\u003ccode\u003e@​ko1\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/debug/pull/1164\"\u003eruby/debug#1164\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFileUtils is needed by \u003ca href=\"https://github.com/ko1\"\u003e\u003ccode\u003e@​ko1\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/debug/pull/1168\"\u003eruby/debug#1168\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003ecatch up Ruby 4.0\n\u003cul\u003e\n\u003cli\u003eUpdate imemo_mask to match ruby's by \u003ca href=\"https://github.com/byroot\"\u003e\u003ccode\u003e@​byroot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/debug/pull/1151\"\u003eruby/debug#1151\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebacktrace changes \u003ca href=\"https://github.com/ruby/debug/commit/24f95d637d96d92eb249e1ca45f3550832b5307f\"\u003ehttps://github.com/ruby/debug/commit/24f95d637d96d92eb249e1ca45f3550832b5307f\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eremote\n\u003cul\u003e\n\u003cli\u003efix(DAP): Return unverified breakpoints instead of unsuccessful response by \u003ca href=\"https://github.com/dmlambo\"\u003e\u003ccode\u003e@​dmlambo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/debug/pull/1161\"\u003eruby/debug#1161\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003emisc\n\u003cul\u003e\n\u003cli\u003eomit on older version by \u003ca href=\"https://github.com/ko1\"\u003e\u003ccode\u003e@​ko1\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/debug/pull/1167\"\u003eruby/debug#1167\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\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/byroot\"\u003e\u003ccode\u003e@​byroot\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/debug/pull/1151\"\u003eruby/debug#1151\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dmlambo\"\u003e\u003ccode\u003e@​dmlambo\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/debug/pull/1161\"\u003eruby/debug#1161\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ruby/debug/compare/v1.11.0...v1.11.1\"\u003ehttps://github.com/ruby/debug/compare/v1.11.0...v1.11.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/ruby/debug/commit/bad4d38f8330219b62f2b253d59146f5a71fd39a\"\u003e\u003ccode\u003ebad4d38\u003c/code\u003e\u003c/a\u003e v1.11.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/debug/commit/88d762c8c9b157e3a2627ac3de0df1d5cb8dace5\"\u003e\u003ccode\u003e88d762c\u003c/code\u003e\u003c/a\u003e FileUtils is needed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/debug/commit/553373a59f655177dabb2cef952ad1fae1d55fa4\"\u003e\u003ccode\u003e553373a\u003c/code\u003e\u003c/a\u003e omit on older version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/debug/commit/c1c1c8e2533096e82d2888170f18d7cc990407fd\"\u003e\u003ccode\u003ec1c1c8e\u003c/code\u003e\u003c/a\u003e use \u003ccode\u003eKernel.__callee__\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/debug/commit/24f95d637d96d92eb249e1ca45f3550832b5307f\"\u003e\u003ccode\u003e24f95d6\u003c/code\u003e\u003c/a\u003e catch up 4.0.0 backtrace change\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/debug/commit/bc97d3387deb4357419e9ebc6c40f809d1858527\"\u003e\u003ccode\u003ebc97d33\u003c/code\u003e\u003c/a\u003e add a test for \u003ccode\u003eb path: ...\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/debug/commit/1139d781ffde33a1ae6de04e718269cf8e4b0d09\"\u003e\u003ccode\u003e1139d78\u003c/code\u003e\u003c/a\u003e support \u003ccode\u003eb path: path_expr\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/debug/commit/06342cd77a11af814c91726f7e5bc3f1974be9df\"\u003e\u003ccode\u003e06342cd\u003c/code\u003e\u003c/a\u003e catch any exception on \u003ccode\u003esingletonclass\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/debug/commit/2791573fd24aef2091cbb30aa8750f3117781752\"\u003e\u003ccode\u003e2791573\u003c/code\u003e\u003c/a\u003e fix(DAP): Return unverified breakpoints instead of unsuccessful response\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/debug/commit/14c8a546242a5e88ed8f47607629ffbef7d3315d\"\u003e\u003ccode\u003e14c8a54\u003c/code\u003e\u003c/a\u003e Update imemo_mask to match ruby's\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/ruby/debug/compare/v1.11.0...v1.11.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `dotenv-rails` from 3.1.8 to 3.2.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/bkeepers/dotenv/releases\"\u003edotenv-rails's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.2.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBoost app startup time by removing to_sentence usage by \u003ca href=\"https://github.com/ThomasCrambert\"\u003e\u003ccode\u003e@​ThomasCrambert\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/bkeepers/dotenv/pull/534\"\u003ebkeepers/dotenv#534\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHandle parentheses in variables in commands by \u003ca href=\"https://github.com/i7an\"\u003e\u003ccode\u003e@​i7an\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/bkeepers/dotenv/pull/540\"\u003ebkeepers/dotenv#540\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eallow warning when a env var was not overwritten by \u003ca href=\"https://github.com/grosser\"\u003e\u003ccode\u003e@​grosser\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/bkeepers/dotenv/pull/531\"\u003ebkeepers/dotenv#531\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix a few small issues by \u003ca href=\"https://github.com/grosser\"\u003e\u003ccode\u003e@​grosser\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/bkeepers/dotenv/pull/532\"\u003ebkeepers/dotenv#532\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/ThomasCrambert\"\u003e\u003ccode\u003e@​ThomasCrambert\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/bkeepers/dotenv/pull/534\"\u003ebkeepers/dotenv#534\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/i7an\"\u003e\u003ccode\u003e@​i7an\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/bkeepers/dotenv/pull/540\"\u003ebkeepers/dotenv#540\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/bkeepers/dotenv/compare/v3.1.8...v3.2.0\"\u003ehttps://github.com/bkeepers/dotenv/compare/v3.1.8...v3.2.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/bkeepers/dotenv/commit/34156bf400cd67387fa6ed9f146778f6a2f5f743\"\u003e\u003ccode\u003e34156bf\u003c/code\u003e\u003c/a\u003e Prepare for 3.2.0 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bkeepers/dotenv/commit/ab478201bdb487bfebd9e89875fd4edcf19dc064\"\u003e\u003ccode\u003eab47820\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/bkeepers/dotenv/issues/531\"\u003e#531\u003c/a\u003e from grosser/grosser/warn\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bkeepers/dotenv/commit/fae61202e432f39742e2592817cc7bb38f559852\"\u003e\u003ccode\u003efae6120\u003c/code\u003e\u003c/a\u003e Merge branch 'main' into grosser/warn\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bkeepers/dotenv/commit/4f510f41073cabb9786e3a5ea57263933497e696\"\u003e\u003ccode\u003e4f510f4\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/bkeepe...\n\n_Description has been truncated_","html_url":"https://github.com/ministryofjustice/laa-crime-application-store/pull/525","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/ministryofjustice%2Flaa-crime-application-store/issues/525","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/525/packages"}},{"old_version":"2.0.17","new_version":"2.0.18","update_type":"patch","path":null,"pr_created_at":"2026-01-07T03:13:31.000Z","version_change":"2.0.17 → 2.0.18","issue":{"uuid":"3787195435","node_id":"PR_kwDODdTws86709gk","number":3158,"state":"closed","title":"Bump the bundler group across 1 directory with 104 updates","user":"dependabot[bot]","labels":["dependencies","ruby"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-01-14T03:13:55.000Z","author_association":null,"state_reason":null,"created_at":"2026-01-07T03:13:31.000Z","updated_at":"2026-01-14T03:13:56.000Z","time_to_close":604824,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"bundler","update_count":104,"packages":[{"name":"bootsnap","old_version":"1.18.6","new_version":"1.20.1","repository_url":"https://github.com/rails/bootsnap"},{"name":"govuk-components","old_version":"5.11.3","new_version":"5.13.1","repository_url":"https://github.com/x-govuk/govuk-components"},{"name":"govuk_design_system_formbuilder","old_version":"5.11.0","new_version":"5.13.0","repository_url":"https://github.com/x-govuk/govuk-form-builder"},{"name":"haml-rails","old_version":"2.1.0","new_version":"3.0.0","repository_url":"https://github.com/haml/haml-rails"},{"name":"oauth2","old_version":"2.0.17","new_version":"2.0.18","repository_url":"https://github.com/ruby-oauth/oauth2"},{"name":"omniauth-rails_csrf_protection","old_version":"1.0.2","new_version":"2.0.1","repository_url":"https://github.com/cookpad/omniauth-rails_csrf_protection"},{"name":"pg","old_version":"1.6.2","new_version":"1.6.3","repository_url":"https://github.com/ged/ruby-pg"},{"name":"prometheus_exporter","old_version":"2.3.0","new_version":"2.3.1","repository_url":"https://github.com/discourse/prometheus_exporter"},{"name":"puma","old_version":"7.0.4","new_version":"7.1.0","repository_url":"https://github.com/puma/puma"},{"name":"rails","old_version":"8.0.3","new_version":"8.1.1","repository_url":"https://github.com/rails/rails"},{"name":"sentry-rails","old_version":"5.27.1","new_version":"6.2.0","repository_url":"https://github.com/getsentry/sentry-ruby"},{"name":"sentry-sidekiq","old_version":"5.27.1","new_version":"6.2.0","repository_url":"https://github.com/getsentry/sentry-ruby"},{"name":"dotenv-rails","old_version":"3.1.8","new_version":"3.2.0","repository_url":"https://github.com/bkeepers/dotenv"},{"name":"sidekiq","old_version":"8.0.7","new_version":"8.1.0","repository_url":"https://github.com/sidekiq/sidekiq"},{"name":"turbo-rails","old_version":"2.0.16","new_version":"2.0.20","repository_url":"https://github.com/hotwired/turbo-rails"},{"name":"axe-core-rspec","old_version":"4.10.3","new_version":"4.11.0","repository_url":"https://github.com/dequelabs/axe-core-gems"},{"name":"brakeman","old_version":"7.1.0","new_version":"7.1.2","repository_url":"https://github.com/presidentbeef/brakeman"},{"name":"haml_lint","old_version":"0.66.0","new_version":"0.68.0","repository_url":"https://github.com/sds/haml-lint"},{"name":"i18n-tasks","old_version":"1.0.15","new_version":"1.1.2","repository_url":"https://github.com/glebm/i18n-tasks"},{"name":"rubocop","old_version":"1.80.2","new_version":"1.82.1","repository_url":"https://github.com/rubocop/rubocop"},{"name":"rubocop-factory_bot","old_version":"2.27.1","new_version":"2.28.0","repository_url":"https://github.com/rubocop/rubocop-factory_bot"},{"name":"rubocop-performance","old_version":"1.26.0","new_version":"1.26.1","repository_url":"https://github.com/rubocop/rubocop-performance"},{"name":"rubocop-rails","old_version":"2.33.3","new_version":"2.34.3","repository_url":"https://github.com/rubocop/rubocop-rails"},{"name":"rubocop-rspec","old_version":"3.7.0","new_version":"3.8.0","repository_url":"https://github.com/rubocop/rubocop-rspec"},{"name":"rubocop-rspec_rails","old_version":"2.31.0","new_version":"2.32.0","repository_url":"https://github.com/rubocop/rubocop-rspec_rails"},{"name":"selenium-webdriver","old_version":"4.35.0","new_version":"4.39.0","repository_url":"https://github.com/SeleniumHQ/selenium"},{"name":"shoulda-matchers","old_version":"6.5.0","new_version":"7.0.1","repository_url":"https://github.com/thoughtbot/shoulda-matchers"},{"name":"vcr","old_version":"6.3.1","new_version":"6.4.0","repository_url":"https://github.com/vcr/vcr"},{"name":"webmock","old_version":"3.25.1","new_version":"3.26.1","repository_url":"https://github.com/bblimke/webmock"},{"name":"faker","old_version":"3.5.2","new_version":"3.5.3","repository_url":"https://github.com/faker-ruby/faker"},{"name":"net-imap","old_version":"0.5.10","new_version":"0.6.2","repository_url":"https://github.com/ruby/net-imap"},{"name":"bcrypt","old_version":"3.1.20","new_version":"3.1.21","repository_url":"https://github.com/bcrypt-ruby/bcrypt-ruby"},{"name":"factory_bot","old_version":"6.5.5","new_version":"6.5.6","repository_url":"https://github.com/thoughtbot/factory_bot"},{"name":"faraday-follow_redirects","old_version":"0.3.0","new_version":"0.5.0","repository_url":"https://github.com/tisba/faraday-follow-redirects"},{"name":"ffi","old_version":"1.17.2","new_version":"1.17.3","repository_url":"https://github.com/ffi/ffi"},{"name":"json-jwt","old_version":"1.16.7","new_version":"1.17.0","repository_url":"https://github.com/nov/json-jwt"},{"name":"rack-oauth2","old_version":"2.2.1","new_version":"2.3.0","repository_url":"https://github.com/nov/rack-oauth2"},{"name":"responders","old_version":"3.1.1","new_version":"3.2.0","repository_url":"https://github.com/heartcombo/responders"},{"name":"rspec","old_version":"3.13.1","new_version":"3.13.2","repository_url":"https://github.com/rspec/rspec"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps the bundler group with 39 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [bootsnap](https://github.com/rails/bootsnap) | `1.18.6` | `1.20.1` |\n| [govuk-components](https://github.com/x-govuk/govuk-components) | `5.11.3` | `5.13.1` |\n| [govuk_design_system_formbuilder](https://github.com/x-govuk/govuk-form-builder) | `5.11.0` | `5.13.0` |\n| [haml-rails](https://github.com/haml/haml-rails) | `2.1.0` | `3.0.0` |\n| [oauth2](https://github.com/ruby-oauth/oauth2) | `2.0.17` | `2.0.18` |\n| [omniauth-rails_csrf_protection](https://github.com/cookpad/omniauth-rails_csrf_protection) | `1.0.2` | `2.0.1` |\n| [pg](https://github.com/ged/ruby-pg) | `1.6.2` | `1.6.3` |\n| [prometheus_exporter](https://github.com/discourse/prometheus_exporter) | `2.3.0` | `2.3.1` |\n| [puma](https://github.com/puma/puma) | `7.0.4` | `7.1.0` |\n| [rails](https://github.com/rails/rails) | `8.0.3` | `8.1.1` |\n| [sentry-rails](https://github.com/getsentry/sentry-ruby) | `5.27.1` | `6.2.0` |\n| [sentry-sidekiq](https://github.com/getsentry/sentry-ruby) | `5.27.1` | `6.2.0` |\n| [dotenv-rails](https://github.com/bkeepers/dotenv) | `3.1.8` | `3.2.0` |\n| [sidekiq](https://github.com/sidekiq/sidekiq) | `8.0.7` | `8.1.0` |\n| [turbo-rails](https://github.com/hotwired/turbo-rails) | `2.0.16` | `2.0.20` |\n| [axe-core-rspec](https://github.com/dequelabs/axe-core-gems) | `4.10.3` | `4.11.0` |\n| [brakeman](https://github.com/presidentbeef/brakeman) | `7.1.0` | `7.1.2` |\n| [haml_lint](https://github.com/sds/haml-lint) | `0.66.0` | `0.68.0` |\n| [i18n-tasks](https://github.com/glebm/i18n-tasks) | `1.0.15` | `1.1.2` |\n| [rubocop](https://github.com/rubocop/rubocop) | `1.80.2` | `1.82.1` |\n| [rubocop-factory_bot](https://github.com/rubocop/rubocop-factory_bot) | `2.27.1` | `2.28.0` |\n| [rubocop-performance](https://github.com/rubocop/rubocop-performance) | `1.26.0` | `1.26.1` |\n| [rubocop-rails](https://github.com/rubocop/rubocop-rails) | `2.33.3` | `2.34.3` |\n| [rubocop-rspec](https://github.com/rubocop/rubocop-rspec) | `3.7.0` | `3.8.0` |\n| [rubocop-rspec_rails](https://github.com/rubocop/rubocop-rspec_rails) | `2.31.0` | `2.32.0` |\n| [selenium-webdriver](https://github.com/SeleniumHQ/selenium) | `4.35.0` | `4.39.0` |\n| [shoulda-matchers](https://github.com/thoughtbot/shoulda-matchers) | `6.5.0` | `7.0.1` |\n| [vcr](https://github.com/vcr/vcr) | `6.3.1` | `6.4.0` |\n| [webmock](https://github.com/bblimke/webmock) | `3.25.1` | `3.26.1` |\n| [faker](https://github.com/faker-ruby/faker) | `3.5.2` | `3.5.3` |\n| [net-imap](https://github.com/ruby/net-imap) | `0.5.10` | `0.6.2` |\n| [bcrypt](https://github.com/bcrypt-ruby/bcrypt-ruby) | `3.1.20` | `3.1.21` |\n| [factory_bot](https://github.com/thoughtbot/factory_bot) | `6.5.5` | `6.5.6` |\n| [faraday-follow_redirects](https://github.com/tisba/faraday-follow-redirects) | `0.3.0` | `0.5.0` |\n| [ffi](https://github.com/ffi/ffi) | `1.17.2` | `1.17.3` |\n| [json-jwt](https://github.com/nov/json-jwt) | `1.16.7` | `1.17.0` |\n| [rack-oauth2](https://github.com/nov/rack-oauth2) | `2.2.1` | `2.3.0` |\n| [responders](https://github.com/heartcombo/responders) | `3.1.1` | `3.2.0` |\n| [rspec](https://github.com/rspec/rspec) | `3.13.1` | `3.13.2` |\n\n\nUpdates `bootsnap` from 1.18.6 to 1.20.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/bootsnap/releases\"\u003ebootsnap's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.20.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eHandle broken symlinks in load path scanning code.\nShould fix \u003ccode\u003eErrno::ENOENT fstatat\u003c/code\u003e issues some users have encountered after upgrading to 1.20.0.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/rails/bootsnap/compare/v1.20.0...v1.20.1\"\u003ehttps://github.com/rails/bootsnap/compare/v1.20.0...v1.20.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.20.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eOptimized load path scanning with a C extension. Should be about 2x faster on supported platforms.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/rails/bootsnap/compare/v1.19.0...v1.20.0\"\u003ehttps://github.com/rails/bootsnap/compare/v1.19.0...v1.20.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/rails/bootsnap/blob/main/CHANGELOG.md\"\u003ebootsnap's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e1.20.1\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eHandle broken symlinks in load path scanning code.\nShould fix \u003ccode\u003eErrno::ENOENT fstatat\u003c/code\u003e issues some users have encountered after upgrading to 1.20.0.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e1.20.0\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eOptimized load path scanning with a C extension. Should be about 2x faster on supported platforms.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e1.19.0\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eRemove JSON parsing cache. Recent versions of the \u003ccode\u003ejson\u003c/code\u003e gem are as fast as \u003ccode\u003emsgpack\u003c/code\u003e if not faster.\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/rails/bootsnap/commit/ba59bb8e012ddbe592b0de85d06304afed65688c\"\u003e\u003ccode\u003eba59bb8\u003c/code\u003e\u003c/a\u003e Release 1.20.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/302b7dbbc31c917456369fe136b86c1ffc591a64\"\u003e\u003ccode\u003e302b7db\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/bootsnap/issues/514\"\u003e#514\u003c/a\u003e from byroot/handle-broken-symlink\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/fd1ddc33aa8a247e204c152ec700167b285188b2\"\u003e\u003ccode\u003efd1ddc3\u003c/code\u003e\u003c/a\u003e Handle broken symlinks in load path\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/fac34b899341134389dd8067678230d95e409939\"\u003e\u003ccode\u003efac34b8\u003c/code\u003e\u003c/a\u003e Release 1.20.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/71311d4c599a2d4eebec29652889577ff430499c\"\u003e\u003ccode\u003e71311d4\u003c/code\u003e\u003c/a\u003e Include Bootsnap::VERSION in LoadPathCache version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/f5c43ac14b11e9771155d5a5a402c6a8ef0f8ef6\"\u003e\u003ccode\u003ef5c43ac\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/bootsnap/issues/512\"\u003e#512\u003c/a\u003e from byroot/prune-load-dir\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/f94f668c545122c26462d31cec647095282b68a1\"\u003e\u003ccode\u003ef94f668\u003c/code\u003e\u003c/a\u003e Stop caching directories in LoadPathCache\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/e3b5292b2f00012130b2529ec01ac42bdddbe0b2\"\u003e\u003ccode\u003ee3b5292\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/bootsnap/issues/511\"\u003e#511\u003c/a\u003e from byroot/c-ext-load-path-scan\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/e91dd2158b014d7f233028475942b9fbe2c9ed2c\"\u003e\u003ccode\u003ee91dd21\u003c/code\u003e\u003c/a\u003e Implement PathScanner in C to avoid N+1 \u003ccode\u003estat(2)\u003c/code\u003e calls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/c77d5ccfec3188c8feb259963eaad5debc955bcf\"\u003e\u003ccode\u003ec77d5cc\u003c/code\u003e\u003c/a\u003e Cleanup the c extension\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/bootsnap/compare/v1.18.6...v1.20.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `govuk-components` from 5.11.3 to 5.13.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/x-govuk/govuk-components/releases\"\u003egovuk-components's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 5.13.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix a bug in the service nav where \u003ccode\u003earia-current=\u0026quot;true\u0026quot;\u003c/code\u003e was showing where it shouldn't have been. Thanks \u003ca href=\"https://github.com/DavidBiddle\"\u003e\u003ccode\u003e@​DavidBiddle\u003c/code\u003e\u003c/a\u003e for diagnosing (\u003ca href=\"https://redirect.github.com/x-govuk/govuk-components/issues/621\"\u003e#621\u003c/a\u003e) and fixing (\u003ca href=\"https://redirect.github.com/x-govuk/govuk-components/issues/622\"\u003e#622\u003c/a\u003e) this :heart:\u003c/li\u003e\n\u003cli\u003eChange some links in the docs from netlify.app to x-govuk.org\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 5.13.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Rails 8.1. Thanks \u003ca href=\"https://github.com/thomasleese\"\u003e\u003ccode\u003e@​thomasleese\u003c/code\u003e\u003c/a\u003e. \u003ca href=\"https://redirect.github.com/x-govuk/govuk-components/issues/619\"\u003e#619\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to govuk-frontend 5.13.0\u003c/li\u003e\n\u003cli\u003eAdd Netlify link to the footer to qualify for Netlify's open source plan which we're using for the \u003ca href=\"https://govuk-components.x-govuk.org/\"\u003enew guide domain\u003c/a\u003e  ccb566fd4cd1ed5a8\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/x-govuk/govuk-components/commit/ae1d8499a1abb27f460bbf27f2bff7783aac258e\"\u003e\u003ccode\u003eae1d849\u003c/code\u003e\u003c/a\u003e Release version 5.13.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/x-govuk/govuk-components/commit/11c9b1a68c1527fd1ee7ce5ce7cd156404cf606c\"\u003e\u003ccode\u003e11c9b1a\u003c/code\u003e\u003c/a\u003e Change links from netlify.app to x-govuk.org\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/x-govuk/govuk-components/commit/fb64c67029b5be08c0d9ade7033a11034d2ccae9\"\u003e\u003ccode\u003efb64c67\u003c/code\u003e\u003c/a\u003e Only show aria-current attribute for current and active links (\u003ca href=\"https://redirect.github.com/x-govuk/govuk-components/issues/622\"\u003e#622\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/x-govuk/govuk-components/commit/f5af8cfe23c2f9af1c106068073175836239408b\"\u003e\u003ccode\u003ef5af8cf\u003c/code\u003e\u003c/a\u003e Update links in pagination component\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/x-govuk/govuk-components/commit/fe3af03967d65eedade3396e00b85ce0fde10721\"\u003e\u003ccode\u003efe3af03\u003c/code\u003e\u003c/a\u003e Fix stale links to x-govuk.github.io\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/x-govuk/govuk-components/commit/73cfab8a9995fec57277c7f46bd46b64cc06532a\"\u003e\u003ccode\u003e73cfab8\u003c/code\u003e\u003c/a\u003e Only show aria-current attribute for current and active links\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/x-govuk/govuk-components/commit/03365a4ae4c13d67f710e313d5420fb383cf6258\"\u003e\u003ccode\u003e03365a4\u003c/code\u003e\u003c/a\u003e Release version 5.13.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/x-govuk/govuk-components/commit/4cc7cd132e65748edb74abf89da9c2ac40328c52\"\u003e\u003ccode\u003e4cc7cd1\u003c/code\u003e\u003c/a\u003e Upgrade to govuk-frontend 5.13.0 (\u003ca href=\"https://redirect.github.com/x-govuk/govuk-components/issues/620\"\u003e#620\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/x-govuk/govuk-components/commit/7e2ac2f76d0bf2b9200ba4e59371fc617db6d724\"\u003e\u003ccode\u003e7e2ac2f\u003c/code\u003e\u003c/a\u003e Upgrade to govuk-frontend 5.13.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/x-govuk/govuk-components/commit/775c0185f0211fee2a02694058643b0458193ec3\"\u003e\u003ccode\u003e775c018\u003c/code\u003e\u003c/a\u003e Update rubocop-govuk requirement from = 5.1.18 to = 5.1.20 (\u003ca href=\"https://redirect.github.com/x-govuk/govuk-components/issues/614\"\u003e#614\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/x-govuk/govuk-components/compare/v5.11.3...v5.13.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `govuk_design_system_formbuilder` from 5.11.0 to 5.13.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/x-govuk/govuk-form-builder/releases\"\u003egovuk_design_system_formbuilder's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 5.13.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eupgrade to govuk-frontend 5.13.0 \u003ca href=\"https://redirect.github.com/x-govuk/govuk-form-builder/issues/586\"\u003e#586\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003evarious minor version bumps\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/x-govuk/govuk-form-builder/commit/8706eb080e4adbec086c9df6b23c10d2392d67d9\"\u003e\u003ccode\u003e8706eb0\u003c/code\u003e\u003c/a\u003e Release version 5.13.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/x-govuk/govuk-form-builder/commit/4ee1610b38f2ad724ad35f46d4cd9f2ada8657fa\"\u003e\u003ccode\u003e4ee1610\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/x-govuk/govuk-form-builder/issues/586\"\u003e#586\u003c/a\u003e from x-govuk/govuk-frontend-5.13.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/x-govuk/govuk-form-builder/commit/e4152cf35f1210fbf41a7f8c6326561ae34b08f2\"\u003e\u003ccode\u003ee4152cf\u003c/code\u003e\u003c/a\u003e Upgrade to govuk-frontend 5.13.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/x-govuk/govuk-form-builder/commit/1d621fec728b9ad3e68713d77fe418ff15f25938\"\u003e\u003ccode\u003e1d621fe\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/x-govuk/govuk-form-builder/issues/583\"\u003e#583\u003c/a\u003e from x-govuk/dependabot/npm_and_yarn/guide/sass-1.93.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/x-govuk/govuk-form-builder/commit/b719555a4517528f64ab8060176527ef16b8ab52\"\u003e\u003ccode\u003eb719555\u003c/code\u003e\u003c/a\u003e Bump sass from 1.91.0 to 1.93.2 in /guide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/x-govuk/govuk-form-builder/commit/8220652d0d66644b84e71e73799526182e26e0dc\"\u003e\u003ccode\u003e8220652\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/x-govuk/govuk-form-builder/issues/578\"\u003e#578\u003c/a\u003e from x-govuk/dependabot/bundler/rubocop-govuk-tw-5.1.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/x-govuk/govuk-form-builder/commit/d044ef7485504f87b5249d193cedfaa165e7dc5f\"\u003e\u003ccode\u003ed044ef7\u003c/code\u003e\u003c/a\u003e Update rubocop-govuk requirement from ~\u0026gt; 5.0.1 to ~\u0026gt; 5.1.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/x-govuk/govuk-form-builder/commit/c7a77bf283ae692234739d731466d4afea709d88\"\u003e\u003ccode\u003ec7a77bf\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/x-govuk/govuk-form-builder/issues/581\"\u003e#581\u003c/a\u003e from x-govuk/dependabot/bundler/rouge-tw-4.6.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/x-govuk/govuk-form-builder/commit/14991675d0b937d6d22fab58fc218678800292cd\"\u003e\u003ccode\u003e1499167\u003c/code\u003e\u003c/a\u003e Update rouge requirement from ~\u0026gt; 4.5.1 to ~\u0026gt; 4.6.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/x-govuk/govuk-form-builder/commit/865fd13d39821adac617aadccf6df3e3f70a4e47\"\u003e\u003ccode\u003e865fd13\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/x-govuk/govuk-form-builder/issues/569\"\u003e#569\u003c/a\u003e from x-govuk/dependabot/npm_and_yarn/guide/sass-1.89.2\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/x-govuk/govuk-form-builder/compare/v5.11.0...v5.13.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `haml-rails` from 2.1.0 to 3.0.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/haml/haml-rails/commit/6c7c8ca772b2c8d36b58278c2c09498385979f85\"\u003e\u003ccode\u003e6c7c8ca\u003c/code\u003e\u003c/a\u003e Version 3.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/haml/haml-rails/commit/e364abbc6a54f84b344c1ec846d683f927e1ae59\"\u003e\u003ccode\u003ee364abb\u003c/code\u003e\u003c/a\u003e Just use the newest one\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/haml/haml-rails/commit/30005dc31f9926dac33ba776389e9456e068b20f\"\u003e\u003ccode\u003e30005dc\u003c/code\u003e\u003c/a\u003e [CI] uses: actions/checkout@v5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/haml/haml-rails/commit/e639b11fe1571cdc1e8bb48143d13a63110e09e1\"\u003e\u003ccode\u003ee639b11\u003c/code\u003e\u003c/a\u003e Properly state the supported version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/haml/haml-rails/commit/3e1b70552ca28a42a4741d3bfd3cf7cf379c6486\"\u003e\u003ccode\u003e3e1b705\u003c/code\u003e\u003c/a\u003e frozen_string_literal: ❄️\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/haml/haml-rails/commit/2c51fd5848e6d36e36f831cf827578003525d08f\"\u003e\u003ccode\u003e2c51fd5\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/haml/haml-rails/issues/197\"\u003e#197\u003c/a\u003e from amatsuda/rails_versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/haml/haml-rails/commit/9f4703ddff0644ba52529c5cf41c1624829b16a7\"\u003e\u003ccode\u003e9f4703d\u003c/code\u003e\u003c/a\u003e Fall back to the newest templates by default\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/haml/haml-rails/commit/f0a9ff88ef682af3d6023e1d453ed978597abd72\"\u003e\u003ccode\u003ef0a9ff8\u003c/code\u003e\u003c/a\u003e Rails 5.1 scaffold templates\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/haml/haml-rails/commit/852cf01c9831ee09049f7b990a648d441c876093\"\u003e\u003ccode\u003e852cf01\u003c/code\u003e\u003c/a\u003e Rails 5.2 scaffold templates\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/haml/haml-rails/commit/8bb0351a85b83e81d1b27f18fdda17a77961c1af\"\u003e\u003ccode\u003e8bb0351\u003c/code\u003e\u003c/a\u003e Rails 6.0 scaffold templates\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/haml/haml-rails/compare/v2.1.0...v3.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `oauth2` from 2.0.17 to 2.0.18\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby-oauth/oauth2/releases\"\u003eoauth2's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.0.18\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/compare/v2.0.17...v2.0.18\"\u003e2.0.18\u003c/a\u003e - 2025-11-08\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eTAG: \u003ca href=\"https://github.com/ruby-oauth/oauth2/releases/tag/v2.0.18\"\u003ev2.0.18\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCOVERAGE: 100.00% -- 526/526 lines in 14 files\u003c/li\u003e\n\u003cli\u003eBRANCH COVERAGE: 100.00% -- 178/178 branches in 14 files\u003c/li\u003e\n\u003cli\u003e90.48% documented\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/683\"\u003egh!683\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/684\"\u003egh!684\u003c/a\u003e - Improve documentation by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/686\"\u003egh!686\u003c/a\u003e- Add Incident Response Plan by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/687\"\u003egh!687\u003c/a\u003e- Add Threat Model by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/685\"\u003egh!685\u003c/a\u003e - upgrade kettle-dev v1.1.24 by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eupgrade kettle-dev v1.1.52 by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003eAdd open collective donors to README\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/690\"\u003egh!690\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/691\"\u003egh!691\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/692\"\u003egh!692\u003c/a\u003e - Add yard-fence\n\u003cul\u003e\n\u003cli\u003ehandle braces within code fences in markdown properly by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cp\u003eOfficial Discord 👉️ [![Live Chat on Discord][✉️discord-invite-img]][✉️discord-invite]\u003c/p\u003e\n\u003cp\u003eMany paths lead to being a sponsor or a backer of this project. Are you on such a path?\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://opencollective.com/ruby-oauth#backer\"\u003e![OpenCollective Backers][🖇osc-backers-i]\u003c/a\u003e [![OpenCollective Sponsors][🖇osc-sponsors-i]][🖇osc-sponsors] [![Sponsor Me on Github][🖇sponsor-img]][🖇sponsor] \u003ca href=\"https://liberapay.com/pboling/donate\"\u003e\u003cimg src=\"https://img.shields.io/liberapay/goal/pboling.svg?logo=liberapay\u0026amp;color=a51611\u0026amp;style=flat\" alt=\"Liberapay Goal Progress\" /\u003e\u003c/a\u003e [![Donate on PayPal][🖇paypal-img]][🖇paypal]\u003c/p\u003e\n\u003cp\u003e[![Buy me a coffee][🖇buyme-small-img]][🖇buyme] [![Donate on Polar][🖇polar-img]][🖇polar] [![Donate to my FLOSS efforts at ko-fi.com][🖇kofi-img]][🖇kofi] [![Donate to my FLOSS efforts using Patreon][🖇patreon-img]][🖇patreon]\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\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby-oauth/oauth2/blob/main/CHANGELOG.md\"\u003eoauth2's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[2.0.18] - 2025-11-08\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eTAG: [v2.0.18][2.0.18t]\u003c/li\u003e\n\u003cli\u003eCOVERAGE: 100.00% -- 526/526 lines in 14 files\u003c/li\u003e\n\u003cli\u003eBRANCH COVERAGE: 100.00% -- 178/178 branches in 14 files\u003c/li\u003e\n\u003cli\u003e90.48% documented\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/683\"\u003egh!683\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/684\"\u003egh!684\u003c/a\u003e - Improve documentation by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/686\"\u003egh!686\u003c/a\u003e- Add Incident Response Plan by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/687\"\u003egh!687\u003c/a\u003e- Add Threat Model by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/685\"\u003egh!685\u003c/a\u003e - upgrade kettle-dev v1.1.24 by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eupgrade kettle-dev v1.1.52 by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003eAdd open collective donors to README\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/690\"\u003egh!690\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/691\"\u003egh!691\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/692\"\u003egh!692\u003c/a\u003e - Add yard-fence\n\u003cul\u003e\n\u003cli\u003ehandle braces within code fences in markdown properly by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSecurity\u003c/h3\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/ruby-oauth/oauth2/commit/b5753116121553d56937039dafc5ea472d9a99ed\"\u003e\u003ccode\u003eb575311\u003c/code\u003e\u003c/a\u003e 🔖 Prepare release v2.0.18\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/b5af77ba42ec111dda68abdee33d631e27fdfe61\"\u003e\u003ccode\u003eb5af77b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/issues/693\"\u003e#693\u003c/a\u003e from ruby-oauth/feat/docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/cf2853d9fa05999f88c9df8b1b3a8a3ed21c64e8\"\u003e\u003ccode\u003ecf2853d\u003c/code\u003e\u003c/a\u003e 📝 Update docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/18434156bfc988527d2453b2174e6356e233757d\"\u003e\u003ccode\u003e1843415\u003c/code\u003e\u003c/a\u003e ⬆️ kettle-dev v1.1.52, yard-fence v0.8.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/f592dd8753966a30671ebc2e8a28ab26138b6c2b\"\u003e\u003ccode\u003ef592dd8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/issues/692\"\u003e#692\u003c/a\u003e from ruby-oauth/feat/docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/2095732d7cd4eeb80fe74c89e2a2d012517e40d6\"\u003e\u003ccode\u003e2095732\u003c/code\u003e\u003c/a\u003e ⬆️ yard-fence v0.7.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/50f3fd08e733ed75b2cc99e077e9ea9d64a3d5d5\"\u003e\u003ccode\u003e50f3fd0\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/issues/691\"\u003e#691\u003c/a\u003e from ruby-oauth/feat/docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/bcb0e40bfca989f164a04cbf46a4175822b7cb28\"\u003e\u003ccode\u003ebcb0e40\u003c/code\u003e\u003c/a\u003e ✏️ Fix typos in docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/f24f1a8bfbf546595aa16cd6fa82119c8218c1d3\"\u003e\u003ccode\u003ef24f1a8\u003c/code\u003e\u003c/a\u003e Create CNAME\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/bff58e1afec541feca2a337664d09c58b8a22419\"\u003e\u003ccode\u003ebff58e1\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/issues/690\"\u003e#690\u003c/a\u003e from ruby-oauth/feat/yard-fence\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby-oauth/oauth2/compare/v2.0.17...v2.0.18\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `omniauth-rails_csrf_protection` from 1.0.2 to 2.0.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/cookpad/omniauth-rails_csrf_protection/releases\"\u003eomniauth-rails_csrf_protection's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 2.0.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix an issue with configuration delegation in Rails \u0026lt; 8.1 (\u003ca href=\"https://redirect.github.com/cookpad/omniauth-rails_csrf_protection/issues/26\"\u003e#26\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003eFor more details, please see 1a0d39099957675f549e1f23c836f57b99b09a00.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 2.0.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eStop using deprecated \u003ccode\u003eActiveSupport::Configurable\u003c/code\u003e when this gem is running against Action Pack version 8.1 and later (\u003ca href=\"https://redirect.github.com/cookpad/omniauth-rails_csrf_protection/issues/23\"\u003e#23\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/cookpad/omniauth-rails_csrf_protection/issues/24\"\u003e#24\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/cookpad/omniauth-rails_csrf_protection/commit/c4f53d72e6a278c02f1a6d294c4f8004354ee0b7\"\u003e\u003ccode\u003ec4f53d7\u003c/code\u003e\u003c/a\u003e Bump to 2.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cookpad/omniauth-rails_csrf_protection/commit/1a0d39099957675f549e1f23c836f57b99b09a00\"\u003e\u003ccode\u003e1a0d390\u003c/code\u003e\u003c/a\u003e Fix an issue with configuration delegation in Rails \u0026lt; 8.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cookpad/omniauth-rails_csrf_protection/commit/bc315e1b09fbf6a363d5293067b42675f020fc4c\"\u003e\u003ccode\u003ebc315e1\u003c/code\u003e\u003c/a\u003e Properly silence Rails 8.0.x warning message in test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cookpad/omniauth-rails_csrf_protection/commit/23483750b4a0a803347e02778b975886ecb82875\"\u003e\u003ccode\u003e2348375\u003c/code\u003e\u003c/a\u003e Bump to 2.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cookpad/omniauth-rails_csrf_protection/commit/c283d1d159a292c5fce8ed1a2f5997f6bde209f5\"\u003e\u003ccode\u003ec283d1d\u003c/code\u003e\u003c/a\u003e Update README to add OmniAuth's built-in solution\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cookpad/omniauth-rails_csrf_protection/commit/2cf722bd7cc310009ee626cce28a7ea52b47f649\"\u003e\u003ccode\u003e2cf722b\u003c/code\u003e\u003c/a\u003e Add workaround for deprecated AS::Configurable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cookpad/omniauth-rails_csrf_protection/commit/431597eb44ff8ae0bf9802d1a1dc85ebb8d2cfa3\"\u003e\u003ccode\u003e431597e\u003c/code\u003e\u003c/a\u003e Silence \u003ccode\u003e#to_time\u003c/code\u003e warning in Rails 8.0.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cookpad/omniauth-rails_csrf_protection/commit/5e9c8a27b0ccac54ca3bec7f3b49d43ddefdc4d6\"\u003e\u003ccode\u003e5e9c8a2\u003c/code\u003e\u003c/a\u003e Print Ruby version in the test output\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cookpad/omniauth-rails_csrf_protection/commit/3e62c0572bf5c9796fff5fe197f07d5ed172a7c5\"\u003e\u003ccode\u003e3e62c05\u003c/code\u003e\u003c/a\u003e Remove unnecessary logger gem entry in Gemfile\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cookpad/omniauth-rails_csrf_protection/commit/f9810a5886d692312c6d015914fdad00cf7f41b2\"\u003e\u003ccode\u003ef9810a5\u003c/code\u003e\u003c/a\u003e Update build matrix and fix build errors\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/cookpad/omniauth-rails_csrf_protection/compare/v1.0.2...v2.0.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pg` from 1.6.2 to 1.6.3\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ged/ruby-pg/blob/master/CHANGELOG.md\"\u003epg's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.6.3 [2025-12-29] Lars Kanis \u003ca href=\"mailto:lars@greiz-reinsdorf.de\"\u003elars@greiz-reinsdorf.de\u003c/a\u003e\u003c/h2\u003e\n\u003cp\u003eAdded:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd binary gems for ruby-4.0, now providing ruby-3.0 to 4.0. \u003ca href=\"https://redirect.github.com/ged/ruby-pg/issues/682\"\u003e#682\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate fat binary gem to OpenSSL-3.6.0 and PostgreSQL-18.1.\u003c/li\u003e\n\u003cli\u003eImprove documentation of PG::Result and README. \u003ca href=\"https://redirect.github.com/ged/ruby-pg/issues/676\"\u003e#676\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate errorcodes to PostgreSQL-18.\u003c/li\u003e\n\u003cli\u003eUse \u003ccode\u003erb_hash_new_capa\u003c/code\u003e on Ruby-3.2+ . \u003ca href=\"https://redirect.github.com/ged/ruby-pg/issues/674\"\u003e#674\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDeny any server communication on a frozen PG::Connection . \u003ca href=\"https://redirect.github.com/ged/ruby-pg/issues/677\"\u003e#677\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix possible race condition in PG::Result in Ractor context. \u003ca href=\"https://redirect.github.com/ged/ruby-pg/issues/674\"\u003e#674\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eRemoved:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDrop binary gem support for platform \u003ccode\u003ex86-mingw32\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/ged/ruby-pg/issues/682\"\u003e#682\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDrop binary gems for ruby-2.7.\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/ged/ruby-pg/commit/d4539c25dcc89d47088e1423f8d1915c041920f5\"\u003e\u003ccode\u003ed4539c2\u003c/code\u003e\u003c/a\u003e Bump VERSION to pg-1.6.3 and add release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ged/ruby-pg/commit/720900dbb9d16aa855793146f15c3772e14f627a\"\u003e\u003ccode\u003e720900d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ged/ruby-pg/issues/682\"\u003e#682\u003c/a\u003e from larskanis/ruby-4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ged/ruby-pg/commit/f605b5937093884089109c8baa5fe268fc513eaf\"\u003e\u003ccode\u003ef605b59\u003c/code\u003e\u003c/a\u003e Remove x86-mingw32 from binary builds\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ged/ruby-pg/commit/5c690006ba158da70d73d939a233cf75ecdd30ef\"\u003e\u003ccode\u003e5c69000\u003c/code\u003e\u003c/a\u003e Update to ruby-4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ged/ruby-pg/commit/2acaf3d0f76334e056229efe260e1f558a8c6b42\"\u003e\u003ccode\u003e2acaf3d\u003c/code\u003e\u003c/a\u003e CI: workaround missing ruby-4.0 on Window\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ged/ruby-pg/commit/b500ded81127963603e1f724e82bed649c9ca8a1\"\u003e\u003ccode\u003eb500ded\u003c/code\u003e\u003c/a\u003e fix comment\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ged/ruby-pg/commit/bc3f2f8b1110e9bcb225d65554e1a7fc842d0506\"\u003e\u003ccode\u003ebc3f2f8\u003c/code\u003e\u003c/a\u003e CI: Macos-13 on Intel is deprecated\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ged/ruby-pg/commit/77667eb4313bd7b79356f402b0fa7fba409483b8\"\u003e\u003ccode\u003e77667eb\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ged/ruby-pg/issues/678\"\u003e#678\u003c/a\u003e from larskanis/ci-update\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ged/ruby-pg/commit/6e52ce504d05c5359d55f45d9580672103263b54\"\u003e\u003ccode\u003e6e52ce5\u003c/code\u003e\u003c/a\u003e CI: Update PostgreSQL on Macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ged/ruby-pg/commit/6d40f50e51a037022495fe6d98181435652464ff\"\u003e\u003ccode\u003e6d40f50\u003c/code\u003e\u003c/a\u003e CI: Print mkmf.log on failure on Macos\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ged/ruby-pg/compare/v1.6.2...v1.6.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `prometheus_exporter` from 2.3.0 to 2.3.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/discourse/prometheus_exporter/blob/main/CHANGELOG\"\u003eprometheus_exporter's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[2.3.1] - 2025-11-11\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFIX: get controller full path instead of controller name - Alex Platteeuw\u003c/li\u003e\n\u003cli\u003eFEATURE: Secure PrometheusExporter scraping with SSL - Nicolas Rodriquez\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/discourse/prometheus_exporter/commit/15e9d4783db8267fb3b0c48e5464ec4c1ae58c00\"\u003e\u003ccode\u003e15e9d47\u003c/code\u003e\u003c/a\u003e version bump (\u003ca href=\"https://redirect.github.com/discourse/prometheus_exporter/issues/358\"\u003e#358\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/discourse/prometheus_exporter/commit/4bd3817744bb5011aed6c669696ed957c23cd3fe\"\u003e\u003ccode\u003e4bd3817\u003c/code\u003e\u003c/a\u003e fix: get controller full path instead of controller name (\u003ca href=\"https://redirect.github.com/discourse/prometheus_exporter/issues/353\"\u003e#353\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/discourse/prometheus_exporter/commit/4bb4fa333386b166a745df92be5620b11be3872a\"\u003e\u003ccode\u003e4bb4fa3\u003c/code\u003e\u003c/a\u003e Secure PrometheusExporter scraping with SSL (\u003ca href=\"https://redirect.github.com/discourse/prometheus_exporter/issues/350\"\u003e#350\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/discourse/prometheus_exporter/commit/b10933453f0952cd17d143487c5adc8bb74b492a\"\u003e\u003ccode\u003eb109334\u003c/code\u003e\u003c/a\u003e Add connect_timeout: settings to PrometheusExporter::Client (\u003ca href=\"https://redirect.github.com/discourse/prometheus_exporter/issues/352\"\u003e#352\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/discourse/prometheus_exporter/compare/v2.3.0...v2.3.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `puma` from 7.0.4 to 7.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/puma/puma/releases\"\u003epuma's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev7.1.0\u003c/h2\u003e\n\u003ch2\u003e7.1.0 / 2025-10-16 - Neon Witch\u003c/h2\u003e\n\u003cp\u003e\u003cimg src=\"https://github.com/user-attachments/assets/6f013211-35fb-46ce-84d8-00794e020294\" alt=\"neon_witch\" /\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFeatures\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eIntroduce \u003ccode\u003eafter_worker_shutdown\u003c/code\u003e hook (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3707\"\u003e#3707\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReintroduce keepalive \u0026quot;fast inline\u0026quot; behavior. Provides faster (8x on JRuby \u0026amp; 1.4x on Ruby) pipeline processing  (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3794\"\u003e#3794\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eBugfixes\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eSkip reading zero bytes when request body is buffered (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3795\"\u003e#3795\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003ePUMA_LOG_CONFIG=1\u003c/code\u003e logging twice with prune_bundler enabled (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3778\"\u003e#3778\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix prune_bundler not showing in \u003ccode\u003ePUMA_LOG_CONFIG=1\u003c/code\u003e output (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3779\"\u003e#3779\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGuard ThreadPool method call, which may be nil during shutdown (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3791\"\u003e#3791\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/puma/puma/issues/3790\"\u003e#3790\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSet \u003ccode\u003eThread.current.puma_server\u003c/code\u003e in Thread init code, not every request (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3774\"\u003e#3774\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix race condition while deleting pidfile (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3657\"\u003e#3657\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\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/nerdrew\"\u003e\u003ccode\u003e@​nerdrew\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/puma/puma/pull/3707\"\u003epuma/puma#3707\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mopp\"\u003e\u003ccode\u003e@​mopp\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/puma/puma/pull/3783\"\u003epuma/puma#3783\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marksmith\"\u003e\u003ccode\u003e@​marksmith\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/puma/puma/pull/3657\"\u003epuma/puma#3657\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Nymuxyzo\"\u003e\u003ccode\u003e@​Nymuxyzo\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/puma/puma/pull/3762\"\u003epuma/puma#3762\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/puma/puma/compare/v7.0.4...v7.1.0\"\u003ehttps://github.com/puma/puma/compare/v7.0.4...v7.1.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/puma/puma/blob/main/History.md\"\u003epuma's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e7.1.0 / 2025-10-16\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFeatures\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eIntroduce \u003ccode\u003eafter_worker_shutdown\u003c/code\u003e hook (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3707\"\u003e#3707\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReintroduce keepalive \u0026quot;fast inline\u0026quot; behavior. Provides faster (8x on JRuby \u0026amp; 1.4x on Ruby) pipeline processing  (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3794\"\u003e#3794\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eBugfixes\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eSkip reading zero bytes when request body is buffered (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3795\"\u003e#3795\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003ePUMA_LOG_CONFIG=1\u003c/code\u003e logging twice with prune_bundler enabled (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3778\"\u003e#3778\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix prune_bundler not showing in \u003ccode\u003ePUMA_LOG_CONFIG=1\u003c/code\u003e output (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3779\"\u003e#3779\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGuard ThreadPool method call, which may be nil during shutdown (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3791\"\u003e#3791\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/puma/puma/issues/3790\"\u003e#3790\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSet \u003ccode\u003eThread.current.puma_server\u003c/code\u003e in Thread init code, not every request (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3774\"\u003e#3774\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix race condition while deleting pidfile (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3657\"\u003e#3657\u003c/a\u003e)\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/puma/puma/commit/fb2a0733e938c8786e033f22dc5bf66727dddb3a\"\u003e\u003ccode\u003efb2a073\u003c/code\u003e\u003c/a\u003e v7.1.0 (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3797\"\u003e#3797\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/4edb9e9b16835aa24bd037a88dad4d34a76952e4\"\u003e\u003ccode\u003e4edb9e9\u003c/code\u003e\u003c/a\u003e \u003ccode\u003eclient.rb\u003c/code\u003e - \u003ccode\u003eread_body\u003c/code\u003e - cleanup last lines of method (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3798\"\u003e#3798\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/84a568ab1c4d0c5cd0d29a167f5facba9699a35c\"\u003e\u003ccode\u003e84a568a\u003c/code\u003e\u003c/a\u003e Update wait_for_less_busy_worker docs (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3757\"\u003e#3757\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/e59a6049c3fc08ac2bd906a10d199bdf3949eb04\"\u003e\u003ccode\u003ee59a604\u003c/code\u003e\u003c/a\u003e Initialize only essential \u003ccode\u003eLauncher\u003c/code\u003e state before \u003ccode\u003eprune_bundler\u003c/code\u003e restart (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3\"\u003e#3\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/6844de7c4f2503751bad5e9c141de2bdb067f452\"\u003e\u003ccode\u003e6844de7\u003c/code\u003e\u003c/a\u003e client.rb - Skip reading zero bytes when request body is buffered (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3795\"\u003e#3795\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/1d3d6b792cdc870171d27cafbd0b7ceaf5e2dfb7\"\u003e\u003ccode\u003e1d3d6b7\u003c/code\u003e\u003c/a\u003e Set \u003ccode\u003eThread.current.puma_server\u003c/code\u003e in Thread init code, not every request (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3774\"\u003e#3774\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/9b34cde2c5ddf7fd65bfd5f8aea811659226662e\"\u003e\u003ccode\u003e9b34cde\u003c/code\u003e\u003c/a\u003e Adding syntax highlighting in k8s docs (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3782\"\u003e#3782\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/a2bd2f63476a719faa02eacac94b274d0cee1f6d\"\u003e\u003ccode\u003ea2bd2f6\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003eprune_bundler\u003c/code\u003e to \u003ccode\u003eConfiguration::DEFAULTS\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3779\"\u003e#3779\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/d7a0854a39bbb3f06f12c4a180e42ee6d36f7985\"\u003e\u003ccode\u003ed7a0854\u003c/code\u003e\u003c/a\u003e ci: Update hey benchmark files, minor fixes and formatting (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3796\"\u003e#3796\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/ff08099b1fc702093261a90e92da09feb577c683\"\u003e\u003ccode\u003eff08099\u003c/code\u003e\u003c/a\u003e ci: Update Update test/rackup/sleep_fibonacci.ru, add test script (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3793\"\u003e#3793\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/puma/puma/compare/v7.0.4...v7.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rails` from 8.0.3 to 8.1.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003erails's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.1.1\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Record\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction View\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eRespect \u003ccode\u003eremove_hidden_field_autocomplete\u003c/code\u003e config in form builder \u003ccode\u003ehidden_field\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction Pack\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAllow methods starting with underscore to be action methods.\u003c/p\u003e\n\u003cp\u003eDisallowing methods starting with an underscore from being action methods\nwas an unintended side effect of the performance optimization in\n207a254.\u003c/p\u003e\n\u003cp\u003eFixes \u003ca href=\"https://redirect.github.com/rails/rails/issues/55985\"\u003e#55985\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Job\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eOnly index new serializers.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eJesse Sharps\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction Mailer\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction Cable\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/rails/rails/commit/90a1eaa1b30ba1f2d524e197460e549c03cf5698\"\u003e\u003ccode\u003e90a1eaa\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.1 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/0ce0ce1ca2da1d36cdc149a72a777a956ea45dc7\"\u003e\u003ccode\u003e0ce0ce1\u003c/code\u003e\u003c/a\u003e Upgrade sigstore gem to 0.2.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/271acd57d1430be8c92fbd8f19a2069e62425803\"\u003e\u003ccode\u003e271acd5\u003c/code\u003e\u003c/a\u003e Sync CHANGELOG\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/7574698226c364ab98e69188539e2cf27517ef1f\"\u003e\u003ccode\u003e7574698\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56020\"\u003e#56020\u003c/a\u003e from harsh183/hd/getting_started/fix_line_num_typo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/89cb7bff192ce71267ae76f38942ca8f306ce273\"\u003e\u003ccode\u003e89cb7bf\u003c/code\u003e\u003c/a\u003e Fix railties/CHANGELOG.md offense at 8-1-stable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/7919bdab44688f1e7f121bc36a76169787cdfe60\"\u003e\u003ccode\u003e7919bda\u003c/code\u003e\u003c/a\u003e Restore header\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/f007f9ca53448379246a1901b213bd57955af26c\"\u003e\u003ccode\u003ef007f9c\u003c/code\u003e\u003c/a\u003e Disable SSL default config for out of the box Kamal deployments (\u003ca href=\"https://redirect.github.com/rails/rails/issues/56010\"\u003e#56010\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/234b56973bb453bb50850a1be07a2fcad7331592\"\u003e\u003ccode\u003e234b569\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56008\"\u003e#56008\u003c/a\u003e from chaadow/fix_nesting_loop_rails\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/21a8742bb6bb5720f0e67d67fe26874598d1afbe\"\u003e\u003ccode\u003e21a8742\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55992\"\u003e#55992\u003c/a\u003e from jsharpify/jsharpify-reduce-deprecation-warnings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/a7ba88b04e935d2a9cbc205382d6cd7c514f425c\"\u003e\u003ccode\u003ea7ba88b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56001\"\u003e#56001\u003c/a\u003e from hachi8833/update_wishlists\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/rails/compare/v8.0.3...v8.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sentry-rails` from 5.27.1 to 6.2.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/getsentry/sentry-ruby/blob/master/CHANGELOG.md\"\u003esentry-rails's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e6.2.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eInclude otel as custom sampling context (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2683\"\u003e2683\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eIgnore new rails rate limit errors (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2774\"\u003e#2774\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePrevent logging from crashing main thread (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2795\"\u003e2795\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove error handling in ActiveRecord subscriber (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2798\"\u003e2798\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e6.1.2\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eHandle positioned binds in logging (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2787\"\u003e#2787\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHandle cached queries with binds correctly when logging (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2789\"\u003e#2789\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e6.1.1\u003c/h2\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eOptimize getting query source location in ActiveRecord tracing - this makes tracing up to roughly 40-60% faster depending on the use cases (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2769\"\u003e#2769\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eProperly skip silenced \u003ccode\u003eActiveRecord::Base.logger\u003c/code\u003e's log entries in the ActiveRecord log subscriber (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2775\"\u003e#2775\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHandle malformed utf-8 log messages and attributes (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2777\"\u003e#2777\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2780\"\u003e#2780\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix initialized check in Sentry::Rails::CaptureExceptions (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2783\"\u003e#2783\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e6.1.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for ActiveRecord binds in the log events (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2761\"\u003e#2761\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eGuard log subscribers with initialized check (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2765\"\u003e#2765\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e6.0.0\u003c/h2\u003e\n\u003ch3\u003eBreaking Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for rubies below 2.7 \u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2743\"\u003e#2743\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for Rails below 5.2.0\u003c/li\u003e\n\u003cli\u003eDrop support for Sidekiq below 5.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eRemove deprecated \u003ccode\u003econfig.async\u003c/code\u003e \u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/1894\"\u003e#1894\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove deprecated \u003ccode\u003eSentry::Metrics\u003c/code\u003e and \u003ccode\u003econfig.metrics\u003c/code\u003e and all metrics related code (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2729\"\u003e#2729\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/getsentry/sentry-ruby/commit/0da2bde916965f02ce12c57df4c915aaf3353cba\"\u003e\u003ccode\u003e0da2bde\u003c/code\u003e\u003c/a\u003e release: 6.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/bcc0fe7d211b6dffd273a13ebeb2bcf8af0f0fb7\"\u003e\u003ccode\u003ebcc0fe7\u003c/code\u003e\u003c/a\u003e fix(logging): improve error handling in AR subscriber (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/issues/2798\"\u003e#2798\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/5aa2643123c4020308ecd365c7c07113612b4ca3\"\u003e\u003ccode\u003e5aa2643\u003c/code\u003e\u003c/a\u003e release: 6.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/78a5a08950025b029132b81198f0279dbf42f34c\"\u003e\u003ccode\u003e78a5a08\u003c/code\u003e\u003c/a\u003e fix(rails): fix logging of cached queries with binds (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/issues/2789\"\u003e#2789\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/a5cee1bdbf51747d719db5a998b36ed303107ae4\"\u003e\u003ccode\u003ea5cee1b\u003c/code\u003e\u003c/a\u003e fix(rails): handle positioned binds in logging (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/issues/2787\"\u003e#2787\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/6aed46375b6992a87a74efc83fd1e9ca5ecf854d\"\u003e\u003ccode\u003e6aed463\u003c/code\u003e\u003c/a\u003e release: 6.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/9eea7de5be955fcae928341703dac57402d8b69b\"\u003e\u003ccode\u003e9eea7de\u003c/code\u003e\u003c/a\u003e Fix initialized check in Sentry::Rails::CaptureExceptions (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/issues/2783\"\u003e#2783\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/6049bfdbbd006c1c81cffd5cf3396162fa7417aa\"\u003e\u003ccode\u003e6049bfd\u003c/code\u003e\u003c/a\u003e fix(rails): properly skip silenced logs from AR (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/issues/2775\"\u003e#2775\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/98f97b401c3225f6e2fe48a95456116a7bccbd60\"\u003e\u003ccode\u003e98f97b4\u003c/code\u003e\u003c/a\u003e [rails] improve AR tracing performance (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/issues/2769\"\u003e#2769\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/3e1981aacd7095669b23d9233db2e43c6d1aab5a\"\u003e\u003ccode\u003e3e1981a\u003c/code\u003e\u003c/a\u003e chore(jruby): fixes and updates (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/issues/2772\"\u003e#2772\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/getsentry/sentry-ruby/compare/5.27.1...6.2.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sentry-sidekiq` from 5.27.1 to 6.2.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/getsentry/sentry-ruby/blob/master/CHANGELOG.md\"\u003esentry-sidekiq's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e6.2.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eInclude otel as custom sampling context (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2683\"\u003e2683\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eIgnore new rails rate limit errors (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2774\"\u003e#2774\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePrevent logging from crashing main thread (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2795\"\u003e2795\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove error handling in ActiveRecord subscriber (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2798\"\u003e2798\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e6.1.2\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eHandle positioned binds in logging (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2787\"\u003e#2787\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHandle cached queries with binds correctly when logging (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2789\"\u003e#2789\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e6.1.1\u003c/h2\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eOptimize getting query source location in ActiveRecord tracing - this makes tracing up to roughly 40-60% faster depending on the use cases (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2769\"\u003e#2769\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eProperly skip silenced \u003ccode\u003eActiveRecord::Base.logger\u003c/code\u003e's log entries in the ActiveRecord log subscriber (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2775\"\u003e#2775\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHandle malformed utf-8 log messages and attributes (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2777\"\u003e#2777\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2780\"\u003e#2780\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix initialized check in Sentry::Rails::CaptureExceptions (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2783\"\u003e#2783\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e6.1.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for ActiveRecord binds in the log events (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2761\"\u003e#2761\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eGuard log subscribers with initialized check (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2765\"\u003e#2765\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e6.0.0\u003c/h2\u003e\n\u003ch3\u003eBreaking Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for rubies below 2.7 \u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2743\"\u003e#2743\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for Rails below 5.2.0\u003c/li\u003e\n\u003cli\u003eDrop support for Sidekiq below 5.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eRemove deprecated \u003ccode\u003econfig.async\u003c/code\u003e \u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/1894\"\u003e#1894\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove deprecated \u003ccode\u003eSentry::Metrics\u003c/code\u003e and \u003ccode\u003econfig.metrics\u003c/code\u003e and all metrics related code (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2729\"\u003e#2729\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/getsentry/sentry-ruby/commit/0da2bde916965f02ce12c57df4c915aaf3353cba\"\u003e\u003ccode\u003e0da2bde\u003c/code\u003e\u003c/a\u003e release: 6.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/5aa2643123c4020308ecd365c7c07113612b4ca3\"\u003e\u003ccode\u003e5aa2643\u003c/code\u003e\u003c/a\u003e release: 6.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/6aed46375b6992a87a74efc83fd1e9ca5ecf854d\"\u003e\u003ccode\u003e6aed463\u003c/code\u003e\u003c/a\u003e release: 6.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/3e1981aacd7095669b23d9233db2e43c6d1aab5a\"\u003e\u003ccode\u003e3e1981a\u003c/code\u003e\u003c/a\u003e chore(jruby): fixes and updates (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/issues/2772\"\u003e#2772\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/7755dab0f5b59a729ae7a130c674d531261418fd\"\u003e\u003ccode\u003e7755dab\u003c/code\u003e\u003c/a\u003e [sidekiq] better and isolated rails specs (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/issues/2723\"\u003e#2723\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/1ca3afdadba4832239309f1b686943a73b2bf420\"\u003e\u003ccode\u003e1ca3afd\u003c/code\u003e\u003c/a\u003e release: 6.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/ecdcac07500cc85d375edf8dc399f7a65e286e72\"\u003e\u003ccode\u003eecdcac0\u003c/code\u003e\u003c/a\u003e release: 6.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/a1bd7e2020e6065287dd91dec3f9817c334a996d\"\u003e\u003ccode\u003ea1bd7e2\u003c/code\u003e\u003c/a\u003e 6.0 major (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/issues/2352\"\u003e#2352\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/eb6063d054741b8bf54eb07d3d5e28e5410c9b4c\"\u003e\u003ccode\u003eeb6063d\u003c/code\u003e\u003c/a\u003e release: 5.28.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/44d588ecc66247fc191a96a802593ac55505067d\"\u003e\u003ccode\u003e44d588e\u003c/code\u003e\u003c/a\u003e release: 5.28.0\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/getsentry/sentry-ruby/compare/5.27.1...6.2.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `dotenv-rails` from 3.1.8 to 3.2.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/bkeepers/dotenv/releases\"\u003edotenv-rails's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.2.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBoost app startup time by removing to_sentence usage by \u003ca href=\"https://github.com/ThomasCrambert\"\u003e\u003ccode\u003e@​ThomasCrambert\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/bkeepers/dotenv/pull/534\"\u003ebkeepers/dotenv#534\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHandle parentheses in variables in commands by \u003ca href=\"https://github.com/i7an\"\u003e\u003ccode\u003e@​i7an\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/bkeepers/dotenv/pull/540\"\u003ebkeepers/dotenv#540\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eallow warning when a env var was not overwritten by \u003ca href=\"https://github.com/grosser\"\u003e\u003ccode\u003e@​grosser\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/bkeepers/dotenv/pull/531\"\u003ebkeepers/dotenv#531\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix a few small issues by \u003ca href=\"https://github.com/grosser\"\u003e\u003ccode\u003e@​grosser\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/bkeepers/dotenv/pull/532\"\u003ebkeepers/dotenv#532\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/ThomasCrambert\"\u003e\u003ccode\u003e@​ThomasCrambert\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/bkeepers/dotenv/pull/534\"\u003ebkeepers/dotenv#534\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/i7an\"\u003e\u003ccode\u003e@​i7an\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/bkeepers/dotenv/pull/540\"\u003ebkeepers/dotenv#540\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/bkeepers/dotenv/compare/v3.1.8...v3.2.0\"\u003ehttps://github.com/bkeepers/dotenv/compare/v3.1.8...v3.2.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/bkeepers/dotenv/commit/34156bf400cd67387fa6ed9f146778f6a2f5f743\"\u003e\u003ccode\u003e34156bf\u003c/code\u003e\u003c/a\u003e Prepare for 3.2.0 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bkeepers/dotenv/commit/ab478201bdb487bfebd9e89875fd4edcf19dc064\"\u003e\u003ccode\u003eab47820\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/bkeepers/dotenv/issues/531\"\u003e#531\u003c/a\u003e from grosser/grosser/warn\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bkeepers/dotenv/commit/fae61202e432f39742e2592817cc7bb38f559852\"\u003e\u003ccode\u003efae6120\u003c/code\u003e\u003c/a\u003e Merge branch 'main' into grosser/warn\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bkeepers/dotenv/commit/4f510f41073cabb9786e3a5ea57263933497e696\"\u003e\u003ccode\u003e4f510f4\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/bkeepers/dotenv/issues/532\"\u003e#532\u003c/a\u003e from grosser/grosser/fixes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bkeepers/dotenv/commit/959e1dac9d933a7ffe6a2ab17081f8235b7822a9\"\u003e\u003ccode\u003e959e1da\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/bkeepers/dotenv/issues/539\"\u003e#539\u003c/a\u003e from bkeepers/dependabot/github_actions/actions/check...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bkeepers/dotenv/commit/041451e4ef7fd3a4ea604fcabef0cfb6fb5e79a3\"\u003e\u003ccode\u003e041451e\u003c/code\u003e\u003c/a\u003e Update spec message\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bkeepers/dotenv/commit/b300f262bdf1cfd6ac5215fd44baa771753702b9\"\u003e\u003ccode\u003eb300f26\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 4 to 6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bkeepers/dotenv/commit/5f4ca012b03c82343ad3f926e2fd281aa30a434b\"\u003e\u003ccode\u003e5f4ca01\u003c/code\u003e\u003c/a\u003e Merge branch 'main' into grosser/warn\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bkeepers/dotenv/commit/209dca47e453f7288aac9f31330e67e3f0b83e78\"\u003e\u003ccode\u003e209dca4\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/bkeepers/dotenv/issues/540\"\u003e#540\u003c/a\u003e from i7an/handle-parentheses\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bkeepers/dotenv/commit/48c495683008c5dd1816a89329e59f8386324bb2\"\u003e\u003ccode\u003e48c4956\u003c/code\u003e\u003c/a\u003e Merge branch 'main' into handle-parentheses\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/bkeepers/dotenv/compare/v3.1.8...v3.2.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sentry-sidekiq` from 5.27.1 to 6.2.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/getsentry/sentry-ruby/blob/master/CHANGELOG.md\"\u003esentry-sidekiq's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e6.2.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eInclude otel as custom sampling context (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2683\"\u003e2683\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eIgnore new rails rate limit errors (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2774\"\u003e#2774\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePrevent logging from crashing main thread (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2795\"\u003e2795\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove error handling in ActiveRecord subscriber (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2798\"\u003e2798\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e6.1.2\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eHandle positioned binds in logging (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2787\"\u003e#2787\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHandle cached queries with binds correctly when logging (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2789\"\u003e#2789\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e6.1.1\u003c/h2\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eOptimize getting query source location in ActiveRecord tracing - this makes tracing up to roughly 40-60% faster depending on the use cases (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2769\"\u003e#2769\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eProperly skip silenced \u003ccode\u003eActiveRecord::Base.logger\u003c/code\u003e's log entries in the ActiveRecord log subscriber (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2775\"\u003e#2775\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHandle malformed utf-8 log messages and attributes (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2777\"\u003e#2777\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2780\"\u003e#2780\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix initialized check in Sentry::Rails::CaptureExceptions (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2783\"\u003e#2783\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e6.1.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for ActiveRecord binds in the log events (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2761\"\u003e#2761\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eGuard log subscribers with initialized check (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2765\"\u003e#2765\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e6.0.0\u003c/h2\u003e\n\u003ch3\u003eBreaking Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for rubies below 2.7 \u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2743\"\u003e#2743\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for Rails below 5.2.0\u003c/li\u003e\n\u003cli\u003eDrop support for Sidekiq below 5.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eRemove deprecated \u003ccode\u003econfig.async\u003c/code\u003e \u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/1894\"\u003e#1894\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove deprecated \u003ccode\u003eSentry::Metrics\u003c/code\u003e and \u003ccode\u003econfig.metrics\u003c/code\u003e and all metrics related code (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2729\"\u003e#2729\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/getsentry/sentry-ruby/commit/0da2bde916965f02ce12c57df4c915aaf3353cba\"\u003e\u003ccode\u003e0da2bde\u003c/code\u003e\u003c/a\u003e release: 6.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/5aa2643123c4020308ecd365c7c07113612b4ca3\"\u003e\u003ccode\u003e5aa2643\u003c/code\u003e\u003c/a\u003e release: 6.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/6aed46375b6992a87a74efc83fd1e9ca5ecf854d\"\u003e\u003ccode\u003e6aed463\u003c/code\u003e\u003c/a\u003e release: 6.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/3e1981aacd7095669b23d9233db2e43c6d1aab5a\"\u003e\u003ccode\u003e3e1981a\u003c/code\u003e\u003c/a\u003e chore(jruby): fixes and updates (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/issues/2772\"\u003e#2772\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/7755dab0f5b59a729ae7a130c674d531261418fd\"\u003e\u003ccode\u003e7755dab\u003c/code\u003e\u003c/a\u003e [sidekiq] better and isolated rails specs (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/issues/2723\"\u003e#2723\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/1ca3afdadba4832239309f1b686943a73b2bf420\"\u003e\u003ccode\u003e1ca3afd\u003c/code\u003e\u003c/a\u003e release: 6.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/ecdcac07500cc85d375edf8dc399f7a65e286e72\"\u003e\u003ccode\u003eecdcac0\u003c/code\u003e\u003c/a\u003e release: 6.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/a1bd7e2020e6065287dd91dec3f9817c334a996d\"\u003e\u003ccode\u003ea1bd7e2\u003c/code\u003e\u003c/a\u003e 6.0 major (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/issues/2352\"\u003e#2352\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/eb6063d054741b8bf54eb07d3d5e28e5410c9b4c\"\u003e\u003ccode\u003eeb6063d\u003c/code\u003e\u003c/a\u003e release: 5.28.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/44d588ecc66247fc191a96a802593ac55505067d\"\u003e\u003ccode\u003e44d588e\u003c/code\u003e\u003c/a\u003e release: 5.28.0\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/getsentry/sentry-ruby/compare/5.27.1...6.2.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sidekiq` from 8.0.7 to 8.1.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sidekiq/sidekiq/blob/main/Changes.md\"\u003esidekiq's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.1.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eretry_for\u003c/code\u003e and \u003ccode\u003eretry\u003c/code\u003e are now mutually exclusive [#6878, Saidbek]\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eperform_inline\u003c/code\u003e now enforces \u003ccode\u003estrict_args!\u003c/code\u003e [#6718, Saidbek]\u003c/li\u003e\n\u003cli\u003eIntegrate Herb linting for ERB templates [#6760, Saidbek]\u003c/li\u003e\n\u003cli\u003eRemove CSRF code, use \u003ccode\u003eSec-Fetch-Site\u003c/code\u003e header [#6874, deve1212]\u003c/li\u003e\n\u003cli\u003eAllow custom Web UI \u003ccode\u003eassets_path\u003c/code\u003e for CDN purposes [#6865, stanhu]\u003c/li\u003e\n\u003cli\u003eUpgrade to connection_pool 3.0\u003c/li\u003e\n\u003cli\u003eAllow idle connection reaping after N seconds.\nYou can activate this \u003cstrong\u003ebeta\u003c/strong\u003e feature like below.\nFeedback requested: is this feature stable and useful for you in production?\nThis feature may or may not be enabled by default in Sidekiq 9.0.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eSidekiq.configure_server do |cfg|\n  cfg.reap_idle_redis_connections(60)\nend\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003e8.0.10\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd confirm dialog for Delete All buttons in Web UI \u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/6853\"\u003e#6853\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdjust scheduler to run closer to poll average \u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/6866\"\u003e#6866\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eForward compatibility changes for connection_pool 3.0.0\u003c/li\u003e\n\u003cli\u003eBackwards compatibility fix for \u0026lt;8.0.9 process data in Redis \u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/6870\"\u003e#6870\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBacktrace dump can now be triggered with the INFO signal, since Puma uses the\nsame signal \u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/6857\"\u003e#6857\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.0.9\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImplement idle Redis connection reaping, will be activated in 8.1 \u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/6663\"\u003e#6663\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdated \u003ccode\u003eSidekiq::Process\u003c/code\u003e API to provide capsule data. The \u003ccode\u003equeues\u003c/code\u003e and \u003ccode\u003eweights\u003c/code\u003e\ndata will be removed from Redis in Sidekiq 8.1, as this data can now be found in the\n\u003ccode\u003ecapsules\u003c/code\u003e element. \u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/6295\"\u003e#6295\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRestore bulk action buttons on Scheduled, Retry and Dead tabs [#6833, deve1212]\u003c/li\u003e\n\u003cli\u003eSupport logging additional job attributes [#6846, bschrag620]\u003c/li\u003e\n\u003cli\u003eFix display of long job args \u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/6836\"\u003e#6836\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCreate development lifecycle (\u003ccode\u003edocs/sdlc.md\u003c/code\u003e) and security (\u003ccode\u003edocs/SECURITY.md\u003c/code\u003e) policy\ndocumentation for Sidekiq's current workflows\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.0.8\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAllow an optional global iteration max runtime. After executing for this length of time,\nSidekiq will re-queue the job to continue execution at a later time [#6819, fatkodima]\u003c/li\u003e\n\u003c/ul\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eSidekiq.configure_server do |cfg|\n  cfg[:max_iteration_runtime] = 600 # ten minutes\n\u0026lt;/tr\u0026gt;\u0026lt;/table\u0026gt; \n\u003c/code\u003e\u003c/pre\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/sidekiq/sidekiq/commit/bb172d9b2b17a086c9cfa2763f58eb0b89937a77\"\u003e\u003ccode\u003ebb172d9\u003c/code\u003e\u003c/a\u003e doc(changes)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/1f8d7f5a40f1a996558c305cba5418cb3cc4af08\"\u003e\u003ccode\u003e1f8d7f5\u003c/code\u003e\u003c/a\u003e announce TTIN deprecation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/761e2d3f00666d115153d611cdeab1a4b89566a6\"\u003e\u003ccode\u003e761e2d3\u003c/code\u003e\u003c/a\u003e doc(changes)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/c8753b9fc8e51e07c65f0bb19e637007c255d540\"\u003e\u003ccode\u003ec8753b9\u003c/code\u003e\u003c/a\u003e pro changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/bdda9f5096e8cc48a07eeffdc076f51a2ff3116d\"\u003e\u003ccode\u003ebdda9f5\u003c/code\u003e\u003c/a\u003e 8.1 changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/fae17a28e58ccda85f9e09b7ad1b098529e5f491\"\u003e\u003ccode\u003efae17a2\u003c/code\u003e\u003c/a\u003e Remove old CSRF code\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/878d687cf3f32c910c95820e63294fb11bae1ad2\"\u003e\u003ccode\u003e878d687\u003c/code\u003e\u003c/a\u003e Use pool 3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/6d3be2c91b97263e37c0b0d8cd3dc92d093b2cb1\"\u003e\u003ccode\u003e6d3be2c\u003c/code\u003e\u003c/a\u003e fmt\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/3ab97e9a1c48298b572eee3cf9b16c20b7cbb74a\"\u003e\u003ccode\u003e3ab97e9\u003c/code\u003e\u003c/a\u003e Allow Redis connection reaping with connection_pool 3.0+\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/b7f71bad9bac866d914b62270ff16b64a466a25f\"\u003e\u003ccode\u003eb7f71ba\u003c/code\u003e\u003c/a\u003e Upgrade dependencies to latest minor version\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sidekiq/sidekiq/compare/v8.0.7...v8.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `turbo-rails` from 2.0.16 to 2.0.20\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/hotwired/turbo-rails/releases\"\u003eturbo-rails's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.0.20\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/hotwired/turbo-rails/compare/v2.0.19.....\n\n_Description has been truncated_","html_url":"https://github.com/ministryofjustice/laa-court-data-ui/pull/3158","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/ministryofjustice%2Flaa-court-data-ui/issues/3158","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/3158/packages"}},{"old_version":"2.0.17","new_version":"2.0.18","update_type":"patch","path":null,"pr_created_at":"2026-01-07T03:07:59.000Z","version_change":"2.0.17 → 2.0.18","issue":{"uuid":"3787187600","node_id":"PR_kwDODLuhc86707-p","number":1031,"state":"closed","title":"Bump the bundler group across 1 directory with 70 updates","user":"dependabot[bot]","labels":["dependencies","ruby"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-01-14T03:09:07.000Z","author_association":null,"state_reason":null,"created_at":"2026-01-07T03:07:59.000Z","updated_at":"2026-01-14T03:09:09.000Z","time_to_close":604868,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"bundler","update_count":70,"packages":[{"name":"rails","old_version":"8.0.3","new_version":"8.1.1","repository_url":"https://github.com/rails/rails"},{"name":"pg","old_version":"1.6.2","new_version":"1.6.3","repository_url":"https://github.com/ged/ruby-pg"},{"name":"puma","old_version":"7.0.4","new_version":"7.1.0","repository_url":"https://github.com/puma/puma"},{"name":"bootsnap","old_version":"1.18.6","new_version":"1.20.1","repository_url":"https://github.com/rails/bootsnap"},{"name":"faker","old_version":"3.5.2","new_version":"3.5.3","repository_url":"https://github.com/faker-ruby/faker"},{"name":"faraday","old_version":"2.13.4","new_version":"2.14.0","repository_url":"https://github.com/lostisland/faraday"},{"name":"oauth2","old_version":"2.0.17","new_version":"2.0.18","repository_url":"https://github.com/ruby-oauth/oauth2"},{"name":"dotenv-rails","old_version":"3.1.8","new_version":"3.2.0","repository_url":"https://github.com/bkeepers/dotenv"},{"name":"sinatra","old_version":"4.1.1","new_version":"4.2.1","repository_url":"https://github.com/sinatra/sinatra"},{"name":"vcr","old_version":"6.3.1","new_version":"6.4.0","repository_url":"https://github.com/vcr/vcr"},{"name":"webmock","old_version":"3.25.1","new_version":"3.26.1","repository_url":"https://github.com/bblimke/webmock"},{"name":"brakeman","old_version":"7.1.0","new_version":"7.1.2","repository_url":"https://github.com/presidentbeef/brakeman"},{"name":"shoulda-matchers","old_version":"6.5.0","new_version":"7.0.1","repository_url":"https://github.com/thoughtbot/shoulda-matchers"},{"name":"dry-core","old_version":"1.1.0","new_version":"1.2.0","repository_url":"https://github.com/dry-rb/dry-core"},{"name":"factory_bot","old_version":"6.5.5","new_version":"6.5.6","repository_url":"https://github.com/thoughtbot/factory_bot"},{"name":"ffi","old_version":"1.17.2","new_version":"1.17.3","repository_url":"https://github.com/ffi/ffi"},{"name":"parser","old_version":"3.3.9.0","new_version":"3.3.10.0","repository_url":"https://github.com/whitequark/parser"},{"name":"rspec","old_version":"3.13.1","new_version":"3.13.2","repository_url":"https://github.com/rspec/rspec"},{"name":"unicode-emoji","old_version":"4.1.0","new_version":"4.2.0","repository_url":"https://github.com/janlelis/unicode-emoji"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps the bundler group with 19 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [rails](https://github.com/rails/rails) | `8.0.3` | `8.1.1` |\n| [pg](https://github.com/ged/ruby-pg) | `1.6.2` | `1.6.3` |\n| [puma](https://github.com/puma/puma) | `7.0.4` | `7.1.0` |\n| [bootsnap](https://github.com/rails/bootsnap) | `1.18.6` | `1.20.1` |\n| [faker](https://github.com/faker-ruby/faker) | `3.5.2` | `3.5.3` |\n| [faraday](https://github.com/lostisland/faraday) | `2.13.4` | `2.14.0` |\n| [oauth2](https://github.com/ruby-oauth/oauth2) | `2.0.17` | `2.0.18` |\n| [dotenv-rails](https://github.com/bkeepers/dotenv) | `3.1.8` | `3.2.0` |\n| [sinatra](https://github.com/sinatra/sinatra) | `4.1.1` | `4.2.1` |\n| [vcr](https://github.com/vcr/vcr) | `6.3.1` | `6.4.0` |\n| [webmock](https://github.com/bblimke/webmock) | `3.25.1` | `3.26.1` |\n| [brakeman](https://github.com/presidentbeef/brakeman) | `7.1.0` | `7.1.2` |\n| [shoulda-matchers](https://github.com/thoughtbot/shoulda-matchers) | `6.5.0` | `7.0.1` |\n| [dry-core](https://github.com/dry-rb/dry-core) | `1.1.0` | `1.2.0` |\n| [factory_bot](https://github.com/thoughtbot/factory_bot) | `6.5.5` | `6.5.6` |\n| [ffi](https://github.com/ffi/ffi) | `1.17.2` | `1.17.3` |\n| [parser](https://github.com/whitequark/parser) | `3.3.9.0` | `3.3.10.0` |\n| [rspec](https://github.com/rspec/rspec) | `3.13.1` | `3.13.2` |\n| [unicode-emoji](https://github.com/janlelis/unicode-emoji) | `4.1.0` | `4.2.0` |\n\n\nUpdates `rails` from 8.0.3 to 8.1.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003erails's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.1.1\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Record\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction View\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eRespect \u003ccode\u003eremove_hidden_field_autocomplete\u003c/code\u003e config in form builder \u003ccode\u003ehidden_field\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction Pack\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAllow methods starting with underscore to be action methods.\u003c/p\u003e\n\u003cp\u003eDisallowing methods starting with an underscore from being action methods\nwas an unintended side effect of the performance optimization in\n207a254.\u003c/p\u003e\n\u003cp\u003eFixes \u003ca href=\"https://redirect.github.com/rails/rails/issues/55985\"\u003e#55985\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Job\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eOnly index new serializers.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eJesse Sharps\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction Mailer\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction Cable\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/rails/rails/commit/90a1eaa1b30ba1f2d524e197460e549c03cf5698\"\u003e\u003ccode\u003e90a1eaa\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.1 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/0ce0ce1ca2da1d36cdc149a72a777a956ea45dc7\"\u003e\u003ccode\u003e0ce0ce1\u003c/code\u003e\u003c/a\u003e Upgrade sigstore gem to 0.2.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/271acd57d1430be8c92fbd8f19a2069e62425803\"\u003e\u003ccode\u003e271acd5\u003c/code\u003e\u003c/a\u003e Sync CHANGELOG\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/7574698226c364ab98e69188539e2cf27517ef1f\"\u003e\u003ccode\u003e7574698\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56020\"\u003e#56020\u003c/a\u003e from harsh183/hd/getting_started/fix_line_num_typo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/89cb7bff192ce71267ae76f38942ca8f306ce273\"\u003e\u003ccode\u003e89cb7bf\u003c/code\u003e\u003c/a\u003e Fix railties/CHANGELOG.md offense at 8-1-stable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/7919bdab44688f1e7f121bc36a76169787cdfe60\"\u003e\u003ccode\u003e7919bda\u003c/code\u003e\u003c/a\u003e Restore header\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/f007f9ca53448379246a1901b213bd57955af26c\"\u003e\u003ccode\u003ef007f9c\u003c/code\u003e\u003c/a\u003e Disable SSL default config for out of the box Kamal deployments (\u003ca href=\"https://redirect.github.com/rails/rails/issues/56010\"\u003e#56010\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/234b56973bb453bb50850a1be07a2fcad7331592\"\u003e\u003ccode\u003e234b569\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56008\"\u003e#56008\u003c/a\u003e from chaadow/fix_nesting_loop_rails\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/21a8742bb6bb5720f0e67d67fe26874598d1afbe\"\u003e\u003ccode\u003e21a8742\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55992\"\u003e#55992\u003c/a\u003e from jsharpify/jsharpify-reduce-deprecation-warnings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/a7ba88b04e935d2a9cbc205382d6cd7c514f425c\"\u003e\u003ccode\u003ea7ba88b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56001\"\u003e#56001\u003c/a\u003e from hachi8833/update_wishlists\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/rails/compare/v8.0.3...v8.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pg` from 1.6.2 to 1.6.3\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ged/ruby-pg/blob/master/CHANGELOG.md\"\u003epg's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.6.3 [2025-12-29] Lars Kanis \u003ca href=\"mailto:lars@greiz-reinsdorf.de\"\u003elars@greiz-reinsdorf.de\u003c/a\u003e\u003c/h2\u003e\n\u003cp\u003eAdded:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd binary gems for ruby-4.0, now providing ruby-3.0 to 4.0. \u003ca href=\"https://redirect.github.com/ged/ruby-pg/issues/682\"\u003e#682\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate fat binary gem to OpenSSL-3.6.0 and PostgreSQL-18.1.\u003c/li\u003e\n\u003cli\u003eImprove documentation of PG::Result and README. \u003ca href=\"https://redirect.github.com/ged/ruby-pg/issues/676\"\u003e#676\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate errorcodes to PostgreSQL-18.\u003c/li\u003e\n\u003cli\u003eUse \u003ccode\u003erb_hash_new_capa\u003c/code\u003e on Ruby-3.2+ . \u003ca href=\"https://redirect.github.com/ged/ruby-pg/issues/674\"\u003e#674\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDeny any server communication on a frozen PG::Connection . \u003ca href=\"https://redirect.github.com/ged/ruby-pg/issues/677\"\u003e#677\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix possible race condition in PG::Result in Ractor context. \u003ca href=\"https://redirect.github.com/ged/ruby-pg/issues/674\"\u003e#674\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eRemoved:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDrop binary gem support for platform \u003ccode\u003ex86-mingw32\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/ged/ruby-pg/issues/682\"\u003e#682\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDrop binary gems for ruby-2.7.\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/ged/ruby-pg/commit/d4539c25dcc89d47088e1423f8d1915c041920f5\"\u003e\u003ccode\u003ed4539c2\u003c/code\u003e\u003c/a\u003e Bump VERSION to pg-1.6.3 and add release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ged/ruby-pg/commit/720900dbb9d16aa855793146f15c3772e14f627a\"\u003e\u003ccode\u003e720900d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ged/ruby-pg/issues/682\"\u003e#682\u003c/a\u003e from larskanis/ruby-4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ged/ruby-pg/commit/f605b5937093884089109c8baa5fe268fc513eaf\"\u003e\u003ccode\u003ef605b59\u003c/code\u003e\u003c/a\u003e Remove x86-mingw32 from binary builds\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ged/ruby-pg/commit/5c690006ba158da70d73d939a233cf75ecdd30ef\"\u003e\u003ccode\u003e5c69000\u003c/code\u003e\u003c/a\u003e Update to ruby-4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ged/ruby-pg/commit/2acaf3d0f76334e056229efe260e1f558a8c6b42\"\u003e\u003ccode\u003e2acaf3d\u003c/code\u003e\u003c/a\u003e CI: workaround missing ruby-4.0 on Window\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ged/ruby-pg/commit/b500ded81127963603e1f724e82bed649c9ca8a1\"\u003e\u003ccode\u003eb500ded\u003c/code\u003e\u003c/a\u003e fix comment\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ged/ruby-pg/commit/bc3f2f8b1110e9bcb225d65554e1a7fc842d0506\"\u003e\u003ccode\u003ebc3f2f8\u003c/code\u003e\u003c/a\u003e CI: Macos-13 on Intel is deprecated\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ged/ruby-pg/commit/77667eb4313bd7b79356f402b0fa7fba409483b8\"\u003e\u003ccode\u003e77667eb\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ged/ruby-pg/issues/678\"\u003e#678\u003c/a\u003e from larskanis/ci-update\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ged/ruby-pg/commit/6e52ce504d05c5359d55f45d9580672103263b54\"\u003e\u003ccode\u003e6e52ce5\u003c/code\u003e\u003c/a\u003e CI: Update PostgreSQL on Macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ged/ruby-pg/commit/6d40f50e51a037022495fe6d98181435652464ff\"\u003e\u003ccode\u003e6d40f50\u003c/code\u003e\u003c/a\u003e CI: Print mkmf.log on failure on Macos\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ged/ruby-pg/compare/v1.6.2...v1.6.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `puma` from 7.0.4 to 7.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/puma/puma/releases\"\u003epuma's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev7.1.0\u003c/h2\u003e\n\u003ch2\u003e7.1.0 / 2025-10-16 - Neon Witch\u003c/h2\u003e\n\u003cp\u003e\u003cimg src=\"https://github.com/user-attachments/assets/6f013211-35fb-46ce-84d8-00794e020294\" alt=\"neon_witch\" /\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFeatures\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eIntroduce \u003ccode\u003eafter_worker_shutdown\u003c/code\u003e hook (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3707\"\u003e#3707\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReintroduce keepalive \u0026quot;fast inline\u0026quot; behavior. Provides faster (8x on JRuby \u0026amp; 1.4x on Ruby) pipeline processing  (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3794\"\u003e#3794\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eBugfixes\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eSkip reading zero bytes when request body is buffered (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3795\"\u003e#3795\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003ePUMA_LOG_CONFIG=1\u003c/code\u003e logging twice with prune_bundler enabled (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3778\"\u003e#3778\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix prune_bundler not showing in \u003ccode\u003ePUMA_LOG_CONFIG=1\u003c/code\u003e output (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3779\"\u003e#3779\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGuard ThreadPool method call, which may be nil during shutdown (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3791\"\u003e#3791\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/puma/puma/issues/3790\"\u003e#3790\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSet \u003ccode\u003eThread.current.puma_server\u003c/code\u003e in Thread init code, not every request (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3774\"\u003e#3774\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix race condition while deleting pidfile (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3657\"\u003e#3657\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\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/nerdrew\"\u003e\u003ccode\u003e@​nerdrew\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/puma/puma/pull/3707\"\u003epuma/puma#3707\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mopp\"\u003e\u003ccode\u003e@​mopp\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/puma/puma/pull/3783\"\u003epuma/puma#3783\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marksmith\"\u003e\u003ccode\u003e@​marksmith\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/puma/puma/pull/3657\"\u003epuma/puma#3657\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Nymuxyzo\"\u003e\u003ccode\u003e@​Nymuxyzo\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/puma/puma/pull/3762\"\u003epuma/puma#3762\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/puma/puma/compare/v7.0.4...v7.1.0\"\u003ehttps://github.com/puma/puma/compare/v7.0.4...v7.1.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/puma/puma/blob/main/History.md\"\u003epuma's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e7.1.0 / 2025-10-16\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFeatures\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eIntroduce \u003ccode\u003eafter_worker_shutdown\u003c/code\u003e hook (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3707\"\u003e#3707\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReintroduce keepalive \u0026quot;fast inline\u0026quot; behavior. Provides faster (8x on JRuby \u0026amp; 1.4x on Ruby) pipeline processing  (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3794\"\u003e#3794\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eBugfixes\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eSkip reading zero bytes when request body is buffered (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3795\"\u003e#3795\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003ePUMA_LOG_CONFIG=1\u003c/code\u003e logging twice with prune_bundler enabled (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3778\"\u003e#3778\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix prune_bundler not showing in \u003ccode\u003ePUMA_LOG_CONFIG=1\u003c/code\u003e output (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3779\"\u003e#3779\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGuard ThreadPool method call, which may be nil during shutdown (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3791\"\u003e#3791\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/puma/puma/issues/3790\"\u003e#3790\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSet \u003ccode\u003eThread.current.puma_server\u003c/code\u003e in Thread init code, not every request (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3774\"\u003e#3774\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix race condition while deleting pidfile (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3657\"\u003e#3657\u003c/a\u003e)\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/puma/puma/commit/fb2a0733e938c8786e033f22dc5bf66727dddb3a\"\u003e\u003ccode\u003efb2a073\u003c/code\u003e\u003c/a\u003e v7.1.0 (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3797\"\u003e#3797\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/4edb9e9b16835aa24bd037a88dad4d34a76952e4\"\u003e\u003ccode\u003e4edb9e9\u003c/code\u003e\u003c/a\u003e \u003ccode\u003eclient.rb\u003c/code\u003e - \u003ccode\u003eread_body\u003c/code\u003e - cleanup last lines of method (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3798\"\u003e#3798\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/84a568ab1c4d0c5cd0d29a167f5facba9699a35c\"\u003e\u003ccode\u003e84a568a\u003c/code\u003e\u003c/a\u003e Update wait_for_less_busy_worker docs (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3757\"\u003e#3757\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/e59a6049c3fc08ac2bd906a10d199bdf3949eb04\"\u003e\u003ccode\u003ee59a604\u003c/code\u003e\u003c/a\u003e Initialize only essential \u003ccode\u003eLauncher\u003c/code\u003e state before \u003ccode\u003eprune_bundler\u003c/code\u003e restart (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3\"\u003e#3\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/6844de7c4f2503751bad5e9c141de2bdb067f452\"\u003e\u003ccode\u003e6844de7\u003c/code\u003e\u003c/a\u003e client.rb - Skip reading zero bytes when request body is buffered (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3795\"\u003e#3795\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/1d3d6b792cdc870171d27cafbd0b7ceaf5e2dfb7\"\u003e\u003ccode\u003e1d3d6b7\u003c/code\u003e\u003c/a\u003e Set \u003ccode\u003eThread.current.puma_server\u003c/code\u003e in Thread init code, not every request (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3774\"\u003e#3774\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/9b34cde2c5ddf7fd65bfd5f8aea811659226662e\"\u003e\u003ccode\u003e9b34cde\u003c/code\u003e\u003c/a\u003e Adding syntax highlighting in k8s docs (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3782\"\u003e#3782\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/a2bd2f63476a719faa02eacac94b274d0cee1f6d\"\u003e\u003ccode\u003ea2bd2f6\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003eprune_bundler\u003c/code\u003e to \u003ccode\u003eConfiguration::DEFAULTS\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3779\"\u003e#3779\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/d7a0854a39bbb3f06f12c4a180e42ee6d36f7985\"\u003e\u003ccode\u003ed7a0854\u003c/code\u003e\u003c/a\u003e ci: Update hey benchmark files, minor fixes and formatting (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3796\"\u003e#3796\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/ff08099b1fc702093261a90e92da09feb577c683\"\u003e\u003ccode\u003eff08099\u003c/code\u003e\u003c/a\u003e ci: Update Update test/rackup/sleep_fibonacci.ru, add test script (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3793\"\u003e#3793\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/puma/puma/compare/v7.0.4...v7.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `actionpack` from 8.0.3 to 8.1.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003eactionpack's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.1.1\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Record\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction View\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eRespect \u003ccode\u003eremove_hidden_field_autocomplete\u003c/code\u003e config in form builder \u003ccode\u003ehidden_field\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction Pack\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAllow methods starting with underscore to be action methods.\u003c/p\u003e\n\u003cp\u003eDisallowing methods starting with an underscore from being action methods\nwas an unintended side effect of the performance optimization in\n207a254.\u003c/p\u003e\n\u003cp\u003eFixes \u003ca href=\"https://redirect.github.com/rails/rails/issues/55985\"\u003e#55985\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Job\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eOnly index new serializers.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eJesse Sharps\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction Mailer\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction Cable\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/rails/rails/blob/v8.1.1/actionpack/CHANGELOG.md\"\u003eactionpack's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRails 8.1.1 (October 28, 2025)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAllow methods starting with underscore to be action methods.\u003c/p\u003e\n\u003cp\u003eDisallowing methods starting with an underscore from being action methods\nwas an unintended side effect of the performance optimization in\n207a254.\u003c/p\u003e\n\u003cp\u003eFixes \u003ca href=\"https://redirect.github.com/rails/rails/issues/55985\"\u003e#55985\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRails 8.1.0 (October 22, 2025)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eSubmit test requests using \u003ccode\u003eas: :html\u003c/code\u003e with \u003ccode\u003eContent-Type: x-www-form-urlencoded\u003c/code\u003e\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eSean Doyle\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd link-local IP ranges to \u003ccode\u003eActionDispatch::RemoteIp\u003c/code\u003e default proxies.\u003c/p\u003e\n\u003cp\u003eLink-local addresses (\u003ccode\u003e169.254.0.0/16\u003c/code\u003e for IPv4 and \u003ccode\u003efe80::/10\u003c/code\u003e for IPv6)\nare now included in the default trusted proxy list, similar to private IP ranges.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eAdam Daniels\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003eremote_ip\u003c/code\u003e will no longer ignore IPs in X-Forwarded-For headers if they\nare accompanied by port information.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eDuncan Brown\u003c/em\u003e, \u003cem\u003ePrevenios Marinos\u003c/em\u003e, \u003cem\u003eMasafumi Koba\u003c/em\u003e, \u003cem\u003eAdam Daniels\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd \u003ccode\u003eaction_dispatch.verbose_redirect_logs\u003c/code\u003e setting that logs where redirects were called from.\u003c/p\u003e\n\u003cp\u003eSimilar to \u003ccode\u003eactive_record.verbose_query_logs\u003c/code\u003e and \u003ccode\u003eactive_job.verbose_enqueue_logs\u003c/code\u003e, this adds a line in your logs that shows where a redirect was called from.\u003c/p\u003e\n\u003cp\u003eExample:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eRedirected to http://localhost:3000/posts/1\n↳ app/controllers/posts_controller.rb:32:in `block (2 levels) in create'\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003cem\u003eDennis Paagman\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd engine route filtering and better formatting in \u003ccode\u003ebin/rails routes\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eAllow engine routes to be filterable in the routing inspector, and\nimprove formatting of engine routing output.\u003c/p\u003e\n\u003cp\u003eBefore:\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/rails/rails/commit/90a1eaa1b30ba1f2d524e197460e549c03cf5698\"\u003e\u003ccode\u003e90a1eaa\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.1 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/271acd57d1430be8c92fbd8f19a2069e62425803\"\u003e\u003ccode\u003e271acd5\u003c/code\u003e\u003c/a\u003e Sync CHANGELOG\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/df9f43214c637c54773581c85c910b356b16fa44\"\u003e\u003ccode\u003edf9f432\u003c/code\u003e\u003c/a\u003e Allow methods starting with underscore to be action methods.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/53c4ed887450cc2dee4b373148162c485999a400\"\u003e\u003ccode\u003e53c4ed8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55973\"\u003e#55973\u003c/a\u003e from rails/fix-ci\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/f77a1c3654afdf599fa927e7910d6e9c5e9df7cf\"\u003e\u003ccode\u003ef77a1c3\u003c/code\u003e\u003c/a\u003e Require 'rails' at the top of railltie files to ensure Rails is loaded first\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/1cdd190a25e483b65f1f25bbd0f13a25d696b461\"\u003e\u003ccode\u003e1cdd190\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.0 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/62a109a53f1471274a150a267239441d0592f389\"\u003e\u003ccode\u003e62a109a\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55947\"\u003e#55947\u003c/a\u003e from c0nspiracy/patch-1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/0777f23945aa498c280279b16091789b402daa64\"\u003e\u003ccode\u003e0777f23\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55921\"\u003e#55921\u003c/a\u003e from skipkayhil/hm-ykpyzlmxovpttksv\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/4663af7e5c5263fa7b5ec5cdd529fc0c357ae037\"\u003e\u003ccode\u003e4663af7\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55922\"\u003e#55922\u003c/a\u003e from Shopify/event_subscriber_additionss\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/ca45ef19a745b1283ba3bf6b1076c998a3e559e4\"\u003e\u003ccode\u003eca45ef1\u003c/code\u003e\u003c/a\u003e Remove mention of raise_on_open_redirects from doc\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/rails/compare/v8.0.3...v8.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `actionview` from 8.0.3 to 8.1.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003eactionview's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.1.1\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Record\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction View\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eRespect \u003ccode\u003eremove_hidden_field_autocomplete\u003c/code\u003e config in form builder \u003ccode\u003ehidden_field\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction Pack\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAllow methods starting with underscore to be action methods.\u003c/p\u003e\n\u003cp\u003eDisallowing methods starting with an underscore from being action methods\nwas an unintended side effect of the performance optimization in\n207a254.\u003c/p\u003e\n\u003cp\u003eFixes \u003ca href=\"https://redirect.github.com/rails/rails/issues/55985\"\u003e#55985\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Job\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eOnly index new serializers.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eJesse Sharps\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction Mailer\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction Cable\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/rails/rails/blob/v8.1.1/actionview/CHANGELOG.md\"\u003eactionview's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRails 8.1.1 (October 28, 2025)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eRespect \u003ccode\u003eremove_hidden_field_autocomplete\u003c/code\u003e config in form builder \u003ccode\u003ehidden_field\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRails 8.1.0 (October 22, 2025)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eThe BEGIN template annotation/comment was previously printed on the same line as the following element. We now insert a newline inside the comment so it spans two lines without adding visible whitespace to the HTML output to enhance readability.\u003c/p\u003e\n\u003cp\u003eBefore:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\u0026lt;!-- BEGIN /Users/siaw23/Desktop/rails/actionview/test/fixtures/actionpack/test/greeting.html.erb --\u0026gt;\u0026lt;p\u0026gt;This is grand!\u0026lt;/p\u0026gt;\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eAfter:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\u0026lt;!-- BEGIN /Users/siaw23/Desktop/rails/actionview/test/fixtures/actionpack/test/greeting.html.erb\n--\u0026gt;\u0026lt;p\u0026gt;This is grand!\u0026lt;/p\u0026gt;\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003cem\u003eEmmanuel Hayford\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd structured events for Action View:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eaction_view.render_template\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eaction_view.render_partial\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eaction_view.render_layout\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eaction_view.render_collection\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eaction_view.render_start\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cem\u003eGannon McGibbon\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix label with \u003ccode\u003efor\u003c/code\u003e option not getting prefixed by form \u003ccode\u003enamespace\u003c/code\u003e value\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eAbeid Ahmed\u003c/em\u003e, \u003cem\u003eHartley McGuire\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd \u003ccode\u003efetchpriority\u003c/code\u003e to Link headers to match HTML generated by \u003ccode\u003epreload_link_tag\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eGuillermo Iguaran\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd CSP \u003ccode\u003enonce\u003c/code\u003e to Link headers generated by \u003ccode\u003epreload_link_tag\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eAlexander Gitter\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAllow \u003ccode\u003ecurrent_page?\u003c/code\u003e to match against specific HTTP method(s) with a \u003ccode\u003emethod:\u003c/code\u003e option.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eBen Sheldon\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove \u003ccode\u003eautocomplete=\u0026quot;off\u0026quot;\u003c/code\u003e on hidden inputs generated by the following\ntags:\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/rails/rails/commit/90a1eaa1b30ba1f2d524e197460e549c03cf5698\"\u003e\u003ccode\u003e90a1eaa\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.1 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/271acd57d1430be8c92fbd8f19a2069e62425803\"\u003e\u003ccode\u003e271acd5\u003c/code\u003e\u003c/a\u003e Sync CHANGELOG\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/ae6c5a23948f0a5c02a19ce625048b4579eace7d\"\u003e\u003ccode\u003eae6c5a2\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55989\"\u003e#55989\u003c/a\u003e from rails/rm-fix-remove_hidden_field_autocomplete\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/53c4ed887450cc2dee4b373148162c485999a400\"\u003e\u003ccode\u003e53c4ed8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55973\"\u003e#55973\u003c/a\u003e from rails/fix-ci\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/f77a1c3654afdf599fa927e7910d6e9c5e9df7cf\"\u003e\u003ccode\u003ef77a1c3\u003c/code\u003e\u003c/a\u003e Require 'rails' at the top of railltie files to ensure Rails is loaded first\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/1cdd190a25e483b65f1f25bbd0f13a25d696b461\"\u003e\u003ccode\u003e1cdd190\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.0 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/1ace68361ed9e87fecbf32604c087d096f7b7f8a\"\u003e\u003ccode\u003e1ace683\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.0.rc1 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/d6f9f62d49750fee6a45f3672e2227d5c4198a62\"\u003e\u003ccode\u003ed6f9f62\u003c/code\u003e\u003c/a\u003e Make the Structured Event Subscriber emit events in format that are useful fo...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/4ae5bfc3a04db36d0f274b272eb68d6136ffb63b\"\u003e\u003ccode\u003e4ae5bfc\u003c/code\u003e\u003c/a\u003e Place template annotation on a separate line\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/7d12071e9fe94bd5c01a488ef61718fe88de65b4\"\u003e\u003ccode\u003e7d12071\u003c/code\u003e\u003c/a\u003e Micro optimize ActiveRecord::RuntimeRegistry\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/rails/compare/v8.0.3...v8.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `activemodel` from 8.0.3 to 8.1.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003eactivemodel's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.1.1\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Record\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction View\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eRespect \u003ccode\u003eremove_hidden_field_autocomplete\u003c/code\u003e config in form builder \u003ccode\u003ehidden_field\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction Pack\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAllow methods starting with underscore to be action methods.\u003c/p\u003e\n\u003cp\u003eDisallowing methods starting with an underscore from being action methods\nwas an unintended side effect of the performance optimization in\n207a254.\u003c/p\u003e\n\u003cp\u003eFixes \u003ca href=\"https://redirect.github.com/rails/rails/issues/55985\"\u003e#55985\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Job\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eOnly index new serializers.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eJesse Sharps\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction Mailer\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction Cable\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/rails/rails/blob/v8.1.1/activemodel/CHANGELOG.md\"\u003eactivemodel's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRails 8.1.1 (October 28, 2025)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRails 8.1.0 (October 22, 2025)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd \u003ccode\u003ereset_token: { expires_in: ... }\u003c/code\u003e option to \u003ccode\u003ehas_secure_password\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eAllows configuring the expiry duration of password reset tokens (default remains 15 minutes for backwards compatibility).\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003ehas_secure_password reset_token: { expires_in: 1.hour }\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003cem\u003eJevin Sew\u003c/em\u003e, \u003cem\u003eAbeid Ahmed\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd \u003ccode\u003eexcept_on:\u003c/code\u003e option for validation callbacks.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eBen Sheldon\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eBackport \u003ccode\u003eActiveRecord::Normalization\u003c/code\u003e to \u003ccode\u003eActiveModel::Attributes::Normalization\u003c/code\u003e\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eclass User\n  include ActiveModel::Attributes\n  include ActiveModel::Attributes::Normalization\n\u003cp\u003eattribute :email, :string\u003c/p\u003e\n\u003cp\u003enormalizes :email, with: -\u0026gt; email { email.strip.downcase }\u003cbr /\u003e\nend\u003c/p\u003e\n\u003cp\u003euser = User.new\u003cbr /\u003e\nuser.email =    \u0026quot; \u003ca href=\"mailto:CRUISE-CONTROL@EXAMPLE.COM\"\u003eCRUISE-CONTROL@EXAMPLE.COM\u003c/a\u003e\\n\u0026quot;\u003cbr /\u003e\nuser.email # =\u0026gt; \u0026quot;\u003ca href=\"mailto:cruise-control@example.com\"\u003ecruise-control@example.com\u003c/a\u003e\u0026quot;\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eSean Doyle\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003ePlease check \u003ca href=\"https://github.com/rails/rails/blob/8-0-stable/activemodel/CHANGELOG.md\"\u003e8-0-stable\u003c/a\u003e for previous changes.\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/rails/rails/commit/90a1eaa1b30ba1f2d524e197460e549c03cf5698\"\u003e\u003ccode\u003e90a1eaa\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.1 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/53c4ed887450cc2dee4b373148162c485999a400\"\u003e\u003ccode\u003e53c4ed8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55973\"\u003e#55973\u003c/a\u003e from rails/fix-ci\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/f77a1c3654afdf599fa927e7910d6e9c5e9df7cf\"\u003e\u003ccode\u003ef77a1c3\u003c/code\u003e\u003c/a\u003e Require 'rails' at the top of railltie files to ensure Rails is loaded first\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/1cdd190a25e483b65f1f25bbd0f13a25d696b461\"\u003e\u003ccode\u003e1cdd190\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.0 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/1ace68361ed9e87fecbf32604c087d096f7b7f8a\"\u003e\u003ccode\u003e1ace683\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.0.rc1 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/b182bc607041b640f1e5f51e678f3ca4ab077920\"\u003e\u003ccode\u003eb182bc6\u003c/code\u003e\u003c/a\u003e Give credit to the first author of this feature\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/d0486d0aefc8a487a20a582868df7e0662fd3520\"\u003e\u003ccode\u003ed0486d0\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55574\"\u003e#55574\u003c/a\u003e from jevin/feature/reset-password-token-duration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/ee29930f58bf125763aeecedaa5048d95f3f1d4b\"\u003e\u003ccode\u003eee29930\u003c/code\u003e\u003c/a\u003e ActiveModel::SecurePassword: configurable reset token expiry\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/2446a70b0eee6424c90e5a262600c337006096ad\"\u003e\u003ccode\u003e2446a70\u003c/code\u003e\u003c/a\u003e Removing the string option for validations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/80827ca7ff33ca3026f2c74fe8249ccc6f513318\"\u003e\u003ccode\u003e80827ca\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.0.beta1 release\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/rails/compare/v8.0.3...v8.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `activerecord` from 8.0.3 to 8.1.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003eactiverecord's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.1.1\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Record\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction View\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eRespect \u003ccode\u003eremove_hidden_field_autocomplete\u003c/code\u003e config in form builder \u003ccode\u003ehidden_field\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction Pack\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAllow methods starting with underscore to be action methods.\u003c/p\u003e\n\u003cp\u003eDisallowing methods starting with an underscore from being action methods\nwas an unintended side effect of the performance optimization in\n207a254.\u003c/p\u003e\n\u003cp\u003eFixes \u003ca href=\"https://redirect.github.com/rails/rails/issues/55985\"\u003e#55985\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Job\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eOnly index new serializers.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eJesse Sharps\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction Mailer\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction Cable\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/rails/rails/blob/v8.1.1/activerecord/CHANGELOG.md\"\u003eactiverecord's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRails 8.1.1 (October 28, 2025)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRails 8.1.0 (October 22, 2025)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix SQLite3 data loss during table alterations with CASCADE foreign keys.\u003c/p\u003e\n\u003cp\u003eWhen altering a table in SQLite3 that is referenced by child tables with\n\u003ccode\u003eON DELETE CASCADE\u003c/code\u003e foreign keys, ActiveRecord would silently delete all\ndata from the child tables. This occurred because SQLite requires table\nrecreation for schema changes, and during this process the original table\nis temporarily dropped, triggering CASCADE deletes on child tables.\u003c/p\u003e\n\u003cp\u003eThe root cause was incorrect ordering of operations. The original code\nwrapped \u003ccode\u003edisable_referential_integrity\u003c/code\u003e inside a transaction, but\n\u003ccode\u003ePRAGMA foreign_keys\u003c/code\u003e cannot be modified inside a transaction in SQLite -\nattempting to do so simply has no effect. This meant foreign keys remained\nenabled during table recreation, causing CASCADE deletes to fire.\u003c/p\u003e\n\u003cp\u003eThe fix reverses the order to follow the official SQLite 12-step ALTER TABLE\nprocedure: \u003ccode\u003edisable_referential_integrity\u003c/code\u003e now wraps the transaction instead\nof being wrapped by it. This ensures foreign keys are properly disabled\nbefore the transaction starts and re-enabled after it commits, preventing\nCASCADE deletes while maintaining data integrity through atomic transactions.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRuy Rocha\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd replicas to test database parallelization setup.\u003c/p\u003e\n\u003cp\u003eSetup and configuration of databases for parallel testing now includes replicas.\u003c/p\u003e\n\u003cp\u003eThis fixes an issue when using a replica database, database selector middleware,\nand non-transactional tests, where integration tests running in parallel would select\nthe base test database, i.e. \u003ccode\u003edb_test\u003c/code\u003e, instead of the numbered parallel worker database,\ni.e. \u003ccode\u003edb_test_{n}\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eAdam Maas\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSupport virtual (not persisted) generated columns on PostgreSQL 18+\u003c/p\u003e\n\u003cp\u003ePostgreSQL 18 introduces virtual (not persisted) generated columns,\nwhich are now the default unless the \u003ccode\u003estored: true\u003c/code\u003e option is explicitly specified on PostgreSQL 18+.\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003ecreate_table :users do |t|\n  t.string :name\n  t.virtual :lower_name,  type: :string,  as: \u0026quot;LOWER(name)\u0026quot;, stored: false\n  t.virtual :name_length, type: :integer, as: \u0026quot;LENGTH(name)\u0026quot;\n\u003c/code\u003e\u003c/pre\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/rails/rails/commit/90a1eaa1b30ba1f2d524e197460e549c03cf5698\"\u003e\u003ccode\u003e90a1eaa\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.1 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/fe609bf5ac0e61f445de9bea40f89a058b465ead\"\u003e\u003ccode\u003efe609bf\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/50598\"\u003e#50598\u003c/a\u003e from lucasmazza/lm/upsert_all-skip\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/53c4ed887450cc2dee4b373148162c485999a400\"\u003e\u003ccode\u003e53c4ed8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55973\"\u003e#55973\u003c/a\u003e from rails/fix-ci\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/f77a1c3654afdf599fa927e7910d6e9c5e9df7cf\"\u003e\u003ccode\u003ef77a1c3\u003c/code\u003e\u003c/a\u003e Require 'rails' at the top of railltie files to ensure Rails is loaded first\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/334ed8f172d6e77516e9832567626af9965d435d\"\u003e\u003ccode\u003e334ed8f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55969\"\u003e#55969\u003c/a\u003e from rails/fix-explain-tests-mysql-9.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/1cdd190a25e483b65f1f25bbd0f13a25d696b461\"\u003e\u003ccode\u003e1cdd190\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.0 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/bffa22d59214a125add8385e12ec691ed623aff7\"\u003e\u003ccode\u003ebffa22d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55949\"\u003e#55949\u003c/a\u003e from ima1zumi/revert-53969-and-add-test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/be5e9fc703ee86a6ba12bbd7256c43142a3d07dc\"\u003e\u003ccode\u003ebe5e9fc\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55945\"\u003e#55945\u003c/a\u003e from claudiob/create_enum\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/04c6f1497eb3cd0f21449113747f2b72862a0937\"\u003e\u003ccode\u003e04c6f14\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55938\"\u003e#55938\u003c/a\u003e from aidanharan/truthy-condition-mssql\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/d4fb183ac2d8f6a3fad83e160c435ef4dbe9c149\"\u003e\u003ccode\u003ed4fb183\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55925\"\u003e#55925\u003c/a\u003e from flavorjones/flavorjones/shard-swap-prohibition...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/rails/compare/v8.0.3...v8.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `activesupport` from 8.0.3 to 8.1.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003eactivesupport's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.1.1\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Record\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction View\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eRespect \u003ccode\u003eremove_hidden_field_autocomplete\u003c/code\u003e config in form builder \u003ccode\u003ehidden_field\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction Pack\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAllow methods starting with underscore to be action methods.\u003c/p\u003e\n\u003cp\u003eDisallowing methods starting with an underscore from being action methods\nwas an unintended side effect of the performance optimization in\n207a254.\u003c/p\u003e\n\u003cp\u003eFixes \u003ca href=\"https://redirect.github.com/rails/rails/issues/55985\"\u003e#55985\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Job\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eOnly index new serializers.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eJesse Sharps\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction Mailer\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction Cable\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/rails/rails/blob/v8.1.1/activesupport/CHANGELOG.md\"\u003eactivesupport's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRails 8.1.1 (October 28, 2025)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRails 8.1.0 (October 22, 2025)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eRemove deprecated passing a Time object to \u003ccode\u003eTime#since\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove deprecated \u003ccode\u003eBenchmark.ms\u003c/code\u003e method. It is now defined in the \u003ccode\u003ebenchmark\u003c/code\u003e gem.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove deprecated addition for \u003ccode\u003eTime\u003c/code\u003e instances with \u003ccode\u003eActiveSupport::TimeWithZone\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove deprecated support for \u003ccode\u003eto_time\u003c/code\u003e to preserve the system local time. It will now always preserve the receiver\ntimezone.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDeprecate \u003ccode\u003econfig.active_support.to_time_preserves_timezone\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eStandardize event name formatting in \u003ccode\u003eassert_event_reported\u003c/code\u003e error messages.\u003c/p\u003e\n\u003cp\u003eThe event name in failure messages now uses \u003ccode\u003e.inspect\u003c/code\u003e (e.g., \u003ccode\u003ename: \u0026quot;user.created\u0026quot;\u003c/code\u003e)\nto match \u003ccode\u003eassert_events_reported\u003c/code\u003e and provide type clarity between strings and symbols.\nThis only affects tests that assert on the failure message format itself.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eGeorge Ma\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eEnumerable#sole\u003c/code\u003e to return the full tuple instead of just the first element of the tuple.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eOlivier Bellone\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix parallel tests hanging when worker processes die abruptly.\u003c/p\u003e\n\u003cp\u003ePreviously, if a worker process was killed (e.g., OOM killed, \u003ccode\u003ekill -9\u003c/code\u003e) during parallel\ntest execution, the test suite would hang forever waiting for the dead worker.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eJoshua Young\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd \u003ccode\u003econfig.active_support.escape_js_separators_in_json\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eIntroduce a new framework default to skip escaping LINE SEPARATOR (U+2028) and PARAGRAPH SEPARATOR (U+2029) in JSON.\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/rails/rails/commit/90a1eaa1b30ba1f2d524e197460e549c03cf5698\"\u003e\u003ccode\u003e90a1eaa\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.1 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/234b56973bb453bb50850a1be07a2fcad7331592\"\u003e\u003ccode\u003e234b569\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56008\"\u003e#56008\u003c/a\u003e from chaadow/fix_nesting_loop_rails\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/53c4ed887450cc2dee4b373148162c485999a400\"\u003e\u003ccode\u003e53c4ed8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55973\"\u003e#55973\u003c/a\u003e from rails/fix-ci\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/f77a1c3654afdf599fa927e7910d6e9c5e9df7cf\"\u003e\u003ccode\u003ef77a1c3\u003c/code\u003e\u003c/a\u003e Require 'rails' at the top of railltie files to ensure Rails is loaded first\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/cd53d57fe363eef44dd4a58dbe69c77cad041550\"\u003e\u003ccode\u003ecd53d57\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55962\"\u003e#55962\u003c/a\u003e from coderhs/patch-1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/1cdd190a25e483b65f1f25bbd0f13a25d696b461\"\u003e\u003ccode\u003e1cdd190\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.0 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/096f1c7c77cf857a1ca12116678599faac2f0522\"\u003e\u003ccode\u003e096f1c7\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55943\"\u003e#55943\u003c/a\u003e from skipkayhil/hm-oyxvtrxvupxqzprn\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/1ace68361ed9e87fecbf32604c087d096f7b7f8a\"\u003e\u003ccode\u003e1ace683\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.0.rc1 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/d156ee00602eab9044bc23ac8de8f245379d6af5\"\u003e\u003ccode\u003ed156ee0\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55871\"\u003e#55871\u003c/a\u003e from Shopify/refresh_event_reporter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/48ca2f8b91f69ae7c08cc16426481a5e17fd2209\"\u003e\u003ccode\u003e48ca2f8\u003c/code\u003e\u003c/a\u003e Load core extensions with require_relative\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/rails/compare/v8.0.3...v8.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `railties` from 8.0.3 to 8.1.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003erailties's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.1.1\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Record\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction View\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eRespect \u003ccode\u003eremove_hidden_field_autocomplete\u003c/code\u003e config in form builder \u003ccode\u003ehidden_field\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction Pack\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAllow methods starting with underscore to be action methods.\u003c/p\u003e\n\u003cp\u003eDisallowing methods starting with an underscore from being action methods\nwas an unintended side effect of the performance optimization in\n207a254.\u003c/p\u003e\n\u003cp\u003eFixes \u003ca href=\"https://redirect.github.com/rails/rails/issues/55985\"\u003e#55985\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Job\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eOnly index new serializers.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eJesse Sharps\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction Mailer\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction Cable\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/rails/rails/blob/v8.1.1/railties/CHANGELOG.md\"\u003erailties's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRails 8.1.1 (October 28, 2025)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eDo not assume and force SSL in production by default when using Kamal, to allow for out of the box Kamal deployments.\u003c/p\u003e\n\u003cp\u003eIt is still recommended to assume and force SSL in production as soon as you can.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eJerome Dalbert\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRails 8.1.0 (October 22, 2025)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eSuggest \u003ccode\u003ebin/rails action_text:install\u003c/code\u003e from Action Dispatch error page\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eSean Doyle\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove deprecated \u003ccode\u003eSTATS_DIRECTORIES\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove deprecated \u003ccode\u003ebin/rake stats\u003c/code\u003e command.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove deprecated \u003ccode\u003erails/console/methods.rb\u003c/code\u003e file.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDon't generate system tests by default.\u003c/p\u003e\n\u003cp\u003eRails scaffold generator will no longer generate system tests by default. To enable this pass \u003ccode\u003e--system-tests=true\u003c/code\u003e or generate them with \u003ccode\u003ebin/rails generate system_test name_of_test\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eEileen M. Uchitelle\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eOptionally skip bundler-audit.\u003c/p\u003e\n\u003cp\u003eSkips adding the \u003ccode\u003ebin/bundler-audit\u003c/code\u003e \u0026amp; \u003ccode\u003econfig/bundler-audit.yml\u003c/code\u003e if the gem is not installed when \u003ccode\u003ebin/rails app:update\u003c/code\u003e runs.\u003c/p\u003e\n\u003cp\u003ePasses an option to \u003ccode\u003e--skip-bundler-audit\u003c/code\u003e when new apps are generated \u0026amp; adds that same option to the \u003ccode\u003e--minimal\u003c/code\u003e generator flag.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eJill Klang\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eShow engine routes in \u003ccode\u003e/rails/info/routes\u003c/code\u003e as well.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003ePetrik de Heus\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eExclude \u003ccode\u003easset_path\u003c/code\u003e configuration from Kamal \u003ccode\u003edeploy.yml\u003c/code\u003e for API applications.\u003c/p\u003e\n\u003cp\u003eAPI applications don't serve assets, so the \u003ccode\u003easset_path\u003c/code\u003e configuration in \u003ccode\u003edeploy.yml\u003c/code\u003e\nis not needed and can cause 404 errors on in-flight requests. The asset_path is now\nonly included for regular Rails applications that serve assets.\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/rails/rails/commit/90a1eaa1b30ba1f2d524e197460e549c03cf5698\"\u003e\u003ccode\u003e90a1eaa\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.1 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/89cb7bff192ce71267ae76f38942ca8f306ce273\"\u003e\u003ccode\u003e89cb7bf\u003c/code\u003e\u003c/a\u003e Fix railties/CHANGELOG.md offense at 8-1-stable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/7919bdab44688f1e7f121bc36a76169787cdfe60\"\u003e\u003ccode\u003e7919bda\u003c/code\u003e\u003c/a\u003e Restore header\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/f007f9ca53448379246a1901b213bd57955af26c\"\u003e\u003ccode\u003ef007f9c\u003c/code\u003e\u003c/a\u003e Disable SSL default config for out of the box Kamal deployments (\u003ca href=\"https://redirect.github.com/rails/rails/issues/56010\"\u003e#56010\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/29606f8c7b3aea3991343ee2c1aa5dd1860df283\"\u003e\u003ccode\u003e29606f8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55964\"\u003e#55964\u003c/a\u003e from viralpraxis/skip-ci-rb-tests-if-tests-are-skipped\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/1cdd190a25e483b65f1f25bbd0f13a25d696b461\"\u003e\u003ccode\u003e1cdd190\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.0 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/5e231ae6548f1c5686f75e61832638937b134961\"\u003e\u003ccode\u003e5e231ae\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/54914\"\u003e#54914\u003c/a\u003e from chaadow/fix_autoloaded_content_helper\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/1a8109e0fe8f10fa38a8f6c7fb11daf8a09394d5\"\u003e\u003ccode\u003e1a8109e\u003c/code\u003e\u003c/a\u003e Actually turn this off by default too\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/25af9250bf072ac24df2ea058c12284da5a99948\"\u003e\u003ccode\u003e25af925\u003c/code\u003e\u003c/a\u003e Kamal localhost registry (\u003ca href=\"https://redirect.github.com/rails/rails/issues/55934\"\u003e#55934\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/f58a75a5cf35a94cbf8a45fa64b95a0ea9055e64\"\u003e\u003ccode\u003ef58a75a\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55940\"\u003e#55940\u003c/a\u003e from jeromedalbert/fix-ci-yml-whitespace\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/rails/compare/v8.0.3...v8.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `bootsnap` from 1.18.6 to 1.20.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/bootsnap/releases\"\u003ebootsnap's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.20.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eHandle broken symlinks in load path scanning code.\nShould fix \u003ccode\u003eErrno::ENOENT fstatat\u003c/code\u003e issues some users have encountered after upgrading to 1.20.0.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/rails/bootsnap/compare/v1.20.0...v1.20.1\"\u003ehttps://github.com/rails/bootsnap/compare/v1.20.0...v1.20.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.20.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eOptimized load path scanning with a C extension. Should be about 2x faster on supported platforms.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/rails/bootsnap/compare/v1.19.0...v1.20.0\"\u003ehttps://github.com/rails/bootsnap/compare/v1.19.0...v1.20.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/rails/bootsnap/blob/main/CHANGELOG.md\"\u003ebootsnap's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e1.20.1\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eHandle broken symlinks in load path scanning code.\nShould fix \u003ccode\u003eErrno::ENOENT fstatat\u003c/code\u003e issues some users have encountered after upgrading to 1.20.0.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e1.20.0\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eOptimized load path scanning with a C extension. Should be about 2x faster on supported platforms.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e1.19.0\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eRemove JSON parsing cache. Recent versions of the \u003ccode\u003ejson\u003c/code\u003e gem are as fast as \u003ccode\u003emsgpack\u003c/code\u003e if not faster.\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/rails/bootsnap/commit/ba59bb8e012ddbe592b0de85d06304afed65688c\"\u003e\u003ccode\u003eba59bb8\u003c/code\u003e\u003c/a\u003e Release 1.20.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/302b7dbbc31c917456369fe136b86c1ffc591a64\"\u003e\u003ccode\u003e302b7db\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/bootsnap/issues/514\"\u003e#514\u003c/a\u003e from byroot/handle-broken-symlink\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/fd1ddc33aa8a247e204c152ec700167b285188b2\"\u003e\u003ccode\u003efd1ddc3\u003c/code\u003e\u003c/a\u003e Handle broken symlinks in load path\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/fac34b899341134389dd8067678230d95e409939\"\u003e\u003ccode\u003efac34b8\u003c/code\u003e\u003c/a\u003e Release 1.20.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/71311d4c599a2d4eebec29652889577ff430499c\"\u003e\u003ccode\u003e71311d4\u003c/code\u003e\u003c/a\u003e Include Bootsnap::VERSION in LoadPathCache version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/f5c43ac14b11e9771155d5a5a402c6a8ef0f8ef6\"\u003e\u003ccode\u003ef5c43ac\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/bootsnap/issues/512\"\u003e#512\u003c/a\u003e from byroot/prune-load-dir\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/f94f668c545122c26462d31cec647095282b68a1\"\u003e\u003ccode\u003ef94f668\u003c/code\u003e\u003c/a\u003e Stop caching directories in LoadPathCache\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/e3b5292b2f00012130b2529ec01ac42bdddbe0b2\"\u003e\u003ccode\u003ee3b5292\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/bootsnap/issues/511\"\u003e#511\u003c/a\u003e from byroot/c-ext-load-path-scan\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/e91dd2158b014d7f233028475942b9fbe2c9ed2c\"\u003e\u003ccode\u003ee91dd21\u003c/code\u003e\u003c/a\u003e Implement PathScanner in C to avoid N+1 \u003ccode\u003estat(2)\u003c/code\u003e calls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/c77d5ccfec3188c8feb259963eaad5debc955bcf\"\u003e\u003ccode\u003ec77d5cc\u003c/code\u003e\u003c/a\u003e Cleanup the c extension\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/bootsnap/compare/v1.18.6...v1.20.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `faker` from 3.5.2 to 3.5.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/faker-ruby/faker/releases\"\u003efaker's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.5.3\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/faker-ruby/faker/tree/v3.5.3\"\u003ev3.5.3\u003c/a\u003e (2025-12-02)\u003c/h2\u003e\n\u003cp\u003eWishing you a cozy and calm Holiday season ☃️\u003c/p\u003e\n\u003cp\u003eThis version adds and improves some locales, fixes some bugs, and deprecates some generators.\u003c/p\u003e\n\u003cp\u003eThanks to all contributors!\u003c/p\u003e\n\u003ch2\u003eDeprecated generators\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRefactor: move \u003ccode\u003eFaker::BossaNova\u003c/code\u003e under \u003ccode\u003eFaker::Music::BossaNova\u003c/code\u003e by \u003ca href=\"https://github.com/thdaraujo\"\u003e\u003ccode\u003e@​thdaraujo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3140\"\u003efaker-ruby/faker#3140\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDeprecate \u003ccode\u003eFaker::Twitter\u003c/code\u003e in favor of \u003ccode\u003eFaker::X\u003c/code\u003e and update attributes by \u003ca href=\"https://github.com/stefannibrasil\"\u003e\u003ccode\u003e@​stefannibrasil\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3138\"\u003efaker-ruby/faker#3138\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eImprovements \u0026amp; Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRemove duplicate entry \u003ccode\u003eamateur radio\u003c/code\u003e from \u003ccode\u003elocales/en/hobby.yml\u003c/code\u003e by \u003ca href=\"https://github.com/Leenday\"\u003e\u003ccode\u003e@​Leenday\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3099\"\u003efaker-ruby/faker#3099\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix \u003ca href=\"https://redirect.github.com/faker-ruby/faker/issues/3114\"\u003e#3114\u003c/a\u003e: prevent scientific notation when generating bank account number by \u003ca href=\"https://github.com/AhmedHisham552\"\u003e\u003ccode\u003e@​AhmedHisham552\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3118\"\u003efaker-ruby/faker#3118\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix: typos in locales for \u003ccode\u003eoverwatch.yml\u003c/code\u003e, \u003ccode\u003erajnikanth.yml\u003c/code\u003e and \u003ccode\u003estreet_fighter.ym\u003c/code\u003e by \u003ca href=\"https://github.com/smorttey\"\u003e\u003ccode\u003e@​smorttey\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3106\"\u003efaker-ruby/faker#3106\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eArtist\u003c/code\u003e translations for the japanese locale by \u003ca href=\"https://github.com/neco-nico\"\u003e\u003ccode\u003e@​neco-nico\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3110\"\u003efaker-ruby/faker#3110\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003ecountry_code\u003c/code\u003e to Estonia locale (\u003ccode\u003elocales/ee.yml\u003c/code\u003e) by \u003ca href=\"https://github.com/HassanAkbar\"\u003e\u003ccode\u003e@​HassanAkbar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3111\"\u003efaker-ruby/faker#3111\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReformat Arabic locale (\u003ccode\u003elocales/ar.yml\u003c/code\u003e) by \u003ca href=\"https://github.com/ramzieus\"\u003e\u003ccode\u003e@​ramzieus\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3130\"\u003efaker-ruby/faker#3130\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRefactor: Improve UK Phone number false failure hit-rate by \u003ca href=\"https://github.com/luke-hill\"\u003e\u003ccode\u003e@​luke-hill\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3136\"\u003efaker-ruby/faker#3136\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprovements and fixes for Elder Scrolls locale (\u003ccode\u003eelder_scrolls.yml\u003c/code\u003e) by \u003ca href=\"https://github.com/SleekMutt\"\u003e\u003ccode\u003e@​SleekMutt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3129\"\u003efaker-ruby/faker#3129\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd en-GB ID Numbers (aka National Insurance Numbers) by \u003ca href=\"https://github.com/stefanjcollier\"\u003e\u003ccode\u003e@​stefanjcollier\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3032\"\u003efaker-ruby/faker#3032\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate ukrainian city locales to the modern ones by \u003ca href=\"https://github.com/SleekMutt\"\u003e\u003ccode\u003e@​SleekMutt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3127\"\u003efaker-ruby/faker#3127\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRevamp the docs to make them easier to find by \u003ca href=\"https://github.com/stefannibrasil\"\u003e\u003ccode\u003e@​stefannibrasil\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3151\"\u003efaker-ruby/faker#3151\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChores\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003etest: fix flaky test on \u003ccode\u003eFaker::IdNumber\u003c/code\u003e by \u003ca href=\"https://github.com/thdaraujo\"\u003e\u003ccode\u003e@​thdaraujo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3126\"\u003efaker-ruby/faker#3126\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove minitest dependency on i18n reload test by \u003ca href=\"https://github.com/stefannibrasil\"\u003e\u003ccode\u003e@​stefannibrasil\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3149\"\u003efaker-ruby/faker#3149\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove unused release workflow by \u003ca href=\"https://github.com/stefannibrasil\"\u003e\u003ccode\u003e@​stefannibrasil\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3133\"\u003efaker-ruby/faker#3133\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eUpdate local dependencies\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump benchmark from 0.4.1 to 0.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/faker-ruby/faker/pull/3122\"\u003efaker-ruby/faker#3122\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump rake from 13.3.0 to 13.3.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/faker-ruby/faker/pull/3124\"\u003efaker-ruby/faker#3124\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump test-unit from 3.7.0 to 3.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/faker-ruby/faker/pull/3128\"\u003efaker-ruby/faker#3128\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump rubocop-minitest from 0.38.1 to 0.38.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/faker-ruby/faker/pull/3116\"\u003efaker-ruby/faker#3116\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edeps: bump dependencies by \u003ca href=\"https://github.com/thdaraujo\"\u003e\u003ccode\u003e@​thdaraujo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3141\"\u003efaker-ruby/faker#3141\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edeps: bump Minitest version to \u003ccode\u003ev5.26.1\u003c/code\u003e and fix issues by \u003ca href=\"https://github.com/stefannibrasil\"\u003e\u003ccode\u003e@​stefannibrasil\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3144\"\u003efaker-ruby/faker#3144\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edeps: bump rubocop version to \u003ccode\u003ev1.81.7\u003c/code\u003e by \u003ca href=\"https://github.com/thdaraujo\"\u003e\u003ccode\u003e@​thdaraujo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3143\"\u003efaker-ruby/faker#3143\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/Leenday\"\u003e\u003ccode\u003e@​Leenday\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3099\"\u003efaker-ruby/faker#3099\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/AhmedHisham552\"\u003e\u003ccode\u003e@​AhmedHisham552\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3118\"\u003efaker-ruby/faker#3118\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/smorttey\"\u003e\u003ccode\u003e@​smorttey\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3106\"\u003efaker-ruby/faker#3106\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/neco-nico\"\u003e\u003ccode\u003e@​neco-nico\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3110\"\u003efaker-ruby/faker#3110\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HassanAkbar\"\u003e\u003ccode\u003e@​HassanAkbar\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3111\"\u003efaker-ruby/faker#3111\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ramzieus\"\u003e\u003ccode\u003e@​ramzieus\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3130\"\u003efaker-ruby/faker#3130\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/luke-hill\"\u003e\u003ccode\u003e@​luke-hill\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3136\"\u003efaker-ruby/faker#3136\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/SleekMutt\"\u003e\u003ccode\u003e@​SleekMutt\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3129\"\u003efaker-ruby/faker#3129\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/stefanjcollier\"\u003e\u003ccode\u003e@​stefanjcollier\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3032\"\u003efaker-ruby/faker#3032\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/faker-ruby/faker/blob/main/CHANGELOG.md\"\u003efaker's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/faker-ruby/faker/tree/v3.5.3\"\u003ev3.5.3\u003c/a\u003e (2025-12-02)\u003c/h2\u003e\n\u003cp\u003eWishing you a cozy and calm Holiday season ☃️\u003c/p\u003e\n\u003cp\u003eThis version adds and improves some locales, fixes some bugs, and deprecates some generators.\u003c/p\u003e\n\u003cp\u003eThanks to all contributors!\u003c/p\u003e\n\u003ch3\u003eDeprecated generators\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRefactor: move \u003ccode\u003eFaker::BossaNova\u003c/code\u003e under \u003ccode\u003eFaker::Music::BossaNova\u003c/code\u003e by \u003ca href=\"https://github.com/thdaraujo\"\u003e\u003ccode\u003e@​thdaraujo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3140\"\u003efaker-ruby/faker#3140\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDeprecate \u003ccode\u003eFaker::Twitter\u003c/code\u003e in favor of \u003ccode\u003eFaker::X\u003c/code\u003e and update attributes by \u003ca href=\"https://github.com/stefannibrasil\"\u003e\u003ccode\u003e@​stefannibrasil\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3138\"\u003efaker-ruby/faker#3138\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements \u0026amp; Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove duplicate entry \u003ccode\u003eamateur radio\u003c/code\u003e from \u003ccode\u003elocales/en/hobby.yml\u003c/code\u003e by \u003ca href=\"https://github.com/Leenday\"\u003e\u003ccode\u003e@​Leenday\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3099\"\u003efaker-ruby/faker#3099\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix \u003ca href=\"https://redirect.github.com/faker-ruby/faker/issues/3114\"\u003e#3114\u003c/a\u003e: prevent scientific notation when generating bank account number by \u003ca href=\"https://github.com/AhmedHisham552\"\u003e\u003ccode\u003e@​AhmedHisham552\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3118\"\u003efaker-ruby/faker#3118\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix: typos in locales for \u003ccode\u003eoverwatch.yml\u003c/code\u003e, \u003ccode\u003erajnikanth.yml\u003c/code\u003e and \u003ccode\u003estreet_fighter.ym\u003c/code\u003e by \u003ca href=\"https://github.com/smorttey\"\u003e\u003ccode\u003e@​smorttey\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3106\"\u003efaker-ruby/faker#3106\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eArtist\u003c/code\u003e translations for the japanese locale by \u003ca href=\"https://github.com/neco-nico\"\u003e\u003ccode\u003e@​neco-nico\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3110\"\u003efaker-ruby/faker#3110\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003ecountry_code\u003c/code\u003e to Estonia locale (\u003ccode\u003elocales/ee.yml\u003c/code\u003e) by \u003ca href=\"https://github.com/HassanAkbar\"\u003e\u003ccode\u003e@​HassanAkbar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3111\"\u003efaker-ruby/faker#3111\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReformat Arabic locale (\u003ccode\u003elocales/ar.yml\u003c/code\u003e) by \u003ca href=\"https://github.com/ramzieus\"\u003e\u003ccode\u003e@​ramzieus\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3130\"\u003efaker-ruby/faker#3130\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRefactor: Improve UK Phone number false failure hit-rate by \u003ca href=\"https://github.com/luke-hill\"\u003e\u003ccode\u003e@​luke-hill\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3136\"\u003efaker-ruby/faker#3136\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprovements and fixes for Elder Scrolls locale (\u003ccode\u003eelder_scrolls.yml\u003c/code\u003e) by \u003ca href=\"https://github.com/SleekMutt\"\u003e\u003ccode\u003e@​SleekMutt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3129\"\u003efaker-ruby/faker#3129\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd en-GB ID Numbers (aka National Insurance Numbers) by \u003ca href=\"https://github.com/stefanjcollier\"\u003e\u003ccode\u003e@​stefanjcollier\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3032\"\u003efaker-ruby/faker#3032\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate ukrainian city locales to the modern ones by \u003ca href=\"https://github.com/SleekMutt\"\u003e\u003ccode\u003e@​SleekMutt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3127\"\u003efaker-ruby/faker#3127\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRevamp the docs to make them easier to find by \u003ca href=\"https://github.com/stefannibrasil\"\u003e\u003ccode\u003e@​stefannibrasil\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3151\"\u003efaker-ruby/faker#3151\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003etest: fix flaky test on \u003ccode\u003eFaker::IdNumber\u003c/code\u003e by \u003ca href=\"https://github.com/thdaraujo\"\u003e\u003ccode\u003e@​thdaraujo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3126\"\u003efaker-ruby/faker#3126\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove minitest dependency on i18n reload test by \u003ca href=\"https://github.com/stefannibrasil\"\u003e\u003ccode\u003e@​stefannibrasil\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3149\"\u003efaker-ruby/faker#3149\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove unused release workflow by \u003ca href=\"https://github.com/stefannibrasil\"\u003e\u003ccode\u003e@​stefannibrasil\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3133\"\u003efaker-ruby/faker#3133\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eUpdate local dependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBump benchmark from 0.4.1 to 0.5.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca ...\n\n_Description has been truncated_","html_url":"https://github.com/ministryofjustice/hmcts-common-platform-mock-api/pull/1031","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/ministryofjustice%2Fhmcts-common-platform-mock-api/issues/1031","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1031/packages"}},{"old_version":"2.0.17","new_version":"2.0.18","update_type":"patch","path":null,"pr_created_at":"2026-01-05T23:10:45.000Z","version_change":"2.0.17 → 2.0.18","issue":{"uuid":"3783136584","node_id":"PR_kwDOIy0ZTM67njYy","number":4492,"state":"closed","title":"Bump the production-dependencies group across 1 directory with 28 updates","user":"dependabot[bot]","labels":["dependencies","ruby"],"assignees":[],"locked":true,"comments_count":1,"pull_request":true,"closed_at":"2026-01-06T23:09:48.000Z","author_association":null,"state_reason":null,"created_at":"2026-01-05T23:10:45.000Z","updated_at":"2026-01-06T23:10:21.000Z","time_to_close":86343,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"production-dependencies","update_count":28,"packages":[{"name":"acme-client","old_version":"2.0.26","new_version":"2.0.30","repository_url":"https://github.com/unixcharles/acme-client"},{"name":"aws-sdk-ec2","old_version":"1.569.0","new_version":"1.587.0","repository_url":"https://github.com/aws/aws-sdk-ruby"},{"name":"aws-sdk-iam","old_version":"1.132.0","new_version":"1.137.0","repository_url":"https://github.com/aws/aws-sdk-ruby"},{"name":"bcrypt_pbkdf","old_version":"1.1.1","new_version":"1.1.2","repository_url":"https://github.com/net-ssh/bcrypt_pbkdf-ruby"},{"name":"excon","old_version":"1.3.0","new_version":"1.3.2","repository_url":"https://github.com/excon/excon"},{"name":"reline","old_version":"0.6.2","new_version":"0.6.3","repository_url":"https://github.com/ruby/reline"},{"name":"roda","old_version":"3.97.0","new_version":"3.99.0","repository_url":"https://github.com/jeremyevans/roda"},{"name":"rodauth","old_version":"2.41.0","new_version":"2.42.0","repository_url":"https://github.com/jeremyevans/rodauth"},{"name":"rqrcode","old_version":"3.1.0","new_version":"3.1.1","repository_url":"https://github.com/whomwah/rqrcode"},{"name":"sequel_pg","old_version":"1.18.0","new_version":"1.18.2","repository_url":"https://github.com/jeremyevans/sequel_pg"},{"name":"addressable","old_version":"2.8.7","new_version":"2.8.8","repository_url":"https://github.com/sporkmonger/addressable"},{"name":"date","old_version":"3.5.0","new_version":"3.5.1","repository_url":"https://github.com/ruby/date"},{"name":"net-imap","old_version":"0.5.12","new_version":"0.6.2","repository_url":"https://github.com/ruby/net-imap"},{"name":"oauth2","old_version":"2.0.17","new_version":"2.0.18","repository_url":"https://github.com/ruby-oauth/oauth2"},{"name":"omniauth-oauth2","old_version":"1.8.0","new_version":"1.9.0","repository_url":"https://github.com/omniauth/omniauth-oauth2"},{"name":"openapi_parser","old_version":"2.3.0","new_version":"2.3.1","repository_url":"https://github.com/ota42y/openapi_parser"},{"name":"openssl","old_version":"3.3.2","new_version":"4.0.0","repository_url":"https://github.com/ruby/openssl"},{"name":"optparse","old_version":"0.8.0","new_version":"0.8.1","repository_url":"https://github.com/ruby/optparse"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps the production-dependencies group with 18 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [acme-client](https://github.com/unixcharles/acme-client) | `2.0.26` | `2.0.30` |\n| [aws-sdk-ec2](https://github.com/aws/aws-sdk-ruby) | `1.569.0` | `1.587.0` |\n| [aws-sdk-iam](https://github.com/aws/aws-sdk-ruby) | `1.132.0` | `1.137.0` |\n| [bcrypt_pbkdf](https://github.com/net-ssh/bcrypt_pbkdf-ruby) | `1.1.1` | `1.1.2` |\n| [excon](https://github.com/excon/excon) | `1.3.0` | `1.3.2` |\n| [reline](https://github.com/ruby/reline) | `0.6.2` | `0.6.3` |\n| [roda](https://github.com/jeremyevans/roda) | `3.97.0` | `3.99.0` |\n| [rodauth](https://github.com/jeremyevans/rodauth) | `2.41.0` | `2.42.0` |\n| [rqrcode](https://github.com/whomwah/rqrcode) | `3.1.0` | `3.1.1` |\n| [sequel_pg](https://github.com/jeremyevans/sequel_pg) | `1.18.0` | `1.18.2` |\n| [addressable](https://github.com/sporkmonger/addressable) | `2.8.7` | `2.8.8` |\n| [date](https://github.com/ruby/date) | `3.5.0` | `3.5.1` |\n| [net-imap](https://github.com/ruby/net-imap) | `0.5.12` | `0.6.2` |\n| [oauth2](https://github.com/ruby-oauth/oauth2) | `2.0.17` | `2.0.18` |\n| [omniauth-oauth2](https://github.com/omniauth/omniauth-oauth2) | `1.8.0` | `1.9.0` |\n| [openapi_parser](https://github.com/ota42y/openapi_parser) | `2.3.0` | `2.3.1` |\n| [openssl](https://github.com/ruby/openssl) | `3.3.2` | `4.0.0` |\n| [optparse](https://github.com/ruby/optparse) | `0.8.0` | `0.8.1` |\n\n\nUpdates `acme-client` from 2.0.26 to 2.0.30\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/unixcharles/acme-client/blob/master/CHANGELOG.md\"\u003eacme-client's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ccode\u003e2.0.30\u003c/code\u003e\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd a default message to RateLimited error\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThis fix avoid argument error on RateLimited object when stubbing without passing arguments.\u003c/p\u003e\n\u003ch2\u003e\u003ccode\u003e2.0.29\u003c/code\u003e\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eIP support to the CertificateRequest helper\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ccode\u003e2.0.28\u003c/code\u003e\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMake \u003ca href=\"https://datatracker.ietf.org/doc/html/rfc8555/#section-6.6\"\u003eRetry-After\u003c/a\u003e accessible from RateLimited#retry_after exceptions\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ccode\u003e2.0.27\u003c/code\u003e\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Renewal Information (ARI) (RFC 9773)\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/unixcharles/acme-client/commit/dbd7481ff141647094d907cfd9e4598208ba19eb\"\u003e\u003ccode\u003edbd7481\u003c/code\u003e\u003c/a\u003e Bump 2.0.30\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unixcharles/acme-client/commit/d9a9328769a055da0771b33a4a006f20a3371b65\"\u003e\u003ccode\u003ed9a9328\u003c/code\u003e\u003c/a\u003e Add a default message to RateLimited error.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unixcharles/acme-client/commit/1e5d529d17bc35d559627fdafc27b99a6fdf60b9\"\u003e\u003ccode\u003e1e5d529\u003c/code\u003e\u003c/a\u003e bump to 2.0.29\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unixcharles/acme-client/commit/cfc29429faab0e278ee1260ad9375bab6549e984\"\u003e\u003ccode\u003ecfc2942\u003c/code\u003e\u003c/a\u003e Add IP support to the CertificateRequest helper (\u003ca href=\"https://redirect.github.com/unixcharles/acme-client/issues/261\"\u003e#261\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unixcharles/acme-client/commit/559889f21df6e765152687ffd6a973b61f7befa3\"\u003e\u003ccode\u003e559889f\u003c/code\u003e\u003c/a\u003e Bump to 2.0.28\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unixcharles/acme-client/commit/5e15c9f17d21eef85d01190344aa462191a2b486\"\u003e\u003ccode\u003e5e15c9f\u003c/code\u003e\u003c/a\u003e Add retry_after property to RateLimited client error (\u003ca href=\"https://redirect.github.com/unixcharles/acme-client/issues/260\"\u003e#260\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unixcharles/acme-client/commit/ff515cab615d682cbaaada9ac6ab52dc160e4b01\"\u003e\u003ccode\u003eff515ca\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 5 to 6 (\u003ca href=\"https://redirect.github.com/unixcharles/acme-client/issues/259\"\u003e#259\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unixcharles/acme-client/commit/443a45d2266463b91b5f1935c16139b6021f3c99\"\u003e\u003ccode\u003e443a45d\u003c/code\u003e\u003c/a\u003e Bump to 2.0.27\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unixcharles/acme-client/commit/d32e7f92ad6d542d49b3ed8907e349c109013512\"\u003e\u003ccode\u003ed32e7f9\u003c/code\u003e\u003c/a\u003e Add Renewal Information (ARI) support (RFC 9773) (\u003ca href=\"https://redirect.github.com/unixcharles/acme-client/issues/257\"\u003e#257\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/unixcharles/acme-client/compare/v2.0.26...v2.0.30\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `aws-sdk-ec2` from 1.569.0 to 1.587.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/aws/aws-sdk-ruby/blob/version-3/gems/aws-sdk-ec2/CHANGELOG.md\"\u003eaws-sdk-ec2's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.587.0 (2025-12-22)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Adds support for linkedGroupId on the CreatePlacementGroup and DescribePlacementGroups APIs. The linkedGroupId parameter is reserved for future use.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.586.0 (2025-12-18)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - This release adds AvailabilityZoneId support for CreateFleet, ModifyFleet, DescribeFleets, RequestSpotFleet, ModifySpotFleetRequests and DescribeSpotFleetRequests APIs.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.585.0 (2025-12-15)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - EC2 Capacity Manager now supports SpotTotalCount, SpotTotalInterruptions and SpotInterruptionRate metrics for both vCPU and instance units.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.584.0 (2025-12-08)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Amazon EC2 P6-B300 instances provide 8x NVIDIA Blackwell Ultra GPUs with 2.1 TB high bandwidth GPU memory, 6.4 Tbps EFA networking, 300 Gbps dedicated ENA throughput, and 4 TB of system memory. Amazon EC2 C8a instances are powered by 5th Gen AMD EPYC processors with a maximum frequency of 4.5 GHz.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.583.0 (2025-11-25)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - This release adds support to view Network firewall proxy appliances attached to an existing NAT Gateway via DescribeNatGateways API NatGatewayAttachedAppliance structure.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.582.0 (2025-11-21)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - This release adds a new capability to create and manage interruptible EC2 Capacity Reservations.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.581.0 (2025-11-20)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - This release adds support for multiple features including: VPC Encryption Control for the status of traffic flow; S2S VPN BGP Logging; TGW Flexible Costs; IPAM allocation of static IPs from IPAM pools to CF Anycast IP lists used on CloudFront distribution; and EBS Volume Integration with Recycle Bin\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.580.0 (2025-11-19)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - This launch adds support for two new features: Regional NAT Gateway and IPAM Policies. IPAM policies offers customers central control for public IPv4 assignments across AWS services. Regional NAT is a single NAT Gateway that automatically expands across AZs in a VPC to maintain high availability.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.579.0 (2025-11-18)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - AWS Site-to-Site VPN now supports VPN Concentrator, a new feature that enables customers to connect multiple low-bandwidth sites connections through a single attachment, simplifying multi-site connectivity for distributed enterprises.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.578.0 (2025-11-17)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - This release introduces new APIs: DescribeInstanceSqlHaStates, DescribeInstanceSqlHaHistoryStates, EnableInstanceSqlHaStandbyDetections and DisableInstanceSqlHaStandbyDetections on Amazon EC2, allowing customers to enroll and monitor SQL Server licensing fee savings for their SQL HA EC2 instances.\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\u003eSee full diff in \u003ca href=\"https://github.com/aws/aws-sdk-ruby/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `aws-sdk-iam` from 1.132.0 to 1.137.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/aws/aws-sdk-ruby/blob/version-3/gems/aws-sdk-iam/CHANGELOG.md\"\u003eaws-sdk-iam's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.137.0 (2025-12-05)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Adding the ExpirationTime attribute to the delegation request resource.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.136.0 (2025-11-21)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Code Generated Changes, see \u003ccode\u003e./build_tools\u003c/code\u003e or \u003ccode\u003eaws-sdk-core\u003c/code\u003e's CHANGELOG.md for details.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.135.0 (2025-11-19)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Added the EnableOutboundWebIdentityFederation, DisableOutboundWebIdentityFederation and GetOutboundWebIdentityFederationInfo APIs for the IAM outbound federation feature.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.134.0 (2025-11-18)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Added the AssociateDelegationRequest, GetDelegationRequest, AcceptDelegationRequest, RejectDelegatonRequest, ListDelegationRequests, UpdateDelegationRequest, SendDelegationToken and GetHumanReadableSummary APIs for the IAM temporary delegation feature.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.133.0 (2025-11-10)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Added CreateDelegationRequest API, which is not available for general use at this time.\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\u003eSee full diff in \u003ca href=\"https://github.com/aws/aws-sdk-ruby/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `bcrypt_pbkdf` from 1.1.1 to 1.1.2\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/net-ssh/bcrypt_pbkdf-ruby/commit/e52088f9a28e34321a9b359f30d472097f1d7f01\"\u003e\u003ccode\u003ee52088f\u003c/code\u003e\u003c/a\u003e chore: bump version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/net-ssh/bcrypt_pbkdf-ruby/commit/26919975ca7b77425609387955d31784381c3af6\"\u003e\u003ccode\u003e2691997\u003c/code\u003e\u003c/a\u003e added benchmark gem to gemspec\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/net-ssh/bcrypt_pbkdf-ruby/commit/fc2498597f6f556979ccc8ee58acce10e39ff09a\"\u003e\u003ccode\u003efc24985\u003c/code\u003e\u003c/a\u003e chore: bump version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/net-ssh/bcrypt_pbkdf-ruby/commit/25919bbc4a148ba2031e6c52ec777ded97560df4\"\u003e\u003ccode\u003e25919bb\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/net-ssh/bcrypt_pbkdf-ruby/issues/26\"\u003e#26\u003c/a\u003e from brendon/Ruby-3.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/net-ssh/bcrypt_pbkdf-ruby/commit/77d005a0be09f848cf8838d09e611290b027a791\"\u003e\u003ccode\u003e77d005a\u003c/code\u003e\u003c/a\u003e Add Ruby 3.4 support\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/net-ssh/bcrypt_pbkdf-ruby/compare/v1.1.1...v1.1.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `excon` from 1.3.0 to 1.3.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/excon/excon/blob/master/changelog.txt\"\u003eexcon's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e1.3.2 2025-12-03\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eupdate bundled certs\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e1.3.1 2025-11-05\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eupdate bundled certs\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/excon/excon/commit/e94efe6637d9d99a66e8a39b52c0131c706432b7\"\u003e\u003ccode\u003ee94efe6\u003c/code\u003e\u003c/a\u003e v1.3.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/excon/excon/commit/7e858751ff850bafc4000fcca4f3f331c70c07bc\"\u003e\u003ccode\u003e7e85875\u003c/code\u003e\u003c/a\u003e update bundled certs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/excon/excon/commit/f076a7657782c518cbff2c1683309c2c106e6275\"\u003e\u003ccode\u003ef076a76\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 5 to 6 (\u003ca href=\"https://redirect.github.com/excon/excon/issues/893\"\u003e#893\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/excon/excon/commit/fbe4748d49ac87504ee8d3e7352da0de3485144c\"\u003e\u003ccode\u003efbe4748\u003c/code\u003e\u003c/a\u003e adjust ractor usage for Ruby 3.5+\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/excon/excon/commit/7900bec2e4f4916b0d8994e5e7f3b57ca10ddb68\"\u003e\u003ccode\u003e7900bec\u003c/code\u003e\u003c/a\u003e v1.3.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/excon/excon/commit/a18079c2a55780951d61da712d68554217106ede\"\u003e\u003ccode\u003ea18079c\u003c/code\u003e\u003c/a\u003e update bundled certs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/excon/excon/commit/60ac6aa966172e6bd20264366e213943d891329c\"\u003e\u003ccode\u003e60ac6aa\u003c/code\u003e\u003c/a\u003e update bundled certs\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/excon/excon/compare/v1.3.0...v1.3.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `reline` from 0.6.2 to 0.6.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/reline/releases\"\u003ereline's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.6.3\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix CSI pattern regexp to accept parameter bytes and intermediate bytes by \u003ca href=\"https://github.com/tompng\"\u003e\u003ccode\u003e@​tompng\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/reline/pull/848\"\u003eruby/reline#848\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse key symbol names instead of hardcoded C-r C-s C-h C-? in reverse/forward i-search by \u003ca href=\"https://github.com/tompng\"\u003e\u003ccode\u003e@​tompng\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/reline/pull/855\"\u003eruby/reline#855\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🛠 Other Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBump actions/checkout from 4 to 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/ruby/reline/pull/846\"\u003eruby/reline#846\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump step-security/harden-runner from 2.12.2 to 2.13.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/ruby/reline/pull/844\"\u003eruby/reline#844\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/upload-pages-artifact 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/ruby/reline/pull/849\"\u003eruby/reline#849\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump step-security/harden-runner from 2.13.0 to 2.13.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/ruby/reline/pull/850\"\u003eruby/reline#850\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse test-unit-ruby-core by \u003ca href=\"https://github.com/tompng\"\u003e\u003ccode\u003e@​tompng\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/reline/pull/852\"\u003eruby/reline#852\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove retrieve_keybuffer by \u003ca href=\"https://github.com/tompng\"\u003e\u003ccode\u003e@​tompng\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/reline/pull/851\"\u003eruby/reline#851\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump rubygems/release-gem from 1.1.1 to 1.1.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/ruby/reline/pull/857\"\u003eruby/reline#857\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse bundler/setup instead of Bunlder.require in multiline_repl by \u003ca href=\"https://github.com/tompng\"\u003e\u003ccode\u003e@​tompng\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/reline/pull/860\"\u003eruby/reline#860\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump version to 0.6.3 by \u003ca href=\"https://github.com/ima1zumi\"\u003e\u003ccode\u003e@​ima1zumi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/reline/pull/858\"\u003eruby/reline#858\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ruby/reline/compare/v0.6.2...v0.6.3\"\u003ehttps://github.com/ruby/reline/compare/v0.6.2...v0.6.3\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/ruby/reline/commit/55390d5c0cfb8916b170b9146428c8de98ff7dc8\"\u003e\u003ccode\u003e55390d5\u003c/code\u003e\u003c/a\u003e Bump up to 0.6.3 (\u003ca href=\"https://redirect.github.com/ruby/reline/issues/858\"\u003e#858\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/reline/commit/07255abec99bb6daaf87cc13c8f35e205ace9bbb\"\u003e\u003ccode\u003e07255ab\u003c/code\u003e\u003c/a\u003e Use bundler/setup instead of Bunlder.require in multiline_repl (\u003ca href=\"https://redirect.github.com/ruby/reline/issues/860\"\u003e#860\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/reline/commit/7eef150d6e3c7e85836b1a6da40a15f06a3c487e\"\u003e\u003ccode\u003e7eef150\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/reline/issues/857\"\u003e#857\u003c/a\u003e from ruby/dependabot/github_actions/rubygems/release-...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/reline/commit/63dfa17da92da947082d9d6e8336f3f5cd69b974\"\u003e\u003ccode\u003e63dfa17\u003c/code\u003e\u003c/a\u003e Bump rubygems/release-gem from 1.1.1 to 1.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/reline/commit/1d1e8081f20d4603b3342ee01ab63303304f69c0\"\u003e\u003ccode\u003e1d1e808\u003c/code\u003e\u003c/a\u003e Use key symbol names instead of hardcoded C-r C-s C-h C-? in reverse/forward ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/reline/commit/433a93076eee3bc30bb9d6c43df355a414bfbfdd\"\u003e\u003ccode\u003e433a930\u003c/code\u003e\u003c/a\u003e Fix CSI pattern regexp to accept parameter bytes and intermediate bytes (\u003ca href=\"https://redirect.github.com/ruby/reline/issues/848\"\u003e#848\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/reline/commit/5d5c1ff0cc0662b8a6285b6a9b56283bca2e5e5d\"\u003e\u003ccode\u003e5d5c1ff\u003c/code\u003e\u003c/a\u003e Remove retrieve_keybuffer (\u003ca href=\"https://redirect.github.com/ruby/reline/issues/851\"\u003e#851\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/reline/commit/199c26a2c07d83c9281cc8b97892d60b595173eb\"\u003e\u003ccode\u003e199c26a\u003c/code\u003e\u003c/a\u003e Use test-unit-ruby-core (\u003ca href=\"https://redirect.github.com/ruby/reline/issues/852\"\u003e#852\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/reline/commit/19aa19f1bfa2b738603f2c65de81a15b19b14594\"\u003e\u003ccode\u003e19aa19f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/reline/issues/850\"\u003e#850\u003c/a\u003e from ruby/dependabot/github_actions/step-security/har...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/reline/commit/9300d4de899868ea554c1a522f37a5d3eee94926\"\u003e\u003ccode\u003e9300d4d\u003c/code\u003e\u003c/a\u003e Bump step-security/harden-runner from 2.13.0 to 2.13.1\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby/reline/compare/v0.6.2...v0.6.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `roda` from 3.97.0 to 3.99.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jeremyevans/roda/blob/master/CHANGELOG\"\u003eroda's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e=== 3.99.0 (2025-12-12)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for set matchers by default, as Set will be a core class in Ruby 4 (jeremyevans)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e=== 3.98.0 (2025-11-13)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for the :env_key option to the sessions plugin (jeremyevans) (\u003ca href=\"https://redirect.github.com/jeremyevans/roda/issues/403\"\u003e#403\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/jeremyevans/roda/commit/81b22346444027538f53a59d29f73b4f716598fd\"\u003e\u003ccode\u003e81b2234\u003c/code\u003e\u003c/a\u003e Bump version to 3.99.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jeremyevans/roda/commit/180d499a9178f31d29b669c7591e5b3dd8f4e1f1\"\u003e\u003ccode\u003e180d499\u003c/code\u003e\u003c/a\u003e Update run_require_slash plugin docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jeremyevans/roda/commit/8f190dfd7484ab0f7ab1e07d41b800b738c5987e\"\u003e\u003ccode\u003e8f190df\u003c/code\u003e\u003c/a\u003e Update website home page\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jeremyevans/roda/commit/ca50e40ed039b64c821609333a8290c0512b1327\"\u003e\u003ccode\u003eca50e40\u003c/code\u003e\u003c/a\u003e Add Understandability as a goal\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jeremyevans/roda/commit/578ca9a106790c87f799b6b6e337099d5c8d99b1\"\u003e\u003ccode\u003e578ca9a\u003c/code\u003e\u003c/a\u003e Add support for set matchers by default, as Set will be a core class in Ruby 4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jeremyevans/roda/commit/8fc5b77fcd0d49625bcc77007622fe94a0f2afc2\"\u003e\u003ccode\u003e8fc5b77\u003c/code\u003e\u003c/a\u003e Bump version to 3.98.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jeremyevans/roda/commit/5b1a58ec704add896d1e8442c1e4bb80a0c5d85e\"\u003e\u003ccode\u003e5b1a58e\u003c/code\u003e\u003c/a\u003e Add support for the :env_key option to the sessions plugin\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/jeremyevans/roda/compare/3.97.0...3.99.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rodauth` from 2.41.0 to 2.42.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jeremyevans/rodauth/blob/master/CHANGELOG\"\u003erodauth's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e=== 2.42.0 (2025-12-18)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid mixed string/symbol keys in JSON when using the jwt_refresh feature (jeremyevans)\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/jeremyevans/rodauth/commit/8c07562f8c481b514dcbd42cc0cc5827699f8daf\"\u003e\u003ccode\u003e8c07562\u003c/code\u003e\u003c/a\u003e Bump version to 2.42.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jeremyevans/rodauth/commit/3724d1cc7b9e9cdb386d183f74197af6fad672c5\"\u003e\u003ccode\u003e3724d1c\u003c/code\u003e\u003c/a\u003e Avoid mixed string/symbol keys in JSON in a few specs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jeremyevans/rodauth/commit/e067e0bce6189fd1dce5c4eccddf593ab417ae4d\"\u003e\u003ccode\u003ee067e0b\u003c/code\u003e\u003c/a\u003e Avoid mixed string/symbol keys in JSON when using the jwt_refresh feature\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/jeremyevans/rodauth/compare/2.41.0...2.42.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rqrcode` from 3.1.0 to 3.1.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/whomwah/rqrcode/releases\"\u003erqrcode's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.1.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRelease 3.1.0 mergeback by \u003ca href=\"https://github.com/whomwah\"\u003e\u003ccode\u003e@​whomwah\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/whomwah/rqrcode/pull/158\"\u003ewhomwah/rqrcode#158\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate required_ruby_version to allow Ruby 4.0 by \u003ca href=\"https://github.com/k0kubun\"\u003e\u003ccode\u003e@​k0kubun\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/whomwah/rqrcode/pull/160\"\u003ewhomwah/rqrcode#160\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReleases/v3.1.1 by \u003ca href=\"https://github.com/whomwah\"\u003e\u003ccode\u003e@​whomwah\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/whomwah/rqrcode/pull/161\"\u003ewhomwah/rqrcode#161\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/k0kubun\"\u003e\u003ccode\u003e@​k0kubun\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/whomwah/rqrcode/pull/160\"\u003ewhomwah/rqrcode#160\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/whomwah/rqrcode/compare/v3.1.0...v3.1.1\"\u003ehttps://github.com/whomwah/rqrcode/compare/v3.1.0...v3.1.1\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/whomwah/rqrcode/blob/main/CHANGELOG.md\"\u003erqrcode's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[3.1.1] - 2025-11-25\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate required_ruby_version to support \u0026gt;= rather than ~\u0026gt; ready for Ruby 4\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/whomwah/rqrcode/commit/30cfc62415a2e48b3089ab22ae11ab96e64e2a52\"\u003e\u003ccode\u003e30cfc62\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/whomwah/rqrcode/issues/161\"\u003e#161\u003c/a\u003e from whomwah/releases/v3.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/whomwah/rqrcode/commit/b6a0d1ae92ff2a2cc98c6caa4572ce2e88004515\"\u003e\u003ccode\u003eb6a0d1a\u003c/code\u003e\u003c/a\u003e release: Bump version to 3.1.1 and update changelog for release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/whomwah/rqrcode/commit/f9fa33704951158a38b3cf04311e295d3a0e947d\"\u003e\u003ccode\u003ef9fa337\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/whomwah/rqrcode/issues/160\"\u003e#160\u003c/a\u003e from k0kubun/ruby-4-0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/whomwah/rqrcode/commit/12a47520383c1d61d627a5107ba72fb80518ae7e\"\u003e\u003ccode\u003e12a4752\u003c/code\u003e\u003c/a\u003e Update required_ruby_version to allow Ruby 4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/whomwah/rqrcode/commit/f57261619716bb1d0fc9658c45948f8740faed68\"\u003e\u003ccode\u003ef572616\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/whomwah/rqrcode/issues/158\"\u003e#158\u003c/a\u003e from whomwah/release\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/whomwah/rqrcode/compare/v3.1.0...v3.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sequel_pg` from 1.18.0 to 1.18.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jeremyevans/sequel_pg/blob/master/CHANGELOG\"\u003esequel_pg's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e=== 1.18.2 (2025-12-18)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid bogus warnings about the implicit block parameter in Ruby 3.3 (jeremyevans) (\u003ca href=\"https://redirect.github.com/jeremyevans/sequel_pg/issues/64\"\u003e#64\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e=== 1.18.1 (2025-12-16)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix truncated results for map/select_map/select_order_map/as_hash/to_hash_groups/select_hash/select_hash_groups/as_set/select_set for datasets using use_cursor (jeremyevans) (\u003ca href=\"https://redirect.github.com/jeremyevans/sequel_pg/issues/62\"\u003e#62\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAvoid compilation warnings checking for HAVE_* definitions (jeremyevans)\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/jeremyevans/sequel_pg/commit/de99106f589629cb3813371a8d534a4d2a811298\"\u003e\u003ccode\u003ede99106\u003c/code\u003e\u003c/a\u003e Bump version to 1.18.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jeremyevans/sequel_pg/commit/72bf00a5a6c655aa6451d2639600be02a5ab32d4\"\u003e\u003ccode\u003e72bf00a\u003c/code\u003e\u003c/a\u003e Avoid bogus warnings about the implicit block parameter in Ruby 3.3 (Fixes \u003ca href=\"https://redirect.github.com/jeremyevans/sequel_pg/issues/64\"\u003e#64\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jeremyevans/sequel_pg/commit/556edaaa9c2d06510cd51885d46666b6e2c87d8d\"\u003e\u003ccode\u003e556edaa\u003c/code\u003e\u003c/a\u003e Bump version to 1.18.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jeremyevans/sequel_pg/commit/82f812e85135924a2ec1410d76f53037514698ef\"\u003e\u003ccode\u003e82f812e\u003c/code\u003e\u003c/a\u003e Fix truncated results for map/select_map/select_order_map/as_hash/to_hash_gro...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jeremyevans/sequel_pg/commit/998030d04be6b9439d8783c94da664fc68dc4a4b\"\u003e\u003ccode\u003e998030d\u003c/code\u003e\u003c/a\u003e Avoid compilation warnings checking for HAVE_* definitions\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/jeremyevans/sequel_pg/compare/1.18.0...1.18.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `addressable` from 2.8.7 to 2.8.8\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sporkmonger/addressable/blob/main/CHANGELOG.md\"\u003eaddressable's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eAddressable 2.8.8 \u003c!-- raw HTML omitted --\u003e\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eReplace the \u003ccode\u003eunicode.data\u003c/code\u003e blob by a ruby constant (\u003ca href=\"https://redirect.github.com/sporkmonger/addressable/issues/561\"\u003e#561\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow \u003ccode\u003epublic_suffix\u003c/code\u003e 7 (\u003ca href=\"https://redirect.github.com/sporkmonger/addressable/issues/558\"\u003e#558\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/sporkmonger/addressable/issues/561\"\u003e#561\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/sporkmonger/addressable/pull/561\"\u003esporkmonger/addressable#561\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/sporkmonger/addressable/issues/558\"\u003e#558\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/sporkmonger/addressable/pull/558\"\u003esporkmonger/addressable#558\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/sporkmonger/addressable/commit/111af8e8d3260dbd5b10a2dfec42a4e129d18705\"\u003e\u003ccode\u003e111af8e\u003c/code\u003e\u003c/a\u003e Update version, gemspec, and CHANGELOG for 2.8.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sporkmonger/addressable/commit/d923a5e9a7b20ed57199e9a37366446c7f8fde4f\"\u003e\u003ccode\u003ed923a5e\u003c/code\u003e\u003c/a\u003e Fix heading levels in README and Changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sporkmonger/addressable/commit/88f14727fffea367e3801e05f72d17f9079281a9\"\u003e\u003ccode\u003e88f1472\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 5 to 6 (\u003ca href=\"https://redirect.github.com/sporkmonger/addressable/issues/560\"\u003e#560\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sporkmonger/addressable/commit/22528139b10c9697a4790f334d9323ecc02c59fe\"\u003e\u003ccode\u003e2252813\u003c/code\u003e\u003c/a\u003e Replace the \u003ccode\u003eunicode.data\u003c/code\u003e blob by a ruby constant (\u003ca href=\"https://redirect.github.com/sporkmonger/addressable/issues/561\"\u003e#561\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sporkmonger/addressable/commit/af2d3f6e70b9551f94124e2dbab0d739127a8234\"\u003e\u003ccode\u003eaf2d3f6\u003c/code\u003e\u003c/a\u003e Allow \u003ccode\u003epublic_suffix\u003c/code\u003e v7 (\u003ca href=\"https://redirect.github.com/sporkmonger/addressable/issues/558\"\u003e#558\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sporkmonger/addressable/commit/aaa53fe23417b0bb5ce198ed081a70e70f240260\"\u003e\u003ccode\u003eaaa53fe\u003c/code\u003e\u003c/a\u003e CI: restore older rubies for \u003ccode\u003epublic_suffix\u003c/code\u003e jobs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sporkmonger/addressable/commit/49fc47477dc39f816bee25419c687e9a1f0282ef\"\u003e\u003ccode\u003e49fc474\u003c/code\u003e\u003c/a\u003e CI: fix \u003ccode\u003eprofile:template_match_memory\u003c/code\u003e task for Ruby \u0026gt;2.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sporkmonger/addressable/commit/c0f98d5f18e428a601b55f3740546293a18fc371\"\u003e\u003ccode\u003ec0f98d5\u003c/code\u003e\u003c/a\u003e CI: use latest stable ruby outside the version matrix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sporkmonger/addressable/commit/7cb10aae0353bc3c280aecaf3f62645b62c1ccce\"\u003e\u003ccode\u003e7cb10aa\u003c/code\u003e\u003c/a\u003e CI: test with modern JVM Rubies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sporkmonger/addressable/commit/dd1adcfc8368ab188526f7160c6e74fe2ef4cafa\"\u003e\u003ccode\u003edd1adcf\u003c/code\u003e\u003c/a\u003e CI: less \u003ccode\u003eubuntu-22.04\u003c/code\u003e, more \u003ccode\u003eubuntu-24.04\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sporkmonger/addressable/compare/addressable-2.8.7...addressable-2.8.8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `aws-partitions` from 1.1196.0 to 1.1200.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/aws/aws-sdk-ruby/blob/version-3/gems/aws-partitions/CHANGELOG.md\"\u003eaws-partitions's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.1200.0 (2025-12-30)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Updated the partitions source data the determines the AWS service regions and endpoints.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.1199.0 (2025-12-26)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Updated the partitions source data the determines the AWS service regions and endpoints.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.1198.0 (2025-12-19)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Added support for enumerating regions for  \u003ccode\u003eAws::Wickr\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.1197.0 (2025-12-18)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Updated the partitions source data the determines the AWS service regions and endpoints.\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\u003eSee full diff in \u003ca href=\"https://github.com/aws/aws-sdk-ruby/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `aws-sdk-core` from 3.240.0 to 3.241.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/aws/aws-sdk-ruby/blob/version-3/gems/aws-sdk-core/CHANGELOG.md\"\u003eaws-sdk-core's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.241.0 (2026-01-05)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Improved memory efficiency when calculating request checksums.\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\u003eSee full diff in \u003ca href=\"https://github.com/aws/aws-sdk-ruby/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `date` from 3.5.0 to 3.5.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/date/releases\"\u003edate's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.5.1\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRemove archaic conditions by \u003ca href=\"https://github.com/nobu\"\u003e\u003ccode\u003e@​nobu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/date/pull/144\"\u003eruby/date#144\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[DOC] Remove the name from same file references by \u003ca href=\"https://github.com/nobu\"\u003e\u003ccode\u003e@​nobu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/date/pull/147\"\u003eruby/date#147\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCall rb_gc_register_mark_object after object allocation by \u003ca href=\"https://github.com/peterzhu2118\"\u003e\u003ccode\u003e@​peterzhu2118\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/date/pull/149\"\u003eruby/date#149\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/peterzhu2118\"\u003e\u003ccode\u003e@​peterzhu2118\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/date/pull/149\"\u003eruby/date#149\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ruby/date/compare/v3.5.0...v3.5.1\"\u003ehttps://github.com/ruby/date/compare/v3.5.0...v3.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/ruby/date/commit/2b5442d85a97859a680eb4be20c6e1a28f3af282\"\u003e\u003ccode\u003e2b5442d\u003c/code\u003e\u003c/a\u003e v3.5.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/date/commit/2cd5033b42f1bdac8c2a762b854a6c1db71310d5\"\u003e\u003ccode\u003e2cd5033\u003c/code\u003e\u003c/a\u003e Reorganize page documentations (\u003ca href=\"https://redirect.github.com/ruby/date/issues/15154\"\u003e#15154\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/date/commit/b8d37ac27c9d7b2e5401c1cede0d260d7176d824\"\u003e\u003ccode\u003eb8d37ac\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/date/issues/150\"\u003e#150\u003c/a\u003e from ruby/dependabot/github_actions/step-security/har...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/date/commit/2ecd780a4761e1ef31306bf495d11b93bc0c2b1d\"\u003e\u003ccode\u003e2ecd780\u003c/code\u003e\u003c/a\u003e Bump step-security/harden-runner from 2.13.2 to 2.13.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/date/commit/184aac08653a9e9ef139ebe4c3677ff82bf3df46\"\u003e\u003ccode\u003e184aac0\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/date/issues/149\"\u003e#149\u003c/a\u003e from ruby/pz-init-register-mark-obj\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/date/commit/cbec5948e013e0f6cf7cba9a7a582eb0a92a181d\"\u003e\u003ccode\u003ecbec594\u003c/code\u003e\u003c/a\u003e Call rb_gc_register_mark_object after object allocation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/date/commit/de80b014b3ae0a883e81f988f859795222583c08\"\u003e\u003ccode\u003ede80b01\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/date/issues/148\"\u003e#148\u003c/a\u003e from ruby/dependabot/github_actions/actions/checkout-6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/date/commit/6de721a3db73fcce483782f43a5b4914f91aebea\"\u003e\u003ccode\u003e6de721a\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 5 to 6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/date/commit/e41082e068bbbe2f5c65285695c93cda794de059\"\u003e\u003ccode\u003ee41082e\u003c/code\u003e\u003c/a\u003e [DOC] Remove the name from same file references\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/date/commit/cd1c0ab38ec5b5f674664a89eac7402bccf17189\"\u003e\u003ccode\u003ecd1c0ab\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/date/issues/146\"\u003e#146\u003c/a\u003e from ruby/dependabot/github_actions/step-security/har...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby/date/compare/v3.5.0...v3.5.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `faraday-net_http` from 3.4.1 to 3.4.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/lostisland/faraday-net_http/releases\"\u003efaraday-net_http's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.4.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUse more conservative net-http version constraint by \u003ca href=\"https://github.com/RDeckard\"\u003e\u003ccode\u003e@​RDeckard\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lostisland/faraday-net_http/pull/53\"\u003elostisland/faraday-net_http#53\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/RDeckard\"\u003e\u003ccode\u003e@​RDeckard\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/lostisland/faraday-net_http/pull/53\"\u003elostisland/faraday-net_http#53\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/lostisland/faraday-net_http/compare/v3.4.1...v3.4.2\"\u003ehttps://github.com/lostisland/faraday-net_http/compare/v3.4.1...v3.4.2\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/lostisland/faraday-net_http/commit/821a73a0f1fb2fd109b3ef58312b6ee10b4f2944\"\u003e\u003ccode\u003e821a73a\u003c/code\u003e\u003c/a\u003e Update ci.yml to allow manual runs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lostisland/faraday-net_http/commit/d71af6b6da15597311c59c90a02a4fe27013fb4a\"\u003e\u003ccode\u003ed71af6b\u003c/code\u003e\u003c/a\u003e Version bump to 3.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lostisland/faraday-net_http/commit/9c90d68d674de4f1a0d24f13cf05169816773840\"\u003e\u003ccode\u003e9c90d68\u003c/code\u003e\u003c/a\u003e Use more conservative net-http version constraint (\u003ca href=\"https://redirect.github.com/lostisland/faraday-net_http/issues/53\"\u003e#53\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lostisland/faraday-net_http/commit/2047b9ab36a25b595b9f444e3b12d7661c2fa818\"\u003e\u003ccode\u003e2047b9a\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 4 to 5 (\u003ca href=\"https://redirect.github.com/lostisland/faraday-net_http/issues/51\"\u003e#51\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/lostisland/faraday-net_http/compare/v3.4.1...v3.4.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `faraday-retry` from 2.3.2 to 2.4.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/lostisland/faraday-retry/releases\"\u003efaraday-retry's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.4.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump actions/checkout from 4 to 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/lostisland/faraday-retry/pull/49\"\u003elostisland/faraday-retry#49\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/lostisland/faraday-retry/pull/50\"\u003elostisland/faraday-retry#50\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRelax \u003ccode\u003erequired_ruby_version\u003c/code\u003e to support Ruby 4.0 by \u003ca href=\"https://github.com/taketo1113\"\u003e\u003ccode\u003e@​taketo1113\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lostisland/faraday-retry/pull/51\"\u003elostisland/faraday-retry#51\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/taketo1113\"\u003e\u003ccode\u003e@​taketo1113\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/lostisland/faraday-retry/pull/51\"\u003elostisland/faraday-retry#51\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/lostisland/faraday-retry/compare/v2.3.2...v2.4.0\"\u003ehttps://github.com/lostisland/faraday-retry/compare/v2.3.2...v2.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/lostisland/faraday-retry/commit/a422231c8dbd6f3667b99bcb04f4927d33fab2a5\"\u003e\u003ccode\u003ea422231\u003c/code\u003e\u003c/a\u003e Version bump to 2.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lostisland/faraday-retry/commit/8fa8cc2fac5c168229ad2f5670e910d8fbf0ec01\"\u003e\u003ccode\u003e8fa8cc2\u003c/code\u003e\u003c/a\u003e Relax \u003ccode\u003erequired_ruby_version\u003c/code\u003e to support Ruby 4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lostisland/faraday-retry/commit/611150171d8075cdd3e61662c16847dac1438d7e\"\u003e\u003ccode\u003e6111501\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 5 to 6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lostisland/faraday-retry/commit/59688458e818b65d09b3ada441c1cfb63fac6ce9\"\u003e\u003ccode\u003e5968845\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 4 to 5\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/lostisland/faraday-retry/compare/v2.3.2...v2.4.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io-console` from 0.8.1 to 0.8.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/io-console/releases\"\u003eio-console's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.8.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump step-security/harden-runner from 2.12.2 to 2.13.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/ruby/io-console/pull/98\"\u003eruby/io-console#98\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/checkout from 4 to 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/ruby/io-console/pull/99\"\u003eruby/io-console#99\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump step-security/harden-runner from 2.13.0 to 2.13.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/ruby/io-console/pull/101\"\u003eruby/io-console#101\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd a workflow to sync commits to ruby/ruby by \u003ca href=\"https://github.com/k0kubun\"\u003e\u003ccode\u003e@​k0kubun\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/io-console/pull/102\"\u003eruby/io-console#102\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReorder dispatching by host_os by \u003ca href=\"https://github.com/nobu\"\u003e\u003ccode\u003e@​nobu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/io-console/pull/103\"\u003eruby/io-console#103\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/upload-artifact from 4 to 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/ruby/io-console/pull/104\"\u003eruby/io-console#104\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump rubygems/release-gem from 1.1.1 to 1.1.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/ruby/io-console/pull/106\"\u003eruby/io-console#106\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump step-security/harden-runner from 2.13.1 to 2.13.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/ruby/io-console/pull/108\"\u003eruby/io-console#108\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/ruby/io-console/pull/109\"\u003eruby/io-console#109\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump step-security/harden-runner from 2.13.2 to 2.13.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/ruby/io-console/pull/110\"\u003eruby/io-console#110\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix set winsize on windows by \u003ca href=\"https://github.com/YO4\"\u003e\u003ccode\u003e@​YO4\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/io-console/pull/111\"\u003eruby/io-console#111\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/YO4\"\u003e\u003ccode\u003e@​YO4\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/io-console/pull/111\"\u003eruby/io-console#111\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ruby/io-console/compare/v0.8.1...v0.8.2\"\u003ehttps://github.com/ruby/io-console/compare/v0.8.1...v0.8.2\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/ruby/io-console/commit/fbc7e1f31f1fc2cf21baf96a845bfdbc88e47f95\"\u003e\u003ccode\u003efbc7e1f\u003c/code\u003e\u003c/a\u003e bump up to 0.8.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/io-console/commit/04fbf93609312bab0db6b6f35643f15d2af96a4e\"\u003e\u003ccode\u003e04fbf93\u003c/code\u003e\u003c/a\u003e [ci skip] wip\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/io-console/commit/379e7c17ed27af9e7ec90f5994a566b9770f6777\"\u003e\u003ccode\u003e379e7c1\u003c/code\u003e\u003c/a\u003e strip trailing spaces [ci skip]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/io-console/commit/ae337858205871ba252c934e8d095340bfe19787\"\u003e\u003ccode\u003eae33785\u003c/code\u003e\u003c/a\u003e console_cursor_pos respects scroll position on windows\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/io-console/commit/d2a6c69697c95411faf5dd69731a9d3deb056103\"\u003e\u003ccode\u003ed2a6c69\u003c/code\u003e\u003c/a\u003e console_goto respects scroll position on windows\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/io-console/commit/817aa65ea3feab358d50f7dfb70087523dd84314\"\u003e\u003ccode\u003e817aa65\u003c/code\u003e\u003c/a\u003e avoid jumping scroll position when winsize changed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/io-console/commit/df444b93f1e74322bf6d3a7c8fbbfd794c78c1e3\"\u003e\u003ccode\u003edf444b9\u003c/code\u003e\u003c/a\u003e Remove useless rb_check_arity() call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/io-console/commit/78858b0324a2abd7c6bdb8f8c4e9b92cf60370e3\"\u003e\u003ccode\u003e78858b0\u003c/code\u003e\u003c/a\u003e Bump step-security/harden-runner from 2.13.2 to 2.13.3 (\u003ca href=\"https://redirect.github.com/ruby/io-console/issues/110\"\u003e#110\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/io-console/commit/ba83488a9fe222d4cd55d8f3a321aefe25b0cdc8\"\u003e\u003ccode\u003eba83488\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 5 to 6 (\u003ca href=\"https://redirect.github.com/ruby/io-console/issues/109\"\u003e#109\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/io-console/commit/961e4a535811fd917847e60eba77ba6f9ae58c68\"\u003e\u003ccode\u003e961e4a5\u003c/code\u003e\u003c/a\u003e Bump step-security/harden-runner from 2.13.1 to 2.13.2 (\u003ca href=\"https://redirect.github.com/ruby/io-console/issues/108\"\u003e#108\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby/io-console/compare/v0.8.1...v0.8.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `net-http` from 0.7.0 to 0.9.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/net-http/releases\"\u003enet-http's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.9.1\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRaise \u003ccode\u003eNet::OpenTimeout\u003c/code\u003e when \u003ccode\u003eTCPSocket.open\u003c/code\u003e raises \u003ccode\u003eIO::TimeoutError\u003c/code\u003e. by \u003ca href=\"https://github.com/shioimm\"\u003e\u003ccode\u003e@​shioimm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-http/pull/263\"\u003eruby/net-http#263\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFreeze more constants for Ractor compatibility by \u003ca href=\"https://github.com/rhenium\"\u003e\u003ccode\u003e@​rhenium\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-http/pull/256\"\u003eruby/net-http#256\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/shioimm\"\u003e\u003ccode\u003e@​shioimm\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/net-http/pull/263\"\u003eruby/net-http#263\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ruby/net-http/compare/v0.9.0...v0.9.1\"\u003ehttps://github.com/ruby/net-http/compare/v0.9.0...v0.9.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.9.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eopen: Never call Timeout.timeout in rescue clause by \u003ca href=\"https://github.com/osyoyu\"\u003e\u003ccode\u003e@​osyoyu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-http/pull/250\"\u003eruby/net-http#250\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed by \u003ccode\u003emisspell -w -error -source=text\u003c/code\u003e by \u003ca href=\"https://github.com/hsbt\"\u003e\u003ccode\u003e@​hsbt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-http/pull/254\"\u003eruby/net-http#254\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCheck whether TCPSocket#initialize supports open_timeout once and without exceptions by \u003ca href=\"https://github.com/eregon\"\u003e\u003ccode\u003e@​eregon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-http/pull/252\"\u003eruby/net-http#252\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRefactor HTTPS tests by \u003ca href=\"https://github.com/rhenium\"\u003e\u003ccode\u003e@​rhenium\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-http/pull/255\"\u003eruby/net-http#255\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/eregon\"\u003e\u003ccode\u003e@​eregon\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/net-http/pull/252\"\u003eruby/net-http#252\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ruby/net-http/compare/v0.8.0...v0.9.0\"\u003ehttps://github.com/ruby/net-http/compare/v0.8.0...v0.9.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.8.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eBreaking changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMinimum Ruby version raised to 2.7 along with the raise of minimum \u003ccode\u003euri\u003c/code\u003e gem version (0.11.1)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e[DOC] Fix too stopped documentations by \u003ca href=\"https://github.com/nobu\"\u003e\u003ccode\u003e@​nobu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-http/pull/244\"\u003eruby/net-http#244\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReplace Timeout.timeout with TCPSocket.open(open_timeout:) when available by \u003ca href=\"https://github.com/osyoyu\"\u003e\u003ccode\u003e@​osyoyu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-http/pull/224\"\u003eruby/net-http#224\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReplace Ruby 3.5 with Ruby 4.0 by \u003ca href=\"https://github.com/yahonda\"\u003e\u003ccode\u003e@​yahonda\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-http/pull/246\"\u003eruby/net-http#246\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix handling of IPv6 literal hosts in \u003ccode\u003eNet::HTTPGenericRequest\u003c/code\u003e by \u003ca href=\"https://github.com/taketo1113\"\u003e\u003ccode\u003e@​taketo1113\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-http/pull/237\"\u003eruby/net-http#237\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003eThis fixes compatibility issue with \u003ccode\u003euri\u003c/code\u003e gem 1.1.0+, which made relevant validations strict.\u003c/li\u003e\n\u003c/ul\u003e\n\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/yahonda\"\u003e\u003ccode\u003e@​yahonda\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/net-http/pull/246\"\u003eruby/net-http#246\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/taketo1113\"\u003e\u003ccode\u003e@​taketo1113\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/net-http/pull/237\"\u003eruby/net-http#237\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ruby/net-http/compare/v0.7.0...v0.8.0\"\u003ehttps://github.com/ruby/net-http/compare/v0.7.0...v0.8.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/ruby/net-http/commit/8cee86e939f69bd0906864e7eb740bb471a205bd\"\u003e\u003ccode\u003e8cee86e\u003c/code\u003e\u003c/a\u003e v0.9.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-http/commit/76978323d43cf96e057a16adfd72c9d4e6373279\"\u003e\u003ccode\u003e7697832\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/net-http/issues/256\"\u003e#256\u003c/a\u003e from rhenium/ky/freeze-more-constants\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-http/commit/ce9ac4765a891589bc5e524d2b877dec3c6d60fd\"\u003e\u003ccode\u003ece9ac47\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/net-http/issues/263\"\u003e#263\u003c/a\u003e from shioimm/catch-ETIMEDOUT-or-IOTimeoutError\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-http/commit/f64109e1cff0b640ff6eba1bff441c229d8a2012\"\u003e\u003ccode\u003ef64109e\u003c/code\u003e\u003c/a\u003e Raise \u003ccode\u003eNet::OpenTimeout\u003c/code\u003e when \u003ccode\u003eTCPSocket.open\u003c/code\u003e raises \u003ccode\u003eIO::TimeoutError\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-http/commit/3ccf0c8e6add12f2d99062e5a1575d63ced36c1a\"\u003e\u003ccode\u003e3ccf0c8\u003c/code\u003e\u003c/a\u003e v0.9.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-http/commit/e8e37bbdfbb5684aa6a86abdbb25b3ebf3c27be4\"\u003e\u003ccode\u003ee8e37bb\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/net-http/issues/257\"\u003e#257\u003c/a\u003e from ruby/dependabot/github_actions/step-security/har...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-http/commit/f4b30da864f3bc20b60a93838e8f34e6d207b717\"\u003e\u003ccode\u003ef4b30da\u003c/code\u003e\u003c/a\u003e Bump step-security/harden-runner from 2.13.3 to 2.14.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-http/commit/836ad704fc8066d30aade68d5015e7010057c83d\"\u003e\u003ccode\u003e836ad70\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/net-http/issues/255\"\u003e#255\u003c/a\u003e from rhenium/ky/refactor-https-tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-http/commit/f24b3b358b161f84b855da36e36029fb1bea904e\"\u003e\u003ccode\u003ef24b3b3\u003c/code\u003e\u003c/a\u003e Freeze more constants for Ractor compatibility\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-http/commit/35c1745a2602f73036661a0bb070e989c33a0052\"\u003e\u003ccode\u003e35c1745\u003c/code\u003e\u003c/a\u003e Refactor HTTPS tests\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby/net-http/compare/v0.7.0...v0.9.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `net-imap` from 0.5.12 to 0.6.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/net-imap/releases\"\u003enet-imap's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.6.2\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Fix \u003ccode\u003eSequenceSet#delete?(num..num)\u003c/code\u003e to return set by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/583\"\u003eruby/net-imap#583\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 Fix \u003ccode\u003e#responses()\u003c/code\u003e freezing internal arrays by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/587\"\u003eruby/net-imap#587\u003c/a\u003e, reported by \u003ca href=\"https://github.com/yurikoval\"\u003e\u003ccode\u003e@​yurikoval\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/issues/581\"\u003eruby/net-imap#581\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ruby/net-imap/compare/v0.6.1...v0.6.2\"\u003ehttps://github.com/ruby/net-imap/compare/v0.6.1...v0.6.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.6.1\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Fix \u003ccode\u003eSequenceSet#max(n)\u003c/code\u003e when \u003ccode\u003ecardinality \u0026lt; n \u0026lt;= size\u003c/code\u003e by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/580\"\u003eruby/net-imap#580\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMiscellaneous\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e⬆️ Bump step-security/harden-runner from 2.13.3 to 2.14.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/ruby/net-imap/pull/579\"\u003eruby/net-imap#579\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ruby/net-imap/compare/v0.6.0...v0.6.1\"\u003ehttps://github.com/ruby/net-imap/compare/v0.6.0...v0.6.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.6.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eBreaking Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🔧 Update default config for \u003ccode\u003ev0.6\u003c/code\u003e by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/539\"\u003eruby/net-imap#539\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eresponses_without_block\u003c/code\u003e changed from \u003ccode\u003e:warn\u003c/code\u003e to \u003ccode\u003e:frozen_dup\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eparser_use_deprecated_uidplus_data\u003c/code\u003e changed from \u003ccode\u003e:up_to_max_size\u003c/code\u003e to \u003ccode\u003efalse\u003c/code\u003e \u003cem\u003e(and is deprecated)\u003c/em\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eparser_max_deprecated_uidplus_data_size\u003c/code\u003e changed from \u003ccode\u003e100\u003c/code\u003e to \u003ccode\u003e0\u003c/code\u003e \u003cem\u003e(and is deprecated)\u003c/em\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e🔥 Use psych (\u0026gt;= 5.2.5) for encoding Data objects by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/543\"\u003eruby/net-imap#543\u003c/a\u003e\nThis changes the YAML tag for \u003ccode\u003eData\u003c/code\u003e subclasses from \u003ccode\u003eruby/object:Net::IMAP::DataSubclass\u003c/code\u003e to \u003ccode\u003eruby/data:Net::IMAP::DataSubclass\u003c/code\u003e.  YAML dumped by earlier \u003ccode\u003enet-imap\u003c/code\u003e versions may not load correctly.  Psych \u0026gt;= 5.2.5 is required to dump these objects correctly.\u003c/li\u003e\n\u003cli\u003e💥 Require ruby \u0026gt;= 3.2 (drop support for 3.1) by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/538\"\u003eruby/net-imap#538\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e💥✨ Change \u003ccode\u003eSequenceSet#size\u003c/code\u003e to count \u003ccode\u003e*\u003c/code\u003e and repeated numbers by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/564\"\u003eruby/net-imap#564\u003c/a\u003e\n\u003ccode\u003eSequenceSet\u003c/code\u003e is used to represent both sorted sets and ordered lists (which may contain duplicates).  Members are non-zero UInt32 numbers, but \u003ccode\u003e\u0026quot;*\u0026quot;\u003c/code\u003e has special meaning as \u0026quot;the number corresponding to the last mailbox entry\u0026quot;.  So there are four different ways to count the members of a \u003ccode\u003eSequenceSet\u003c/code\u003e.\nPreviously, \u003ccode\u003e#size\u003c/code\u003e was an alias for \u003ccode\u003e#count\u003c/code\u003e.  Now it differs in both relevant aspects.\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003e\u003c/th\u003e\n\u003cth\u003e\u003cstrong\u003e\u003ccode\u003e*\u003c/code\u003e is a unique member\u003c/strong\u003e\u003c/th\u003e\n\u003cth\u003e\u003cstrong\u003e\u003ccode\u003e*\u003c/code\u003e is treated like 2³² - 1\u003c/strong\u003e\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cstrong\u003edistinct set members\u003c/strong\u003e\u003c/td\u003e\n\u003ctd\u003e\u003ccode\u003e#cardinality\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\u003ccode\u003e#count\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cstrong\u003eordered list, including duplicates\u003c/strong\u003e\u003c/td\u003e\n\u003ctd\u003e\u003ccode\u003e#size\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\u003ccode\u003e#count_with_duplicates\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c/li\u003e\n\u003cli\u003e🔥 Remove deprecated UIDPlusData class by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/540\"\u003eruby/net-imap#540\u003c/a\u003e\n\u003cem\u003e\u003ccode\u003eUIDPlusData\u003c/code\u003e was deprecated by v0.5.6.  \u003ccode\u003eAppendUIDData\u003c/code\u003e or \u003ccode\u003eCopyUIDData\u003c/code\u003e will always be returned instead.\u003c/em\u003e\u003c/li\u003e\n\u003cli\u003e🔥 Delete deprecated \u003ccode\u003eMessageSet\u003c/code\u003e by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/573\"\u003eruby/net-imap#573\u003c/a\u003e\n\u003cem\u003e\u003ccode\u003eMessageSet\u003c/code\u003e was deprecated by v0.5.0.  Use \u003ccode\u003eSequenceSet\u003c/code\u003e instead.\u003c/em\u003e\u003c/li\u003e\n\u003cli\u003e💥 Do not include \u003ccode\u003eOpenSSL\u003c/code\u003e and \u003ccode\u003eOpenSSL::SSL\u003c/code\u003e modules into \u003ccode\u003eNet::IMAP\u003c/code\u003e by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/533\"\u003eruby/net-imap#533\u003c/a\u003e\n\u003cem\u003eThis only affects the ability to use OpenSSL constants from the \u003ccode\u003eNet::IMAP\u003c/code\u003e namespace.\u003c/em\u003e\u003c/li\u003e\n\u003cli\u003e💥 Don't set \u003ccode\u003everify_callback\u003c/code\u003e to \u003ccode\u003eVerifyCallbackProc\u003c/code\u003e by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/534\"\u003eruby/net-imap#534\u003c/a\u003e\n\u003cem\u003eThis functionality was never documented and is redundant with the \u003ccode\u003everify_callback\u003c/code\u003e option.\u003c/em\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/ruby/net-imap/commit/38622aa7bf4cb1c412ac246561161228f04d22ac\"\u003e\u003ccode\u003e38622aa\u003c/code\u003e\u003c/a\u003e 🔖 Bump version to 0.6.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/96fd33b0439bce0e1917781b944aa581c919821d\"\u003e\u003ccode\u003e96fd33b\u003c/code\u003e\u003c/a\u003e 🐛 Fix \u003ccode\u003e#responses()\u003c/code\u003e freezing internal arrays\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/dde67cf388fbb9da68c51dd4d3a60bec94b6a66f\"\u003e\u003ccode\u003edde67cf\u003c/code\u003e\u003c/a\u003e 🔀 Merge tag 'v0.6.1'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/59350022befb2f47187a68b6332f8d4e55bc0dfb\"\u003e\u003ccode\u003e5935002\u003c/code\u003e\u003c/a\u003e 🔖 Bump version to 0.6.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/d455729a42a02cb5c048731385537d67b35a6bd4\"\u003e\u003ccode\u003ed455729\u003c/code\u003e\u003c/a\u003e 🐛 Fix SequenceSet#delete?(num..num) to return set\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/ce176b4537228c6df592ac44106090adb38375c1\"\u003e\u003ccode\u003ece176b4\u003c/code\u003e\u003c/a\u003e 🐛 Fix SequenceSet#max(n), cardinality \u0026lt; n \u0026lt;= size\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/6b07bf414173a35b9d11309e424e2243fee16117\"\u003e\u003ccode\u003e6b07bf4\u003c/code\u003e\u003c/a\u003e ⬆️ Bump step-security/harden-runner from 2.13.3 to 2.14.0 (\u003ca href=\"https://redirect.github.com/ruby/net-imap/issues/579\"\u003e#579\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/567518cae5500f7c4776a1fd4e9bbd599e98b9bf\"\u003e\u003ccode\u003e567518c\u003c/code\u003e\u003c/a\u003e 📦 Drop digest from Gemfile (workaround for \u003ca href=\"https://redirect.github.com/ruby/net-imap/issues/576\"\u003e#576\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/4af9ed4a737ae615cad25ecfa54fd7ff4ad31076\"\u003e\u003ccode\u003e4af9ed4\u003c/code\u003e\u003c/a\u003e 📦 Use latest rubygems/bundler to release gem\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/4e38b1fa1c44f1f5e60c06bcb415c5ec66c7fba0\"\u003e\u003ccode\u003e4e38b1f\u003c/code\u003e\u003c/a\u003e 🔖 Bump version to 0.6.0\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby/net-imap/compare/v0.5.12...v0.6.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `oauth2` from 2.0.17 to 2.0.18\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby-oauth/oauth2/releases\"\u003eoauth2's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.0.18\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/compare/v2.0.17...v2.0.18\"\u003e2.0.18\u003c/a\u003e - 2025-11-08\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eTAG: \u003ca href=\"https://github.com/ruby-oauth/oauth2/releases/tag/v2.0.18\"\u003ev2.0.18\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCOVERAGE: 100.00% -- 526/526 lines in 14 files\u003c/li\u003e\n\u003cli\u003eBRANCH COVERAGE: 100.00% -- 178/178 branches in 14 files\u003c/li\u003e\n\u003cli\u003e90.48% documented\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/683\"\u003egh!683\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/684\"\u003egh!684\u003c/a\u003e - Improve documentation by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/686\"\u003egh!686\u003c/a\u003e- Add Incident Response Plan by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/687\"\u003egh!687\u003c/a\u003e- Add Threat Model by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/685\"\u003egh!685\u003c/a\u003e - upgrade kettle-dev v1.1.24 by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eupgrade kettle-dev v1.1.52 by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003eAdd open collective donors to README\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/690\"\u003egh!690\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/691\"\u003egh!691\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/692\"\u003egh!692\u003c/a\u003e - Add yard-fence\n\u003cul\u003e\n\u003cli\u003ehandle braces within code fences in markdown properly by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cp\u003eOfficial Discord 👉️ [![Live Chat on Discord][✉️discord-invite-img]][✉️discord-invite]\u003c/p\u003e\n\u003cp\u003eMany paths lead to being a sponsor or a backer of this project. Are you on such a path?\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://opencollective.com/ruby-oauth#backer\"\u003e![OpenCollective Backers][🖇osc-backers-i]\u003c/a\u003e [![OpenCollective Sponsors][🖇osc-sponsors-i]][🖇osc-sponsors] [![Sponsor Me on Github][🖇sponsor-img]][🖇sponsor] \u003ca href=\"https://liberapay.com/pboling/donate\"\u003e\u003cimg src=\"https://img.shields.io/liberapay/goal/pboling.svg?logo=liberapay\u0026amp;color=a51611\u0026amp;style=flat\" alt=\"Liberapay Goal Progress\" /\u003e\u003c/a\u003e [![Donate on PayPal][🖇paypal-img]][🖇paypal]\u003c/p\u003e\n\u003cp\u003e[![Buy me a coffee][🖇buyme-small-img]][🖇buyme] [![Donate on Polar][🖇polar-img]][🖇polar] [![Donate to my FLOSS efforts at ko-fi.com][🖇kofi-img]][🖇kofi] [![Donate to my FLOSS efforts using Patreon][🖇patreon-img]][🖇patreon]\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\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby-oauth/oauth2/blob/main/CHANGELOG.md\"\u003eoauth2's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[2.0.18] - 2025-11-08\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eTAG: [v2.0.18][2.0.18t]\u003c/li\u003e\n\u003cli\u003eCOVERAGE: 100.00% -- 526/526 lines in 14 files\u003c/li\u003e\n\u003cli\u003eBRANCH COVERAGE: 100.00% -- 178/178 branches in 14 files\u003c/li\u003e\n\u003cli\u003e90.48% documented\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/683\"\u003egh!683\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/684\"\u003egh!684\u003c/a\u003e - Improve documentation by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/686\"\u003egh!686\u003c/a\u003e- Add Incident Response Plan by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/687\"\u003egh!687\u003c/a\u003e- Add Threat Model by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/685\"\u003egh!685\u003c/a\u003e - upgrade kettle-dev v1.1.24 by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eupgrade kettle-dev v1.1.52 by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003eAdd open collective donors to README\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/690\"\u003egh!690\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/691\"\u003egh!691\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/692\"\u003egh!692\u003c/a\u003e - Add yard-fence\n\u003cul\u003e\n\u003cli\u003ehandle braces within code fences in markdown properly by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSecurity\u003c/h3\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/ruby-oauth/oauth2/commit/b5753116121553d56937039dafc5ea472d9a99ed\"\u003e\u003ccode\u003eb575311\u003c/code\u003e\u003c/a\u003e 🔖 Prepare release v2.0.18\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/b5af77ba42ec111dda68abdee33d631e27fdfe61\"\u003e\u003ccode\u003eb5af77b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/issues/693\"\u003e#693\u003c/a\u003e from ruby-oauth/feat/docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/cf2853d9fa05999f88c9df8b1b3a8a3ed21c64e8\"\u003e\u003ccode\u003ecf2853d\u003c/code\u003e\u003c/a\u003e 📝 Update docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/18434156bfc988527d2453b2174e6356e233757d\"\u003e\u003ccode\u003e1843415\u003c/code\u003e\u003c/a\u003e ⬆️ kettle-dev v1.1.52, yard-fence v0.8.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/f592dd8753966a30671ebc2e8a28ab26138b6c2b\"\u003e\u003ccode\u003ef592dd8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/issues/692\"\u003e#692\u003c/a\u003e from ruby-oauth/feat/docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/2095732d7cd4eeb80fe74c89e2a2d012517e40d6\"\u003e\u003ccode\u003e2095732\u003c/code\u003e\u003c/a\u003e ⬆️ yard-fence v0.7.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/50f3fd08e733ed75b2cc99e077e9ea9d64a3d5d5\"\u003e\u003ccode\u003e50f3fd0\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/issues/691\"\u003e#691\u003c/a\u003e from ruby-oauth/feat/docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/bcb0e40bfca989f164a04cbf46a4175822b7cb28\"\u003e\u003ccode\u003ebcb0e40\u003c/code\u003e\u003c/a\u003e ✏️ Fix typos in docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/f24f1a8bfbf546595aa16cd6fa82119c8218c1d3\"\u003e\u003ccode\u003ef24f1a8\u003c/code\u003e\u003c/a\u003e Create CNAME\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/bff58e1afec541feca2a337664d09c58b8a22419\"\u003e\u003ccode\u003ebff58e1\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/issues/690\"\u003e#690\u003c/a\u003e from ruby-oauth/feat/yard-fence\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby-oauth/oauth2/compare/v2.0.17...v2.0.18\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `omniauth-oauth2` from 1.8.0 to 1.9.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/omniauth/omniauth-oauth2/releases\"\u003eomniauth-oauth2's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.9.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRefactor GitHub Actions config by \u003ca href=\"https://github.com/ybiquitous\"\u003e\u003ccode\u003e@​ybiquitous\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/omniauth/omniauth-oauth2/pull/168\"\u003eomniauth/omniauth-oauth2#168\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erescue oauth2 timeout by \u003ca href=\"https://github.com/nov\"\u003e\u003ccode\u003e@​nov\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/omniauth/omniauth-oauth2/pull/169\"\u003eomniauth/omniauth-oauth2#169\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Ruby 3.2 to CI by \u003ca href=\"https://github.com/ybiquitous\"\u003e\u003ccode\u003e@​ybiquitous\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/omniauth/omniauth-oauth2/pull/167\"\u003eomniauth/omniauth-oauth2#167\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix coverage artifact handling by \u003ca href=\"https://github.com/nov\"\u003e\u003ccode\u003e@​nov\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/omniauth/omniauth-oauth2/pull/172\"\u003eomniauth/omniauth-oauth2#172\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePrevent timing attack on CSRF, completing wonderful pr by \u003ca href=\"https://github.com/eutopian...\n\n_Description has been truncated_","html_url":"https://github.com/ubicloud/ubicloud/pull/4492","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/ubicloud%2Fubicloud/issues/4492","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/4492/packages"}},{"old_version":"2.0.12","new_version":"2.0.18","update_type":"patch","path":null,"pr_created_at":"2025-12-25T16:21:50.000Z","version_change":"2.0.12 → 2.0.18","issue":{"uuid":"3762172644","node_id":"PR_kwDOPvEE5s66kjcl","number":59,"state":"closed","title":"Bump the production-dependencies group across 1 directory with 55 updates","user":"dependabot[bot]","labels":["dependencies","ruby"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2025-12-26T16:18:43.000Z","author_association":null,"state_reason":null,"created_at":"2025-12-25T16:21:50.000Z","updated_at":"2025-12-26T16:18:45.000Z","time_to_close":86213,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"production-dependencies","update_count":55,"packages":[{"name":"acme-client","old_version":"2.0.25","new_version":"2.0.30","repository_url":"https://github.com/unixcharles/acme-client"},{"name":"aws-sdk-ec2","old_version":"1.512.0","new_version":"1.587.0","repository_url":"https://github.com/aws/aws-sdk-ruby"},{"name":"aws-sdk-iam","old_version":"1.123.0","new_version":"1.137.0","repository_url":"https://github.com/aws/aws-sdk-ruby"},{"name":"aws-sdk-s3","old_version":"1.182.0","new_version":"1.209.0","repository_url":"https://github.com/aws/aws-sdk-ruby"},{"name":"bcrypt_pbkdf","old_version":"1.1.1","new_version":"1.1.2","repository_url":"https://github.com/net-ssh/bcrypt_pbkdf-ruby"},{"name":"committee","old_version":"5.5.5","new_version":"5.6.1","repository_url":"https://github.com/interagent/committee"},{"name":"countries","old_version":"7.0.0","new_version":"8.0.4","repository_url":"https://github.com/countries/countries"},{"name":"excon","old_version":"1.3.0","new_version":"1.3.2","repository_url":"https://github.com/excon/excon"},{"name":"forme","old_version":"2.6.0","new_version":"2.7.0","repository_url":"https://github.com/jeremyevans/forme"},{"name":"jwt","old_version":"2.10.2","new_version":"3.1.2","repository_url":"https://github.com/jwt/ruby-jwt"},{"name":"mail","old_version":"2.8.1","new_version":"2.9.0","repository_url":"https://github.com/mikel/mail"},{"name":"nokogiri","old_version":"1.18.9","new_version":"1.18.10","repository_url":"https://github.com/sparklemotion/nokogiri"},{"name":"octokit","old_version":"9.2.0","new_version":"10.0.0","repository_url":"https://github.com/octokit/octokit.rb"},{"name":"puma","old_version":"7.0.0","new_version":"7.1.0","repository_url":"https://github.com/puma/puma"},{"name":"rake","old_version":"13.3.0","new_version":"13.3.1","repository_url":"https://github.com/ruby/rake"},{"name":"reline","old_version":"0.6.2","new_version":"0.6.3","repository_url":"https://github.com/ruby/reline"},{"name":"rodauth","old_version":"2.40.0","new_version":"2.42.0","repository_url":"https://github.com/jeremyevans/rodauth"},{"name":"rqrcode","old_version":"3.1.0","new_version":"3.1.1","repository_url":"https://github.com/whomwah/rqrcode"},{"name":"sequel","old_version":"5.96.0","new_version":"5.99.0","repository_url":"https://github.com/jeremyevans/sequel"},{"name":"sequel_pg","old_version":"1.17.2","new_version":"1.18.2","repository_url":"https://github.com/jeremyevans/sequel_pg"},{"name":"stripe","old_version":"12.6.0","new_version":"18.1.0","repository_url":"https://github.com/stripe/stripe-ruby"},{"name":"hashie","old_version":"5.0.0","new_version":"5.1.0","repository_url":"https://github.com/hashie/hashie"},{"name":"multi_xml","old_version":"0.7.2","new_version":"0.8.0","repository_url":"https://github.com/sferik/multi_xml"},{"name":"oauth2","old_version":"2.0.12","new_version":"2.0.18","repository_url":"https://github.com/ruby-oauth/oauth2"},{"name":"omniauth","old_version":"2.1.3","new_version":"2.1.4","repository_url":"https://github.com/omniauth/omniauth"},{"name":"omniauth-oauth2","old_version":"1.8.0","new_version":"1.9.0","repository_url":"https://github.com/omniauth/omniauth-oauth2"},{"name":"openssl","old_version":"3.3.0","new_version":"4.0.0","repository_url":"https://github.com/ruby/openssl"},{"name":"optparse","old_version":"0.6.0","new_version":"0.8.1","repository_url":"https://github.com/ruby/optparse"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps the production-dependencies group with 28 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [acme-client](https://github.com/unixcharles/acme-client) | `2.0.25` | `2.0.30` |\n| [aws-sdk-ec2](https://github.com/aws/aws-sdk-ruby) | `1.512.0` | `1.587.0` |\n| [aws-sdk-iam](https://github.com/aws/aws-sdk-ruby) | `1.123.0` | `1.137.0` |\n| [aws-sdk-s3](https://github.com/aws/aws-sdk-ruby) | `1.182.0` | `1.209.0` |\n| [bcrypt_pbkdf](https://github.com/net-ssh/bcrypt_pbkdf-ruby) | `1.1.1` | `1.1.2` |\n| [committee](https://github.com/interagent/committee) | `5.5.5` | `5.6.1` |\n| [countries](https://github.com/countries/countries) | `7.0.0` | `8.0.4` |\n| [excon](https://github.com/excon/excon) | `1.3.0` | `1.3.2` |\n| [forme](https://github.com/jeremyevans/forme) | `2.6.0` | `2.7.0` |\n| [jwt](https://github.com/jwt/ruby-jwt) | `2.10.2` | `3.1.2` |\n| [mail](https://github.com/mikel/mail) | `2.8.1` | `2.9.0` |\n| [nokogiri](https://github.com/sparklemotion/nokogiri) | `1.18.9` | `1.18.10` |\n| [octokit](https://github.com/octokit/octokit.rb) | `9.2.0` | `10.0.0` |\n| [puma](https://github.com/puma/puma) | `7.0.0` | `7.1.0` |\n| [rake](https://github.com/ruby/rake) | `13.3.0` | `13.3.1` |\n| [reline](https://github.com/ruby/reline) | `0.6.2` | `0.6.3` |\n| [rodauth](https://github.com/jeremyevans/rodauth) | `2.40.0` | `2.42.0` |\n| [rqrcode](https://github.com/whomwah/rqrcode) | `3.1.0` | `3.1.1` |\n| [sequel](https://github.com/jeremyevans/sequel) | `5.96.0` | `5.99.0` |\n| [sequel_pg](https://github.com/jeremyevans/sequel_pg) | `1.17.2` | `1.18.2` |\n| [stripe](https://github.com/stripe/stripe-ruby) | `12.6.0` | `18.1.0` |\n| [hashie](https://github.com/hashie/hashie) | `5.0.0` | `5.1.0` |\n| [multi_xml](https://github.com/sferik/multi_xml) | `0.7.2` | `0.8.0` |\n| [oauth2](https://github.com/ruby-oauth/oauth2) | `2.0.12` | `2.0.18` |\n| [omniauth](https://github.com/omniauth/omniauth) | `2.1.3` | `2.1.4` |\n| [omniauth-oauth2](https://github.com/omniauth/omniauth-oauth2) | `1.8.0` | `1.9.0` |\n| [openssl](https://github.com/ruby/openssl) | `3.3.0` | `4.0.0` |\n| [optparse](https://github.com/ruby/optparse) | `0.6.0` | `0.8.1` |\n\n\nUpdates `acme-client` from 2.0.25 to 2.0.30\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/unixcharles/acme-client/blob/master/CHANGELOG.md\"\u003eacme-client's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ccode\u003e2.0.30\u003c/code\u003e\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd a default message to RateLimited error\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThis fix avoid argument error on RateLimited object when stubbing without passing arguments.\u003c/p\u003e\n\u003ch2\u003e\u003ccode\u003e2.0.29\u003c/code\u003e\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eIP support to the CertificateRequest helper\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ccode\u003e2.0.28\u003c/code\u003e\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMake \u003ca href=\"https://datatracker.ietf.org/doc/html/rfc8555/#section-6.6\"\u003eRetry-After\u003c/a\u003e accessible from RateLimited#retry_after exceptions\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ccode\u003e2.0.27\u003c/code\u003e\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Renewal Information (ARI) (RFC 9773)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ccode\u003e2.0.26\u003c/code\u003e\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for dns-account-01 challenge (RFC draft-ietf-acme-dns-account-label-01)\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/unixcharles/acme-client/commit/dbd7481ff141647094d907cfd9e4598208ba19eb\"\u003e\u003ccode\u003edbd7481\u003c/code\u003e\u003c/a\u003e Bump 2.0.30\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unixcharles/acme-client/commit/d9a9328769a055da0771b33a4a006f20a3371b65\"\u003e\u003ccode\u003ed9a9328\u003c/code\u003e\u003c/a\u003e Add a default message to RateLimited error.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unixcharles/acme-client/commit/1e5d529d17bc35d559627fdafc27b99a6fdf60b9\"\u003e\u003ccode\u003e1e5d529\u003c/code\u003e\u003c/a\u003e bump to 2.0.29\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unixcharles/acme-client/commit/cfc29429faab0e278ee1260ad9375bab6549e984\"\u003e\u003ccode\u003ecfc2942\u003c/code\u003e\u003c/a\u003e Add IP support to the CertificateRequest helper (\u003ca href=\"https://redirect.github.com/unixcharles/acme-client/issues/261\"\u003e#261\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unixcharles/acme-client/commit/559889f21df6e765152687ffd6a973b61f7befa3\"\u003e\u003ccode\u003e559889f\u003c/code\u003e\u003c/a\u003e Bump to 2.0.28\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unixcharles/acme-client/commit/5e15c9f17d21eef85d01190344aa462191a2b486\"\u003e\u003ccode\u003e5e15c9f\u003c/code\u003e\u003c/a\u003e Add retry_after property to RateLimited client error (\u003ca href=\"https://redirect.github.com/unixcharles/acme-client/issues/260\"\u003e#260\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unixcharles/acme-client/commit/ff515cab615d682cbaaada9ac6ab52dc160e4b01\"\u003e\u003ccode\u003eff515ca\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 5 to 6 (\u003ca href=\"https://redirect.github.com/unixcharles/acme-client/issues/259\"\u003e#259\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unixcharles/acme-client/commit/443a45d2266463b91b5f1935c16139b6021f3c99\"\u003e\u003ccode\u003e443a45d\u003c/code\u003e\u003c/a\u003e Bump to 2.0.27\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unixcharles/acme-client/commit/d32e7f92ad6d542d49b3ed8907e349c109013512\"\u003e\u003ccode\u003ed32e7f9\u003c/code\u003e\u003c/a\u003e Add Renewal Information (ARI) support (RFC 9773) (\u003ca href=\"https://redirect.github.com/unixcharles/acme-client/issues/257\"\u003e#257\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unixcharles/acme-client/commit/efdb724c45d3bca9272eef092d72eb3e346f3e9f\"\u003e\u003ccode\u003eefdb724\u003c/code\u003e\u003c/a\u003e Bump to 2.0.24\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/unixcharles/acme-client/compare/v2.0.25...v2.0.30\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `aws-sdk-ec2` from 1.512.0 to 1.587.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/aws/aws-sdk-ruby/blob/version-3/gems/aws-sdk-ec2/CHANGELOG.md\"\u003eaws-sdk-ec2's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.587.0 (2025-12-22)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Adds support for linkedGroupId on the CreatePlacementGroup and DescribePlacementGroups APIs. The linkedGroupId parameter is reserved for future use.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.586.0 (2025-12-18)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - This release adds AvailabilityZoneId support for CreateFleet, ModifyFleet, DescribeFleets, RequestSpotFleet, ModifySpotFleetRequests and DescribeSpotFleetRequests APIs.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.585.0 (2025-12-15)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - EC2 Capacity Manager now supports SpotTotalCount, SpotTotalInterruptions and SpotInterruptionRate metrics for both vCPU and instance units.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.584.0 (2025-12-08)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Amazon EC2 P6-B300 instances provide 8x NVIDIA Blackwell Ultra GPUs with 2.1 TB high bandwidth GPU memory, 6.4 Tbps EFA networking, 300 Gbps dedicated ENA throughput, and 4 TB of system memory. Amazon EC2 C8a instances are powered by 5th Gen AMD EPYC processors with a maximum frequency of 4.5 GHz.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.583.0 (2025-11-25)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - This release adds support to view Network firewall proxy appliances attached to an existing NAT Gateway via DescribeNatGateways API NatGatewayAttachedAppliance structure.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.582.0 (2025-11-21)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - This release adds a new capability to create and manage interruptible EC2 Capacity Reservations.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.581.0 (2025-11-20)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - This release adds support for multiple features including: VPC Encryption Control for the status of traffic flow; S2S VPN BGP Logging; TGW Flexible Costs; IPAM allocation of static IPs from IPAM pools to CF Anycast IP lists used on CloudFront distribution; and EBS Volume Integration with Recycle Bin\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.580.0 (2025-11-19)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - This launch adds support for two new features: Regional NAT Gateway and IPAM Policies. IPAM policies offers customers central control for public IPv4 assignments across AWS services. Regional NAT is a single NAT Gateway that automatically expands across AZs in a VPC to maintain high availability.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.579.0 (2025-11-18)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - AWS Site-to-Site VPN now supports VPN Concentrator, a new feature that enables customers to connect multiple low-bandwidth sites connections through a single attachment, simplifying multi-site connectivity for distributed enterprises.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.578.0 (2025-11-17)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - This release introduces new APIs: DescribeInstanceSqlHaStates, DescribeInstanceSqlHaHistoryStates, EnableInstanceSqlHaStandbyDetections and DisableInstanceSqlHaStandbyDetections on Amazon EC2, allowing customers to enroll and monitor SQL Server licensing fee savings for their SQL HA EC2 instances.\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\u003eSee full diff in \u003ca href=\"https://github.com/aws/aws-sdk-ruby/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `aws-sdk-iam` from 1.123.0 to 1.137.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/aws/aws-sdk-ruby/blob/version-3/gems/aws-sdk-iam/CHANGELOG.md\"\u003eaws-sdk-iam's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.137.0 (2025-12-05)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Adding the ExpirationTime attribute to the delegation request resource.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.136.0 (2025-11-21)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Code Generated Changes, see \u003ccode\u003e./build_tools\u003c/code\u003e or \u003ccode\u003eaws-sdk-core\u003c/code\u003e's CHANGELOG.md for details.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.135.0 (2025-11-19)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Added the EnableOutboundWebIdentityFederation, DisableOutboundWebIdentityFederation and GetOutboundWebIdentityFederationInfo APIs for the IAM outbound federation feature.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.134.0 (2025-11-18)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Added the AssociateDelegationRequest, GetDelegationRequest, AcceptDelegationRequest, RejectDelegatonRequest, ListDelegationRequests, UpdateDelegationRequest, SendDelegationToken and GetHumanReadableSummary APIs for the IAM temporary delegation feature.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.133.0 (2025-11-10)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Added CreateDelegationRequest API, which is not available for general use at this time.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.132.0 (2025-10-27)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Fixed missing SummaryMap keys in GetAccountSummary response that were being filtered out during deserialization in AWS Java SDK v2\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.131.0 (2025-10-22)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Updated OIDC and SAML apis to reject multiple simultaneous requests to change a unique object.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.130.0 (2025-10-21)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Code Generated Changes, see \u003ccode\u003e./build_tools\u003c/code\u003e or \u003ccode\u003eaws-sdk-core\u003c/code\u003e's CHANGELOG.md for details.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.129.0 (2025-08-26)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Code Generated Changes, see \u003ccode\u003e./build_tools\u003c/code\u003e or \u003ccode\u003eaws-sdk-core\u003c/code\u003e's CHANGELOG.md for details.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.128.0 (2025-08-20)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Remove incorrect endpoint tests\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\u003eSee full diff in \u003ca href=\"https://github.com/aws/aws-sdk-ruby/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `aws-sdk-s3` from 1.182.0 to 1.209.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/aws/aws-sdk-ruby/blob/version-3/gems/aws-sdk-s3/CHANGELOG.md\"\u003eaws-sdk-s3's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.209.0 (2025-12-23)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Add additional validation to Outpost bucket names.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.208.0 (2025-12-16)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Updates to the S3 Encryption Client. The V3 S3 Encryption Client now requires key committing algorithm suites by default.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.207.0 (2025-12-15)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - This release adds support for the new optional field 'LifecycleExpirationDate' in S3 Inventory configurations.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.206.0 (2025-12-02)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - New S3 Storage Class FSX_ONTAP\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.205.0 (2025-11-20)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Enable / Disable ABAC on a general purpose bucket.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.204.0 (2025-11-19)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Adds support for blocking SSE-C writes to general purpose buckets.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.203.1 (2025-11-10)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eIssue - Deprecated \u003ccode\u003e:checksum_mode\u003c/code\u003e parameter in \u003ccode\u003eFileDownloader#download\u003c/code\u003e. When set to \u0026quot;DISABLED\u0026quot;, a deprecation warning is issued and the parameter is ignored. Use \u003ccode\u003e:response_checksum_validation\u003c/code\u003e on the S3 client instead to control checksum validation behavior.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.203.0 (2025-11-05)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Launch IPv6 dual-stack support for S3 Express\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.202.0 (2025-10-28)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Amazon Simple Storage Service / Features: Add conditional writes in CopyObject on destination key to prevent unintended object modifications.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.201.0 (2025-10-21)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Code Generated Changes, see \u003ccode\u003e./build_tools\u003c/code\u003e or \u003ccode\u003eaws-sdk-core\u003c/code\u003e's CHANGELOG.md for details.\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\u003eSee full diff in \u003ca href=\"https://github.com/aws/aws-sdk-ruby/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `bcrypt_pbkdf` from 1.1.1 to 1.1.2\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/net-ssh/bcrypt_pbkdf-ruby/commit/e52088f9a28e34321a9b359f30d472097f1d7f01\"\u003e\u003ccode\u003ee52088f\u003c/code\u003e\u003c/a\u003e chore: bump version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/net-ssh/bcrypt_pbkdf-ruby/commit/26919975ca7b77425609387955d31784381c3af6\"\u003e\u003ccode\u003e2691997\u003c/code\u003e\u003c/a\u003e added benchmark gem to gemspec\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/net-ssh/bcrypt_pbkdf-ruby/commit/fc2498597f6f556979ccc8ee58acce10e39ff09a\"\u003e\u003ccode\u003efc24985\u003c/code\u003e\u003c/a\u003e chore: bump version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/net-ssh/bcrypt_pbkdf-ruby/commit/25919bbc4a148ba2031e6c52ec777ded97560df4\"\u003e\u003ccode\u003e25919bb\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/net-ssh/bcrypt_pbkdf-ruby/issues/26\"\u003e#26\u003c/a\u003e from brendon/Ruby-3.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/net-ssh/bcrypt_pbkdf-ruby/commit/77d005a0be09f848cf8838d09e611290b027a791\"\u003e\u003ccode\u003e77d005a\u003c/code\u003e\u003c/a\u003e Add Ruby 3.4 support\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/net-ssh/bcrypt_pbkdf-ruby/compare/v1.1.1...v1.1.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `committee` from 5.5.5 to 5.6.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/interagent/committee/blob/master/CHANGELOG.md\"\u003ecommittee's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e5.6.1 - 2025-10-30\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix content type parsing for complex types \u003ca href=\"https://redirect.github.com/interagent/committee/issues/455\"\u003e#455\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e5.6.0 - 2025-10-01\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ebump actions/checkout \u003ca href=\"https://redirect.github.com/interagent/committee/issues/450\"\u003e#450\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ereplace require with plugins in rubocop config \u003ca href=\"https://redirect.github.com/interagent/committee/issues/451\"\u003e#451\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ereturn to lenient status parsing for hyperschema \u003ca href=\"https://redirect.github.com/interagent/committee/issues/453\"\u003e#453\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/interagent/committee/commit/5866ca8cbe29479a5749b0e505b7ef7c596a80b6\"\u003e\u003ccode\u003e5866ca8\u003c/code\u003e\u003c/a\u003e v5.6.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/interagent/committee/commit/126127134d52bea958bfc7c86a56f6070d5c20cd\"\u003e\u003ccode\u003e1261271\u003c/code\u003e\u003c/a\u003e fix content type split/parsing, using racks implementation (\u003ca href=\"https://redirect.github.com/interagent/committee/issues/455\"\u003e#455\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/interagent/committee/commit/f5f627b9540710f6525657d9543851c6be094ebf\"\u003e\u003ccode\u003ef5f627b\u003c/code\u003e\u003c/a\u003e v5.6.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/interagent/committee/commit/f08b2ba5b0c6265c2a36204e30ea4069335ce87b\"\u003e\u003ccode\u003ef08b2ba\u003c/code\u003e\u003c/a\u003e feat(schema-validator): return to lenient status parsing for hyperschema (\u003ca href=\"https://redirect.github.com/interagent/committee/issues/453\"\u003e#453\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/interagent/committee/commit/ec516b4fa674709809a75a3500631ae943919b48\"\u003e\u003ccode\u003eec516b4\u003c/code\u003e\u003c/a\u003e Replace 'require' with 'plugins' in .rubocop.yml to configure RuboCop plugins...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/interagent/committee/commit/d615a07bae8e256883c957f72ac1e1e90499874e\"\u003e\u003ccode\u003ed615a07\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 4 to 5 (\u003ca href=\"https://redirect.github.com/interagent/committee/issues/450\"\u003e#450\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/interagent/committee/compare/v5.5.5...v5.6.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `countries` from 7.0.0 to 8.0.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/countries/countries/releases\"\u003ecountries's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.0.4\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd the old iso_short_names as unofficial_names. Fixes \u003ca href=\"https://redirect.github.com/countries/countries/issues/923\"\u003e#923\u003c/a\u003e by \u003ca href=\"https://github.com/pmor\"\u003e\u003ccode\u003e@​pmor\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/926\"\u003ecountries/countries#926\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRevert removal of empty keys from country data files. by \u003ca href=\"https://github.com/pmor\"\u003e\u003ccode\u003e@​pmor\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/927\"\u003ecountries/countries#927\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/countries/countries/compare/v8.0.3...v8.0.4\"\u003ehttps://github.com/countries/countries/compare/v8.0.3...v8.0.4\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e8.0.3\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: change french name of France subdivisions by \u003ca href=\"https://github.com/Bertrand-Bichat\"\u003e\u003ccode\u003e@​Bertrand-Bichat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/919\"\u003ecountries/countries#919\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: add guard clause to check if matches is nil by \u003ca href=\"https://github.com/ratheeshaditya\"\u003e\u003ccode\u003e@​ratheeshaditya\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/917\"\u003ecountries/countries#917\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate Estonia standard VAT from 22% to 24% (July 1st 2025 change)  by \u003ca href=\"https://github.com/jarthod\"\u003e\u003ccode\u003e@​jarthod\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/922\"\u003ecountries/countries#922\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/Bertrand-Bichat\"\u003e\u003ccode\u003e@​Bertrand-Bichat\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/countries/countries/pull/919\"\u003ecountries/countries#919\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ratheeshaditya\"\u003e\u003ccode\u003e@​ratheeshaditya\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/countries/countries/pull/917\"\u003ecountries/countries#917\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/countries/countries/compare/v8.0.2...v8.0.3\"\u003ehttps://github.com/countries/countries/compare/v8.0.2...v8.0.3\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e8.0.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: iso short names by \u003ca href=\"https://github.com/sabify\"\u003e\u003ccode\u003e@​sabify\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/907\"\u003ecountries/countries#907\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix error when searching \u003ccode\u003eISO3166::Country[nil]\u003c/code\u003e. Fixes \u003ca href=\"https://redirect.github.com/countries/countries/issues/912\"\u003e#912\u003c/a\u003e by \u003ca href=\"https://github.com/pmor\"\u003e\u003ccode\u003e@​pmor\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/913\"\u003ecountries/countries#913\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/countries/countries/compare/v8.0.1...v8.0.2\"\u003ehttps://github.com/countries/countries/compare/v8.0.1...v8.0.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e8.0.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix error in collect_countries_with and update specs by \u003ca href=\"https://github.com/pmor\"\u003e\u003ccode\u003e@​pmor\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/911\"\u003ecountries/countries#911\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/countries/countries/compare/v8.0.0...v8.0.1\"\u003ehttps://github.com/countries/countries/compare/v8.0.0...v8.0.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev8.0.0\u003c/h2\u003e\n\u003ch1\u003eBreaking Changes\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eDrop support for Ruby 3.1 (EOL 2025-03-26) by \u003ca href=\"https://github.com/pmor\"\u003e\u003ccode\u003e@​pmor\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/909\"\u003ecountries/countries#909\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eExperiment with symbol-keyed translation hashes to reduce string allocations by \u003ca href=\"https://github.com/pmor\"\u003e\u003ccode\u003e@​pmor\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/884\"\u003ecountries/countries#884\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eThis is a potentially breaking change because some translation-related methods return the translation hashes, which now have symbol keys instead of string keys\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFind correct subdivision when searching for Washington by \u003ca href=\"https://github.com/hieuk09\"\u003e\u003ccode\u003e@​hieuk09\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/900\"\u003ecountries/countries#900\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eThis is a potentially breaking change because the behaviour of \u003ccode\u003efind_subdivision_by_name\u003c/code\u003e has changed to fix \u003ca href=\"https://redirect.github.com/countries/countries/issues/888\"\u003ecountries/countries#888\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eupdate CR translations by \u003ca href=\"https://github.com/daviddinis\"\u003e\u003ccode\u003e@​daviddinis\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/892\"\u003ecountries/countries#892\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(data): DK \u003ccode\u003eaddress_format\u003c/code\u003e by \u003ca href=\"https://github.com/mroach\"\u003e\u003ccode\u003e@​mroach\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/890\"\u003ecountries/countries#890\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: the spec breakage in SK by \u003ca href=\"https://github.com/sabify\"\u003e\u003ccode\u003e@​sabify\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/893\"\u003ecountries/countries#893\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/countries/countries/blob/master/CHANGELOG.md\"\u003ecountries's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/countries/countries/releases/tag/v8.0.4\u0026#x27;\"\u003e8.0.4\u003c/a\u003e (2025/08/30 14:36 +00:00)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd the old iso_short_names as unofficial_names. Fixes \u003ca href=\"https://redirect.github.com/countries/countries/issues/923\"\u003e#923\u003c/a\u003e by \u003ca href=\"https://github.com/pmor\"\u003e\u003ccode\u003e@​pmor\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/926\"\u003ecountries/countries#926\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRevert removal of empty keys from country data files. by \u003ca href=\"https://github.com/pmor\"\u003e\u003ccode\u003e@​pmor\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/927\"\u003ecountries/countries#927\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/countries/countries/releases/tag/v8.0.3\u0026#x27;\"\u003e8.0.3\u003c/a\u003e (2025/07/11 14:25 +00:00)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: change french name of France subdivisions by \u003ca href=\"https://github.com/Bertrand-Bichat\"\u003e\u003ccode\u003e@​Bertrand-Bichat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/919\"\u003ecountries/countries#919\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: add guard clause to check if matches is nil by \u003ca href=\"https://github.com/ratheeshaditya\"\u003e\u003ccode\u003e@​ratheeshaditya\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/917\"\u003ecountries/countries#917\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate Estonia standard VAT from 22% to 24% (July 1st 2025 change)  by \u003ca href=\"https://github.com/jarthod\"\u003e\u003ccode\u003e@​jarthod\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/922\"\u003ecountries/countries#922\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/countries/countries/releases/tag/v8.0.2\u0026#x27;\"\u003e8.0.2\u003c/a\u003e (2025/06/01 13:30 +00:00)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: iso short names by \u003ca href=\"https://github.com/sabify\"\u003e\u003ccode\u003e@​sabify\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/907\"\u003ecountries/countries#907\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix error when searching \u003ccode\u003eISO3166::Country[nil]\u003c/code\u003e. Fixes \u003ca href=\"https://redirect.github.com/countries/countries/issues/912\"\u003e#912\u003c/a\u003e by \u003ca href=\"https://github.com/pmor\"\u003e\u003ccode\u003e@​pmor\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/913\"\u003ecountries/countries#913\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/countries/countries/releases/tag/v8.0.1\u0026#x27;\"\u003e8.0.1\u003c/a\u003e (2025/05/31 15:34 +00:00)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix error in collect_countries_with and update specs by \u003ca href=\"https://github.com/pmor\"\u003e\u003ccode\u003e@​pmor\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/911\"\u003ecountries/countries#911\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/countries/countries/releases/tag/v8.0.0\u0026#x27;\"\u003e8.0.0\u003c/a\u003e (2025/05/31 14:35 +00:00)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBreaking Changes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eDrop support for Ruby 3.1 (EOL 2025-03-26) by \u003ca href=\"https://github.com/pmor\"\u003e\u003ccode\u003e@​pmor\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/909\"\u003ecountries/countries#909\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eExperiment with symbol-keyed translation hashes to reduce string allocations by \u003ca href=\"https://github.com/pmor\"\u003e\u003ccode\u003e@​pmor\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/884\"\u003ecountries/countries#884\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eThis is a potentially breaking change because some translation-related methods return the translation hashes, which now have symbol keys instead of string keys\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFind correct subdivision when searching for Washington by \u003ca href=\"https://github.com/hieuk09\"\u003e\u003ccode\u003e@​hieuk09\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/900\"\u003ecountries/countries#900\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eThis is a potentially breaking change because the behaviour of \u003ccode\u003efind_subdivision_by_name\u003c/code\u003e has changed to fix \u003ca href=\"https://redirect.github.com/countries/countries/issues/888\"\u003ecountries/countries#888\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eWhat's Changed\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eupdate CR translations by \u003ca href=\"https://github.com/daviddinis\"\u003e\u003ccode\u003e@​daviddinis\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/892\"\u003ecountries/countries#892\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(data): DK \u003ccode\u003eaddress_format\u003c/code\u003e by \u003ca href=\"https://github.com/mroach\"\u003e\u003ccode\u003e@​mroach\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/890\"\u003ecountries/countries#890\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: the spec breakage in SK by \u003ca href=\"https://github.com/sabify\"\u003e\u003ccode\u003e@​sabify\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/893\"\u003ecountries/countries#893\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: currency code of Sierra Leone and Sao Tome and Principe by \u003ca href=\"https://github.com/sabify\"\u003e\u003ccode\u003e@​sabify\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/895\"\u003ecountries/countries#895\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: normalizing data files by \u003ca href=\"https://github.com/sabify\"\u003e\u003ccode\u003e@​sabify\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/894\"\u003ecountries/countries#894\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix Spanish translation of DZ (Algeria). Fixes \u003ca href=\"https://redirect.github.com/countries/countries/issues/889\"\u003e#889\u003c/a\u003e by \u003ca href=\"https://github.com/pmor\"\u003e\u003ccode\u003e@​pmor\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/896\"\u003ecountries/countries#896\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: currency of Curacao and Saint Maarten by \u003ca href=\"https://github.com/sabify\"\u003e\u003ccode\u003e@​sabify\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/899\"\u003ecountries/countries#899\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix SG - Singapore country name in pt-BR by \u003ca href=\"https://github.com/stephannv\"\u003e\u003ccode\u003e@​stephannv\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/904\"\u003ecountries/countries#904\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCorrect ZA province name by \u003ca href=\"https://github.com/yenshirak\"\u003e\u003ccode\u003e@​yenshirak\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/906\"\u003ecountries/countries#906\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCleanup some reek issues by \u003ca href=\"https://github.com/pmor\"\u003e\u003ccode\u003e@​pmor\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/897\"\u003ecountries/countries#897\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/countries/countries/releases/tag/v7.1.1\u0026#x27;\"\u003e7.1.1\u003c/a\u003e (2025/02/08 18:07 +00:00)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eWhat's Changed\u003c/strong\u003e\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\u003eUpgrade guide\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/countries/countries/blob/master/UPGRADE.md\"\u003ecountries's upgrade guide\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eUpgrading to 4.2 and 5.x\u003c/h1\u003e\n\u003cp\u003eIn release 4.2 the \u003ccode\u003e#name\u003c/code\u003e attribute was deprecated in favour of \u003ccode\u003e#iso_short_name\u003c/code\u003e and we added the \u003ccode\u003e#iso_long_name\u003c/code\u003e attribute, to make it clear that these attributes use the ISO3166 names, and are not the \u0026quot;common names\u0026quot; most people might expect, eg: The ISO name for \u0026quot;United Kingdom\u0026quot; is \u0026quot;United Kingdom of Great Britain and Northern Ireland\u0026quot;, but if you're building a dropdown box to select a country, you're likely expecting to see \u0026quot;United Kingdom\u0026quot; instead.\u003c/p\u003e\n\u003cp\u003e\u0026quot;Common names\u0026quot; in English have been available in the translation data, via \u003ccode\u003e#translation('en')\u003c/code\u003e. As of release 4.2, a shortcut method has been added for simplicity, \u003ccode\u003e#common_name\u003c/code\u003e, which delegates to \u003ccode\u003e#translation('en')\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eFor additional clarity, the \u003ccode\u003e#names\u003c/code\u003e method, which was an alias to \u003ccode\u003e#unofficial_names\u003c/code\u003e has also been deprecated, together with the finder methods that use \u003ccode\u003ename\u003c/code\u003e or \u003ccode\u003enames\u003c/code\u003e attributes.\u003c/p\u003e\n\u003cp\u003eThe \u003ccode\u003e#name\u003c/code\u003e and \u003ccode\u003e#names\u003c/code\u003e attributes, and corresponding finder methods were removed in 5.0.\u003c/p\u003e\n\u003cp\u003eThe replacement finders added in 5.0 are:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e#find_by_name\u003c/code\u003e =\u0026gt; \u003ccode\u003e#find_by_any_name\u003c/code\u003e - Searches all the name attributes, same as before\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e#find_by_names\u003c/code\u003e =\u0026gt; \u003ccode\u003e#find_by_unofficial_names\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e#find_*_by_name\u003c/code\u003e =\u0026gt; \u003ccode\u003e#find_*_by_any_name\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e#find_*_by_names\u003c/code\u003e =\u0026gt; \u003ccode\u003e#find_*_by_unofficial_names\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eWith the addition of the new name attributes, there are now also the following finders:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e#find_by_common_name\u003c/code\u003e/\u003ccode\u003e#find_*_by_common_name\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e#find_by_iso_short_name\u003c/code\u003e/\u003ccode\u003e#find_*_by_iso_short_name\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e#find_by_iso_long_name\u003c/code\u003e/\u003ccode\u003e#find_*_by_iso_long_name\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFor translated country names, we use data originally sourced from \u003ca href=\"https://salsa.debian.org/iso-codes-team/iso-codes\"\u003epkg-isocodes\u003c/a\u003e, via the \u003ca href=\"https://github.com/grosser/i18n_data\"\u003ei18n_data\u003c/a\u003e gem, and these generally correspond to the expected \u0026quot;common names\u0026quot;. Some corrections have been applied to these localized names. The methods to access translated names have not been changed.\u003c/p\u003e\n\u003cp\u003eThe 5.0 release removed support for Ruby 2.5 (EOL 2021-03-01) and 2.6 (EOL 2022-03-31)\u003c/p\u003e\n\u003ch1\u003eUpgrading to 5.1\u003c/h1\u003e\n\u003cp\u003eIn release 5.1 a \u003ccode\u003etype\u003c/code\u003e attribute was added to the subdivisions object, to allow filtering the collection of subdivisions.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eCountry#subdivision_types\u003c/code\u003e returns a list of subdivision types for that country (lowercase, snake_cased)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e#subdivisions_of_types(types)\u003c/code\u003e accepts an array of subdivision types and returns the subdivisions for those types\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThe \u003ccode\u003e#states\u003c/code\u003e method is deprecated to avoid confusion, as this method is an alias to \u003ccode\u003e#subdivisions\u003c/code\u003e and returns all subdivisions, regardless of type.\u003c/p\u003e\n\u003cp\u003eTo get a list of \u003ccode\u003estate\u003c/code\u003e subdivisions (something that was not possible before 5.1), use \u003ccode\u003esubdivisions_of_types(['state'])\u003c/code\u003e\u003c/p\u003e\n\u003cp\u003ePlease note that the subdivision types are obtained from ISO data, and each country defines its own subdivision types, eg: \u003ccode\u003estate\u003c/code\u003e, \u003ccode\u003edistrict\u003c/code\u003e, \u003ccode\u003eregion\u003c/code\u003e, \u003ccode\u003emunicipality\u003c/code\u003e and many others types exist.\u003c/p\u003e\n\u003ch1\u003eUpgrading to 7.0\u003c/h1\u003e\n\u003cp\u003eIn release 7.0, the long-deprecated \u003ccode\u003e#states\u003c/code\u003e method has been removed. More information above (Upgrading to 5.1)\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/countries/countries/commit/08dd4da549357a260a6ae34e11024b780e030559\"\u003e\u003ccode\u003e08dd4da\u003c/code\u003e\u003c/a\u003e Bump version, update cache and CHANGELOG\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/countries/countries/commit/53a4a547a0fa14a64c9ef60359cc0a465b5f9f79\"\u003e\u003ccode\u003e53a4a54\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/countries/countries/issues/927\"\u003e#927\u003c/a\u003e from countries/fix/revert_normalization\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/countries/countries/commit/2aeae5831a7f82c99d05d2e183f3c94957874d07\"\u003e\u003ccode\u003e2aeae58\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/countries/countries/issues/926\"\u003e#926\u003c/a\u003e from countries/fix/short_name_fallback\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/countries/countries/commit/12a3284b28faa1eec8d29ef6737850172e2798a4\"\u003e\u003ccode\u003e12a3284\u003c/code\u003e\u003c/a\u003e Add/update specs. Update cache so the new specs run\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/countries/countries/commit/ee324a448dfcaa6e55f4d710c74f093ca3201640\"\u003e\u003ccode\u003eee324a4\u003c/code\u003e\u003c/a\u003e Revert removal of empty keys from country data files. Fixes \u003ca href=\"https://redirect.github.com/countries/countries/issues/925\"\u003e#925\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/countries/countries/commit/bd66a065b033b6e44416d29ce9ef472d731c3784\"\u003e\u003ccode\u003ebd66a06\u003c/code\u003e\u003c/a\u003e Add the old iso_short_names as unofficial_names. Fixes \u003ca href=\"https://redirect.github.com/countries/countries/issues/923\"\u003e#923\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/countries/countries/commit/ee77f0734faac4ce9e0444113527913a46edb378\"\u003e\u003ccode\u003eee77f07\u003c/code\u003e\u003c/a\u003e Move to Qlty coverage\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/countries/countries/commit/30c88454521961555ef7d26e715ba7f955409a30\"\u003e\u003ccode\u003e30c8845\u003c/code\u003e\u003c/a\u003e Update Gemfile.lock\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/countries/countries/commit/ffb6ee03bbcc7bf20990f9146d26fc2c8a19b419\"\u003e\u003ccode\u003effb6ee0\u003c/code\u003e\u003c/a\u003e Remove CodeClimate badge\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/countries/countries/commit/345f7ea19838f4f0b9354fba0f687efc45f6d79c\"\u003e\u003ccode\u003e345f7ea\u003c/code\u003e\u003c/a\u003e Disable code coverage until the action is updated (codeclimate -\u0026gt; qlty change)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/countries/countries/compare/v7.0.0...v8.0.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `excon` from 1.3.0 to 1.3.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/excon/excon/blob/master/changelog.txt\"\u003eexcon's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e1.3.2 2025-12-03\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eupdate bundled certs\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e1.3.1 2025-11-05\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eupdate bundled certs\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/excon/excon/commit/e94efe6637d9d99a66e8a39b52c0131c706432b7\"\u003e\u003ccode\u003ee94efe6\u003c/code\u003e\u003c/a\u003e v1.3.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/excon/excon/commit/7e858751ff850bafc4000fcca4f3f331c70c07bc\"\u003e\u003ccode\u003e7e85875\u003c/code\u003e\u003c/a\u003e update bundled certs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/excon/excon/commit/f076a7657782c518cbff2c1683309c2c106e6275\"\u003e\u003ccode\u003ef076a76\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 5 to 6 (\u003ca href=\"https://redirect.github.com/excon/excon/issues/893\"\u003e#893\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/excon/excon/commit/fbe4748d49ac87504ee8d3e7352da0de3485144c\"\u003e\u003ccode\u003efbe4748\u003c/code\u003e\u003c/a\u003e adjust ractor usage for Ruby 3.5+\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/excon/excon/commit/7900bec2e4f4916b0d8994e5e7f3b57ca10ddb68\"\u003e\u003ccode\u003e7900bec\u003c/code\u003e\u003c/a\u003e v1.3.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/excon/excon/commit/a18079c2a55780951d61da712d68554217106ede\"\u003e\u003ccode\u003ea18079c\u003c/code\u003e\u003c/a\u003e update bundled certs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/excon/excon/commit/60ac6aa966172e6bd20264366e213943d891329c\"\u003e\u003ccode\u003e60ac6aa\u003c/code\u003e\u003c/a\u003e update bundled certs\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/excon/excon/compare/v1.3.0...v1.3.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `forme` from 2.6.0 to 2.7.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jeremyevans/forme/blob/master/CHANGELOG\"\u003eforme's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e=== 2.7.0 (2025-09-16)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eOmit closing / for void element tags (only used previously for xhtml compliance) (jeremyevans)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAllow emit: false option to work correctly for non-model template forms (jeremyevans)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSupport :label_attr as an option-specific option for radioset/checkboxset options (jeremyevans)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAllow Tag#initialize to accept a block, and treat it the same as the children argument (jeremyevans)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd Labeler::Explicit#id_for_input private method to allow subclasses to easily get the id (jeremyevans)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSupport Sequel::Model#forme_required_abbr_title to control the content of the title attribute for abbr tags (jeremyevans)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd Serializer#self_closing_tag? private method for easier overriding in subclasses (jeremyevans)\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/jeremyevans/forme/commit/388c069f9d5bfc0c9e93623f0b25dcd862150143\"\u003e\u003ccode\u003e388c069\u003c/code\u003e\u003c/a\u003e Bump version to 2.7.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jeremyevans/forme/commit/7ada3d690041111f50d27321ed332afaa21e0b8b\"\u003e\u003ccode\u003e7ada3d6\u003c/code\u003e\u003c/a\u003e Omit closing / for void element tags\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jeremyevans/forme/commit/6277bb1e7dc4b1876a3cae73fe3d6acadeb7617b\"\u003e\u003ccode\u003e6277bb1\u003c/code\u003e\u003c/a\u003e Allow emit: false option to work correctly for non-model template forms\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jeremyevans/forme/commit/fb176155e55819087ca66d11385f08c6b2ae362c\"\u003e\u003ccode\u003efb17615\u003c/code\u003e\u003c/a\u003e Use SimpleCov.add_filter block instead of string\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jeremyevans/forme/commit/f3f2206bdc3d137fba19cb759a38279f0b37c551\"\u003e\u003ccode\u003ef3f2206\u003c/code\u003e\u003c/a\u003e Add JRuby 10.0 to CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jeremyevans/forme/commit/62f43ca72a841eb271bde2d5d7355c65fdcf4f72\"\u003e\u003ccode\u003e62f43ca\u003c/code\u003e\u003c/a\u003e Switch rdoc task to normal rake task, avoid rdoc/task require\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jeremyevans/forme/commit/856e9abe62dde92b1efc1b06297ffaaec912bf27\"\u003e\u003ccode\u003e856e9ab\u003c/code\u003e\u003c/a\u003e Support :label_attr as an option-specific option for radioset/checkboxset opt...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jeremyevans/forme/commit/675c9dedd2d5675c344384f849bda46aa9da74d1\"\u003e\u003ccode\u003e675c9de\u003c/code\u003e\u003c/a\u003e Fix concurrent-ruby version in Ruby 2.5/2.6 CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jeremyevans/forme/commit/124fc548ddc5f32f2ccc3f5f0da200188883bfd8\"\u003e\u003ccode\u003e124fc54\u003c/code\u003e\u003c/a\u003e Allow Tag#initialize to accept a block, and treat it the same as the children...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jeremyevans/forme/commit/954bbeeb6bbd899fc0effa54326d401d9b19c5d8\"\u003e\u003ccode\u003e954bbee\u003c/code\u003e\u003c/a\u003e Add Labeler::Explicit#id_for_input private method to allow subclasses to easi...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jeremyevans/forme/compare/2.6.0...2.7.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `jwt` from 2.10.2 to 3.1.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jwt/ruby-jwt/blob/main/CHANGELOG.md\"\u003ejwt's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/jwt/ruby-jwt/tree/v3.1.2\"\u003ev3.1.2\u003c/a\u003e (2025-06-28)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/jwt/ruby-jwt/compare/v3.1.1...v3.1.2\"\u003eFull Changelog\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFixes and enhancements:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid using the same digest across calls in JWT::JWA::Ecdsa and JWT::JWA::Rsa \u003ca href=\"https://redirect.github.com/jwt/ruby-jwt/pull/697\"\u003e#697\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix signing with a EC JWK \u003ca href=\"https://redirect.github.com/jwt/ruby-jwt/pull/699\"\u003e#699\u003c/a\u003e (\u003ca href=\"https://github.com/anakinj\"\u003e\u003ccode\u003e@​anakinj\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/jwt/ruby-jwt/tree/v3.1.1\"\u003ev3.1.1\u003c/a\u003e (2025-06-24)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/jwt/ruby-jwt/compare/v3.1.0...v3.1.1\"\u003eFull Changelog\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFixes and enhancements:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRequire the algorithm to be provided when signing and verifying tokens using JWKs \u003ca href=\"https://redirect.github.com/jwt/ruby-jwt/pull/695\"\u003e#695\u003c/a\u003e (\u003ca href=\"https://github.com/anakinj\"\u003e\u003ccode\u003e@​anakinj\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/jwt/ruby-jwt/tree/v3.1.0\"\u003ev3.1.0\u003c/a\u003e (2025-06-23)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/jwt/ruby-jwt/compare/v3.0.0...v3.1.0\"\u003eFull Changelog\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFeatures:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for x5t header parameter for X.509 certificate thumbprint verification \u003ca href=\"https://redirect.github.com/jwt/ruby-jwt/pull/669\"\u003e#669\u003c/a\u003e (\u003ca href=\"https://github.com/hieuk09\"\u003e\u003ccode\u003e@​hieuk09\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRaise an error if the ECDSA signing or verification key is not an instance of \u003ccode\u003eOpenSSL::PKey::EC\u003c/code\u003e \u003ca href=\"https://redirect.github.com/jwt/ruby-jwt/pull/688\"\u003e#688\u003c/a\u003e (\u003ca href=\"https://github.com/anakinj\"\u003e\u003ccode\u003e@​anakinj\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow \u003ccode\u003eOpenSSL::PKey::EC::Point\u003c/code\u003e to be used as the verification key in ECDSA \u003ca href=\"https://redirect.github.com/jwt/ruby-jwt/pull/689\"\u003e#689\u003c/a\u003e (\u003ca href=\"https://github.com/anakinj\"\u003e\u003ccode\u003e@​anakinj\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRequire claims to have been verified before accessing the \u003ccode\u003eJWT::EncodedToken#payload\u003c/code\u003e \u003ca href=\"https://redirect.github.com/jwt/ruby-jwt/pull/690\"\u003e#690\u003c/a\u003e (\u003ca href=\"https://github.com/anakinj\"\u003e\u003ccode\u003e@​anakinj\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport signing and verifying tokens using a JWK \u003ca href=\"https://redirect.github.com/jwt/ruby-jwt/pull/692\"\u003e#692\u003c/a\u003e (\u003ca href=\"https://github.com/anakinj\"\u003e\u003ccode\u003e@​anakinj\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/jwt/ruby-jwt/tree/v3.0.0\"\u003ev3.0.0\u003c/a\u003e (2025-06-14)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/jwt/ruby-jwt/compare/v2.10.1...v3.0.0\"\u003eFull Changelog\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eBreaking changes:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRequire token signature to be verified before accessing payload \u003ca href=\"https://redirect.github.com/jwt/ruby-jwt/pull/648\"\u003e#648\u003c/a\u003e (\u003ca href=\"https://github.com/anakinj\"\u003e\u003ccode\u003e@​anakinj\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDrop support for the HS512256 algorithm \u003ca href=\"https://redirect.github.com/jwt/ruby-jwt/pull/650\"\u003e#650\u003c/a\u003e (\u003ca href=\"https://github.com/anakinj\"\u003e\u003ccode\u003e@​anakinj\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove deprecated claim verification methods \u003ca href=\"https://redirect.github.com/jwt/ruby-jwt/pull/654\"\u003e#654\u003c/a\u003e (\u003ca href=\"https://github.com/anakinj\"\u003e\u003ccode\u003e@​anakinj\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove dependency to rbnacl \u003ca href=\"https://redirect.github.com/jwt/ruby-jwt/pull/655\"\u003e#655\u003c/a\u003e (\u003ca href=\"https://github.com/anakinj\"\u003e\u003ccode\u003e@​anakinj\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport only stricter base64 decoding (RFC 4648) \u003ca href=\"https://redirect.github.com/jwt/ruby-jwt/pull/658\"\u003e#658\u003c/a\u003e (\u003ca href=\"https://github.com/anakinj\"\u003e\u003ccode\u003e@​anakinj\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCustom algorithms are required to include \u003ccode\u003eJWT::JWA::SigningAlgorithm\u003c/code\u003e \u003ca href=\"https://redirect.github.com/jwt/ruby-jwt/pull/660\"\u003e#660\u003c/a\u003e (\u003ca href=\"https://github.com/anakinj\"\u003e\u003ccode\u003e@​anakinj\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRequire RSA keys to be at least 2048 bits \u003ca href=\"https://redirect.github.com/jwt/ruby-jwt/pull/661\"\u003e#661\u003c/a\u003e (\u003ca href=\"https://github.com/anakinj\"\u003e\u003ccode\u003e@​anakinj\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBase64 encode and decode the k value for HMAC JWKs \u003ca href=\"https://redirect.github.com/jwt/ruby-jwt/pull/662\"\u003e#662\u003c/a\u003e (\u003ca href=\"https://github.com/anakinj\"\u003e\u003ccode\u003e@​anakinj\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eTake a look at the \u003ca href=\"https://github.com/jwt/ruby-jwt/blob/main/UPGRADING.md\"\u003eupgrade guide\u003c/a\u003e for more details.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFeatures:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eJWT::EncodedToken#verify! method that bundles signature and claim validation \u003ca href=\"https://redirect.github.com/jwt/ruby-jwt/pull/647\"\u003e#647\u003c/a\u003e (\u003ca href=\"https://github.com/anakinj\"\u003e\u003ccode\u003e@​anakinj\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDo not override the alg header if already given \u003ca href=\"https://redirect.github.com/jwt/ruby-jwt/pull/659\"\u003e#659\u003c/a\u003e (\u003ca href=\"https://github.com/anakinj\"\u003e\u003ccode\u003e@​anakinj\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/jwt/ruby-jwt/commit/bbe7ae3786568b041f03f50cb2e48d2b964a4eb4\"\u003e\u003ccode\u003ebbe7ae3\u003c/code\u003e\u003c/a\u003e Version 3.1.2 (\u003ca href=\"https://redirect.github.com/jwt/ruby-jwt/issues/700\"\u003e#700\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jwt/ruby-jwt/commit/205a58d9b65ee337291eadafa274b60f71220c53\"\u003e\u003ccode\u003e205a58d\u003c/code\u003e\u003c/a\u003e Fix signing with EC JWK (\u003ca href=\"https://redirect.github.com/jwt/ruby-jwt/issues/699\"\u003e#699\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jwt/ruby-jwt/commit/7231ef5927b4dcd3da97000b3ba3db9617255ba2\"\u003e\u003ccode\u003e7231ef5\u003c/code\u003e\u003c/a\u003e Avoid using the same digest across calls (\u003ca href=\"https://redirect.github.com/jwt/ruby-jwt/issues/697\"\u003e#697\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jwt/ruby-jwt/commit/9524614ff5135c6fa0e876061ac9280df7c36cb7\"\u003e\u003ccode\u003e9524614\u003c/code\u003e\u003c/a\u003e Re-enable Truffleruby on the CI (\u003ca href=\"https://redirect.github.com/jwt/ruby-jwt/issues/698\"\u003e#698\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jwt/ruby-jwt/commit/ad4fc0439f7ee8a8e8b855dad54bfc5f98bfa65e\"\u003e\u003ccode\u003ead4fc04\u003c/code\u003e\u003c/a\u003e Prepare next iteration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jwt/ruby-jwt/commit/50c01e07b53ea5a33bf29ac08d6c61775b6d5d1e\"\u003e\u003ccode\u003e50c01e0\u003c/code\u003e\u003c/a\u003e Prepare 3.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jwt/ruby-jwt/commit/b45219d7c98473a1a7603d2bf5961f6b5ea89576\"\u003e\u003ccode\u003eb45219d\u003c/code\u003e\u003c/a\u003e Do not automatically trust the JWA in the JWK (\u003ca href=\"https://redirect.github.com/jwt/ruby-jwt/issues/695\"\u003e#695\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jwt/ruby-jwt/commit/5c4fb4cfc6ff823744ce9db4fcf95ad058dc5efe\"\u003e\u003ccode\u003e5c4fb4c\u003c/code\u003e\u003c/a\u003e Prepare next iteration (\u003ca href=\"https://redirect.github.com/jwt/ruby-jwt/issues/694\"\u003e#694\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jwt/ruby-jwt/commit/646febebe8f26f353ce28e86ff9ace0bb0737314\"\u003e\u003ccode\u003e646febe\u003c/code\u003e\u003c/a\u003e Fix date for 3.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jwt/ruby-jwt/commit/a93b803adc6bc698e34e3f8244b26cb8cd40bea5\"\u003e\u003ccode\u003ea93b803\u003c/code\u003e\u003c/a\u003e Prepare release of 3.1.0 (\u003ca href=\"https://redirect.github.com/jwt/ruby-jwt/issues/693\"\u003e#693\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jwt/ruby-jwt/compare/v2.10.2...v3.1.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `mail` from 2.8.1 to 2.9.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mikel/mail/releases\"\u003email's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.9.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix little typo by \u003ca href=\"https://github.com/nbennke\"\u003e\u003ccode\u003e@​nbennke\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1462\"\u003emikel/mail#1462\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e2.8.0.rc1 Regression: Preserve message-level charset when adding parts (related to Rails ActionMailer) by \u003ca href=\"https://github.com/johnnyshields\"\u003e\u003ccode\u003e@​johnnyshields\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1495\"\u003emikel/mail#1495\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse Rake's default rakelib/ directory by \u003ca href=\"https://github.com/olleolleolle\"\u003e\u003ccode\u003e@​olleolleolle\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1488\"\u003emikel/mail#1488\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor: Use Dir.glob only once in gemspec's \u0026quot;files\u0026quot; directive by \u003ca href=\"https://github.com/olleolleolle\"\u003e\u003ccode\u003e@​olleolleolle\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1486\"\u003emikel/mail#1486\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eConfigure RSpec's zero-monkey patching mode by \u003ca href=\"https://github.com/olleolleolle\"\u003e\u003ccode\u003e@​olleolleolle\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1485\"\u003emikel/mail#1485\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove unnecessary gemfile dependency on strscan by \u003ca href=\"https://github.com/deivid-rodriguez\"\u003e\u003ccode\u003e@​deivid-rodriguez\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1483\"\u003emikel/mail#1483\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eREADME: sending multipart mail by \u003ca href=\"https://github.com/kapfenho\"\u003e\u003ccode\u003e@​kapfenho\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1479\"\u003emikel/mail#1479\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003edelivery_interceptors\u003c/code\u003e method to \u003ccode\u003eMail\u003c/code\u003e class to fetch registered interceptors by \u003ca href=\"https://github.com/ghousemohamed\"\u003e\u003ccode\u003e@​ghousemohamed\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1475\"\u003emikel/mail#1475\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate MIME-Version to have correct case per the RFC by \u003ca href=\"https://github.com/mikel\"\u003e\u003ccode\u003e@​mikel\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1503\"\u003emikel/mail#1503\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdding explicit JRuby support by \u003ca href=\"https://github.com/mikel\"\u003e\u003ccode\u003e@​mikel\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1508\"\u003emikel/mail#1508\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor: Use Ruby 2's \u003cstrong\u003edir\u003c/strong\u003e where possible by \u003ca href=\"https://github.com/olleolleolle\"\u003e\u003ccode\u003e@​olleolleolle\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1487\"\u003emikel/mail#1487\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[Corrected] Layout/TrailingWhitespace: Trailing whitespace detected. by \u003ca href=\"https://github.com/mikel\"\u003e\u003ccode\u003e@​mikel\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1510\"\u003emikel/mail#1510\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprove documentation by \u003ca href=\"https://github.com/fwolfst\"\u003e\u003ccode\u003e@​fwolfst\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1371\"\u003emikel/mail#1371\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSpan =\u0026gt; Spam by \u003ca href=\"https://github.com/sebbASF\"\u003e\u003ccode\u003e@​sebbASF\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1320\"\u003emikel/mail#1320\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003euse unpack1 by \u003ca href=\"https://github.com/ahorek\"\u003e\u003ccode\u003e@​ahorek\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1513\"\u003emikel/mail#1513\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLazy-load fields and elements by \u003ca href=\"https://github.com/c960657\"\u003e\u003ccode\u003e@​c960657\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1491\"\u003emikel/mail#1491\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eInstall libyaml-dev for Psych by \u003ca href=\"https://github.com/c960657\"\u003e\u003ccode\u003e@​c960657\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1522\"\u003emikel/mail#1522\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFeature/parse lf by \u003ca href=\"https://github.com/sebbASF\"\u003e\u003ccode\u003e@​sebbASF\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1520\"\u003emikel/mail#1520\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003euse match? by \u003ca href=\"https://github.com/ahorek\"\u003e\u003ccode\u003e@​ahorek\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1514\"\u003emikel/mail#1514\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/checkout to v3 by \u003ca href=\"https://github.com/sebbASF\"\u003e\u003ccode\u003e@​sebbASF\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1535\"\u003emikel/mail#1535\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix for \u003ca href=\"https://redirect.github.com/mikel/mail/issues/1527\"\u003e#1527\u003c/a\u003e by \u003ca href=\"https://github.com/sebbASF\"\u003e\u003ccode\u003e@​sebbASF\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1534\"\u003emikel/mail#1534\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStandardise on WARNING: prefix by \u003ca href=\"https://github.com/sebbASF\"\u003e\u003ccode\u003e@​sebbASF\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1533\"\u003emikel/mail#1533\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChecks are in the wrong place by \u003ca href=\"https://github.com/sebbASF\"\u003e\u003ccode\u003e@​sebbASF\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1531\"\u003emikel/mail#1531\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAllow manual trigger by \u003ca href=\"https://github.com/sebbASF\"\u003e\u003ccode\u003e@​sebbASF\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1524\"\u003emikel/mail#1524\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHandle parsing of LF-only body with separate parts by \u003ca href=\"https://github.com/mikel\"\u003e\u003ccode\u003e@​mikel\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1511\"\u003emikel/mail#1511\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake activesupport gem optional by \u003ca href=\"https://github.com/sebbASF\"\u003e\u003ccode\u003e@​sebbASF\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1532\"\u003emikel/mail#1532\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSMTP: refactor and accept starttls :always and :auto by \u003ca href=\"https://github.com/eval\"\u003e\u003ccode\u003e@​eval\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1536\"\u003emikel/mail#1536\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdds Ruby 3.2 to the CI matrix by \u003ca href=\"https://github.com/petergoldstein\"\u003e\u003ccode\u003e@​petergoldstein\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1552\"\u003emikel/mail#1552\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLayout conventions are not the same as syntax by \u003ca href=\"https://github.com/sebbASF\"\u003e\u003ccode\u003e@​sebbASF\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1558\"\u003emikel/mail#1558\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDon't shadow local variable by \u003ca href=\"https://github.com/sebbASF\"\u003e\u003ccode\u003e@​sebbASF\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1318\"\u003emikel/mail#1318\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRevert PR \u003ca href=\"https://redirect.github.com/mikel/mail/issues/1495\"\u003e#1495\u003c/a\u003e because it is a dupe of \u003ca href=\"https://redirect.github.com/mikel/mail/issues/1470\"\u003e#1470\u003c/a\u003e by \u003ca href=\"https://github.com/johnnyshields\"\u003e\u003ccode\u003e@​johnnyshields\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1559\"\u003emikel/mail#1559\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Ruby 3.3 to CI matrix by \u003ca href=\"https://github.com/m-nakamura145\"\u003e\u003ccode\u003e@​m-nakamura145\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1595\"\u003emikel/mail#1595\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTruffleRuby is flaky by \u003ca href=\"https://github.com/sebbASF\"\u003e\u003ccode\u003e@​sebbASF\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1599\"\u003emikel/mail#1599\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse require_relative where possible by \u003ca href=\"https://github.com/eval\"\u003e\u003ccode\u003e@​eval\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1598\"\u003emikel/mail#1598\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTest string is 1 char short of 78 by \u003ca href=\"https://github.com/sebbASF\"\u003e\u003ccode\u003e@​sebbASF\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1568\"\u003emikel/mail#1568\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate documentation regarding errors array by \u003ca href=\"https://github.com/mikehale\"\u003e\u003ccode\u003e@​mikehale\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1605\"\u003emikel/mail#1605\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix all 'assigned but unused variable' warnings by \u003ca href=\"https://github.com/skipkayhil\"\u003e\u003ccode\u003e@​skipkayhil\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1551\"\u003emikel/mail#1551\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix IMAP search issues by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1611\"\u003emikel/mail#1611\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocument SMTP TLS/STARTTLS settings (cherry-picked from 2.8 stable branch) by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1613\"\u003emikel/mail#1613\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCI: Use checkout@v4 by \u003ca href=\"https://github.com/olleolleolle\"\u003e\u003ccode\u003e@​olleolleolle\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1616\"\u003emikel/mail#1616\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDrop unused \u0026quot;ad hoc\u0026quot; GH Actions workflow by \u003ca href=\"https://github.com/olleolleolle\"\u003e\u003ccode\u003e@​olleolleolle\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1615\"\u003emikel/mail#1615\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003einclude rfc822 as attachments by \u003ca href=\"https://github.com/ahorek\"\u003e\u003ccode\u003e@​ahorek\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1389\"\u003emikel/mail#1389\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAddress \u003ccode\u003ewarning: URI::RFC3986_PARSER\u003c/code\u003e warnings by \u003ca href=\"https://github.com/yahonda\"\u003e\u003ccode\u003e@​yahonda\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1620\"\u003emikel/mail#1620\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd logger as a dependency for Ruby 3.4 warnings by \u003ca href=\"https://github.com/yahonda\"\u003e\u003ccode\u003e@​yahonda\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1619\"\u003emikel/mail#1619\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix regression in content_type for text part after converted to multipart by \u003ca href=\"https://github.com/jeremyevans\"\u003e\u003ccode\u003e@​jeremyevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1330\"\u003emikel/mail#1330\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/nbennke\"\u003e\u003ccode\u003e@​nbennke\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1462\"\u003emikel/mail#1462\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/mikel/mail/blob/master/CHANGELOG.rdoc\"\u003email's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e== Version 2.9.0 (unreleased)\u003c/p\u003e\n\u003cp\u003eBreaking changes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eMail::Field::FIELDS_MAP now contains class names, not Class instances (c960657)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eCompatibility:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate MIME-Version to have correct case per RFC 2045 \u003ca href=\"https://github.com/mikel\"\u003e\u003ccode\u003e@​mikel\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFeatures:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated README to improve around sending multipart mail \u003ca href=\"https://github.com/kapfenho\"\u003e\u003ccode\u003e@​kapfenho\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd delivery_interceptors method to Mail class to fetch registered interceptors \u003ca href=\"https://github.com/ghousemohamed\"\u003e\u003ccode\u003e@​ghousemohamed\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eCode Improvements:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUse Rake's default rakelib/ directory \u003ca href=\"https://github.com/olleolleolle\"\u003e\u003ccode\u003e@​olleolleolle\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor: Use Dir.glob only once in gemspec's \u0026quot;files\u0026quot; directive \u003ca href=\"https://github.com/olleolleolle\"\u003e\u003ccode\u003e@​olleolleolle\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eConfigure RSpec's zero-monkey patching mode \u003ca href=\"https://github.com/olleolleolle\"\u003e\u003ccode\u003e@​olleolleolle\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded support for JRuby 9.4 \u003ca href=\"https://github.com/mikel\"\u003e\u003ccode\u003e@​mikel\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePrefer \u003ccode\u003e__dir__\u003c/code\u003e \u003ca href=\"https://github.com/olleolleolle\"\u003e\u003ccode\u003e@​olleolleolle\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBug Fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRegression: Preserve message-level charset when adding parts (related to Rails ActionMailer) \u003ca href=\"https://github.com/shields\"\u003e\u003ccode\u003e@​shields\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRegression: Adding a part should not reset the mail's charset to nil \u003ca href=\"https://github.com/railsbob\"\u003e\u003ccode\u003e@​railsbob\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003ePerformance:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ereduce object allocations by replacing =~ and Regexp#match by Regexp#match? \u003ca href=\"https://github.com/ahorek\"\u003e\u003ccode\u003e@​ahorek\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ereduce object allocations by replacing String#unpack[0] by String#unpack1 \u003ca href=\"https://github.com/ahorek\"\u003e\u003ccode\u003e@​ahorek\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003ePlease check \u003ca href=\"https://github.com/mikel/mail/blob/2-8-stable/CHANGELOG.rdoc\"\u003e2-8-stable\u003c/a\u003e for previous changes.\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/mikel/mail/commit/490fe219712829ce763fd46eea7fbd3d4eaa102d\"\u003e\u003ccode\u003e490fe21\u003c/code\u003e\u003c/a\u003e Prepare for 2.9.0 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mikel/mail/commit/717f220d2318380cf295ac6745eb1005136b1217\"\u003e\u003ccode\u003e717f220\u003c/code\u003e\u003c/a\u003e Bump to beta2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mikel/mail/commit/d1d65b370b109b98e673a934e8b70a0c1f58cc59\"\u003e\u003ccode\u003ed1d65b3\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/mikel/mail/issues/1330\"\u003e#1330\u003c/a\u003e from jeremyevans/content-type-regression-fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mikel/mail/commit/30302c779d4f3250f6fccbe1361fac54449d7732\"\u003e\u003ccode\u003e30302c7\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/mikel/mail/issues/1619\"\u003e#1619\u003c/a\u003e from yahonda/add_dependency_logger\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mikel/mail/commit/182f2beaeef716f3b003b9916d40251f4ae12317\"\u003e\u003ccode\u003e182f2be\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/mikel/mail/issues/1620\"\u003e#1620\u003c/a\u003e from yahonda/address_uri_rfc_3986_parser_warnings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mikel/mail/commit/73db11a6463ec330a36d68cfb77ef99511126cb0\"\u003e\u003ccode\u003e73db11a\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/mikel/mail/issues/1389\"\u003e#1389\u003c/a\u003e from ahorek/attachments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mikel/mail/commit/26f413e9aa16b652ac38605d063c082c9097cad7\"\u003e\u003ccode\u003e26f413e\u003c/code\u003e\u003c/a\u003e rfc822 attachments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mikel/mail/commit/a2da80f24c680cea0c50cf56655b1a1fce6c013d\"\u003e\u003ccode\u003ea2da80f\u003c/code\u003e\u003c/a\u003e Address \u003ccode\u003ewarning: URI::RFC3986_PARSER\u003c/code\u003e warnings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mikel/mail/commit/98c835a544f6f9697df4719858ba58b4396f2dfb\"\u003e\u003ccode\u003e98c835a\u003c/code\u003e\u003c/a\u003e Add logger as a dependency for Ruby 3.4 warnings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mikel/mail/commit/9a7e2bf499d7a35658113c4042ed7ebb7d9f865e\"\u003e\u003ccode\u003e9a7e2bf\u003c/code\u003e\u003c/a\u003e Drop unused GH Ation workflow (\u003ca href=\"https://redirect.github.com/mikel/mail/issues/1615\"\u003e#1615\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/mikel/mail/compare/2.8.1...2.9.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `nokogiri` from 1.18.9 to 1.18.10\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sparklemotion/nokogiri/releases\"\u003enokogiri's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.18.10 / 2025-09-15\u003c/h2\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[CRuby] Vendored libxml2 is updated to \u003ca href=\"https://gitlab.gnome.org/GNOME/libxml2/-/releases/v2.13.9\"\u003ev2.13.9\u003c/a\u003e. Note that the security fixes published in v2.13.9 were already present in Nokogiri v1.18.9.\u003c/li\u003e\n\u003cli\u003e[CRuby] [Windows and MacOS] Vendored libiconv is updated to \u003ca href=\"https://savannah.gnu.org/news/?id=10703\"\u003ev1.18\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cpre\u003e\u003ccode\u003e7fb87235d729c74a2be635376d82b1d459230cc17c50300f8e4fcaabc6195344  nokogiri-1.18.10-aarch64-linux-gnu.gem\n7e74e58314297cc8a8f1b533f7212d1999dbe2639a9ee6d97b483ea2acc18944  nokogiri-1.18.10-aarch64-linux-musl.gem\n51f4f25ab5d5ba1012d6b16aad96b840a10b067b93f35af6a55a2c104a7ee322  nokogiri-1.18.10-arm-linux-gnu.gem\n1c6ea754e51cecc85c30ee8ab1e6aa4ce6b6e134d01717e9290e79374a9e00aa  nokogiri-1.18.10-arm-linux-musl.gem\nc2b0de30770f50b92c9323fa34a4e1cf5a0af322afcacd239cd66ee1c1b22c85  nokogiri-1.18.10-arm64-darwin.gem\ncd431a09c45d84a2f870ba0b7e8f571199b3727d530f2b4888a73639f76510b5  nokogiri-1.18.10-java.gem\n64f40d4a41af9f7f83a4e236ad0cf8cca621b97e31f727b1bebdae565a653104  nokogiri-1.18.10-x64-mingw-ucrt.gem\n536e74bed6db2b5076769cab5e5f5af0cd1dccbbd75f1b3e1fa69d1f5c2d79e2  nokogiri-1.18.10-x86_64-darwin.gem\nff5ba26ba2dbce5c04b9ea200777fd225061d7a3930548806f31db907e500f72  nokogiri-1.18.10-x86_64-linux-gnu.gem\n0651fccf8c2ebbc2475c8b1dfd7ccac3a0a6d09f8a41b72db8c21808cb483385  nokogiri-1.18.10-x86_64-linux-musl.gem\nd5cc0731008aa3b3a87b361203ea3d19b2069628cb55e46ac7d84a0445e69cc1  nokogiri-1.18.10.gem\n\u003c/code\u003e\u003c/pre\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/sparklemotion/nokogiri/blob/main/CHANGELOG.md\"\u003enokogiri's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.18.10 / 2025-09-15\u003c/h2\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[CRuby] Vendored libxml2 is updated to \u003ca href=\"https://gitlab.gnome.org/GNOME/libxml2/-/releases/v2.13.9\"\u003ev2.13.9\u003c/a\u003e. Note that the security fixes published in v2.13.9 were already present in Nokogiri v1.18.9.\u003c/li\u003e\n\u003cli\u003e[CRuby] [Windows and MacOS] Vendored libiconv is updated to \u003ca href=\"https://savannah.gnu.org/news/?id=10703\"\u003ev1.18\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/sparklemotion/nokogiri/commit/680374099b3570b97471f822acc978cc847fee46\"\u003e\u003ccode\u003e6803740\u003c/code\u003e\u003c/a\u003e version bump to v1.18.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/93337de8323fa5269c07e913495d5d2b2535f912\"\u003e\u003ccode\u003e93337de\u003c/code\u003e\u003c/a\u003e dep: bump vendored libxml2 to v2.13.9 (\u003ca href=\"https://redirect.github.com/sparklemotion/nokogiri/issues/3555\"\u003e#3555\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/15dde1793c81bdffdc173ff975674a6299b65d6c\"\u003e\u003ccode\u003e15dde17\u003c/code\u003e\u003c/a\u003e ci: work around repeated bundler deadlocks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/9906071faef26c6c27452f93780eae9674aed3ec\"\u003e\u003ccode\u003e9906071\u003c/code\u003e\u003c/a\u003e dep: bump vendored libxml2 to v2.13.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/adf72e3e6dda49556f519260406332252f0581c0\"\u003e\u003ccode\u003eadf72e3\u003c/code\u003e\u003c/a\u003e [v1.18.x] backport libiconv upgrade to v1.18 (\u003ca href=\"https://redirect.github.com/sparklemotion/nokogiri/issues/3550\"\u003e#3550\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/92cab09a7dea7ad81c935464c618d7ccb9272ef4\"\u003e\u003ccode\u003e92cab09\u003c/code\u003e\u003c/a\u003e dep: update vendored libiconv to 1.18\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/f1c5ea84ce2805aded8ab625a4b6da177f3a2162\"\u003e\u003ccode\u003ef1c5ea8\u003c/code\u003e\u003c/a\u003e Use mirror site to download libiconv\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/dcd272155c99097068383cc00b79db0bc126f045\"\u003e\u003ccode\u003edcd2721\u003c/code\u003e\u003c/a\u003e ci: stop testing Ruby 3.1 windows source builds\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/cf856e626748655f81f35449f67822c472a9b707\"\u003e\u003ccode\u003ecf856e6\u003c/code\u003e\u003c/a\u003e ci: fix the aarch64 segfault by using a more modern qemu\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/6d77443f359588c113c043c22ba4c38c8dff27a1\"\u003e\u003ccode\u003e6d77443\u003c/code\u003e\u003c/a\u003e Fix errors building Ruby 3.1 on windows\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sparklemotion/nokogiri/compare/v1.18.9...v1.18.10\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `octokit` from 9.2.0 to 10.0.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/octokit/octokit.rb/releases\"\u003eoctokit's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev10.0.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBREAKING CHANGE: Re...\n\n_Description has been truncated_","html_url":"https://github.com/NameawaShinderu/ubicloud-main/pull/59","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/NameawaShinderu%2Fubicloud-main/issues/59","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/59/packages"}},{"old_version":"2.0.17","new_version":"2.0.18","update_type":"patch","path":null,"pr_created_at":"2025-12-24T23:08:32.000Z","version_change":"2.0.17 → 2.0.18","issue":{"uuid":"3761136076","node_id":"PR_kwDOIy0ZTM66hYVS","number":4445,"state":"closed","title":"Bump the production-dependencies group across 1 directory with 20 updates","user":"dependabot[bot]","labels":["dependencies","ruby"],"assignees":[],"locked":true,"comments_count":1,"pull_request":true,"closed_at":"2025-12-25T23:07:21.000Z","author_association":null,"state_reason":null,"created_at":"2025-12-24T23:08:32.000Z","updated_at":"2025-12-25T23:08:46.000Z","time_to_close":86329,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"production-dependencies","update_count":20,"packages":[{"name":"acme-client","old_version":"2.0.26","new_version":"2.0.28","repository_url":"https://github.com/unixcharles/acme-client"},{"name":"aws-sdk-ec2","old_version":"1.569.0","new_version":"1.584.0","repository_url":"https://github.com/aws/aws-sdk-ruby"},{"name":"aws-sdk-iam","old_version":"1.132.0","new_version":"1.137.0","repository_url":"https://github.com/aws/aws-sdk-ruby"},{"name":"bcrypt_pbkdf","old_version":"1.1.1","new_version":"1.1.2","repository_url":"https://github.com/net-ssh/bcrypt_pbkdf-ruby"},{"name":"excon","old_version":"1.3.0","new_version":"1.3.2","repository_url":"https://github.com/excon/excon"},{"name":"reline","old_version":"0.6.2","new_version":"0.6.3","repository_url":"https://github.com/ruby/reline"},{"name":"roda","old_version":"3.97.0","new_version":"3.98.0","repository_url":"https://github.com/jeremyevans/roda"},{"name":"rqrcode","old_version":"3.1.0","new_version":"3.1.1","repository_url":"https://github.com/whomwah/rqrcode"},{"name":"addressable","old_version":"2.8.7","new_version":"2.8.8","repository_url":"https://github.com/sporkmonger/addressable"},{"name":"date","old_version":"3.5.0","new_version":"3.5.1","repository_url":"https://github.com/ruby/date"},{"name":"oauth2","old_version":"2.0.17","new_version":"2.0.18","repository_url":"https://github.com/ruby-oauth/oauth2"},{"name":"openapi_parser","old_version":"2.3.0","new_version":"2.3.1","repository_url":"https://github.com/ota42y/openapi_parser"},{"name":"optparse","old_version":"0.8.0","new_version":"0.8.1","repository_url":"https://github.com/ruby/optparse"},{"name":"timeout","old_version":"0.4.4","new_version":"0.6.0","repository_url":"https://github.com/ruby/timeout"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps the production-dependencies group with 14 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [acme-client](https://github.com/unixcharles/acme-client) | `2.0.26` | `2.0.28` |\n| [aws-sdk-ec2](https://github.com/aws/aws-sdk-ruby) | `1.569.0` | `1.584.0` |\n| [aws-sdk-iam](https://github.com/aws/aws-sdk-ruby) | `1.132.0` | `1.137.0` |\n| [bcrypt_pbkdf](https://github.com/net-ssh/bcrypt_pbkdf-ruby) | `1.1.1` | `1.1.2` |\n| [excon](https://github.com/excon/excon) | `1.3.0` | `1.3.2` |\n| [reline](https://github.com/ruby/reline) | `0.6.2` | `0.6.3` |\n| [roda](https://github.com/jeremyevans/roda) | `3.97.0` | `3.98.0` |\n| [rqrcode](https://github.com/whomwah/rqrcode) | `3.1.0` | `3.1.1` |\n| [addressable](https://github.com/sporkmonger/addressable) | `2.8.7` | `2.8.8` |\n| [date](https://github.com/ruby/date) | `3.5.0` | `3.5.1` |\n| [oauth2](https://github.com/ruby-oauth/oauth2) | `2.0.17` | `2.0.18` |\n| [openapi_parser](https://github.com/ota42y/openapi_parser) | `2.3.0` | `2.3.1` |\n| [optparse](https://github.com/ruby/optparse) | `0.8.0` | `0.8.1` |\n| [timeout](https://github.com/ruby/timeout) | `0.4.4` | `0.6.0` |\n\n\nUpdates `acme-client` from 2.0.26 to 2.0.28\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/unixcharles/acme-client/blob/master/CHANGELOG.md\"\u003eacme-client's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ccode\u003e2.0.28\u003c/code\u003e\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMake \u003ca href=\"https://datatracker.ietf.org/doc/html/rfc8555/#section-6.6\"\u003eRetry-After\u003c/a\u003e accessible from RateLimited#retry_after exceptions\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ccode\u003e2.0.27\u003c/code\u003e\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Renewal Information (ARI) (RFC 9773)\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/unixcharles/acme-client/commit/559889f21df6e765152687ffd6a973b61f7befa3\"\u003e\u003ccode\u003e559889f\u003c/code\u003e\u003c/a\u003e Bump to 2.0.28\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unixcharles/acme-client/commit/5e15c9f17d21eef85d01190344aa462191a2b486\"\u003e\u003ccode\u003e5e15c9f\u003c/code\u003e\u003c/a\u003e Add retry_after property to RateLimited client error (\u003ca href=\"https://redirect.github.com/unixcharles/acme-client/issues/260\"\u003e#260\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unixcharles/acme-client/commit/ff515cab615d682cbaaada9ac6ab52dc160e4b01\"\u003e\u003ccode\u003eff515ca\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 5 to 6 (\u003ca href=\"https://redirect.github.com/unixcharles/acme-client/issues/259\"\u003e#259\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unixcharles/acme-client/commit/443a45d2266463b91b5f1935c16139b6021f3c99\"\u003e\u003ccode\u003e443a45d\u003c/code\u003e\u003c/a\u003e Bump to 2.0.27\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unixcharles/acme-client/commit/d32e7f92ad6d542d49b3ed8907e349c109013512\"\u003e\u003ccode\u003ed32e7f9\u003c/code\u003e\u003c/a\u003e Add Renewal Information (ARI) support (RFC 9773) (\u003ca href=\"https://redirect.github.com/unixcharles/acme-client/issues/257\"\u003e#257\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/unixcharles/acme-client/compare/v2.0.26...v2.0.28\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `aws-sdk-ec2` from 1.569.0 to 1.584.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/aws/aws-sdk-ruby/blob/version-3/gems/aws-sdk-ec2/CHANGELOG.md\"\u003eaws-sdk-ec2's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.584.0 (2025-12-08)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Amazon EC2 P6-B300 instances provide 8x NVIDIA Blackwell Ultra GPUs with 2.1 TB high bandwidth GPU memory, 6.4 Tbps EFA networking, 300 Gbps dedicated ENA throughput, and 4 TB of system memory. Amazon EC2 C8a instances are powered by 5th Gen AMD EPYC processors with a maximum frequency of 4.5 GHz.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.583.0 (2025-11-25)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - This release adds support to view Network firewall proxy appliances attached to an existing NAT Gateway via DescribeNatGateways API NatGatewayAttachedAppliance structure.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.582.0 (2025-11-21)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - This release adds a new capability to create and manage interruptible EC2 Capacity Reservations.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.581.0 (2025-11-20)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - This release adds support for multiple features including: VPC Encryption Control for the status of traffic flow; S2S VPN BGP Logging; TGW Flexible Costs; IPAM allocation of static IPs from IPAM pools to CF Anycast IP lists used on CloudFront distribution; and EBS Volume Integration with Recycle Bin\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.580.0 (2025-11-19)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - This launch adds support for two new features: Regional NAT Gateway and IPAM Policies. IPAM policies offers customers central control for public IPv4 assignments across AWS services. Regional NAT is a single NAT Gateway that automatically expands across AZs in a VPC to maintain high availability.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.579.0 (2025-11-18)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - AWS Site-to-Site VPN now supports VPN Concentrator, a new feature that enables customers to connect multiple low-bandwidth sites connections through a single attachment, simplifying multi-site connectivity for distributed enterprises.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.578.0 (2025-11-17)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - This release introduces new APIs: DescribeInstanceSqlHaStates, DescribeInstanceSqlHaHistoryStates, EnableInstanceSqlHaStandbyDetections and DisableInstanceSqlHaStandbyDetections on Amazon EC2, allowing customers to enroll and monitor SQL Server licensing fee savings for their SQL HA EC2 instances.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.577.0 (2025-11-14)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - This release adds AvailabilityZoneId support for CreateInstanceConnectEndpoint, DescribeInstanceConnectEndpoints, and DeleteInstanceConnectEndpoint APIs.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.576.0 (2025-11-13)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Added support for new accelerator types (\u0026quot;media\u0026quot;) and accelerator names (\u0026quot;L4\u0026quot;, \u0026quot;L40s\u0026quot;, \u0026quot;GAUDI_HL_205\u0026quot;, \u0026quot;INFERENTIA2\u0026quot;, \u0026quot;TRAINIUM\u0026quot;, \u0026quot;TRAINIUM2\u0026quot;, \u0026quot;U30\u0026quot;) in Attributes Based Instance Type Selection for launched instance types.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.575.0 (2025-11-12)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Adds complete AMI ancestry tracing from immediate parent through each preceding generation back to the root AMI\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\u003eSee full diff in \u003ca href=\"https://github.com/aws/aws-sdk-ruby/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `aws-sdk-iam` from 1.132.0 to 1.137.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/aws/aws-sdk-ruby/blob/version-3/gems/aws-sdk-iam/CHANGELOG.md\"\u003eaws-sdk-iam's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.137.0 (2025-12-05)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Adding the ExpirationTime attribute to the delegation request resource.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.136.0 (2025-11-21)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Code Generated Changes, see \u003ccode\u003e./build_tools\u003c/code\u003e or \u003ccode\u003eaws-sdk-core\u003c/code\u003e's CHANGELOG.md for details.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.135.0 (2025-11-19)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Added the EnableOutboundWebIdentityFederation, DisableOutboundWebIdentityFederation and GetOutboundWebIdentityFederationInfo APIs for the IAM outbound federation feature.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.134.0 (2025-11-18)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Added the AssociateDelegationRequest, GetDelegationRequest, AcceptDelegationRequest, RejectDelegatonRequest, ListDelegationRequests, UpdateDelegationRequest, SendDelegationToken and GetHumanReadableSummary APIs for the IAM temporary delegation feature.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.133.0 (2025-11-10)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Added CreateDelegationRequest API, which is not available for general use at this time.\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\u003eSee full diff in \u003ca href=\"https://github.com/aws/aws-sdk-ruby/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `bcrypt_pbkdf` from 1.1.1 to 1.1.2\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/net-ssh/bcrypt_pbkdf-ruby/commit/e52088f9a28e34321a9b359f30d472097f1d7f01\"\u003e\u003ccode\u003ee52088f\u003c/code\u003e\u003c/a\u003e chore: bump version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/net-ssh/bcrypt_pbkdf-ruby/commit/26919975ca7b77425609387955d31784381c3af6\"\u003e\u003ccode\u003e2691997\u003c/code\u003e\u003c/a\u003e added benchmark gem to gemspec\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/net-ssh/bcrypt_pbkdf-ruby/commit/fc2498597f6f556979ccc8ee58acce10e39ff09a\"\u003e\u003ccode\u003efc24985\u003c/code\u003e\u003c/a\u003e chore: bump version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/net-ssh/bcrypt_pbkdf-ruby/commit/25919bbc4a148ba2031e6c52ec777ded97560df4\"\u003e\u003ccode\u003e25919bb\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/net-ssh/bcrypt_pbkdf-ruby/issues/26\"\u003e#26\u003c/a\u003e from brendon/Ruby-3.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/net-ssh/bcrypt_pbkdf-ruby/commit/77d005a0be09f848cf8838d09e611290b027a791\"\u003e\u003ccode\u003e77d005a\u003c/code\u003e\u003c/a\u003e Add Ruby 3.4 support\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/net-ssh/bcrypt_pbkdf-ruby/compare/v1.1.1...v1.1.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `excon` from 1.3.0 to 1.3.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/excon/excon/blob/master/changelog.txt\"\u003eexcon's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e1.3.2 2025-12-03\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eupdate bundled certs\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e1.3.1 2025-11-05\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eupdate bundled certs\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/excon/excon/commit/e94efe6637d9d99a66e8a39b52c0131c706432b7\"\u003e\u003ccode\u003ee94efe6\u003c/code\u003e\u003c/a\u003e v1.3.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/excon/excon/commit/7e858751ff850bafc4000fcca4f3f331c70c07bc\"\u003e\u003ccode\u003e7e85875\u003c/code\u003e\u003c/a\u003e update bundled certs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/excon/excon/commit/f076a7657782c518cbff2c1683309c2c106e6275\"\u003e\u003ccode\u003ef076a76\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 5 to 6 (\u003ca href=\"https://redirect.github.com/excon/excon/issues/893\"\u003e#893\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/excon/excon/commit/fbe4748d49ac87504ee8d3e7352da0de3485144c\"\u003e\u003ccode\u003efbe4748\u003c/code\u003e\u003c/a\u003e adjust ractor usage for Ruby 3.5+\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/excon/excon/commit/7900bec2e4f4916b0d8994e5e7f3b57ca10ddb68\"\u003e\u003ccode\u003e7900bec\u003c/code\u003e\u003c/a\u003e v1.3.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/excon/excon/commit/a18079c2a55780951d61da712d68554217106ede\"\u003e\u003ccode\u003ea18079c\u003c/code\u003e\u003c/a\u003e update bundled certs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/excon/excon/commit/60ac6aa966172e6bd20264366e213943d891329c\"\u003e\u003ccode\u003e60ac6aa\u003c/code\u003e\u003c/a\u003e update bundled certs\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/excon/excon/compare/v1.3.0...v1.3.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `reline` from 0.6.2 to 0.6.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/reline/releases\"\u003ereline's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.6.3\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix CSI pattern regexp to accept parameter bytes and intermediate bytes by \u003ca href=\"https://github.com/tompng\"\u003e\u003ccode\u003e@​tompng\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/reline/pull/848\"\u003eruby/reline#848\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse key symbol names instead of hardcoded C-r C-s C-h C-? in reverse/forward i-search by \u003ca href=\"https://github.com/tompng\"\u003e\u003ccode\u003e@​tompng\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/reline/pull/855\"\u003eruby/reline#855\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🛠 Other Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBump actions/checkout from 4 to 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/ruby/reline/pull/846\"\u003eruby/reline#846\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump step-security/harden-runner from 2.12.2 to 2.13.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/ruby/reline/pull/844\"\u003eruby/reline#844\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/upload-pages-artifact 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/ruby/reline/pull/849\"\u003eruby/reline#849\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump step-security/harden-runner from 2.13.0 to 2.13.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/ruby/reline/pull/850\"\u003eruby/reline#850\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse test-unit-ruby-core by \u003ca href=\"https://github.com/tompng\"\u003e\u003ccode\u003e@​tompng\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/reline/pull/852\"\u003eruby/reline#852\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove retrieve_keybuffer by \u003ca href=\"https://github.com/tompng\"\u003e\u003ccode\u003e@​tompng\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/reline/pull/851\"\u003eruby/reline#851\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump rubygems/release-gem from 1.1.1 to 1.1.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/ruby/reline/pull/857\"\u003eruby/reline#857\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse bundler/setup instead of Bunlder.require in multiline_repl by \u003ca href=\"https://github.com/tompng\"\u003e\u003ccode\u003e@​tompng\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/reline/pull/860\"\u003eruby/reline#860\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump version to 0.6.3 by \u003ca href=\"https://github.com/ima1zumi\"\u003e\u003ccode\u003e@​ima1zumi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/reline/pull/858\"\u003eruby/reline#858\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ruby/reline/compare/v0.6.2...v0.6.3\"\u003ehttps://github.com/ruby/reline/compare/v0.6.2...v0.6.3\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/ruby/reline/commit/55390d5c0cfb8916b170b9146428c8de98ff7dc8\"\u003e\u003ccode\u003e55390d5\u003c/code\u003e\u003c/a\u003e Bump up to 0.6.3 (\u003ca href=\"https://redirect.github.com/ruby/reline/issues/858\"\u003e#858\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/reline/commit/07255abec99bb6daaf87cc13c8f35e205ace9bbb\"\u003e\u003ccode\u003e07255ab\u003c/code\u003e\u003c/a\u003e Use bundler/setup instead of Bunlder.require in multiline_repl (\u003ca href=\"https://redirect.github.com/ruby/reline/issues/860\"\u003e#860\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/reline/commit/7eef150d6e3c7e85836b1a6da40a15f06a3c487e\"\u003e\u003ccode\u003e7eef150\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/reline/issues/857\"\u003e#857\u003c/a\u003e from ruby/dependabot/github_actions/rubygems/release-...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/reline/commit/63dfa17da92da947082d9d6e8336f3f5cd69b974\"\u003e\u003ccode\u003e63dfa17\u003c/code\u003e\u003c/a\u003e Bump rubygems/release-gem from 1.1.1 to 1.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/reline/commit/1d1e8081f20d4603b3342ee01ab63303304f69c0\"\u003e\u003ccode\u003e1d1e808\u003c/code\u003e\u003c/a\u003e Use key symbol names instead of hardcoded C-r C-s C-h C-? in reverse/forward ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/reline/commit/433a93076eee3bc30bb9d6c43df355a414bfbfdd\"\u003e\u003ccode\u003e433a930\u003c/code\u003e\u003c/a\u003e Fix CSI pattern regexp to accept parameter bytes and intermediate bytes (\u003ca href=\"https://redirect.github.com/ruby/reline/issues/848\"\u003e#848\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/reline/commit/5d5c1ff0cc0662b8a6285b6a9b56283bca2e5e5d\"\u003e\u003ccode\u003e5d5c1ff\u003c/code\u003e\u003c/a\u003e Remove retrieve_keybuffer (\u003ca href=\"https://redirect.github.com/ruby/reline/issues/851\"\u003e#851\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/reline/commit/199c26a2c07d83c9281cc8b97892d60b595173eb\"\u003e\u003ccode\u003e199c26a\u003c/code\u003e\u003c/a\u003e Use test-unit-ruby-core (\u003ca href=\"https://redirect.github.com/ruby/reline/issues/852\"\u003e#852\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/reline/commit/19aa19f1bfa2b738603f2c65de81a15b19b14594\"\u003e\u003ccode\u003e19aa19f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/reline/issues/850\"\u003e#850\u003c/a\u003e from ruby/dependabot/github_actions/step-security/har...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/reline/commit/9300d4de899868ea554c1a522f37a5d3eee94926\"\u003e\u003ccode\u003e9300d4d\u003c/code\u003e\u003c/a\u003e Bump step-security/harden-runner from 2.13.0 to 2.13.1\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby/reline/compare/v0.6.2...v0.6.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `roda` from 3.97.0 to 3.98.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jeremyevans/roda/blob/master/CHANGELOG\"\u003eroda's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e=== 3.98.0 (2025-11-13)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for the :env_key option to the sessions plugin (jeremyevans) (\u003ca href=\"https://redirect.github.com/jeremyevans/roda/issues/403\"\u003e#403\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/jeremyevans/roda/commit/8fc5b77fcd0d49625bcc77007622fe94a0f2afc2\"\u003e\u003ccode\u003e8fc5b77\u003c/code\u003e\u003c/a\u003e Bump version to 3.98.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jeremyevans/roda/commit/5b1a58ec704add896d1e8442c1e4bb80a0c5d85e\"\u003e\u003ccode\u003e5b1a58e\u003c/code\u003e\u003c/a\u003e Add support for the :env_key option to the sessions plugin\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/jeremyevans/roda/compare/3.97.0...3.98.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rqrcode` from 3.1.0 to 3.1.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/whomwah/rqrcode/releases\"\u003erqrcode's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.1.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRelease 3.1.0 mergeback by \u003ca href=\"https://github.com/whomwah\"\u003e\u003ccode\u003e@​whomwah\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/whomwah/rqrcode/pull/158\"\u003ewhomwah/rqrcode#158\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate required_ruby_version to allow Ruby 4.0 by \u003ca href=\"https://github.com/k0kubun\"\u003e\u003ccode\u003e@​k0kubun\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/whomwah/rqrcode/pull/160\"\u003ewhomwah/rqrcode#160\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReleases/v3.1.1 by \u003ca href=\"https://github.com/whomwah\"\u003e\u003ccode\u003e@​whomwah\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/whomwah/rqrcode/pull/161\"\u003ewhomwah/rqrcode#161\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/k0kubun\"\u003e\u003ccode\u003e@​k0kubun\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/whomwah/rqrcode/pull/160\"\u003ewhomwah/rqrcode#160\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/whomwah/rqrcode/compare/v3.1.0...v3.1.1\"\u003ehttps://github.com/whomwah/rqrcode/compare/v3.1.0...v3.1.1\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/whomwah/rqrcode/blob/main/CHANGELOG.md\"\u003erqrcode's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[3.1.1] - 2025-11-25\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate required_ruby_version to support \u0026gt;= rather than ~\u0026gt; ready for Ruby 4\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/whomwah/rqrcode/commit/30cfc62415a2e48b3089ab22ae11ab96e64e2a52\"\u003e\u003ccode\u003e30cfc62\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/whomwah/rqrcode/issues/161\"\u003e#161\u003c/a\u003e from whomwah/releases/v3.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/whomwah/rqrcode/commit/b6a0d1ae92ff2a2cc98c6caa4572ce2e88004515\"\u003e\u003ccode\u003eb6a0d1a\u003c/code\u003e\u003c/a\u003e release: Bump version to 3.1.1 and update changelog for release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/whomwah/rqrcode/commit/f9fa33704951158a38b3cf04311e295d3a0e947d\"\u003e\u003ccode\u003ef9fa337\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/whomwah/rqrcode/issues/160\"\u003e#160\u003c/a\u003e from k0kubun/ruby-4-0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/whomwah/rqrcode/commit/12a47520383c1d61d627a5107ba72fb80518ae7e\"\u003e\u003ccode\u003e12a4752\u003c/code\u003e\u003c/a\u003e Update required_ruby_version to allow Ruby 4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/whomwah/rqrcode/commit/f57261619716bb1d0fc9658c45948f8740faed68\"\u003e\u003ccode\u003ef572616\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/whomwah/rqrcode/issues/158\"\u003e#158\u003c/a\u003e from whomwah/release\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/whomwah/rqrcode/compare/v3.1.0...v3.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `addressable` from 2.8.7 to 2.8.8\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sporkmonger/addressable/blob/main/CHANGELOG.md\"\u003eaddressable's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eAddressable 2.8.8 \u003c!-- raw HTML omitted --\u003e\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eReplace the \u003ccode\u003eunicode.data\u003c/code\u003e blob by a ruby constant (\u003ca href=\"https://redirect.github.com/sporkmonger/addressable/issues/561\"\u003e#561\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow \u003ccode\u003epublic_suffix\u003c/code\u003e 7 (\u003ca href=\"https://redirect.github.com/sporkmonger/addressable/issues/558\"\u003e#558\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/sporkmonger/addressable/issues/561\"\u003e#561\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/sporkmonger/addressable/pull/561\"\u003esporkmonger/addressable#561\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/sporkmonger/addressable/issues/558\"\u003e#558\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/sporkmonger/addressable/pull/558\"\u003esporkmonger/addressable#558\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/sporkmonger/addressable/commit/111af8e8d3260dbd5b10a2dfec42a4e129d18705\"\u003e\u003ccode\u003e111af8e\u003c/code\u003e\u003c/a\u003e Update version, gemspec, and CHANGELOG for 2.8.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sporkmonger/addressable/commit/d923a5e9a7b20ed57199e9a37366446c7f8fde4f\"\u003e\u003ccode\u003ed923a5e\u003c/code\u003e\u003c/a\u003e Fix heading levels in README and Changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sporkmonger/addressable/commit/88f14727fffea367e3801e05f72d17f9079281a9\"\u003e\u003ccode\u003e88f1472\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 5 to 6 (\u003ca href=\"https://redirect.github.com/sporkmonger/addressable/issues/560\"\u003e#560\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sporkmonger/addressable/commit/22528139b10c9697a4790f334d9323ecc02c59fe\"\u003e\u003ccode\u003e2252813\u003c/code\u003e\u003c/a\u003e Replace the \u003ccode\u003eunicode.data\u003c/code\u003e blob by a ruby constant (\u003ca href=\"https://redirect.github.com/sporkmonger/addressable/issues/561\"\u003e#561\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sporkmonger/addressable/commit/af2d3f6e70b9551f94124e2dbab0d739127a8234\"\u003e\u003ccode\u003eaf2d3f6\u003c/code\u003e\u003c/a\u003e Allow \u003ccode\u003epublic_suffix\u003c/code\u003e v7 (\u003ca href=\"https://redirect.github.com/sporkmonger/addressable/issues/558\"\u003e#558\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sporkmonger/addressable/commit/aaa53fe23417b0bb5ce198ed081a70e70f240260\"\u003e\u003ccode\u003eaaa53fe\u003c/code\u003e\u003c/a\u003e CI: restore older rubies for \u003ccode\u003epublic_suffix\u003c/code\u003e jobs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sporkmonger/addressable/commit/49fc47477dc39f816bee25419c687e9a1f0282ef\"\u003e\u003ccode\u003e49fc474\u003c/code\u003e\u003c/a\u003e CI: fix \u003ccode\u003eprofile:template_match_memory\u003c/code\u003e task for Ruby \u0026gt;2.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sporkmonger/addressable/commit/c0f98d5f18e428a601b55f3740546293a18fc371\"\u003e\u003ccode\u003ec0f98d5\u003c/code\u003e\u003c/a\u003e CI: use latest stable ruby outside the version matrix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sporkmonger/addressable/commit/7cb10aae0353bc3c280aecaf3f62645b62c1ccce\"\u003e\u003ccode\u003e7cb10aa\u003c/code\u003e\u003c/a\u003e CI: test with modern JVM Rubies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sporkmonger/addressable/commit/dd1adcfc8368ab188526f7160c6e74fe2ef4cafa\"\u003e\u003ccode\u003edd1adcf\u003c/code\u003e\u003c/a\u003e CI: less \u003ccode\u003eubuntu-22.04\u003c/code\u003e, more \u003ccode\u003eubuntu-24.04\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sporkmonger/addressable/compare/addressable-2.8.7...addressable-2.8.8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `aws-partitions` from 1.1196.0 to 1.1198.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/aws/aws-sdk-ruby/blob/version-3/gems/aws-partitions/CHANGELOG.md\"\u003eaws-partitions's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.1198.0 (2025-12-19)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Added support for enumerating regions for  \u003ccode\u003eAws::Wickr\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.1197.0 (2025-12-18)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Updated the partitions source data the determines the AWS service regions and endpoints.\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\u003eSee full diff in \u003ca href=\"https://github.com/aws/aws-sdk-ruby/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `date` from 3.5.0 to 3.5.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/date/releases\"\u003edate's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.5.1\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRemove archaic conditions by \u003ca href=\"https://github.com/nobu\"\u003e\u003ccode\u003e@​nobu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/date/pull/144\"\u003eruby/date#144\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[DOC] Remove the name from same file references by \u003ca href=\"https://github.com/nobu\"\u003e\u003ccode\u003e@​nobu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/date/pull/147\"\u003eruby/date#147\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCall rb_gc_register_mark_object after object allocation by \u003ca href=\"https://github.com/peterzhu2118\"\u003e\u003ccode\u003e@​peterzhu2118\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/date/pull/149\"\u003eruby/date#149\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/peterzhu2118\"\u003e\u003ccode\u003e@​peterzhu2118\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/date/pull/149\"\u003eruby/date#149\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ruby/date/compare/v3.5.0...v3.5.1\"\u003ehttps://github.com/ruby/date/compare/v3.5.0...v3.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/ruby/date/commit/2b5442d85a97859a680eb4be20c6e1a28f3af282\"\u003e\u003ccode\u003e2b5442d\u003c/code\u003e\u003c/a\u003e v3.5.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/date/commit/2cd5033b42f1bdac8c2a762b854a6c1db71310d5\"\u003e\u003ccode\u003e2cd5033\u003c/code\u003e\u003c/a\u003e Reorganize page documentations (\u003ca href=\"https://redirect.github.com/ruby/date/issues/15154\"\u003e#15154\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/date/commit/b8d37ac27c9d7b2e5401c1cede0d260d7176d824\"\u003e\u003ccode\u003eb8d37ac\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/date/issues/150\"\u003e#150\u003c/a\u003e from ruby/dependabot/github_actions/step-security/har...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/date/commit/2ecd780a4761e1ef31306bf495d11b93bc0c2b1d\"\u003e\u003ccode\u003e2ecd780\u003c/code\u003e\u003c/a\u003e Bump step-security/harden-runner from 2.13.2 to 2.13.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/date/commit/184aac08653a9e9ef139ebe4c3677ff82bf3df46\"\u003e\u003ccode\u003e184aac0\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/date/issues/149\"\u003e#149\u003c/a\u003e from ruby/pz-init-register-mark-obj\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/date/commit/cbec5948e013e0f6cf7cba9a7a582eb0a92a181d\"\u003e\u003ccode\u003ecbec594\u003c/code\u003e\u003c/a\u003e Call rb_gc_register_mark_object after object allocation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/date/commit/de80b014b3ae0a883e81f988f859795222583c08\"\u003e\u003ccode\u003ede80b01\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/date/issues/148\"\u003e#148\u003c/a\u003e from ruby/dependabot/github_actions/actions/checkout-6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/date/commit/6de721a3db73fcce483782f43a5b4914f91aebea\"\u003e\u003ccode\u003e6de721a\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 5 to 6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/date/commit/e41082e068bbbe2f5c65285695c93cda794de059\"\u003e\u003ccode\u003ee41082e\u003c/code\u003e\u003c/a\u003e [DOC] Remove the name from same file references\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/date/commit/cd1c0ab38ec5b5f674664a89eac7402bccf17189\"\u003e\u003ccode\u003ecd1c0ab\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/date/issues/146\"\u003e#146\u003c/a\u003e from ruby/dependabot/github_actions/step-security/har...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby/date/compare/v3.5.0...v3.5.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `faraday-net_http` from 3.4.1 to 3.4.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/lostisland/faraday-net_http/releases\"\u003efaraday-net_http's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.4.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUse more conservative net-http version constraint by \u003ca href=\"https://github.com/RDeckard\"\u003e\u003ccode\u003e@​RDeckard\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lostisland/faraday-net_http/pull/53\"\u003elostisland/faraday-net_http#53\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/RDeckard\"\u003e\u003ccode\u003e@​RDeckard\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/lostisland/faraday-net_http/pull/53\"\u003elostisland/faraday-net_http#53\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/lostisland/faraday-net_http/compare/v3.4.1...v3.4.2\"\u003ehttps://github.com/lostisland/faraday-net_http/compare/v3.4.1...v3.4.2\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/lostisland/faraday-net_http/commit/821a73a0f1fb2fd109b3ef58312b6ee10b4f2944\"\u003e\u003ccode\u003e821a73a\u003c/code\u003e\u003c/a\u003e Update ci.yml to allow manual runs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lostisland/faraday-net_http/commit/d71af6b6da15597311c59c90a02a4fe27013fb4a\"\u003e\u003ccode\u003ed71af6b\u003c/code\u003e\u003c/a\u003e Version bump to 3.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lostisland/faraday-net_http/commit/9c90d68d674de4f1a0d24f13cf05169816773840\"\u003e\u003ccode\u003e9c90d68\u003c/code\u003e\u003c/a\u003e Use more conservative net-http version constraint (\u003ca href=\"https://redirect.github.com/lostisland/faraday-net_http/issues/53\"\u003e#53\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lostisland/faraday-net_http/commit/2047b9ab36a25b595b9f444e3b12d7661c2fa818\"\u003e\u003ccode\u003e2047b9a\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 4 to 5 (\u003ca href=\"https://redirect.github.com/lostisland/faraday-net_http/issues/51\"\u003e#51\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/lostisland/faraday-net_http/compare/v3.4.1...v3.4.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io-console` from 0.8.1 to 0.8.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/io-console/releases\"\u003eio-console's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.8.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump step-security/harden-runner from 2.12.2 to 2.13.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/ruby/io-console/pull/98\"\u003eruby/io-console#98\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/checkout from 4 to 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/ruby/io-console/pull/99\"\u003eruby/io-console#99\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump step-security/harden-runner from 2.13.0 to 2.13.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/ruby/io-console/pull/101\"\u003eruby/io-console#101\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd a workflow to sync commits to ruby/ruby by \u003ca href=\"https://github.com/k0kubun\"\u003e\u003ccode\u003e@​k0kubun\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/io-console/pull/102\"\u003eruby/io-console#102\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReorder dispatching by host_os by \u003ca href=\"https://github.com/nobu\"\u003e\u003ccode\u003e@​nobu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/io-console/pull/103\"\u003eruby/io-console#103\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/upload-artifact from 4 to 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/ruby/io-console/pull/104\"\u003eruby/io-console#104\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump rubygems/release-gem from 1.1.1 to 1.1.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/ruby/io-console/pull/106\"\u003eruby/io-console#106\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump step-security/harden-runner from 2.13.1 to 2.13.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/ruby/io-console/pull/108\"\u003eruby/io-console#108\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/ruby/io-console/pull/109\"\u003eruby/io-console#109\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump step-security/harden-runner from 2.13.2 to 2.13.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/ruby/io-console/pull/110\"\u003eruby/io-console#110\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix set winsize on windows by \u003ca href=\"https://github.com/YO4\"\u003e\u003ccode\u003e@​YO4\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/io-console/pull/111\"\u003eruby/io-console#111\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/YO4\"\u003e\u003ccode\u003e@​YO4\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/io-console/pull/111\"\u003eruby/io-console#111\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ruby/io-console/compare/v0.8.1...v0.8.2\"\u003ehttps://github.com/ruby/io-console/compare/v0.8.1...v0.8.2\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/ruby/io-console/commit/fbc7e1f31f1fc2cf21baf96a845bfdbc88e47f95\"\u003e\u003ccode\u003efbc7e1f\u003c/code\u003e\u003c/a\u003e bump up to 0.8.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/io-console/commit/04fbf93609312bab0db6b6f35643f15d2af96a4e\"\u003e\u003ccode\u003e04fbf93\u003c/code\u003e\u003c/a\u003e [ci skip] wip\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/io-console/commit/379e7c17ed27af9e7ec90f5994a566b9770f6777\"\u003e\u003ccode\u003e379e7c1\u003c/code\u003e\u003c/a\u003e strip trailing spaces [ci skip]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/io-console/commit/ae337858205871ba252c934e8d095340bfe19787\"\u003e\u003ccode\u003eae33785\u003c/code\u003e\u003c/a\u003e console_cursor_pos respects scroll position on windows\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/io-console/commit/d2a6c69697c95411faf5dd69731a9d3deb056103\"\u003e\u003ccode\u003ed2a6c69\u003c/code\u003e\u003c/a\u003e console_goto respects scroll position on windows\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/io-console/commit/817aa65ea3feab358d50f7dfb70087523dd84314\"\u003e\u003ccode\u003e817aa65\u003c/code\u003e\u003c/a\u003e avoid jumping scroll position when winsize changed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/io-console/commit/df444b93f1e74322bf6d3a7c8fbbfd794c78c1e3\"\u003e\u003ccode\u003edf444b9\u003c/code\u003e\u003c/a\u003e Remove useless rb_check_arity() call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/io-console/commit/78858b0324a2abd7c6bdb8f8c4e9b92cf60370e3\"\u003e\u003ccode\u003e78858b0\u003c/code\u003e\u003c/a\u003e Bump step-security/harden-runner from 2.13.2 to 2.13.3 (\u003ca href=\"https://redirect.github.com/ruby/io-console/issues/110\"\u003e#110\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/io-console/commit/ba83488a9fe222d4cd55d8f3a321aefe25b0cdc8\"\u003e\u003ccode\u003eba83488\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 5 to 6 (\u003ca href=\"https://redirect.github.com/ruby/io-console/issues/109\"\u003e#109\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/io-console/commit/961e4a535811fd917847e60eba77ba6f9ae58c68\"\u003e\u003ccode\u003e961e4a5\u003c/code\u003e\u003c/a\u003e Bump step-security/harden-runner from 2.13.1 to 2.13.2 (\u003ca href=\"https://redirect.github.com/ruby/io-console/issues/108\"\u003e#108\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby/io-console/compare/v0.8.1...v0.8.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `net-http` from 0.7.0 to 0.9.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/net-http/releases\"\u003enet-http's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.9.1\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRaise \u003ccode\u003eNet::OpenTimeout\u003c/code\u003e when \u003ccode\u003eTCPSocket.open\u003c/code\u003e raises \u003ccode\u003eIO::TimeoutError\u003c/code\u003e. by \u003ca href=\"https://github.com/shioimm\"\u003e\u003ccode\u003e@​shioimm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-http/pull/263\"\u003eruby/net-http#263\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFreeze more constants for Ractor compatibility by \u003ca href=\"https://github.com/rhenium\"\u003e\u003ccode\u003e@​rhenium\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-http/pull/256\"\u003eruby/net-http#256\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/shioimm\"\u003e\u003ccode\u003e@​shioimm\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/net-http/pull/263\"\u003eruby/net-http#263\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ruby/net-http/compare/v0.9.0...v0.9.1\"\u003ehttps://github.com/ruby/net-http/compare/v0.9.0...v0.9.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.9.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eopen: Never call Timeout.timeout in rescue clause by \u003ca href=\"https://github.com/osyoyu\"\u003e\u003ccode\u003e@​osyoyu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-http/pull/250\"\u003eruby/net-http#250\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed by \u003ccode\u003emisspell -w -error -source=text\u003c/code\u003e by \u003ca href=\"https://github.com/hsbt\"\u003e\u003ccode\u003e@​hsbt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-http/pull/254\"\u003eruby/net-http#254\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCheck whether TCPSocket#initialize supports open_timeout once and without exceptions by \u003ca href=\"https://github.com/eregon\"\u003e\u003ccode\u003e@​eregon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-http/pull/252\"\u003eruby/net-http#252\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRefactor HTTPS tests by \u003ca href=\"https://github.com/rhenium\"\u003e\u003ccode\u003e@​rhenium\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-http/pull/255\"\u003eruby/net-http#255\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/eregon\"\u003e\u003ccode\u003e@​eregon\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/net-http/pull/252\"\u003eruby/net-http#252\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ruby/net-http/compare/v0.8.0...v0.9.0\"\u003ehttps://github.com/ruby/net-http/compare/v0.8.0...v0.9.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.8.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eBreaking changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMinimum Ruby version raised to 2.7 along with the raise of minimum \u003ccode\u003euri\u003c/code\u003e gem version (0.11.1)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e[DOC] Fix too stopped documentations by \u003ca href=\"https://github.com/nobu\"\u003e\u003ccode\u003e@​nobu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-http/pull/244\"\u003eruby/net-http#244\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReplace Timeout.timeout with TCPSocket.open(open_timeout:) when available by \u003ca href=\"https://github.com/osyoyu\"\u003e\u003ccode\u003e@​osyoyu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-http/pull/224\"\u003eruby/net-http#224\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReplace Ruby 3.5 with Ruby 4.0 by \u003ca href=\"https://github.com/yahonda\"\u003e\u003ccode\u003e@​yahonda\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-http/pull/246\"\u003eruby/net-http#246\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix handling of IPv6 literal hosts in \u003ccode\u003eNet::HTTPGenericRequest\u003c/code\u003e by \u003ca href=\"https://github.com/taketo1113\"\u003e\u003ccode\u003e@​taketo1113\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-http/pull/237\"\u003eruby/net-http#237\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003eThis fixes compatibility issue with \u003ccode\u003euri\u003c/code\u003e gem 1.1.0+, which made relevant validations strict.\u003c/li\u003e\n\u003c/ul\u003e\n\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/yahonda\"\u003e\u003ccode\u003e@​yahonda\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/net-http/pull/246\"\u003eruby/net-http#246\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/taketo1113\"\u003e\u003ccode\u003e@​taketo1113\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/net-http/pull/237\"\u003eruby/net-http#237\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ruby/net-http/compare/v0.7.0...v0.8.0\"\u003ehttps://github.com/ruby/net-http/compare/v0.7.0...v0.8.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/ruby/net-http/commit/8cee86e939f69bd0906864e7eb740bb471a205bd\"\u003e\u003ccode\u003e8cee86e\u003c/code\u003e\u003c/a\u003e v0.9.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-http/commit/76978323d43cf96e057a16adfd72c9d4e6373279\"\u003e\u003ccode\u003e7697832\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/net-http/issues/256\"\u003e#256\u003c/a\u003e from rhenium/ky/freeze-more-constants\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-http/commit/ce9ac4765a891589bc5e524d2b877dec3c6d60fd\"\u003e\u003ccode\u003ece9ac47\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/net-http/issues/263\"\u003e#263\u003c/a\u003e from shioimm/catch-ETIMEDOUT-or-IOTimeoutError\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-http/commit/f64109e1cff0b640ff6eba1bff441c229d8a2012\"\u003e\u003ccode\u003ef64109e\u003c/code\u003e\u003c/a\u003e Raise \u003ccode\u003eNet::OpenTimeout\u003c/code\u003e when \u003ccode\u003eTCPSocket.open\u003c/code\u003e raises \u003ccode\u003eIO::TimeoutError\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-http/commit/3ccf0c8e6add12f2d99062e5a1575d63ced36c1a\"\u003e\u003ccode\u003e3ccf0c8\u003c/code\u003e\u003c/a\u003e v0.9.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-http/commit/e8e37bbdfbb5684aa6a86abdbb25b3ebf3c27be4\"\u003e\u003ccode\u003ee8e37bb\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/net-http/issues/257\"\u003e#257\u003c/a\u003e from ruby/dependabot/github_actions/step-security/har...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-http/commit/f4b30da864f3bc20b60a93838e8f34e6d207b717\"\u003e\u003ccode\u003ef4b30da\u003c/code\u003e\u003c/a\u003e Bump step-security/harden-runner from 2.13.3 to 2.14.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-http/commit/836ad704fc8066d30aade68d5015e7010057c83d\"\u003e\u003ccode\u003e836ad70\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/net-http/issues/255\"\u003e#255\u003c/a\u003e from rhenium/ky/refactor-https-tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-http/commit/f24b3b358b161f84b855da36e36029fb1bea904e\"\u003e\u003ccode\u003ef24b3b3\u003c/code\u003e\u003c/a\u003e Freeze more constants for Ractor compatibility\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-http/commit/35c1745a2602f73036661a0bb070e989c33a0052\"\u003e\u003ccode\u003e35c1745\u003c/code\u003e\u003c/a\u003e Refactor HTTPS tests\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby/net-http/compare/v0.7.0...v0.9.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `oauth2` from 2.0.17 to 2.0.18\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby-oauth/oauth2/releases\"\u003eoauth2's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.0.18\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/compare/v2.0.17...v2.0.18\"\u003e2.0.18\u003c/a\u003e - 2025-11-08\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eTAG: \u003ca href=\"https://github.com/ruby-oauth/oauth2/releases/tag/v2.0.18\"\u003ev2.0.18\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCOVERAGE: 100.00% -- 526/526 lines in 14 files\u003c/li\u003e\n\u003cli\u003eBRANCH COVERAGE: 100.00% -- 178/178 branches in 14 files\u003c/li\u003e\n\u003cli\u003e90.48% documented\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/683\"\u003egh!683\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/684\"\u003egh!684\u003c/a\u003e - Improve documentation by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/686\"\u003egh!686\u003c/a\u003e- Add Incident Response Plan by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/687\"\u003egh!687\u003c/a\u003e- Add Threat Model by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/685\"\u003egh!685\u003c/a\u003e - upgrade kettle-dev v1.1.24 by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eupgrade kettle-dev v1.1.52 by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003eAdd open collective donors to README\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/690\"\u003egh!690\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/691\"\u003egh!691\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/692\"\u003egh!692\u003c/a\u003e - Add yard-fence\n\u003cul\u003e\n\u003cli\u003ehandle braces within code fences in markdown properly by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cp\u003eOfficial Discord 👉️ [![Live Chat on Discord][✉️discord-invite-img]][✉️discord-invite]\u003c/p\u003e\n\u003cp\u003eMany paths lead to being a sponsor or a backer of this project. Are you on such a path?\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://opencollective.com/ruby-oauth#backer\"\u003e![OpenCollective Backers][🖇osc-backers-i]\u003c/a\u003e [![OpenCollective Sponsors][🖇osc-sponsors-i]][🖇osc-sponsors] [![Sponsor Me on Github][🖇sponsor-img]][🖇sponsor] \u003ca href=\"https://liberapay.com/pboling/donate\"\u003e\u003cimg src=\"https://img.shields.io/liberapay/goal/pboling.svg?logo=liberapay\u0026amp;color=a51611\u0026amp;style=flat\" alt=\"Liberapay Goal Progress\" /\u003e\u003c/a\u003e [![Donate on PayPal][🖇paypal-img]][🖇paypal]\u003c/p\u003e\n\u003cp\u003e[![Buy me a coffee][🖇buyme-small-img]][🖇buyme] [![Donate on Polar][🖇polar-img]][🖇polar] [![Donate to my FLOSS efforts at ko-fi.com][🖇kofi-img]][🖇kofi] [![Donate to my FLOSS efforts using Patreon][🖇patreon-img]][🖇patreon]\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\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby-oauth/oauth2/blob/main/CHANGELOG.md\"\u003eoauth2's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[2.0.18] - 2025-11-08\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eTAG: [v2.0.18][2.0.18t]\u003c/li\u003e\n\u003cli\u003eCOVERAGE: 100.00% -- 526/526 lines in 14 files\u003c/li\u003e\n\u003cli\u003eBRANCH COVERAGE: 100.00% -- 178/178 branches in 14 files\u003c/li\u003e\n\u003cli\u003e90.48% documented\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/683\"\u003egh!683\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/684\"\u003egh!684\u003c/a\u003e - Improve documentation by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/686\"\u003egh!686\u003c/a\u003e- Add Incident Response Plan by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/687\"\u003egh!687\u003c/a\u003e- Add Threat Model by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/685\"\u003egh!685\u003c/a\u003e - upgrade kettle-dev v1.1.24 by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eupgrade kettle-dev v1.1.52 by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003eAdd open collective donors to README\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/690\"\u003egh!690\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/691\"\u003egh!691\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/692\"\u003egh!692\u003c/a\u003e - Add yard-fence\n\u003cul\u003e\n\u003cli\u003ehandle braces within code fences in markdown properly by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSecurity\u003c/h3\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/ruby-oauth/oauth2/commit/b5753116121553d56937039dafc5ea472d9a99ed\"\u003e\u003ccode\u003eb575311\u003c/code\u003e\u003c/a\u003e 🔖 Prepare release v2.0.18\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/b5af77ba42ec111dda68abdee33d631e27fdfe61\"\u003e\u003ccode\u003eb5af77b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/issues/693\"\u003e#693\u003c/a\u003e from ruby-oauth/feat/docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/cf2853d9fa05999f88c9df8b1b3a8a3ed21c64e8\"\u003e\u003ccode\u003ecf2853d\u003c/code\u003e\u003c/a\u003e 📝 Update docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/18434156bfc988527d2453b2174e6356e233757d\"\u003e\u003ccode\u003e1843415\u003c/code\u003e\u003c/a\u003e ⬆️ kettle-dev v1.1.52, yard-fence v0.8.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/f592dd8753966a30671ebc2e8a28ab26138b6c2b\"\u003e\u003ccode\u003ef592dd8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/issues/692\"\u003e#692\u003c/a\u003e from ruby-oauth/feat/docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/2095732d7cd4eeb80fe74c89e2a2d012517e40d6\"\u003e\u003ccode\u003e2095732\u003c/code\u003e\u003c/a\u003e ⬆️ yard-fence v0.7.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/50f3fd08e733ed75b2cc99e077e9ea9d64a3d5d5\"\u003e\u003ccode\u003e50f3fd0\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/issues/691\"\u003e#691\u003c/a\u003e from ruby-oauth/feat/docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/bcb0e40bfca989f164a04cbf46a4175822b7cb28\"\u003e\u003ccode\u003ebcb0e40\u003c/code\u003e\u003c/a\u003e ✏️ Fix typos in docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/f24f1a8bfbf546595aa16cd6fa82119c8218c1d3\"\u003e\u003ccode\u003ef24f1a8\u003c/code\u003e\u003c/a\u003e Create CNAME\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/bff58e1afec541feca2a337664d09c58b8a22419\"\u003e\u003ccode\u003ebff58e1\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/issues/690\"\u003e#690\u003c/a\u003e from ruby-oauth/feat/yard-fence\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby-oauth/oauth2/compare/v2.0.17...v2.0.18\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `openapi_parser` from 2.3.0 to 2.3.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ota42y/openapi_parser/blob/master/CHANGELOG.md\"\u003eopenapi_parser's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.1 (2025-11-14)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eadd optional date coercion with behavior matching existing datetime coercion\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/ota42y/openapi_parser/commit/0b68c8c019b9201911b41fb0fc86717f1372ca72\"\u003e\u003ccode\u003e0b68c8c\u003c/code\u003e\u003c/a\u003e v2.3.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ota42y/openapi_parser/commit/2e4e4403b548030fcf941cbddff9424703cab575\"\u003e\u003ccode\u003e2e4e440\u003c/code\u003e\u003c/a\u003e Add date coercion (\u003ca href=\"https://redirect.github.com/ota42y/openapi_parser/issues/188\"\u003e#188\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ota42y/openapi_parser/commit/2361ec7e94a8d4d3e4b179853c64acdc68a2073e\"\u003e\u003ccode\u003e2361ec7\u003c/code\u003e\u003c/a\u003e ci: expand workflow trigger events\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/ota42y/openapi_parser/compare/v2.3.0...v2.3.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `optparse` from 0.8.0 to 0.8.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/optparse/releases\"\u003eoptparse's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.8.1\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate comments to use $HOME instead of ~ by \u003ca href=\"https://github.com/sampersand\"\u003e\u003ccode\u003e@​sampersand\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/optparse/pull/117\"\u003eruby/optparse#117\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePut \u003ccode\u003eprivate\u003c/code\u003e before method declarations by \u003ca href=\"https://github.com/sampersand\"\u003e\u003ccode\u003e@​sampersand\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/optparse/pull/119\"\u003eruby/optparse#119\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove \u003ccode\u003econst_set\u003c/code\u003e and instead use explicit assignments by \u003ca href=\"https://github.com/sampersand\"\u003e\u003ccode\u003e@​sampersand\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/optparse/pull/118\"\u003eruby/optparse#118\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/sampersand\"\u003e\u003ccode\u003e@​sampersand\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/optparse/pull/117\"\u003eruby/optparse#117\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ruby/optparse/compare/v0.8.0...v0.8.1\"\u003ehttps://github.com/ruby/optparse/compare/v0.8.0...v0.8.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/ruby/optparse/commit/f2e31e81a50cb3c7c7e8523c41497c7588bc5669\"\u003e\u003ccode\u003ef2e31e8\u003c/code\u003e\u003c/a\u003e v0.8.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/optparse/commit/1cf9522367f352545e942ffaae6f4b3741c648b3\"\u003e\u003ccode\u003e1cf9522\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 6.0.0 to 6.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/optparse/commit/920f0b6177ffeb93cb218cd464c025530bf6a6b9\"\u003e\u003ccode\u003e920f0b6\u003c/code\u003e\u003c/a\u003e Bump step-security/harden-runner from 2.13.2 to 2.13.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/optparse/commit/6e2709a5fd29fb7c189b28393a61759c99c691ad\"\u003e\u003ccode\u003e6e2709a\u003c/code\u003e\u003c/a\u003e Remove \u003ccode\u003econst_set\u003c/code\u003e and instead use explicit assignments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/optparse/commit/1ceceeb2de67704092af8b392608ead7ca2f7a7b\"\u003e\u003ccode\u003e1ceceeb\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 5.0.1 to 6.0.0 (\u003ca href=\"https://redirect.github.com/ruby/optparse/issues/120\"\u003e#120\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/optparse/commit/9a784a89a22ac439e31b99e8004c446662766da2\"\u003e\u003ccode\u003e9a784a8\u003c/code\u003e\u003c/a\u003e Remove unneeded \u003ccode\u003epublic\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/optparse/commit/5478354d4f80b11e213723e8195f423b6c6aff41\"\u003e\u003ccode\u003e5478354\u003c/code\u003e\u003c/a\u003e Put \u003ccode\u003eprivate\u003c/code\u003e before method declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/optparse/commit/ff6a342bc2e935a41a59afe0fccb8048979f97ea\"\u003e\u003ccode\u003eff6a342\u003c/code\u003e\u003c/a\u003e Update comments to use $HOME instead of ~\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/optparse/commit/208c515c6d467723f016a621473aca5808a47e4a\"\u003e\u003ccode\u003e208c515\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 5 to 6 (\u003ca href=\"https://redirect.github.com/ruby/optparse/issues/114\"\u003e#114\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/optparse/commit/aae488004ce8703abfcadb79a51405211e6e8911\"\u003e\u003ccode\u003eaae4880\u003c/code\u003e\u003c/a\u003e Bump step-security/harden-runner from 2.13.1 to 2.13.2\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby/optparse/compare/v0.8.0...v0.8.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `public_suffix` from 6.0.2 to 7.0.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/weppos/publicsuffix-ruby/blob/main/CHANGELOG.md\"\u003epublic_suffix's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e7.0.0\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated definitions.\u003c/li\u003e\n\u003cli\u003eMinimum Ruby version is 3.2\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/weppos/publicsuffix-ruby/commit/af45298523be055dd86ec9d7bac1bb26621ddbb2\"\u003e\u003ccode\u003eaf45298\u003c/code\u003e\u003c/a\u003e Release 7.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weppos/publicsuffix-ruby/commit/93b01019a89a226d4b59a7d0203d9c19eec18ee0\"\u003e\u003ccode\u003e93b0101\u003c/code\u003e\u003c/a\u003e Create RELEASING.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weppos/publicsuffix-ruby/commit/0b56a7c26fedd381f1bc50269dfcd17b51ca8c62\"\u003e\u003ccode\u003e0b56a7c\u003c/code\u003e\u003c/a\u003e Cleanup README\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weppos/publicsuffix-ruby/commit/12fc739d726b8e4de1b40b7e9a7860c1b8bd2a5e\"\u003e\u003ccode\u003e12fc739\u003c/code\u003e\u003c/a\u003e Reorganize README\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weppos/publicsuffix-ruby/commit/193be1d045a8e935ff80457c6cd81c497d0b8b11\"\u003e\u003ccode\u003e193be1d\u003c/code\u003e\u003c/a\u003e Minimum Ruby version is 3.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weppos/publicsuffix-ruby/commit/8e8bf6b4724a21ef07f653c879d6bad0f63e8f44\"\u003e\u003ccode\u003e8e8bf6b\u003c/code\u003e\u003c/a\u003e build(deps): update mocha requirement from ~\u0026gt; 2.7.0 to ~\u0026gt; 2.8.2 (\u003ca href=\"https://redirect.github.com/weppos/publicsuffix-ruby/issues/476\"\u003e#476\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weppos/publicsuffix-ruby/commit/f0553bfcc529d05ce5bac951cf735a147c6a417a\"\u003e\u003ccode\u003ef0553bf\u003c/code\u003e\u003c/a\u003e Updated list from source (\u003ca href=\"https://redirect.github.com/weppos/publicsuffix-ruby/issues/475\"\u003e#475\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weppos/publicsuffix-ruby/commit/34ea4ed4ae67afb24c6b0dbc09669ecc8e362156\"\u003e\u003ccode\u003e34ea4ed\u003c/code\u003e\u003c/a\u003e Updated list from source (\u003ca href=\"https://redirect.github.com/weppos/publicsuffix-ruby/issues/474\"\u003e#474\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weppos/publicsuffix-ruby/commit/0f5aace9b679d9f9a3ad2a8564454726a3cdb2e5\"\u003e\u003ccode\u003e0f5aace\u003c/code\u003e\u003c/a\u003e Updated list from source (\u003ca href=\"https://redirect.github.com/weppos/publicsuffix-ruby/issues/473\"\u003e#473\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weppos/publicsuffix-ruby/commit/a6c373a2265863d7463e81e52dceada6202ab2e4\"\u003e\u003ccode\u003ea6c373a\u003c/code\u003e\u003c/a\u003e Updated list from source (\u003ca href=\"https://redirect.github.com/weppos/publicsuffix-ruby/issues/472\"\u003e#472\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/weppos/publicsuffix-ruby/compare/v6.0.2...v7.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rqrcode_core` from 2.0.0 to 2.0.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/whomwah/rqrcode_core/releases\"\u003erqrcode_core's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.0.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ev2.0.0 Release mergeback by \u003ca href=\"https://github.com/whomwah\"\u003e\u003ccode\u003e@​whomwah\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/whomwah/rqrcode_core/pull/46\"\u003ewhomwah/rqrcode_core#46\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix compare link for version 2.0.0 [ci skip] by \u003ca href=\"https://github.com/prognostikos\"\u003e\u003ccode\u003e@​prognostikos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/whomwah/rqrcode_core/pull/47\"\u003ewhomwah/rqrcode_core#47\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate required_ruby_version to Ruby 4.0 by \u003ca href=\"https://github.com/k0kubun\"\u003e\u003ccode\u003e@​k0kubun\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/whomwah/rqrcode_core/pull/48\"\u003ewhomwah/rqrcode_core#48\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReleases/v2.0.1 by \u003ca href=\"https://github.com/whomwah\"\u003e\u003ccode\u003e@​whomwah\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/whomwah/rqrcode_core/pull/49\"\u003ewhomwah/rqrcode_core#49\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/prognostikos\"\u003e\u003ccode\u003e@​prognostikos\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/whomwah/rqrcode_core/pull/47\"\u003ewhomwah/rqrcode_core#47\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/k0kubun\"\u003e\u003ccode\u003e@​k0kubun\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/whomwah/rqrcode_core/pull/48\"\u003ewhomwah/rqrcode_core#48\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/whomwah/rqrcode_core/compare/v2.0.0...v2.0.1\"\u003ehttps://github.com/whomwah/rqrcode_core/compare/v2.0.0...v2.0.1\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/whomwah/rqrcode_core/blob/main/CHANGELOG.md\"\u003erqrcode_core's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[2.0.1] - 2025-11-25\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate required_ruby_version to support \u0026gt;= rather than ~\u0026gt; ready for Ruby 4\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/whomwah/rqrcode_core/commit/e90cd933aca95575367bbc267b22cc04fce4ec4f\"\u003e\u003ccode\u003ee90cd93\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/whomwah/rqrcode_core/issues/49\"\u003e#49\u003c/a\u003e from whomwah/releases/v2.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/whomwah/rqrcode_core/commit/5e48a2f0a007d35ce169f6d4d45ae60f528c2f72\"\u003e\u003ccode\u003e5e48a2f\u003c/code\u003e\u003c/a\u003e release: Bump version to 2.0.1 and update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/whomwah/rqrcode_core/commit/a35eebde0f650074331206ccc7c6dc39a3fbb664\"\u003e\u003ccode\u003ea35eebd\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/whomwah/rqrcode_core/issues/48\"\u003e#48\u003c/a\u003e from k0kubun/ruby-4-0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/whomwah/rqrcode_core/commit/5108d47343eac062b5d8bb2526425575f1b645f5\"\u003e\u003ccode\u003e5108d47\u003c/code\u003e\u003c/a\u003e Update required_ruby_version to Ruby 4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/whomwah/rqrcode_core/commit/ccf2c64185c9c22c9e55ebaedcf61cc45d5addad\"\u003e\u003ccode\u003eccf2c64\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/whomwah/rqrcode_core/issues/47\"\u003e#47\u003c/a\u003e from prognostikos/patch-1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/whomwah/rqrcode_core/commit/4ad199bb61771d06da4401d06d8b7b70d791db25\"\u003e\u003ccode\u003e4ad199b\u003c/code\u003e\u003c/a\u003e Fix compare link for version 2.0.0 [ci skip]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/whomwah/rqrcode_core/commit/c1dc8b2daaea5fe35f92416ab0d22ea25fc790aa\"\u003e\u003ccode\u003ec1dc8b2\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/whomwah/rqrcode_core/issues/46\"\u003e#46\u003c/a\u003e from whomwah/release\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/whomwah/rqrcode_core/compare/v2.0.0...v2.0.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `timeout` from 0.4.4 to 0.6.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/timeout/releases\"\u003etimeout's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.6.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSuppress warnings in two tests by \u003ca href=\"https://github.com/olleolleolle\"\u003e\u003ccode\u003e@​olleolleolle\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/timeout/pull/71\"\u003eruby/timeout#71\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRevert \u0026quot;Suppress warnings in two tests\u0026quot; by \u003ca href=\"https://github.com/nobu\"\u003e\u003ccode\u003e@​nobu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/timeout/pull/74\"\u003eruby/timeout#74\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOnly the timeout method should be public on the Timeout module by \u003ca href=\"https://github.com/eregon\"\u003e\u003ccode\u003e@​eregon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/timeout/pull/76\"\u003eruby/timeout#76\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003esupport Ractor by \u003ca href=\"https://github.com/ko1\"\u003e\u003ccode\u003e@​ko1\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/timeout/pull/75\"\u003eruby/timeout#75\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTest that Timeout does not expose extra constants by \u003ca href=\"https://github.com/eregon\"\u003e\u003ccode\u003e@​eregon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/timeout/pull/77\"\u003eruby/timeout#77\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRevert \u0026quot;Exclude constantly-failing test on x86_64-darwin\u0026quot; by \u003ca href=\"https://github.com/ko1\"\u003e\u003ccode\u003e@​ko1\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/timeout/pull/79\"\u003eruby/timeout#79\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReset the interrupt mask when creating the Timeout thread by \u003ca href=\"https://github.com/eregon\"\u003e\u003ccode\u003e@​eregon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/timeout/pull/80\"\u003eruby/timeout#80\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake Timeout.timeout work in a trap handler on CRuby by \u003ca href=\"https://github.com/eregon\"\u003e\u003ccode\u003e@​eregon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/timeout/pull/81\"\u003eruby/timeout#81\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSkip signal test on windows by \u003ca href=\"https://github.com/byroot\"\u003e\u003ccode\u003e@​byroot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/timeout/pull/82\"\u003eruby/timeout#82\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd windows to CI matrix by \u003ca href=\"https://github.com/byroot\"\u003e\u003ccode\u003e@​byroot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/timeout/pull/83\"\u003eruby/timeout#83\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix failing timeout test by \u003ca href=\"https://github.com/luke-gruber\"\u003e\u003ccode\u003e@​luke-gruber\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/timeout/pull/85\"\u003eruby/timeout#85\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRestore original signal handler in test_timeout_in_trap_handler by \u003ca href=\"https://github.com/eregon\"\u003e\u003ccode\u003e@​eregon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/timeout/pull/87\"\u003eruby/timeout#87\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRun on Windows for all versions and remove old excludes by \u003ca href=\"https://github.com/eregon\"\u003e\u003ccode\u003e@​eregon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/timeout/pull/84\"\u003eruby/timeout#84\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/ko1\"\u003e\u003ccode\u003e@​ko1\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/timeout/pull/75\"\u003eruby/timeout#75\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/byroot\"\u003e\u003ccode\u003e@​byroot\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/timeout/pull/82\"\u003eruby/timeout#82\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/luke-gruber\"\u003e\u003ccode\u003e@​luke-gruber\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/timeout/pull/85\"\u003eruby/timeout#85\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ruby/timeout/compare/v0.4.4...v0.6.0\"\u003ehttps://github.com/ruby/timeout/compare/v0.4.4...v0.6.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.5.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSuppress warnings in two tests by \u003ca href=\"https://github.com/olleolleolle\"\u003e\u003ccode\u003e@​olleolleolle\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/timeout/pull/71\"\u003eruby/timeout#71\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRevert \u0026quot;Suppress warnings in two tests\u0026quot; by \u003ca href=\"https://github.com/nobu\"\u003e\u003ccode\u003e@​nobu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/timeout/pull/74\"\u003eruby/timeout#74\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOnly the timeout method should be public on the Timeout module by \u003ca href=\"https://github.com/eregon\"\u003e\u003ccode\u003e@​eregon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/timeout/pull/76\"\u003eruby/timeout#76\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003esupport Ractor by \u003ca href=\"https://github.com/ko1\"\u003e\u003ccode\u003e@​ko1\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/timeout/pull/75\"\u003eruby/timeout#75\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTest that Timeout does not expose extra constants by \u003ca href=\"https://github.com/eregon\"\u003e\u003ccode\u003e@​eregon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/timeout/pull/77\"\u003eruby/timeout#77\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/ko1\"\u003e\u003ccode\u003e@​ko1\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/timeout/pull/75\"\u003eruby/timeout#75\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ruby/timeout/compare/v0.4.4...v0.5.0\"\u003ehttps://github.com/ruby/timeout/compare/v0.4.4...v0.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/ruby/timeout/commit/ab79dfff47092008ce08520763c846eba3a3a5f1\"\u003e\u003ccode\u003eab79dff\u003c/code\u003e\u003c/a\u003e v0.6.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/timeout/commit/2eb16dc3c02387fcdd3de265e755fc6956c0bf51\"\u003e\u003ccode\u003e2eb16dc\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/timeout/issues/88\"\u003e#88\u003c/a\u003e from ruby/dependabot/github_actions/step-security/hard...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/timeout/commit/179ea36ef1849c7fe1bd72c4ecd418f2bba5bb3e\"\u003e\u003ccode\u003e179ea36\u003c/code\u003e\u003c/a\u003e Bump step-security/harden-runner from 2.13.3 to 2.14.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/timeout/commit/549605db39602a4fc351165d061e70953b03bb9c\"\u003e\u003ccode\u003e549605d\u003c/code\u003e\u003c/a\u003e Run on Windows for all versions and remove old excludes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/timeout/commit/4ae8631acfe8fb94964b8f3c56c1d3b4e8a92be7\"\u003e\u003ccode\u003e4ae8631\u003c/code\u003e\u003c/a\u003e Restore original signal handler in test_timeout_in_trap_handler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/timeout/commit/e5bc1de901ed40227c462863a16f1e13715f9228\"\u003e\u003ccode\u003ee5bc1de\u003c/code\u003e\u003c/a\u003e Fix failing timeout test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/timeout/commit/d95f1b8e6e9100e0ee62611c9c6b7cbb7fe9dd23\"\u003e\u003ccode\u003ed95f1b8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/timeout/issues/83\"\u003e#83\u003c/a\u003e from byroot/test-on-windows\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/timeout/commit/c8d63ce3fecc201cc19303f766cfc81f0cada921\"\u003e\u003ccode\u003ec8d63ce\u003c/code\u003e\u003c/a\u003e Add windows to CI matrix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/ti...\n\n_Description has been truncated_","html_url":"https://github.com/ubicloud/ubicloud/pull/4445","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/ubicloud%2Fubicloud/issues/4445","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/4445/packages"}},{"old_version":"2.0.17","new_version":"2.0.18","update_type":"patch","path":null,"pr_created_at":"2025-12-24T03:12:11.000Z","version_change":"2.0.17 → 2.0.18","issue":{"uuid":"3759066912","node_id":"PR_kwDODdTws866aovB","number":3153,"state":"closed","title":"Bump the bundler group across 1 directory with 97 updates","user":"dependabot[bot]","labels":["dependencies","ruby"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2025-12-31T03:08:04.000Z","author_association":null,"state_reason":null,"created_at":"2025-12-24T03:12:11.000Z","updated_at":"2025-12-31T03:08:06.000Z","time_to_close":604553,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"bundler","update_count":97,"packages":[{"name":"bootsnap","old_version":"1.18.6","new_version":"1.20.0","repository_url":"https://github.com/rails/bootsnap"},{"name":"govuk-components","old_version":"5.11.3","new_version":"5.13.1","repository_url":"https://github.com/x-govuk/govuk-components"},{"name":"govuk_design_system_formbuilder","old_version":"5.11.0","new_version":"5.13.0","repository_url":"https://github.com/x-govuk/govuk-form-builder"},{"name":"haml-rails","old_version":"2.1.0","new_version":"3.0.0","repository_url":"https://github.com/haml/haml-rails"},{"name":"oauth2","old_version":"2.0.17","new_version":"2.0.18","repository_url":"https://github.com/ruby-oauth/oauth2"},{"name":"omniauth-rails_csrf_protection","old_version":"1.0.2","new_version":"2.0.1","repository_url":"https://github.com/cookpad/omniauth-rails_csrf_protection"},{"name":"prometheus_exporter","old_version":"2.3.0","new_version":"2.3.1","repository_url":"https://github.com/discourse/prometheus_exporter"},{"name":"puma","old_version":"7.0.4","new_version":"7.1.0","repository_url":"https://github.com/puma/puma"},{"name":"rails","old_version":"8.0.3","new_version":"8.1.1","repository_url":"https://github.com/rails/rails"},{"name":"sentry-rails","old_version":"5.27.1","new_version":"6.2.0","repository_url":"https://github.com/getsentry/sentry-ruby"},{"name":"sentry-sidekiq","old_version":"5.27.1","new_version":"6.2.0","repository_url":"https://github.com/getsentry/sentry-ruby"},{"name":"dotenv-rails","old_version":"3.1.8","new_version":"3.2.0","repository_url":"https://github.com/bkeepers/dotenv"},{"name":"sidekiq","old_version":"8.0.7","new_version":"8.1.0","repository_url":"https://github.com/sidekiq/sidekiq"},{"name":"turbo-rails","old_version":"2.0.16","new_version":"2.0.20","repository_url":"https://github.com/hotwired/turbo-rails"},{"name":"axe-core-rspec","old_version":"4.10.3","new_version":"4.11.0","repository_url":"https://github.com/dequelabs/axe-core-gems"},{"name":"brakeman","old_version":"7.1.0","new_version":"7.1.1","repository_url":"https://github.com/presidentbeef/brakeman"},{"name":"haml_lint","old_version":"0.66.0","new_version":"0.68.0","repository_url":"https://github.com/sds/haml-lint"},{"name":"i18n-tasks","old_version":"1.0.15","new_version":"1.1.2","repository_url":"https://github.com/glebm/i18n-tasks"},{"name":"rubocop","old_version":"1.80.2","new_version":"1.82.0","repository_url":"https://github.com/rubocop/rubocop"},{"name":"rubocop-factory_bot","old_version":"2.27.1","new_version":"2.28.0","repository_url":"https://github.com/rubocop/rubocop-factory_bot"},{"name":"rubocop-performance","old_version":"1.26.0","new_version":"1.26.1","repository_url":"https://github.com/rubocop/rubocop-performance"},{"name":"rubocop-rails","old_version":"2.33.3","new_version":"2.34.2","repository_url":"https://github.com/rubocop/rubocop-rails"},{"name":"rubocop-rspec","old_version":"3.7.0","new_version":"3.8.0","repository_url":"https://github.com/rubocop/rubocop-rspec"},{"name":"rubocop-rspec_rails","old_version":"2.31.0","new_version":"2.32.0","repository_url":"https://github.com/rubocop/rubocop-rspec_rails"},{"name":"selenium-webdriver","old_version":"4.35.0","new_version":"4.39.0","repository_url":"https://github.com/SeleniumHQ/selenium"},{"name":"shoulda-matchers","old_version":"6.5.0","new_version":"7.0.1","repository_url":"https://github.com/thoughtbot/shoulda-matchers"},{"name":"vcr","old_version":"6.3.1","new_version":"6.4.0","repository_url":"https://github.com/vcr/vcr"},{"name":"webmock","old_version":"3.25.1","new_version":"3.26.1","repository_url":"https://github.com/bblimke/webmock"},{"name":"faker","old_version":"3.5.2","new_version":"3.5.3","repository_url":"https://github.com/faker-ruby/faker"},{"name":"net-imap","old_version":"0.5.10","new_version":"0.6.2","repository_url":"https://github.com/ruby/net-imap"},{"name":"factory_bot","old_version":"6.5.5","new_version":"6.5.6","repository_url":"https://github.com/thoughtbot/factory_bot"},{"name":"faraday-follow_redirects","old_version":"0.3.0","new_version":"0.4.0","repository_url":"https://github.com/tisba/faraday-follow-redirects"},{"name":"json-jwt","old_version":"1.16.7","new_version":"1.17.0","repository_url":"https://github.com/nov/json-jwt"},{"name":"rack-oauth2","old_version":"2.2.1","new_version":"2.3.0","repository_url":"https://github.com/nov/rack-oauth2"},{"name":"responders","old_version":"3.1.1","new_version":"3.2.0","repository_url":"https://github.com/heartcombo/responders"},{"name":"rspec","old_version":"3.13.1","new_version":"3.13.2","repository_url":"https://github.com/rspec/rspec"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps the bundler group with 36 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [bootsnap](https://github.com/rails/bootsnap) | `1.18.6` | `1.20.0` |\n| [govuk-components](https://github.com/x-govuk/govuk-components) | `5.11.3` | `5.13.1` |\n| [govuk_design_system_formbuilder](https://github.com/x-govuk/govuk-form-builder) | `5.11.0` | `5.13.0` |\n| [haml-rails](https://github.com/haml/haml-rails) | `2.1.0` | `3.0.0` |\n| [oauth2](https://github.com/ruby-oauth/oauth2) | `2.0.17` | `2.0.18` |\n| [omniauth-rails_csrf_protection](https://github.com/cookpad/omniauth-rails_csrf_protection) | `1.0.2` | `2.0.1` |\n| [prometheus_exporter](https://github.com/discourse/prometheus_exporter) | `2.3.0` | `2.3.1` |\n| [puma](https://github.com/puma/puma) | `7.0.4` | `7.1.0` |\n| [rails](https://github.com/rails/rails) | `8.0.3` | `8.1.1` |\n| [sentry-rails](https://github.com/getsentry/sentry-ruby) | `5.27.1` | `6.2.0` |\n| [sentry-sidekiq](https://github.com/getsentry/sentry-ruby) | `5.27.1` | `6.2.0` |\n| [dotenv-rails](https://github.com/bkeepers/dotenv) | `3.1.8` | `3.2.0` |\n| [sidekiq](https://github.com/sidekiq/sidekiq) | `8.0.7` | `8.1.0` |\n| [turbo-rails](https://github.com/hotwired/turbo-rails) | `2.0.16` | `2.0.20` |\n| [axe-core-rspec](https://github.com/dequelabs/axe-core-gems) | `4.10.3` | `4.11.0` |\n| [brakeman](https://github.com/presidentbeef/brakeman) | `7.1.0` | `7.1.1` |\n| [haml_lint](https://github.com/sds/haml-lint) | `0.66.0` | `0.68.0` |\n| [i18n-tasks](https://github.com/glebm/i18n-tasks) | `1.0.15` | `1.1.2` |\n| [rubocop](https://github.com/rubocop/rubocop) | `1.80.2` | `1.82.0` |\n| [rubocop-factory_bot](https://github.com/rubocop/rubocop-factory_bot) | `2.27.1` | `2.28.0` |\n| [rubocop-performance](https://github.com/rubocop/rubocop-performance) | `1.26.0` | `1.26.1` |\n| [rubocop-rails](https://github.com/rubocop/rubocop-rails) | `2.33.3` | `2.34.2` |\n| [rubocop-rspec](https://github.com/rubocop/rubocop-rspec) | `3.7.0` | `3.8.0` |\n| [rubocop-rspec_rails](https://github.com/rubocop/rubocop-rspec_rails) | `2.31.0` | `2.32.0` |\n| [selenium-webdriver](https://github.com/SeleniumHQ/selenium) | `4.35.0` | `4.39.0` |\n| [shoulda-matchers](https://github.com/thoughtbot/shoulda-matchers) | `6.5.0` | `7.0.1` |\n| [vcr](https://github.com/vcr/vcr) | `6.3.1` | `6.4.0` |\n| [webmock](https://github.com/bblimke/webmock) | `3.25.1` | `3.26.1` |\n| [faker](https://github.com/faker-ruby/faker) | `3.5.2` | `3.5.3` |\n| [net-imap](https://github.com/ruby/net-imap) | `0.5.10` | `0.6.2` |\n| [factory_bot](https://github.com/thoughtbot/factory_bot) | `6.5.5` | `6.5.6` |\n| [faraday-follow_redirects](https://github.com/tisba/faraday-follow-redirects) | `0.3.0` | `0.4.0` |\n| [json-jwt](https://github.com/nov/json-jwt) | `1.16.7` | `1.17.0` |\n| [rack-oauth2](https://github.com/nov/rack-oauth2) | `2.2.1` | `2.3.0` |\n| [responders](https://github.com/heartcombo/responders) | `3.1.1` | `3.2.0` |\n| [rspec](https://github.com/rspec/rspec) | `3.13.1` | `3.13.2` |\n\n\nUpdates `bootsnap` from 1.18.6 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/rails/bootsnap/releases\"\u003ebootsnap'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\u003cul\u003e\n\u003cli\u003eOptimized load path scanning with a C extension. Should be about 2x faster on supported platforms.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/rails/bootsnap/compare/v1.19.0...v1.20.0\"\u003ehttps://github.com/rails/bootsnap/compare/v1.19.0...v1.20.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/rails/bootsnap/blob/main/CHANGELOG.md\"\u003ebootsnap's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e1.20.0\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eOptimized load path scanning with a C extension. Should be about 2x faster on supported platforms.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e1.19.0\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eRemove JSON parsing cache. Recent versions of the \u003ccode\u003ejson\u003c/code\u003e gem are as fast as \u003ccode\u003emsgpack\u003c/code\u003e if not faster.\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/rails/bootsnap/commit/fac34b899341134389dd8067678230d95e409939\"\u003e\u003ccode\u003efac34b8\u003c/code\u003e\u003c/a\u003e Release 1.20.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/71311d4c599a2d4eebec29652889577ff430499c\"\u003e\u003ccode\u003e71311d4\u003c/code\u003e\u003c/a\u003e Include Bootsnap::VERSION in LoadPathCache version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/f5c43ac14b11e9771155d5a5a402c6a8ef0f8ef6\"\u003e\u003ccode\u003ef5c43ac\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/bootsnap/issues/512\"\u003e#512\u003c/a\u003e from byroot/prune-load-dir\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/f94f668c545122c26462d31cec647095282b68a1\"\u003e\u003ccode\u003ef94f668\u003c/code\u003e\u003c/a\u003e Stop caching directories in LoadPathCache\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/e3b5292b2f00012130b2529ec01ac42bdddbe0b2\"\u003e\u003ccode\u003ee3b5292\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/bootsnap/issues/511\"\u003e#511\u003c/a\u003e from byroot/c-ext-load-path-scan\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/e91dd2158b014d7f233028475942b9fbe2c9ed2c\"\u003e\u003ccode\u003ee91dd21\u003c/code\u003e\u003c/a\u003e Implement PathScanner in C to avoid N+1 \u003ccode\u003estat(2)\u003c/code\u003e calls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/c77d5ccfec3188c8feb259963eaad5debc955bcf\"\u003e\u003ccode\u003ec77d5cc\u003c/code\u003e\u003c/a\u003e Cleanup the c extension\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/73f65128eccdd258818494e64c4230ae78af599b\"\u003e\u003ccode\u003e73f6512\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/bootsnap/issues/510\"\u003e#510\u003c/a\u003e from rails/dependabot/github_actions/actions/checkout-6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/55683073bdb836220a0d8d53fe8d1a4a6dc54caa\"\u003e\u003ccode\u003e5568307\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 5 to 6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/d4ad1673943b416cd46491ffe236df29862ce37f\"\u003e\u003ccode\u003ed4ad167\u003c/code\u003e\u003c/a\u003e Release 1.19.0\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/bootsnap/compare/v1.18.6...v1.20.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `govuk-components` from 5.11.3 to 5.13.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/x-govuk/govuk-components/releases\"\u003egovuk-components's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 5.13.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix a bug in the service nav where \u003ccode\u003earia-current=\u0026quot;true\u0026quot;\u003c/code\u003e was showing where it shouldn't have been. Thanks \u003ca href=\"https://github.com/DavidBiddle\"\u003e\u003ccode\u003e@​DavidBiddle\u003c/code\u003e\u003c/a\u003e for diagnosing (\u003ca href=\"https://redirect.github.com/x-govuk/govuk-components/issues/621\"\u003e#621\u003c/a\u003e) and fixing (\u003ca href=\"https://redirect.github.com/x-govuk/govuk-components/issues/622\"\u003e#622\u003c/a\u003e) this :heart:\u003c/li\u003e\n\u003cli\u003eChange some links in the docs from netlify.app to x-govuk.org\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 5.13.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Rails 8.1. Thanks \u003ca href=\"https://github.com/thomasleese\"\u003e\u003ccode\u003e@​thomasleese\u003c/code\u003e\u003c/a\u003e. \u003ca href=\"https://redirect.github.com/x-govuk/govuk-components/issues/619\"\u003e#619\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to govuk-frontend 5.13.0\u003c/li\u003e\n\u003cli\u003eAdd Netlify link to the footer to qualify for Netlify's open source plan which we're using for the \u003ca href=\"https://govuk-components.x-govuk.org/\"\u003enew guide domain\u003c/a\u003e  ccb566fd4cd1ed5a8\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/x-govuk/govuk-components/commit/ae1d8499a1abb27f460bbf27f2bff7783aac258e\"\u003e\u003ccode\u003eae1d849\u003c/code\u003e\u003c/a\u003e Release version 5.13.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/x-govuk/govuk-components/commit/11c9b1a68c1527fd1ee7ce5ce7cd156404cf606c\"\u003e\u003ccode\u003e11c9b1a\u003c/code\u003e\u003c/a\u003e Change links from netlify.app to x-govuk.org\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/x-govuk/govuk-components/commit/fb64c67029b5be08c0d9ade7033a11034d2ccae9\"\u003e\u003ccode\u003efb64c67\u003c/code\u003e\u003c/a\u003e Only show aria-current attribute for current and active links (\u003ca href=\"https://redirect.github.com/x-govuk/govuk-components/issues/622\"\u003e#622\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/x-govuk/govuk-components/commit/f5af8cfe23c2f9af1c106068073175836239408b\"\u003e\u003ccode\u003ef5af8cf\u003c/code\u003e\u003c/a\u003e Update links in pagination component\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/x-govuk/govuk-components/commit/fe3af03967d65eedade3396e00b85ce0fde10721\"\u003e\u003ccode\u003efe3af03\u003c/code\u003e\u003c/a\u003e Fix stale links to x-govuk.github.io\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/x-govuk/govuk-components/commit/73cfab8a9995fec57277c7f46bd46b64cc06532a\"\u003e\u003ccode\u003e73cfab8\u003c/code\u003e\u003c/a\u003e Only show aria-current attribute for current and active links\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/x-govuk/govuk-components/commit/03365a4ae4c13d67f710e313d5420fb383cf6258\"\u003e\u003ccode\u003e03365a4\u003c/code\u003e\u003c/a\u003e Release version 5.13.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/x-govuk/govuk-components/commit/4cc7cd132e65748edb74abf89da9c2ac40328c52\"\u003e\u003ccode\u003e4cc7cd1\u003c/code\u003e\u003c/a\u003e Upgrade to govuk-frontend 5.13.0 (\u003ca href=\"https://redirect.github.com/x-govuk/govuk-components/issues/620\"\u003e#620\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/x-govuk/govuk-components/commit/7e2ac2f76d0bf2b9200ba4e59371fc617db6d724\"\u003e\u003ccode\u003e7e2ac2f\u003c/code\u003e\u003c/a\u003e Upgrade to govuk-frontend 5.13.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/x-govuk/govuk-components/commit/775c0185f0211fee2a02694058643b0458193ec3\"\u003e\u003ccode\u003e775c018\u003c/code\u003e\u003c/a\u003e Update rubocop-govuk requirement from = 5.1.18 to = 5.1.20 (\u003ca href=\"https://redirect.github.com/x-govuk/govuk-components/issues/614\"\u003e#614\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/x-govuk/govuk-components/compare/v5.11.3...v5.13.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `govuk_design_system_formbuilder` from 5.11.0 to 5.13.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/x-govuk/govuk-form-builder/releases\"\u003egovuk_design_system_formbuilder's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 5.13.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eupgrade to govuk-frontend 5.13.0 \u003ca href=\"https://redirect.github.com/x-govuk/govuk-form-builder/issues/586\"\u003e#586\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003evarious minor version bumps\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/x-govuk/govuk-form-builder/commit/8706eb080e4adbec086c9df6b23c10d2392d67d9\"\u003e\u003ccode\u003e8706eb0\u003c/code\u003e\u003c/a\u003e Release version 5.13.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/x-govuk/govuk-form-builder/commit/4ee1610b38f2ad724ad35f46d4cd9f2ada8657fa\"\u003e\u003ccode\u003e4ee1610\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/x-govuk/govuk-form-builder/issues/586\"\u003e#586\u003c/a\u003e from x-govuk/govuk-frontend-5.13.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/x-govuk/govuk-form-builder/commit/e4152cf35f1210fbf41a7f8c6326561ae34b08f2\"\u003e\u003ccode\u003ee4152cf\u003c/code\u003e\u003c/a\u003e Upgrade to govuk-frontend 5.13.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/x-govuk/govuk-form-builder/commit/1d621fec728b9ad3e68713d77fe418ff15f25938\"\u003e\u003ccode\u003e1d621fe\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/x-govuk/govuk-form-builder/issues/583\"\u003e#583\u003c/a\u003e from x-govuk/dependabot/npm_and_yarn/guide/sass-1.93.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/x-govuk/govuk-form-builder/commit/b719555a4517528f64ab8060176527ef16b8ab52\"\u003e\u003ccode\u003eb719555\u003c/code\u003e\u003c/a\u003e Bump sass from 1.91.0 to 1.93.2 in /guide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/x-govuk/govuk-form-builder/commit/8220652d0d66644b84e71e73799526182e26e0dc\"\u003e\u003ccode\u003e8220652\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/x-govuk/govuk-form-builder/issues/578\"\u003e#578\u003c/a\u003e from x-govuk/dependabot/bundler/rubocop-govuk-tw-5.1.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/x-govuk/govuk-form-builder/commit/d044ef7485504f87b5249d193cedfaa165e7dc5f\"\u003e\u003ccode\u003ed044ef7\u003c/code\u003e\u003c/a\u003e Update rubocop-govuk requirement from ~\u0026gt; 5.0.1 to ~\u0026gt; 5.1.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/x-govuk/govuk-form-builder/commit/c7a77bf283ae692234739d731466d4afea709d88\"\u003e\u003ccode\u003ec7a77bf\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/x-govuk/govuk-form-builder/issues/581\"\u003e#581\u003c/a\u003e from x-govuk/dependabot/bundler/rouge-tw-4.6.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/x-govuk/govuk-form-builder/commit/14991675d0b937d6d22fab58fc218678800292cd\"\u003e\u003ccode\u003e1499167\u003c/code\u003e\u003c/a\u003e Update rouge requirement from ~\u0026gt; 4.5.1 to ~\u0026gt; 4.6.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/x-govuk/govuk-form-builder/commit/865fd13d39821adac617aadccf6df3e3f70a4e47\"\u003e\u003ccode\u003e865fd13\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/x-govuk/govuk-form-builder/issues/569\"\u003e#569\u003c/a\u003e from x-govuk/dependabot/npm_and_yarn/guide/sass-1.89.2\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/x-govuk/govuk-form-builder/compare/v5.11.0...v5.13.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `haml-rails` from 2.1.0 to 3.0.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/haml/haml-rails/commit/6c7c8ca772b2c8d36b58278c2c09498385979f85\"\u003e\u003ccode\u003e6c7c8ca\u003c/code\u003e\u003c/a\u003e Version 3.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/haml/haml-rails/commit/e364abbc6a54f84b344c1ec846d683f927e1ae59\"\u003e\u003ccode\u003ee364abb\u003c/code\u003e\u003c/a\u003e Just use the newest one\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/haml/haml-rails/commit/30005dc31f9926dac33ba776389e9456e068b20f\"\u003e\u003ccode\u003e30005dc\u003c/code\u003e\u003c/a\u003e [CI] uses: actions/checkout@v5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/haml/haml-rails/commit/e639b11fe1571cdc1e8bb48143d13a63110e09e1\"\u003e\u003ccode\u003ee639b11\u003c/code\u003e\u003c/a\u003e Properly state the supported version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/haml/haml-rails/commit/3e1b70552ca28a42a4741d3bfd3cf7cf379c6486\"\u003e\u003ccode\u003e3e1b705\u003c/code\u003e\u003c/a\u003e frozen_string_literal: ❄️\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/haml/haml-rails/commit/2c51fd5848e6d36e36f831cf827578003525d08f\"\u003e\u003ccode\u003e2c51fd5\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/haml/haml-rails/issues/197\"\u003e#197\u003c/a\u003e from amatsuda/rails_versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/haml/haml-rails/commit/9f4703ddff0644ba52529c5cf41c1624829b16a7\"\u003e\u003ccode\u003e9f4703d\u003c/code\u003e\u003c/a\u003e Fall back to the newest templates by default\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/haml/haml-rails/commit/f0a9ff88ef682af3d6023e1d453ed978597abd72\"\u003e\u003ccode\u003ef0a9ff8\u003c/code\u003e\u003c/a\u003e Rails 5.1 scaffold templates\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/haml/haml-rails/commit/852cf01c9831ee09049f7b990a648d441c876093\"\u003e\u003ccode\u003e852cf01\u003c/code\u003e\u003c/a\u003e Rails 5.2 scaffold templates\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/haml/haml-rails/commit/8bb0351a85b83e81d1b27f18fdda17a77961c1af\"\u003e\u003ccode\u003e8bb0351\u003c/code\u003e\u003c/a\u003e Rails 6.0 scaffold templates\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/haml/haml-rails/compare/v2.1.0...v3.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `oauth2` from 2.0.17 to 2.0.18\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby-oauth/oauth2/releases\"\u003eoauth2's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.0.18\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/compare/v2.0.17...v2.0.18\"\u003e2.0.18\u003c/a\u003e - 2025-11-08\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eTAG: \u003ca href=\"https://github.com/ruby-oauth/oauth2/releases/tag/v2.0.18\"\u003ev2.0.18\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCOVERAGE: 100.00% -- 526/526 lines in 14 files\u003c/li\u003e\n\u003cli\u003eBRANCH COVERAGE: 100.00% -- 178/178 branches in 14 files\u003c/li\u003e\n\u003cli\u003e90.48% documented\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/683\"\u003egh!683\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/684\"\u003egh!684\u003c/a\u003e - Improve documentation by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/686\"\u003egh!686\u003c/a\u003e- Add Incident Response Plan by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/687\"\u003egh!687\u003c/a\u003e- Add Threat Model by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/685\"\u003egh!685\u003c/a\u003e - upgrade kettle-dev v1.1.24 by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eupgrade kettle-dev v1.1.52 by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003eAdd open collective donors to README\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/690\"\u003egh!690\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/691\"\u003egh!691\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/692\"\u003egh!692\u003c/a\u003e - Add yard-fence\n\u003cul\u003e\n\u003cli\u003ehandle braces within code fences in markdown properly by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cp\u003eOfficial Discord 👉️ [![Live Chat on Discord][✉️discord-invite-img]][✉️discord-invite]\u003c/p\u003e\n\u003cp\u003eMany paths lead to being a sponsor or a backer of this project. Are you on such a path?\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://opencollective.com/ruby-oauth#backer\"\u003e![OpenCollective Backers][🖇osc-backers-i]\u003c/a\u003e [![OpenCollective Sponsors][🖇osc-sponsors-i]][🖇osc-sponsors] [![Sponsor Me on Github][🖇sponsor-img]][🖇sponsor] \u003ca href=\"https://liberapay.com/pboling/donate\"\u003e\u003cimg src=\"https://img.shields.io/liberapay/goal/pboling.svg?logo=liberapay\u0026amp;color=a51611\u0026amp;style=flat\" alt=\"Liberapay Goal Progress\" /\u003e\u003c/a\u003e [![Donate on PayPal][🖇paypal-img]][🖇paypal]\u003c/p\u003e\n\u003cp\u003e[![Buy me a coffee][🖇buyme-small-img]][🖇buyme] [![Donate on Polar][🖇polar-img]][🖇polar] [![Donate to my FLOSS efforts at ko-fi.com][🖇kofi-img]][🖇kofi] [![Donate to my FLOSS efforts using Patreon][🖇patreon-img]][🖇patreon]\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\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby-oauth/oauth2/blob/main/CHANGELOG.md\"\u003eoauth2's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[2.0.18] - 2025-11-08\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eTAG: [v2.0.18][2.0.18t]\u003c/li\u003e\n\u003cli\u003eCOVERAGE: 100.00% -- 526/526 lines in 14 files\u003c/li\u003e\n\u003cli\u003eBRANCH COVERAGE: 100.00% -- 178/178 branches in 14 files\u003c/li\u003e\n\u003cli\u003e90.48% documented\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/683\"\u003egh!683\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/684\"\u003egh!684\u003c/a\u003e - Improve documentation by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/686\"\u003egh!686\u003c/a\u003e- Add Incident Response Plan by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/687\"\u003egh!687\u003c/a\u003e- Add Threat Model by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/685\"\u003egh!685\u003c/a\u003e - upgrade kettle-dev v1.1.24 by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eupgrade kettle-dev v1.1.52 by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003eAdd open collective donors to README\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/690\"\u003egh!690\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/691\"\u003egh!691\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/692\"\u003egh!692\u003c/a\u003e - Add yard-fence\n\u003cul\u003e\n\u003cli\u003ehandle braces within code fences in markdown properly by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSecurity\u003c/h3\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/ruby-oauth/oauth2/commit/b5753116121553d56937039dafc5ea472d9a99ed\"\u003e\u003ccode\u003eb575311\u003c/code\u003e\u003c/a\u003e 🔖 Prepare release v2.0.18\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/b5af77ba42ec111dda68abdee33d631e27fdfe61\"\u003e\u003ccode\u003eb5af77b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/issues/693\"\u003e#693\u003c/a\u003e from ruby-oauth/feat/docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/cf2853d9fa05999f88c9df8b1b3a8a3ed21c64e8\"\u003e\u003ccode\u003ecf2853d\u003c/code\u003e\u003c/a\u003e 📝 Update docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/18434156bfc988527d2453b2174e6356e233757d\"\u003e\u003ccode\u003e1843415\u003c/code\u003e\u003c/a\u003e ⬆️ kettle-dev v1.1.52, yard-fence v0.8.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/f592dd8753966a30671ebc2e8a28ab26138b6c2b\"\u003e\u003ccode\u003ef592dd8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/issues/692\"\u003e#692\u003c/a\u003e from ruby-oauth/feat/docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/2095732d7cd4eeb80fe74c89e2a2d012517e40d6\"\u003e\u003ccode\u003e2095732\u003c/code\u003e\u003c/a\u003e ⬆️ yard-fence v0.7.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/50f3fd08e733ed75b2cc99e077e9ea9d64a3d5d5\"\u003e\u003ccode\u003e50f3fd0\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/issues/691\"\u003e#691\u003c/a\u003e from ruby-oauth/feat/docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/bcb0e40bfca989f164a04cbf46a4175822b7cb28\"\u003e\u003ccode\u003ebcb0e40\u003c/code\u003e\u003c/a\u003e ✏️ Fix typos in docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/f24f1a8bfbf546595aa16cd6fa82119c8218c1d3\"\u003e\u003ccode\u003ef24f1a8\u003c/code\u003e\u003c/a\u003e Create CNAME\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/bff58e1afec541feca2a337664d09c58b8a22419\"\u003e\u003ccode\u003ebff58e1\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/issues/690\"\u003e#690\u003c/a\u003e from ruby-oauth/feat/yard-fence\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby-oauth/oauth2/compare/v2.0.17...v2.0.18\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `omniauth-rails_csrf_protection` from 1.0.2 to 2.0.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/cookpad/omniauth-rails_csrf_protection/releases\"\u003eomniauth-rails_csrf_protection's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 2.0.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix an issue with configuration delegation in Rails \u0026lt; 8.1 (\u003ca href=\"https://redirect.github.com/cookpad/omniauth-rails_csrf_protection/issues/26\"\u003e#26\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003eFor more details, please see 1a0d39099957675f549e1f23c836f57b99b09a00.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 2.0.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eStop using deprecated \u003ccode\u003eActiveSupport::Configurable\u003c/code\u003e when this gem is running against Action Pack version 8.1 and later (\u003ca href=\"https://redirect.github.com/cookpad/omniauth-rails_csrf_protection/issues/23\"\u003e#23\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/cookpad/omniauth-rails_csrf_protection/issues/24\"\u003e#24\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/cookpad/omniauth-rails_csrf_protection/commit/c4f53d72e6a278c02f1a6d294c4f8004354ee0b7\"\u003e\u003ccode\u003ec4f53d7\u003c/code\u003e\u003c/a\u003e Bump to 2.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cookpad/omniauth-rails_csrf_protection/commit/1a0d39099957675f549e1f23c836f57b99b09a00\"\u003e\u003ccode\u003e1a0d390\u003c/code\u003e\u003c/a\u003e Fix an issue with configuration delegation in Rails \u0026lt; 8.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cookpad/omniauth-rails_csrf_protection/commit/bc315e1b09fbf6a363d5293067b42675f020fc4c\"\u003e\u003ccode\u003ebc315e1\u003c/code\u003e\u003c/a\u003e Properly silence Rails 8.0.x warning message in test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cookpad/omniauth-rails_csrf_protection/commit/23483750b4a0a803347e02778b975886ecb82875\"\u003e\u003ccode\u003e2348375\u003c/code\u003e\u003c/a\u003e Bump to 2.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cookpad/omniauth-rails_csrf_protection/commit/c283d1d159a292c5fce8ed1a2f5997f6bde209f5\"\u003e\u003ccode\u003ec283d1d\u003c/code\u003e\u003c/a\u003e Update README to add OmniAuth's built-in solution\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cookpad/omniauth-rails_csrf_protection/commit/2cf722bd7cc310009ee626cce28a7ea52b47f649\"\u003e\u003ccode\u003e2cf722b\u003c/code\u003e\u003c/a\u003e Add workaround for deprecated AS::Configurable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cookpad/omniauth-rails_csrf_protection/commit/431597eb44ff8ae0bf9802d1a1dc85ebb8d2cfa3\"\u003e\u003ccode\u003e431597e\u003c/code\u003e\u003c/a\u003e Silence \u003ccode\u003e#to_time\u003c/code\u003e warning in Rails 8.0.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cookpad/omniauth-rails_csrf_protection/commit/5e9c8a27b0ccac54ca3bec7f3b49d43ddefdc4d6\"\u003e\u003ccode\u003e5e9c8a2\u003c/code\u003e\u003c/a\u003e Print Ruby version in the test output\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cookpad/omniauth-rails_csrf_protection/commit/3e62c0572bf5c9796fff5fe197f07d5ed172a7c5\"\u003e\u003ccode\u003e3e62c05\u003c/code\u003e\u003c/a\u003e Remove unnecessary logger gem entry in Gemfile\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cookpad/omniauth-rails_csrf_protection/commit/f9810a5886d692312c6d015914fdad00cf7f41b2\"\u003e\u003ccode\u003ef9810a5\u003c/code\u003e\u003c/a\u003e Update build matrix and fix build errors\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/cookpad/omniauth-rails_csrf_protection/compare/v1.0.2...v2.0.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `prometheus_exporter` from 2.3.0 to 2.3.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/discourse/prometheus_exporter/blob/main/CHANGELOG\"\u003eprometheus_exporter's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[2.3.1] - 2025-11-11\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFIX: get controller full path instead of controller name - Alex Platteeuw\u003c/li\u003e\n\u003cli\u003eFEATURE: Secure PrometheusExporter scraping with SSL - Nicolas Rodriquez\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/discourse/prometheus_exporter/commit/15e9d4783db8267fb3b0c48e5464ec4c1ae58c00\"\u003e\u003ccode\u003e15e9d47\u003c/code\u003e\u003c/a\u003e version bump (\u003ca href=\"https://redirect.github.com/discourse/prometheus_exporter/issues/358\"\u003e#358\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/discourse/prometheus_exporter/commit/4bd3817744bb5011aed6c669696ed957c23cd3fe\"\u003e\u003ccode\u003e4bd3817\u003c/code\u003e\u003c/a\u003e fix: get controller full path instead of controller name (\u003ca href=\"https://redirect.github.com/discourse/prometheus_exporter/issues/353\"\u003e#353\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/discourse/prometheus_exporter/commit/4bb4fa333386b166a745df92be5620b11be3872a\"\u003e\u003ccode\u003e4bb4fa3\u003c/code\u003e\u003c/a\u003e Secure PrometheusExporter scraping with SSL (\u003ca href=\"https://redirect.github.com/discourse/prometheus_exporter/issues/350\"\u003e#350\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/discourse/prometheus_exporter/commit/b10933453f0952cd17d143487c5adc8bb74b492a\"\u003e\u003ccode\u003eb109334\u003c/code\u003e\u003c/a\u003e Add connect_timeout: settings to PrometheusExporter::Client (\u003ca href=\"https://redirect.github.com/discourse/prometheus_exporter/issues/352\"\u003e#352\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/discourse/prometheus_exporter/compare/v2.3.0...v2.3.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `puma` from 7.0.4 to 7.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/puma/puma/releases\"\u003epuma's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev7.1.0\u003c/h2\u003e\n\u003ch2\u003e7.1.0 / 2025-10-16 - Neon Witch\u003c/h2\u003e\n\u003cp\u003e\u003cimg src=\"https://github.com/user-attachments/assets/6f013211-35fb-46ce-84d8-00794e020294\" alt=\"neon_witch\" /\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFeatures\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eIntroduce \u003ccode\u003eafter_worker_shutdown\u003c/code\u003e hook (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3707\"\u003e#3707\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReintroduce keepalive \u0026quot;fast inline\u0026quot; behavior. Provides faster (8x on JRuby \u0026amp; 1.4x on Ruby) pipeline processing  (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3794\"\u003e#3794\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eBugfixes\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eSkip reading zero bytes when request body is buffered (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3795\"\u003e#3795\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003ePUMA_LOG_CONFIG=1\u003c/code\u003e logging twice with prune_bundler enabled (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3778\"\u003e#3778\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix prune_bundler not showing in \u003ccode\u003ePUMA_LOG_CONFIG=1\u003c/code\u003e output (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3779\"\u003e#3779\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGuard ThreadPool method call, which may be nil during shutdown (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3791\"\u003e#3791\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/puma/puma/issues/3790\"\u003e#3790\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSet \u003ccode\u003eThread.current.puma_server\u003c/code\u003e in Thread init code, not every request (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3774\"\u003e#3774\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix race condition while deleting pidfile (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3657\"\u003e#3657\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\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/nerdrew\"\u003e\u003ccode\u003e@​nerdrew\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/puma/puma/pull/3707\"\u003epuma/puma#3707\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mopp\"\u003e\u003ccode\u003e@​mopp\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/puma/puma/pull/3783\"\u003epuma/puma#3783\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marksmith\"\u003e\u003ccode\u003e@​marksmith\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/puma/puma/pull/3657\"\u003epuma/puma#3657\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Nymuxyzo\"\u003e\u003ccode\u003e@​Nymuxyzo\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/puma/puma/pull/3762\"\u003epuma/puma#3762\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/puma/puma/compare/v7.0.4...v7.1.0\"\u003ehttps://github.com/puma/puma/compare/v7.0.4...v7.1.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/puma/puma/blob/main/History.md\"\u003epuma's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e7.1.0 / 2025-10-16\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFeatures\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eIntroduce \u003ccode\u003eafter_worker_shutdown\u003c/code\u003e hook (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3707\"\u003e#3707\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReintroduce keepalive \u0026quot;fast inline\u0026quot; behavior. Provides faster (8x on JRuby \u0026amp; 1.4x on Ruby) pipeline processing  (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3794\"\u003e#3794\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eBugfixes\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eSkip reading zero bytes when request body is buffered (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3795\"\u003e#3795\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003ePUMA_LOG_CONFIG=1\u003c/code\u003e logging twice with prune_bundler enabled (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3778\"\u003e#3778\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix prune_bundler not showing in \u003ccode\u003ePUMA_LOG_CONFIG=1\u003c/code\u003e output (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3779\"\u003e#3779\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGuard ThreadPool method call, which may be nil during shutdown (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3791\"\u003e#3791\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/puma/puma/issues/3790\"\u003e#3790\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSet \u003ccode\u003eThread.current.puma_server\u003c/code\u003e in Thread init code, not every request (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3774\"\u003e#3774\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix race condition while deleting pidfile (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3657\"\u003e#3657\u003c/a\u003e)\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/puma/puma/commit/fb2a0733e938c8786e033f22dc5bf66727dddb3a\"\u003e\u003ccode\u003efb2a073\u003c/code\u003e\u003c/a\u003e v7.1.0 (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3797\"\u003e#3797\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/4edb9e9b16835aa24bd037a88dad4d34a76952e4\"\u003e\u003ccode\u003e4edb9e9\u003c/code\u003e\u003c/a\u003e \u003ccode\u003eclient.rb\u003c/code\u003e - \u003ccode\u003eread_body\u003c/code\u003e - cleanup last lines of method (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3798\"\u003e#3798\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/84a568ab1c4d0c5cd0d29a167f5facba9699a35c\"\u003e\u003ccode\u003e84a568a\u003c/code\u003e\u003c/a\u003e Update wait_for_less_busy_worker docs (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3757\"\u003e#3757\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/e59a6049c3fc08ac2bd906a10d199bdf3949eb04\"\u003e\u003ccode\u003ee59a604\u003c/code\u003e\u003c/a\u003e Initialize only essential \u003ccode\u003eLauncher\u003c/code\u003e state before \u003ccode\u003eprune_bundler\u003c/code\u003e restart (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3\"\u003e#3\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/6844de7c4f2503751bad5e9c141de2bdb067f452\"\u003e\u003ccode\u003e6844de7\u003c/code\u003e\u003c/a\u003e client.rb - Skip reading zero bytes when request body is buffered (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3795\"\u003e#3795\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/1d3d6b792cdc870171d27cafbd0b7ceaf5e2dfb7\"\u003e\u003ccode\u003e1d3d6b7\u003c/code\u003e\u003c/a\u003e Set \u003ccode\u003eThread.current.puma_server\u003c/code\u003e in Thread init code, not every request (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3774\"\u003e#3774\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/9b34cde2c5ddf7fd65bfd5f8aea811659226662e\"\u003e\u003ccode\u003e9b34cde\u003c/code\u003e\u003c/a\u003e Adding syntax highlighting in k8s docs (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3782\"\u003e#3782\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/a2bd2f63476a719faa02eacac94b274d0cee1f6d\"\u003e\u003ccode\u003ea2bd2f6\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003eprune_bundler\u003c/code\u003e to \u003ccode\u003eConfiguration::DEFAULTS\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3779\"\u003e#3779\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/d7a0854a39bbb3f06f12c4a180e42ee6d36f7985\"\u003e\u003ccode\u003ed7a0854\u003c/code\u003e\u003c/a\u003e ci: Update hey benchmark files, minor fixes and formatting (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3796\"\u003e#3796\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/ff08099b1fc702093261a90e92da09feb577c683\"\u003e\u003ccode\u003eff08099\u003c/code\u003e\u003c/a\u003e ci: Update Update test/rackup/sleep_fibonacci.ru, add test script (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3793\"\u003e#3793\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/puma/puma/compare/v7.0.4...v7.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rails` from 8.0.3 to 8.1.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003erails's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.1.1\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Record\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction View\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eRespect \u003ccode\u003eremove_hidden_field_autocomplete\u003c/code\u003e config in form builder \u003ccode\u003ehidden_field\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction Pack\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAllow methods starting with underscore to be action methods.\u003c/p\u003e\n\u003cp\u003eDisallowing methods starting with an underscore from being action methods\nwas an unintended side effect of the performance optimization in\n207a254.\u003c/p\u003e\n\u003cp\u003eFixes \u003ca href=\"https://redirect.github.com/rails/rails/issues/55985\"\u003e#55985\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Job\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eOnly index new serializers.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eJesse Sharps\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction Mailer\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction Cable\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/rails/rails/commit/90a1eaa1b30ba1f2d524e197460e549c03cf5698\"\u003e\u003ccode\u003e90a1eaa\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.1 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/0ce0ce1ca2da1d36cdc149a72a777a956ea45dc7\"\u003e\u003ccode\u003e0ce0ce1\u003c/code\u003e\u003c/a\u003e Upgrade sigstore gem to 0.2.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/271acd57d1430be8c92fbd8f19a2069e62425803\"\u003e\u003ccode\u003e271acd5\u003c/code\u003e\u003c/a\u003e Sync CHANGELOG\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/7574698226c364ab98e69188539e2cf27517ef1f\"\u003e\u003ccode\u003e7574698\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56020\"\u003e#56020\u003c/a\u003e from harsh183/hd/getting_started/fix_line_num_typo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/89cb7bff192ce71267ae76f38942ca8f306ce273\"\u003e\u003ccode\u003e89cb7bf\u003c/code\u003e\u003c/a\u003e Fix railties/CHANGELOG.md offense at 8-1-stable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/7919bdab44688f1e7f121bc36a76169787cdfe60\"\u003e\u003ccode\u003e7919bda\u003c/code\u003e\u003c/a\u003e Restore header\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/f007f9ca53448379246a1901b213bd57955af26c\"\u003e\u003ccode\u003ef007f9c\u003c/code\u003e\u003c/a\u003e Disable SSL default config for out of the box Kamal deployments (\u003ca href=\"https://redirect.github.com/rails/rails/issues/56010\"\u003e#56010\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/234b56973bb453bb50850a1be07a2fcad7331592\"\u003e\u003ccode\u003e234b569\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56008\"\u003e#56008\u003c/a\u003e from chaadow/fix_nesting_loop_rails\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/21a8742bb6bb5720f0e67d67fe26874598d1afbe\"\u003e\u003ccode\u003e21a8742\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55992\"\u003e#55992\u003c/a\u003e from jsharpify/jsharpify-reduce-deprecation-warnings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/a7ba88b04e935d2a9cbc205382d6cd7c514f425c\"\u003e\u003ccode\u003ea7ba88b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56001\"\u003e#56001\u003c/a\u003e from hachi8833/update_wishlists\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/rails/compare/v8.0.3...v8.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sentry-rails` from 5.27.1 to 6.2.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/getsentry/sentry-ruby/blob/master/CHANGELOG.md\"\u003esentry-rails's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e6.2.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eInclude otel as custom sampling context (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2683\"\u003e2683\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eIgnore new rails rate limit errors (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2774\"\u003e#2774\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePrevent logging from crashing main thread (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2795\"\u003e2795\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove error handling in ActiveRecord subscriber (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2798\"\u003e2798\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e6.1.2\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eHandle positioned binds in logging (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2787\"\u003e#2787\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHandle cached queries with binds correctly when logging (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2789\"\u003e#2789\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e6.1.1\u003c/h2\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eOptimize getting query source location in ActiveRecord tracing - this makes tracing up to roughly 40-60% faster depending on the use cases (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2769\"\u003e#2769\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eProperly skip silenced \u003ccode\u003eActiveRecord::Base.logger\u003c/code\u003e's log entries in the ActiveRecord log subscriber (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2775\"\u003e#2775\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHandle malformed utf-8 log messages and attributes (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2777\"\u003e#2777\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2780\"\u003e#2780\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix initialized check in Sentry::Rails::CaptureExceptions (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2783\"\u003e#2783\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e6.1.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for ActiveRecord binds in the log events (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2761\"\u003e#2761\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eGuard log subscribers with initialized check (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2765\"\u003e#2765\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e6.0.0\u003c/h2\u003e\n\u003ch3\u003eBreaking Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for rubies below 2.7 \u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2743\"\u003e#2743\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for Rails below 5.2.0\u003c/li\u003e\n\u003cli\u003eDrop support for Sidekiq below 5.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eRemove deprecated \u003ccode\u003econfig.async\u003c/code\u003e \u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/1894\"\u003e#1894\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove deprecated \u003ccode\u003eSentry::Metrics\u003c/code\u003e and \u003ccode\u003econfig.metrics\u003c/code\u003e and all metrics related code (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2729\"\u003e#2729\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/getsentry/sentry-ruby/commit/0da2bde916965f02ce12c57df4c915aaf3353cba\"\u003e\u003ccode\u003e0da2bde\u003c/code\u003e\u003c/a\u003e release: 6.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/bcc0fe7d211b6dffd273a13ebeb2bcf8af0f0fb7\"\u003e\u003ccode\u003ebcc0fe7\u003c/code\u003e\u003c/a\u003e fix(logging): improve error handling in AR subscriber (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/issues/2798\"\u003e#2798\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/5aa2643123c4020308ecd365c7c07113612b4ca3\"\u003e\u003ccode\u003e5aa2643\u003c/code\u003e\u003c/a\u003e release: 6.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/78a5a08950025b029132b81198f0279dbf42f34c\"\u003e\u003ccode\u003e78a5a08\u003c/code\u003e\u003c/a\u003e fix(rails): fix logging of cached queries with binds (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/issues/2789\"\u003e#2789\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/a5cee1bdbf51747d719db5a998b36ed303107ae4\"\u003e\u003ccode\u003ea5cee1b\u003c/code\u003e\u003c/a\u003e fix(rails): handle positioned binds in logging (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/issues/2787\"\u003e#2787\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/6aed46375b6992a87a74efc83fd1e9ca5ecf854d\"\u003e\u003ccode\u003e6aed463\u003c/code\u003e\u003c/a\u003e release: 6.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/9eea7de5be955fcae928341703dac57402d8b69b\"\u003e\u003ccode\u003e9eea7de\u003c/code\u003e\u003c/a\u003e Fix initialized check in Sentry::Rails::CaptureExceptions (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/issues/2783\"\u003e#2783\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/6049bfdbbd006c1c81cffd5cf3396162fa7417aa\"\u003e\u003ccode\u003e6049bfd\u003c/code\u003e\u003c/a\u003e fix(rails): properly skip silenced logs from AR (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/issues/2775\"\u003e#2775\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/98f97b401c3225f6e2fe48a95456116a7bccbd60\"\u003e\u003ccode\u003e98f97b4\u003c/code\u003e\u003c/a\u003e [rails] improve AR tracing performance (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/issues/2769\"\u003e#2769\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/3e1981aacd7095669b23d9233db2e43c6d1aab5a\"\u003e\u003ccode\u003e3e1981a\u003c/code\u003e\u003c/a\u003e chore(jruby): fixes and updates (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/issues/2772\"\u003e#2772\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/getsentry/sentry-ruby/compare/5.27.1...6.2.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sentry-sidekiq` from 5.27.1 to 6.2.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/getsentry/sentry-ruby/blob/master/CHANGELOG.md\"\u003esentry-sidekiq's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e6.2.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eInclude otel as custom sampling context (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2683\"\u003e2683\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eIgnore new rails rate limit errors (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2774\"\u003e#2774\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePrevent logging from crashing main thread (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2795\"\u003e2795\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove error handling in ActiveRecord subscriber (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2798\"\u003e2798\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e6.1.2\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eHandle positioned binds in logging (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2787\"\u003e#2787\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHandle cached queries with binds correctly when logging (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2789\"\u003e#2789\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e6.1.1\u003c/h2\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eOptimize getting query source location in ActiveRecord tracing - this makes tracing up to roughly 40-60% faster depending on the use cases (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2769\"\u003e#2769\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eProperly skip silenced \u003ccode\u003eActiveRecord::Base.logger\u003c/code\u003e's log entries in the ActiveRecord log subscriber (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2775\"\u003e#2775\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHandle malformed utf-8 log messages and attributes (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2777\"\u003e#2777\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2780\"\u003e#2780\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix initialized check in Sentry::Rails::CaptureExceptions (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2783\"\u003e#2783\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e6.1.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for ActiveRecord binds in the log events (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2761\"\u003e#2761\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eGuard log subscribers with initialized check (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2765\"\u003e#2765\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e6.0.0\u003c/h2\u003e\n\u003ch3\u003eBreaking Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for rubies below 2.7 \u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2743\"\u003e#2743\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for Rails below 5.2.0\u003c/li\u003e\n\u003cli\u003eDrop support for Sidekiq below 5.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eRemove deprecated \u003ccode\u003econfig.async\u003c/code\u003e \u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/1894\"\u003e#1894\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove deprecated \u003ccode\u003eSentry::Metrics\u003c/code\u003e and \u003ccode\u003econfig.metrics\u003c/code\u003e and all metrics related code (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2729\"\u003e#2729\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/getsentry/sentry-ruby/commit/0da2bde916965f02ce12c57df4c915aaf3353cba\"\u003e\u003ccode\u003e0da2bde\u003c/code\u003e\u003c/a\u003e release: 6.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/5aa2643123c4020308ecd365c7c07113612b4ca3\"\u003e\u003ccode\u003e5aa2643\u003c/code\u003e\u003c/a\u003e release: 6.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/6aed46375b6992a87a74efc83fd1e9ca5ecf854d\"\u003e\u003ccode\u003e6aed463\u003c/code\u003e\u003c/a\u003e release: 6.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/3e1981aacd7095669b23d9233db2e43c6d1aab5a\"\u003e\u003ccode\u003e3e1981a\u003c/code\u003e\u003c/a\u003e chore(jruby): fixes and updates (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/issues/2772\"\u003e#2772\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/7755dab0f5b59a729ae7a130c674d531261418fd\"\u003e\u003ccode\u003e7755dab\u003c/code\u003e\u003c/a\u003e [sidekiq] better and isolated rails specs (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/issues/2723\"\u003e#2723\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/1ca3afdadba4832239309f1b686943a73b2bf420\"\u003e\u003ccode\u003e1ca3afd\u003c/code\u003e\u003c/a\u003e release: 6.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/ecdcac07500cc85d375edf8dc399f7a65e286e72\"\u003e\u003ccode\u003eecdcac0\u003c/code\u003e\u003c/a\u003e release: 6.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/a1bd7e2020e6065287dd91dec3f9817c334a996d\"\u003e\u003ccode\u003ea1bd7e2\u003c/code\u003e\u003c/a\u003e 6.0 major (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/issues/2352\"\u003e#2352\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/eb6063d054741b8bf54eb07d3d5e28e5410c9b4c\"\u003e\u003ccode\u003eeb6063d\u003c/code\u003e\u003c/a\u003e release: 5.28.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/44d588ecc66247fc191a96a802593ac55505067d\"\u003e\u003ccode\u003e44d588e\u003c/code\u003e\u003c/a\u003e release: 5.28.0\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/getsentry/sentry-ruby/compare/5.27.1...6.2.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `dotenv-rails` from 3.1.8 to 3.2.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/bkeepers/dotenv/releases\"\u003edotenv-rails's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.2.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBoost app startup time by removing to_sentence usage by \u003ca href=\"https://github.com/ThomasCrambert\"\u003e\u003ccode\u003e@​ThomasCrambert\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/bkeepers/dotenv/pull/534\"\u003ebkeepers/dotenv#534\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHandle parentheses in variables in commands by \u003ca href=\"https://github.com/i7an\"\u003e\u003ccode\u003e@​i7an\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/bkeepers/dotenv/pull/540\"\u003ebkeepers/dotenv#540\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eallow warning when a env var was not overwritten by \u003ca href=\"https://github.com/grosser\"\u003e\u003ccode\u003e@​grosser\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/bkeepers/dotenv/pull/531\"\u003ebkeepers/dotenv#531\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix a few small issues by \u003ca href=\"https://github.com/grosser\"\u003e\u003ccode\u003e@​grosser\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/bkeepers/dotenv/pull/532\"\u003ebkeepers/dotenv#532\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/ThomasCrambert\"\u003e\u003ccode\u003e@​ThomasCrambert\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/bkeepers/dotenv/pull/534\"\u003ebkeepers/dotenv#534\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/i7an\"\u003e\u003ccode\u003e@​i7an\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/bkeepers/dotenv/pull/540\"\u003ebkeepers/dotenv#540\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/bkeepers/dotenv/compare/v3.1.8...v3.2.0\"\u003ehttps://github.com/bkeepers/dotenv/compare/v3.1.8...v3.2.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/bkeepers/dotenv/commit/34156bf400cd67387fa6ed9f146778f6a2f5f743\"\u003e\u003ccode\u003e34156bf\u003c/code\u003e\u003c/a\u003e Prepare for 3.2.0 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bkeepers/dotenv/commit/ab478201bdb487bfebd9e89875fd4edcf19dc064\"\u003e\u003ccode\u003eab47820\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/bkeepers/dotenv/issues/531\"\u003e#531\u003c/a\u003e from grosser/grosser/warn\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bkeepers/dotenv/commit/fae61202e432f39742e2592817cc7bb38f559852\"\u003e\u003ccode\u003efae6120\u003c/code\u003e\u003c/a\u003e Merge branch 'main' into grosser/warn\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bkeepers/dotenv/commit/4f510f41073cabb9786e3a5ea57263933497e696\"\u003e\u003ccode\u003e4f510f4\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/bkeepers/dotenv/issues/532\"\u003e#532\u003c/a\u003e from grosser/grosser/fixes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bkeepers/dotenv/commit/959e1dac9d933a7ffe6a2ab17081f8235b7822a9\"\u003e\u003ccode\u003e959e1da\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/bkeepers/dotenv/issues/539\"\u003e#539\u003c/a\u003e from bkeepers/dependabot/github_actions/actions/check...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bkeepers/dotenv/commit/041451e4ef7fd3a4ea604fcabef0cfb6fb5e79a3\"\u003e\u003ccode\u003e041451e\u003c/code\u003e\u003c/a\u003e Update spec message\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bkeepers/dotenv/commit/b300f262bdf1cfd6ac5215fd44baa771753702b9\"\u003e\u003ccode\u003eb300f26\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 4 to 6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bkeepers/dotenv/commit/5f4ca012b03c82343ad3f926e2fd281aa30a434b\"\u003e\u003ccode\u003e5f4ca01\u003c/code\u003e\u003c/a\u003e Merge branch 'main' into grosser/warn\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bkeepers/dotenv/commit/209dca47e453f7288aac9f31330e67e3f0b83e78\"\u003e\u003ccode\u003e209dca4\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/bkeepers/dotenv/issues/540\"\u003e#540\u003c/a\u003e from i7an/handle-parentheses\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bkeepers/dotenv/commit/48c495683008c5dd1816a89329e59f8386324bb2\"\u003e\u003ccode\u003e48c4956\u003c/code\u003e\u003c/a\u003e Merge branch 'main' into handle-parentheses\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/bkeepers/dotenv/compare/v3.1.8...v3.2.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sentry-sidekiq` from 5.27.1 to 6.2.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/getsentry/sentry-ruby/blob/master/CHANGELOG.md\"\u003esentry-sidekiq's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e6.2.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eInclude otel as custom sampling context (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2683\"\u003e2683\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eIgnore new rails rate limit errors (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2774\"\u003e#2774\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePrevent logging from crashing main thread (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2795\"\u003e2795\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove error handling in ActiveRecord subscriber (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2798\"\u003e2798\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e6.1.2\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eHandle positioned binds in logging (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2787\"\u003e#2787\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHandle cached queries with binds correctly when logging (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2789\"\u003e#2789\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e6.1.1\u003c/h2\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eOptimize getting query source location in ActiveRecord tracing - this makes tracing up to roughly 40-60% faster depending on the use cases (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2769\"\u003e#2769\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eProperly skip silenced \u003ccode\u003eActiveRecord::Base.logger\u003c/code\u003e's log entries in the ActiveRecord log subscriber (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2775\"\u003e#2775\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHandle malformed utf-8 log messages and attributes (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2777\"\u003e#2777\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2780\"\u003e#2780\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix initialized check in Sentry::Rails::CaptureExceptions (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2783\"\u003e#2783\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e6.1.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for ActiveRecord binds in the log events (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2761\"\u003e#2761\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eGuard log subscribers with initialized check (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2765\"\u003e#2765\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e6.0.0\u003c/h2\u003e\n\u003ch3\u003eBreaking Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for rubies below 2.7 \u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2743\"\u003e#2743\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for Rails below 5.2.0\u003c/li\u003e\n\u003cli\u003eDrop support for Sidekiq below 5.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eRemove deprecated \u003ccode\u003econfig.async\u003c/code\u003e \u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/1894\"\u003e#1894\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove deprecated \u003ccode\u003eSentry::Metrics\u003c/code\u003e and \u003ccode\u003econfig.metrics\u003c/code\u003e and all metrics related code (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/pull/2729\"\u003e#2729\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/getsentry/sentry-ruby/commit/0da2bde916965f02ce12c57df4c915aaf3353cba\"\u003e\u003ccode\u003e0da2bde\u003c/code\u003e\u003c/a\u003e release: 6.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/5aa2643123c4020308ecd365c7c07113612b4ca3\"\u003e\u003ccode\u003e5aa2643\u003c/code\u003e\u003c/a\u003e release: 6.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/6aed46375b6992a87a74efc83fd1e9ca5ecf854d\"\u003e\u003ccode\u003e6aed463\u003c/code\u003e\u003c/a\u003e release: 6.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/3e1981aacd7095669b23d9233db2e43c6d1aab5a\"\u003e\u003ccode\u003e3e1981a\u003c/code\u003e\u003c/a\u003e chore(jruby): fixes and updates (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/issues/2772\"\u003e#2772\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/7755dab0f5b59a729ae7a130c674d531261418fd\"\u003e\u003ccode\u003e7755dab\u003c/code\u003e\u003c/a\u003e [sidekiq] better and isolated rails specs (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/issues/2723\"\u003e#2723\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/1ca3afdadba4832239309f1b686943a73b2bf420\"\u003e\u003ccode\u003e1ca3afd\u003c/code\u003e\u003c/a\u003e release: 6.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/ecdcac07500cc85d375edf8dc399f7a65e286e72\"\u003e\u003ccode\u003eecdcac0\u003c/code\u003e\u003c/a\u003e release: 6.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/a1bd7e2020e6065287dd91dec3f9817c334a996d\"\u003e\u003ccode\u003ea1bd7e2\u003c/code\u003e\u003c/a\u003e 6.0 major (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/issues/2352\"\u003e#2352\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/eb6063d054741b8bf54eb07d3d5e28e5410c9b4c\"\u003e\u003ccode\u003eeb6063d\u003c/code\u003e\u003c/a\u003e release: 5.28.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/44d588ecc66247fc191a96a802593ac55505067d\"\u003e\u003ccode\u003e44d588e\u003c/code\u003e\u003c/a\u003e release: 5.28.0\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/getsentry/sentry-ruby/compare/5.27.1...6.2.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sidekiq` from 8.0.7 to 8.1.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sidekiq/sidekiq/blob/main/Changes.md\"\u003esidekiq's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.1.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eretry_for\u003c/code\u003e and \u003ccode\u003eretry\u003c/code\u003e are now mutually exclusive [#6878, Saidbek]\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eperform_inline\u003c/code\u003e now enforces \u003ccode\u003estrict_args!\u003c/code\u003e [#6718, Saidbek]\u003c/li\u003e\n\u003cli\u003eIntegrate Herb linting for ERB templates [#6760, Saidbek]\u003c/li\u003e\n\u003cli\u003eRemove CSRF code, use \u003ccode\u003eSec-Fetch-Site\u003c/code\u003e header [#6874, deve1212]\u003c/li\u003e\n\u003cli\u003eAllow custom Web UI \u003ccode\u003eassets_path\u003c/code\u003e for CDN purposes [#6865, stanhu]\u003c/li\u003e\n\u003cli\u003eUpgrade to connection_pool 3.0\u003c/li\u003e\n\u003cli\u003eAllow idle connection reaping after N seconds.\nYou can activate this \u003cstrong\u003ebeta\u003c/strong\u003e feature like below.\nFeedback requested: is this feature stable and useful for you in production?\nThis feature may or may not be enabled by default in Sidekiq 9.0.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eSidekiq.configure_server do |cfg|\n  cfg.reap_idle_redis_connections(60)\nend\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003e8.0.10\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd confirm dialog for Delete All buttons in Web UI \u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/6853\"\u003e#6853\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdjust scheduler to run closer to poll average \u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/6866\"\u003e#6866\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eForward compatibility changes for connection_pool 3.0.0\u003c/li\u003e\n\u003cli\u003eBackwards compatibility fix for \u0026lt;8.0.9 process data in Redis \u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/6870\"\u003e#6870\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBacktrace dump can now be triggered with the INFO signal, since Puma uses the\nsame signal \u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/6857\"\u003e#6857\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.0.9\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImplement idle Redis connection reaping, will be activated in 8.1 \u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/6663\"\u003e#6663\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdated \u003ccode\u003eSidekiq::Process\u003c/code\u003e API to provide capsule data. The \u003ccode\u003equeues\u003c/code\u003e and \u003ccode\u003eweights\u003c/code\u003e\ndata will be removed from Redis in Sidekiq 8.1, as this data can now be found in the\n\u003ccode\u003ecapsules\u003c/code\u003e element. \u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/6295\"\u003e#6295\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRestore bulk action buttons on Scheduled, Retry and Dead tabs [#6833, deve1212]\u003c/li\u003e\n\u003cli\u003eSupport logging additional job attributes [#6846, bschrag620]\u003c/li\u003e\n\u003cli\u003eFix display of long job args \u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/6836\"\u003e#6836\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCreate development lifecycle (\u003ccode\u003edocs/sdlc.md\u003c/code\u003e) and security (\u003ccode\u003edocs/SECURITY.md\u003c/code\u003e) policy\ndocumentation for Sidekiq's current workflows\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.0.8\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAllow an optional global iteration max runtime. After executing for this length of time,\nSidekiq will re-queue the job to continue execution at a later time [#6819, fatkodima]\u003c/li\u003e\n\u003c/ul\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eSidekiq.configure_server do |cfg|\n  cfg[:max_iteration_runtime] = 600 # ten minutes\n\u0026lt;/tr\u0026gt;\u0026lt;/table\u0026gt; \n\u003c/code\u003e\u003c/pre\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/sidekiq/sidekiq/commit/bb172d9b2b17a086c9cfa2763f58eb0b89937a77\"\u003e\u003ccode\u003ebb172d9\u003c/code\u003e\u003c/a\u003e doc(changes)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/1f8d7f5a40f1a996558c305cba5418cb3cc4af08\"\u003e\u003ccode\u003e1f8d7f5\u003c/code\u003e\u003c/a\u003e announce TTIN deprecation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/761e2d3f00666d115153d611cdeab1a4b89566a6\"\u003e\u003ccode\u003e761e2d3\u003c/code\u003e\u003c/a\u003e doc(changes)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/c8753b9fc8e51e07c65f0bb19e637007c255d540\"\u003e\u003ccode\u003ec8753b9\u003c/code\u003e\u003c/a\u003e pro changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/bdda9f5096e8cc48a07eeffdc076f51a2ff3116d\"\u003e\u003ccode\u003ebdda9f5\u003c/code\u003e\u003c/a\u003e 8.1 changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/fae17a28e58ccda85f9e09b7ad1b098529e5f491\"\u003e\u003ccode\u003efae17a2\u003c/code\u003e\u003c/a\u003e Remove old CSRF code\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/878d687cf3f32c910c95820e63294fb11bae1ad2\"\u003e\u003ccode\u003e878d687\u003c/code\u003e\u003c/a\u003e Use pool 3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/6d3be2c91b97263e37c0b0d8cd3dc92d093b2cb1\"\u003e\u003ccode\u003e6d3be2c\u003c/code\u003e\u003c/a\u003e fmt\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/3ab97e9a1c48298b572eee3cf9b16c20b7cbb74a\"\u003e\u003ccode\u003e3ab97e9\u003c/code\u003e\u003c/a\u003e Allow Redis connection reaping with connection_pool 3.0+\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/b7f71bad9bac866d914b62270ff16b64a466a25f\"\u003e\u003ccode\u003eb7f71ba\u003c/code\u003e\u003c/a\u003e Upgrade dependencies to latest minor version\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sidekiq/sidekiq/compare/v8.0.7...v8.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `turbo-rails` from 2.0.16 to 2.0.20\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/hotwired/turbo-rails/releases\"\u003eturbo-rails's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.0.20\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/hotwired/turbo-rails/compare/v2.0.19...v2.0.20\"\u003ehttps://github.com/hotwired/turbo-rails/compare/v2.0.19...v2.0.20\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.0.19\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/hotwired/turbo-rails/compare/v2.0.17...v2.0.19\"\u003ehttps://github.com/hotwired/turbo-rails/compare/v2.0.17...v2.0.19\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.0.17\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix typo in README.md by \u003ca href=\"https://github.com/brunocalmels\"\u003e\u003ccode\u003e@​brunocalmels\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hotwired/turbo-rails/pull/746\"\u003ehotwired/turbo-rails#746\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove compact call on locals in broadcast_rendering_with_defaults by \u003ca href=\"https://github.com/mathias234\"\u003e\u003ccode\u003e@​mathias234\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hotwired/turbo-rails/pull/720\"\u003ehotwired/turbo-rails#720\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/hotwired/turbo/releases/tag/v8.0.18\"\u003ehttps://github.com/hotwired/turbo/releases/tag/v8.0.18\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brunocalmels\"\u003e\u003ccode\u003e@​brunocalmels\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/hotwired/turbo-rails/pull/746\"\u003ehotwired/turbo-rails#746\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mathias234\"\u003e\u003ccode\u003e@​mathias234\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/hotwired/turbo-rails/pull/720\"\u003ehotwired/turbo-rails#720\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/hotwired/turbo-rails/commit/01dd6b93662e7263c472e3ab81a05137ca39318f\"\u003e\u003ccode\u003e01dd6b9\u003c/code\u003e\u003c/a\u003e Bump version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hotwired/turbo-rails/commit/e3cd1346da2b78793a27a69f410247555403b68d\"\u003e\u003ccode\u003ee3cd134\u003c/code\u003e\u003c/a\u003e \u003ccode\u003e@​hotwired/turbo-rails\u003c/code\u003e v8.0.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hotwired/turbo-rails/commit/00f986402296f6fdd6ebc85f2adc6fbb8d956dc3\"\u003e\u003ccode\u003e00f9864\u003c/code\u003e\u003c/a\u003e \u003ccode\u003e@​hotwired/turbo-rails\u003c/code\u003e v8.0.19\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hotwired/turbo-rails/commit/2971ba276cb9aad094347d9540a6352fd429cb79\"\u003e\u003ccode\u003e2971ba2\u003c/code\u003e\u003c/a\u003e Bump turbo version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hotwired/turbo-rails/commit/aeea473b651703da32e3db430c4728fae5a52bb3\"\u003e\u003ccode\u003eaeea473\u003c/code\u003e\u003c/a\u003e \u003ccode\u003e@​hotwired/turbo-rails\u003c/code\u003e v8.0.18\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hotwired/turbo-rails/commit/00e6cba77b1edd47205e3393c4c9d2237608a995\"\u003e\u003ccode\u003e00e6cba\u003c/code\u003e\u003c/a\u003e Bump version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hotwired/turbo-rails/commit/30cd8fcc6f82c1ad4edd1ed6069ba878f21f02b3\"\u003e\u003ccode\u003e30cd8fc\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/hotwired/turbo-rails/issues/720\"\u003e#720\u003c/a\u003e from mathias234/remove-compact\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hotwired/turbo-rails/commit/4bf3c0b64fd48afca60c33e90205025f743e123f\"\u003e\u003ccode\u003e4bf3c0b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/hotwired/turbo-rails/issues/746\"\u003e#746\u003c/a\u003e from brunocalmels/patch-1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hotwired/turbo-rails/commit/fe2b8626c9b47d90ff1cd8285980db94fa8d1105\"\u003e\u003ccode\u003efe2b862\u003c/code\u003e\u003c/a\u003e Fix typo in README.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hotwired/turbo-rails/commit/65afc97406a62ae25d99dedd13791826578ce55a\"\u003e\u003ccode\u003e65afc97\u003c/code\u003e\u003c/a\u003e Remove compact on locals\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/hotwired/turbo-rails/compare/v2.0.16...v2.0.20\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `axe-core-rspec` from 4.10.3 to 4.11.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/dequelabs/axe-core-gems/releases\"\u003eaxe-core-rspec's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease 4.11.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate axe-core to v4.11.0 (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core-gems/issues/452\"\u003e#452\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core-gems/commit/810173356753ea544dab57bade456d5758aa9f0d\"\u003e8101733\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eallow passing extra options to Selenium::WebDriver (\u003ca href=\"https://redirect.github.com/dequel...\n\n_Description has been truncated_","html_url":"https://github.com/ministryofjustice/laa-court-data-ui/pull/3153","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/ministryofjustice%2Flaa-court-data-ui/issues/3153","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/3153/packages"}},{"old_version":"2.0.17","new_version":"2.0.18","update_type":"patch","path":null,"pr_created_at":"2025-12-22T22:17:39.000Z","version_change":"2.0.17 → 2.0.18","issue":{"uuid":"3755400089","node_id":"PR_kwDOIy0ZTM66OiJq","number":4432,"state":"closed","title":"Bump the production-dependencies group across 1 directory with 18 updates","user":"dependabot[bot]","labels":["dependencies","ruby"],"assignees":[],"locked":true,"comments_count":1,"pull_request":true,"closed_at":"2025-12-24T23:07:48.000Z","author_association":null,"state_reason":null,"created_at":"2025-12-22T22:17:39.000Z","updated_at":"2025-12-24T23:09:14.000Z","time_to_close":175809,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"production-dependencies","update_count":18,"packages":[{"name":"acme-client","old_version":"2.0.26","new_version":"2.0.28","repository_url":"https://github.com/unixcharles/acme-client"},{"name":"aws-sdk-ec2","old_version":"1.569.0","new_version":"1.584.0","repository_url":"https://github.com/aws/aws-sdk-ruby"},{"name":"aws-sdk-iam","old_version":"1.132.0","new_version":"1.137.0","repository_url":"https://github.com/aws/aws-sdk-ruby"},{"name":"bcrypt_pbkdf","old_version":"1.1.1","new_version":"1.1.2","repository_url":"https://github.com/net-ssh/bcrypt_pbkdf-ruby"},{"name":"excon","old_version":"1.3.0","new_version":"1.3.2","repository_url":"https://github.com/excon/excon"},{"name":"reline","old_version":"0.6.2","new_version":"0.6.3","repository_url":"https://github.com/ruby/reline"},{"name":"roda","old_version":"3.97.0","new_version":"3.98.0","repository_url":"https://github.com/jeremyevans/roda"},{"name":"rqrcode","old_version":"3.1.0","new_version":"3.1.1","repository_url":"https://github.com/whomwah/rqrcode"},{"name":"addressable","old_version":"2.8.7","new_version":"2.8.8","repository_url":"https://github.com/sporkmonger/addressable"},{"name":"oauth2","old_version":"2.0.17","new_version":"2.0.18","repository_url":"https://github.com/ruby-oauth/oauth2"},{"name":"openapi_parser","old_version":"2.3.0","new_version":"2.3.1","repository_url":"https://github.com/ota42y/openapi_parser"},{"name":"timeout","old_version":"0.4.4","new_version":"0.6.0","repository_url":"https://github.com/ruby/timeout"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps the production-dependencies group with 12 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [acme-client](https://github.com/unixcharles/acme-client) | `2.0.26` | `2.0.28` |\n| [aws-sdk-ec2](https://github.com/aws/aws-sdk-ruby) | `1.569.0` | `1.584.0` |\n| [aws-sdk-iam](https://github.com/aws/aws-sdk-ruby) | `1.132.0` | `1.137.0` |\n| [bcrypt_pbkdf](https://github.com/net-ssh/bcrypt_pbkdf-ruby) | `1.1.1` | `1.1.2` |\n| [excon](https://github.com/excon/excon) | `1.3.0` | `1.3.2` |\n| [reline](https://github.com/ruby/reline) | `0.6.2` | `0.6.3` |\n| [roda](https://github.com/jeremyevans/roda) | `3.97.0` | `3.98.0` |\n| [rqrcode](https://github.com/whomwah/rqrcode) | `3.1.0` | `3.1.1` |\n| [addressable](https://github.com/sporkmonger/addressable) | `2.8.7` | `2.8.8` |\n| [oauth2](https://github.com/ruby-oauth/oauth2) | `2.0.17` | `2.0.18` |\n| [openapi_parser](https://github.com/ota42y/openapi_parser) | `2.3.0` | `2.3.1` |\n| [timeout](https://github.com/ruby/timeout) | `0.4.4` | `0.6.0` |\n\n\nUpdates `acme-client` from 2.0.26 to 2.0.28\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/unixcharles/acme-client/blob/master/CHANGELOG.md\"\u003eacme-client's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ccode\u003e2.0.28\u003c/code\u003e\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMake \u003ca href=\"https://datatracker.ietf.org/doc/html/rfc8555/#section-6.6\"\u003eRetry-After\u003c/a\u003e accessible from RateLimited#retry_after exceptions\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ccode\u003e2.0.27\u003c/code\u003e\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Renewal Information (ARI) (RFC 9773)\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/unixcharles/acme-client/commit/559889f21df6e765152687ffd6a973b61f7befa3\"\u003e\u003ccode\u003e559889f\u003c/code\u003e\u003c/a\u003e Bump to 2.0.28\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unixcharles/acme-client/commit/5e15c9f17d21eef85d01190344aa462191a2b486\"\u003e\u003ccode\u003e5e15c9f\u003c/code\u003e\u003c/a\u003e Add retry_after property to RateLimited client error (\u003ca href=\"https://redirect.github.com/unixcharles/acme-client/issues/260\"\u003e#260\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unixcharles/acme-client/commit/ff515cab615d682cbaaada9ac6ab52dc160e4b01\"\u003e\u003ccode\u003eff515ca\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 5 to 6 (\u003ca href=\"https://redirect.github.com/unixcharles/acme-client/issues/259\"\u003e#259\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unixcharles/acme-client/commit/443a45d2266463b91b5f1935c16139b6021f3c99\"\u003e\u003ccode\u003e443a45d\u003c/code\u003e\u003c/a\u003e Bump to 2.0.27\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unixcharles/acme-client/commit/d32e7f92ad6d542d49b3ed8907e349c109013512\"\u003e\u003ccode\u003ed32e7f9\u003c/code\u003e\u003c/a\u003e Add Renewal Information (ARI) support (RFC 9773) (\u003ca href=\"https://redirect.github.com/unixcharles/acme-client/issues/257\"\u003e#257\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/unixcharles/acme-client/compare/v2.0.26...v2.0.28\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `aws-sdk-ec2` from 1.569.0 to 1.584.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/aws/aws-sdk-ruby/blob/version-3/gems/aws-sdk-ec2/CHANGELOG.md\"\u003eaws-sdk-ec2's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.584.0 (2025-12-08)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Amazon EC2 P6-B300 instances provide 8x NVIDIA Blackwell Ultra GPUs with 2.1 TB high bandwidth GPU memory, 6.4 Tbps EFA networking, 300 Gbps dedicated ENA throughput, and 4 TB of system memory. Amazon EC2 C8a instances are powered by 5th Gen AMD EPYC processors with a maximum frequency of 4.5 GHz.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.583.0 (2025-11-25)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - This release adds support to view Network firewall proxy appliances attached to an existing NAT Gateway via DescribeNatGateways API NatGatewayAttachedAppliance structure.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.582.0 (2025-11-21)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - This release adds a new capability to create and manage interruptible EC2 Capacity Reservations.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.581.0 (2025-11-20)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - This release adds support for multiple features including: VPC Encryption Control for the status of traffic flow; S2S VPN BGP Logging; TGW Flexible Costs; IPAM allocation of static IPs from IPAM pools to CF Anycast IP lists used on CloudFront distribution; and EBS Volume Integration with Recycle Bin\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.580.0 (2025-11-19)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - This launch adds support for two new features: Regional NAT Gateway and IPAM Policies. IPAM policies offers customers central control for public IPv4 assignments across AWS services. Regional NAT is a single NAT Gateway that automatically expands across AZs in a VPC to maintain high availability.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.579.0 (2025-11-18)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - AWS Site-to-Site VPN now supports VPN Concentrator, a new feature that enables customers to connect multiple low-bandwidth sites connections through a single attachment, simplifying multi-site connectivity for distributed enterprises.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.578.0 (2025-11-17)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - This release introduces new APIs: DescribeInstanceSqlHaStates, DescribeInstanceSqlHaHistoryStates, EnableInstanceSqlHaStandbyDetections and DisableInstanceSqlHaStandbyDetections on Amazon EC2, allowing customers to enroll and monitor SQL Server licensing fee savings for their SQL HA EC2 instances.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.577.0 (2025-11-14)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - This release adds AvailabilityZoneId support for CreateInstanceConnectEndpoint, DescribeInstanceConnectEndpoints, and DeleteInstanceConnectEndpoint APIs.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.576.0 (2025-11-13)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Added support for new accelerator types (\u0026quot;media\u0026quot;) and accelerator names (\u0026quot;L4\u0026quot;, \u0026quot;L40s\u0026quot;, \u0026quot;GAUDI_HL_205\u0026quot;, \u0026quot;INFERENTIA2\u0026quot;, \u0026quot;TRAINIUM\u0026quot;, \u0026quot;TRAINIUM2\u0026quot;, \u0026quot;U30\u0026quot;) in Attributes Based Instance Type Selection for launched instance types.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.575.0 (2025-11-12)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Adds complete AMI ancestry tracing from immediate parent through each preceding generation back to the root AMI\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\u003eSee full diff in \u003ca href=\"https://github.com/aws/aws-sdk-ruby/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `aws-sdk-iam` from 1.132.0 to 1.137.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/aws/aws-sdk-ruby/blob/version-3/gems/aws-sdk-iam/CHANGELOG.md\"\u003eaws-sdk-iam's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.137.0 (2025-12-05)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Adding the ExpirationTime attribute to the delegation request resource.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.136.0 (2025-11-21)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Code Generated Changes, see \u003ccode\u003e./build_tools\u003c/code\u003e or \u003ccode\u003eaws-sdk-core\u003c/code\u003e's CHANGELOG.md for details.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.135.0 (2025-11-19)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Added the EnableOutboundWebIdentityFederation, DisableOutboundWebIdentityFederation and GetOutboundWebIdentityFederationInfo APIs for the IAM outbound federation feature.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.134.0 (2025-11-18)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Added the AssociateDelegationRequest, GetDelegationRequest, AcceptDelegationRequest, RejectDelegatonRequest, ListDelegationRequests, UpdateDelegationRequest, SendDelegationToken and GetHumanReadableSummary APIs for the IAM temporary delegation feature.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.133.0 (2025-11-10)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Added CreateDelegationRequest API, which is not available for general use at this time.\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\u003eSee full diff in \u003ca href=\"https://github.com/aws/aws-sdk-ruby/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `bcrypt_pbkdf` from 1.1.1 to 1.1.2\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/net-ssh/bcrypt_pbkdf-ruby/commit/e52088f9a28e34321a9b359f30d472097f1d7f01\"\u003e\u003ccode\u003ee52088f\u003c/code\u003e\u003c/a\u003e chore: bump version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/net-ssh/bcrypt_pbkdf-ruby/commit/26919975ca7b77425609387955d31784381c3af6\"\u003e\u003ccode\u003e2691997\u003c/code\u003e\u003c/a\u003e added benchmark gem to gemspec\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/net-ssh/bcrypt_pbkdf-ruby/commit/fc2498597f6f556979ccc8ee58acce10e39ff09a\"\u003e\u003ccode\u003efc24985\u003c/code\u003e\u003c/a\u003e chore: bump version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/net-ssh/bcrypt_pbkdf-ruby/commit/25919bbc4a148ba2031e6c52ec777ded97560df4\"\u003e\u003ccode\u003e25919bb\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/net-ssh/bcrypt_pbkdf-ruby/issues/26\"\u003e#26\u003c/a\u003e from brendon/Ruby-3.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/net-ssh/bcrypt_pbkdf-ruby/commit/77d005a0be09f848cf8838d09e611290b027a791\"\u003e\u003ccode\u003e77d005a\u003c/code\u003e\u003c/a\u003e Add Ruby 3.4 support\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/net-ssh/bcrypt_pbkdf-ruby/compare/v1.1.1...v1.1.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `excon` from 1.3.0 to 1.3.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/excon/excon/blob/master/changelog.txt\"\u003eexcon's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e1.3.2 2025-12-03\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eupdate bundled certs\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e1.3.1 2025-11-05\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eupdate bundled certs\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/excon/excon/commit/e94efe6637d9d99a66e8a39b52c0131c706432b7\"\u003e\u003ccode\u003ee94efe6\u003c/code\u003e\u003c/a\u003e v1.3.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/excon/excon/commit/7e858751ff850bafc4000fcca4f3f331c70c07bc\"\u003e\u003ccode\u003e7e85875\u003c/code\u003e\u003c/a\u003e update bundled certs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/excon/excon/commit/f076a7657782c518cbff2c1683309c2c106e6275\"\u003e\u003ccode\u003ef076a76\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 5 to 6 (\u003ca href=\"https://redirect.github.com/excon/excon/issues/893\"\u003e#893\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/excon/excon/commit/fbe4748d49ac87504ee8d3e7352da0de3485144c\"\u003e\u003ccode\u003efbe4748\u003c/code\u003e\u003c/a\u003e adjust ractor usage for Ruby 3.5+\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/excon/excon/commit/7900bec2e4f4916b0d8994e5e7f3b57ca10ddb68\"\u003e\u003ccode\u003e7900bec\u003c/code\u003e\u003c/a\u003e v1.3.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/excon/excon/commit/a18079c2a55780951d61da712d68554217106ede\"\u003e\u003ccode\u003ea18079c\u003c/code\u003e\u003c/a\u003e update bundled certs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/excon/excon/commit/60ac6aa966172e6bd20264366e213943d891329c\"\u003e\u003ccode\u003e60ac6aa\u003c/code\u003e\u003c/a\u003e update bundled certs\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/excon/excon/compare/v1.3.0...v1.3.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `reline` from 0.6.2 to 0.6.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/reline/releases\"\u003ereline's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.6.3\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix CSI pattern regexp to accept parameter bytes and intermediate bytes by \u003ca href=\"https://github.com/tompng\"\u003e\u003ccode\u003e@​tompng\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/reline/pull/848\"\u003eruby/reline#848\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse key symbol names instead of hardcoded C-r C-s C-h C-? in reverse/forward i-search by \u003ca href=\"https://github.com/tompng\"\u003e\u003ccode\u003e@​tompng\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/reline/pull/855\"\u003eruby/reline#855\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🛠 Other Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBump actions/checkout from 4 to 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/ruby/reline/pull/846\"\u003eruby/reline#846\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump step-security/harden-runner from 2.12.2 to 2.13.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/ruby/reline/pull/844\"\u003eruby/reline#844\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/upload-pages-artifact 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/ruby/reline/pull/849\"\u003eruby/reline#849\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump step-security/harden-runner from 2.13.0 to 2.13.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/ruby/reline/pull/850\"\u003eruby/reline#850\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse test-unit-ruby-core by \u003ca href=\"https://github.com/tompng\"\u003e\u003ccode\u003e@​tompng\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/reline/pull/852\"\u003eruby/reline#852\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove retrieve_keybuffer by \u003ca href=\"https://github.com/tompng\"\u003e\u003ccode\u003e@​tompng\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/reline/pull/851\"\u003eruby/reline#851\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump rubygems/release-gem from 1.1.1 to 1.1.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/ruby/reline/pull/857\"\u003eruby/reline#857\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse bundler/setup instead of Bunlder.require in multiline_repl by \u003ca href=\"https://github.com/tompng\"\u003e\u003ccode\u003e@​tompng\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/reline/pull/860\"\u003eruby/reline#860\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump version to 0.6.3 by \u003ca href=\"https://github.com/ima1zumi\"\u003e\u003ccode\u003e@​ima1zumi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/reline/pull/858\"\u003eruby/reline#858\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ruby/reline/compare/v0.6.2...v0.6.3\"\u003ehttps://github.com/ruby/reline/compare/v0.6.2...v0.6.3\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/ruby/reline/commit/55390d5c0cfb8916b170b9146428c8de98ff7dc8\"\u003e\u003ccode\u003e55390d5\u003c/code\u003e\u003c/a\u003e Bump up to 0.6.3 (\u003ca href=\"https://redirect.github.com/ruby/reline/issues/858\"\u003e#858\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/reline/commit/07255abec99bb6daaf87cc13c8f35e205ace9bbb\"\u003e\u003ccode\u003e07255ab\u003c/code\u003e\u003c/a\u003e Use bundler/setup instead of Bunlder.require in multiline_repl (\u003ca href=\"https://redirect.github.com/ruby/reline/issues/860\"\u003e#860\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/reline/commit/7eef150d6e3c7e85836b1a6da40a15f06a3c487e\"\u003e\u003ccode\u003e7eef150\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/reline/issues/857\"\u003e#857\u003c/a\u003e from ruby/dependabot/github_actions/rubygems/release-...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/reline/commit/63dfa17da92da947082d9d6e8336f3f5cd69b974\"\u003e\u003ccode\u003e63dfa17\u003c/code\u003e\u003c/a\u003e Bump rubygems/release-gem from 1.1.1 to 1.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/reline/commit/1d1e8081f20d4603b3342ee01ab63303304f69c0\"\u003e\u003ccode\u003e1d1e808\u003c/code\u003e\u003c/a\u003e Use key symbol names instead of hardcoded C-r C-s C-h C-? in reverse/forward ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/reline/commit/433a93076eee3bc30bb9d6c43df355a414bfbfdd\"\u003e\u003ccode\u003e433a930\u003c/code\u003e\u003c/a\u003e Fix CSI pattern regexp to accept parameter bytes and intermediate bytes (\u003ca href=\"https://redirect.github.com/ruby/reline/issues/848\"\u003e#848\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/reline/commit/5d5c1ff0cc0662b8a6285b6a9b56283bca2e5e5d\"\u003e\u003ccode\u003e5d5c1ff\u003c/code\u003e\u003c/a\u003e Remove retrieve_keybuffer (\u003ca href=\"https://redirect.github.com/ruby/reline/issues/851\"\u003e#851\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/reline/commit/199c26a2c07d83c9281cc8b97892d60b595173eb\"\u003e\u003ccode\u003e199c26a\u003c/code\u003e\u003c/a\u003e Use test-unit-ruby-core (\u003ca href=\"https://redirect.github.com/ruby/reline/issues/852\"\u003e#852\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/reline/commit/19aa19f1bfa2b738603f2c65de81a15b19b14594\"\u003e\u003ccode\u003e19aa19f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/reline/issues/850\"\u003e#850\u003c/a\u003e from ruby/dependabot/github_actions/step-security/har...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/reline/commit/9300d4de899868ea554c1a522f37a5d3eee94926\"\u003e\u003ccode\u003e9300d4d\u003c/code\u003e\u003c/a\u003e Bump step-security/harden-runner from 2.13.0 to 2.13.1\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby/reline/compare/v0.6.2...v0.6.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `roda` from 3.97.0 to 3.98.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jeremyevans/roda/blob/master/CHANGELOG\"\u003eroda's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e=== 3.98.0 (2025-11-13)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for the :env_key option to the sessions plugin (jeremyevans) (\u003ca href=\"https://redirect.github.com/jeremyevans/roda/issues/403\"\u003e#403\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/jeremyevans/roda/commit/8fc5b77fcd0d49625bcc77007622fe94a0f2afc2\"\u003e\u003ccode\u003e8fc5b77\u003c/code\u003e\u003c/a\u003e Bump version to 3.98.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jeremyevans/roda/commit/5b1a58ec704add896d1e8442c1e4bb80a0c5d85e\"\u003e\u003ccode\u003e5b1a58e\u003c/code\u003e\u003c/a\u003e Add support for the :env_key option to the sessions plugin\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/jeremyevans/roda/compare/3.97.0...3.98.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rqrcode` from 3.1.0 to 3.1.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/whomwah/rqrcode/releases\"\u003erqrcode's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.1.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRelease 3.1.0 mergeback by \u003ca href=\"https://github.com/whomwah\"\u003e\u003ccode\u003e@​whomwah\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/whomwah/rqrcode/pull/158\"\u003ewhomwah/rqrcode#158\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate required_ruby_version to allow Ruby 4.0 by \u003ca href=\"https://github.com/k0kubun\"\u003e\u003ccode\u003e@​k0kubun\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/whomwah/rqrcode/pull/160\"\u003ewhomwah/rqrcode#160\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReleases/v3.1.1 by \u003ca href=\"https://github.com/whomwah\"\u003e\u003ccode\u003e@​whomwah\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/whomwah/rqrcode/pull/161\"\u003ewhomwah/rqrcode#161\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/k0kubun\"\u003e\u003ccode\u003e@​k0kubun\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/whomwah/rqrcode/pull/160\"\u003ewhomwah/rqrcode#160\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/whomwah/rqrcode/compare/v3.1.0...v3.1.1\"\u003ehttps://github.com/whomwah/rqrcode/compare/v3.1.0...v3.1.1\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/whomwah/rqrcode/blob/main/CHANGELOG.md\"\u003erqrcode's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[3.1.1] - 2025-11-25\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate required_ruby_version to support \u0026gt;= rather than ~\u0026gt; ready for Ruby 4\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/whomwah/rqrcode/commit/30cfc62415a2e48b3089ab22ae11ab96e64e2a52\"\u003e\u003ccode\u003e30cfc62\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/whomwah/rqrcode/issues/161\"\u003e#161\u003c/a\u003e from whomwah/releases/v3.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/whomwah/rqrcode/commit/b6a0d1ae92ff2a2cc98c6caa4572ce2e88004515\"\u003e\u003ccode\u003eb6a0d1a\u003c/code\u003e\u003c/a\u003e release: Bump version to 3.1.1 and update changelog for release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/whomwah/rqrcode/commit/f9fa33704951158a38b3cf04311e295d3a0e947d\"\u003e\u003ccode\u003ef9fa337\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/whomwah/rqrcode/issues/160\"\u003e#160\u003c/a\u003e from k0kubun/ruby-4-0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/whomwah/rqrcode/commit/12a47520383c1d61d627a5107ba72fb80518ae7e\"\u003e\u003ccode\u003e12a4752\u003c/code\u003e\u003c/a\u003e Update required_ruby_version to allow Ruby 4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/whomwah/rqrcode/commit/f57261619716bb1d0fc9658c45948f8740faed68\"\u003e\u003ccode\u003ef572616\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/whomwah/rqrcode/issues/158\"\u003e#158\u003c/a\u003e from whomwah/release\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/whomwah/rqrcode/compare/v3.1.0...v3.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `addressable` from 2.8.7 to 2.8.8\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sporkmonger/addressable/blob/main/CHANGELOG.md\"\u003eaddressable's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eAddressable 2.8.8 \u003c!-- raw HTML omitted --\u003e\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eReplace the \u003ccode\u003eunicode.data\u003c/code\u003e blob by a ruby constant (\u003ca href=\"https://redirect.github.com/sporkmonger/addressable/issues/561\"\u003e#561\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow \u003ccode\u003epublic_suffix\u003c/code\u003e 7 (\u003ca href=\"https://redirect.github.com/sporkmonger/addressable/issues/558\"\u003e#558\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/sporkmonger/addressable/issues/561\"\u003e#561\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/sporkmonger/addressable/pull/561\"\u003esporkmonger/addressable#561\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/sporkmonger/addressable/issues/558\"\u003e#558\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/sporkmonger/addressable/pull/558\"\u003esporkmonger/addressable#558\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/sporkmonger/addressable/commit/111af8e8d3260dbd5b10a2dfec42a4e129d18705\"\u003e\u003ccode\u003e111af8e\u003c/code\u003e\u003c/a\u003e Update version, gemspec, and CHANGELOG for 2.8.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sporkmonger/addressable/commit/d923a5e9a7b20ed57199e9a37366446c7f8fde4f\"\u003e\u003ccode\u003ed923a5e\u003c/code\u003e\u003c/a\u003e Fix heading levels in README and Changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sporkmonger/addressable/commit/88f14727fffea367e3801e05f72d17f9079281a9\"\u003e\u003ccode\u003e88f1472\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 5 to 6 (\u003ca href=\"https://redirect.github.com/sporkmonger/addressable/issues/560\"\u003e#560\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sporkmonger/addressable/commit/22528139b10c9697a4790f334d9323ecc02c59fe\"\u003e\u003ccode\u003e2252813\u003c/code\u003e\u003c/a\u003e Replace the \u003ccode\u003eunicode.data\u003c/code\u003e blob by a ruby constant (\u003ca href=\"https://redirect.github.com/sporkmonger/addressable/issues/561\"\u003e#561\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sporkmonger/addressable/commit/af2d3f6e70b9551f94124e2dbab0d739127a8234\"\u003e\u003ccode\u003eaf2d3f6\u003c/code\u003e\u003c/a\u003e Allow \u003ccode\u003epublic_suffix\u003c/code\u003e v7 (\u003ca href=\"https://redirect.github.com/sporkmonger/addressable/issues/558\"\u003e#558\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sporkmonger/addressable/commit/aaa53fe23417b0bb5ce198ed081a70e70f240260\"\u003e\u003ccode\u003eaaa53fe\u003c/code\u003e\u003c/a\u003e CI: restore older rubies for \u003ccode\u003epublic_suffix\u003c/code\u003e jobs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sporkmonger/addressable/commit/49fc47477dc39f816bee25419c687e9a1f0282ef\"\u003e\u003ccode\u003e49fc474\u003c/code\u003e\u003c/a\u003e CI: fix \u003ccode\u003eprofile:template_match_memory\u003c/code\u003e task for Ruby \u0026gt;2.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sporkmonger/addressable/commit/c0f98d5f18e428a601b55f3740546293a18fc371\"\u003e\u003ccode\u003ec0f98d5\u003c/code\u003e\u003c/a\u003e CI: use latest stable ruby outside the version matrix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sporkmonger/addressable/commit/7cb10aae0353bc3c280aecaf3f62645b62c1ccce\"\u003e\u003ccode\u003e7cb10aa\u003c/code\u003e\u003c/a\u003e CI: test with modern JVM Rubies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sporkmonger/addressable/commit/dd1adcfc8368ab188526f7160c6e74fe2ef4cafa\"\u003e\u003ccode\u003edd1adcf\u003c/code\u003e\u003c/a\u003e CI: less \u003ccode\u003eubuntu-22.04\u003c/code\u003e, more \u003ccode\u003eubuntu-24.04\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sporkmonger/addressable/compare/addressable-2.8.7...addressable-2.8.8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `aws-partitions` from 1.1196.0 to 1.1198.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/aws/aws-sdk-ruby/blob/version-3/gems/aws-partitions/CHANGELOG.md\"\u003eaws-partitions's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.1198.0 (2025-12-19)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Added support for enumerating regions for  \u003ccode\u003eAws::Wickr\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.1197.0 (2025-12-18)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Updated the partitions source data the determines the AWS service regions and endpoints.\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\u003eSee full diff in \u003ca href=\"https://github.com/aws/aws-sdk-ruby/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `faraday-net_http` from 3.4.1 to 3.4.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/lostisland/faraday-net_http/releases\"\u003efaraday-net_http's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.4.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUse more conservative net-http version constraint by \u003ca href=\"https://github.com/RDeckard\"\u003e\u003ccode\u003e@​RDeckard\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lostisland/faraday-net_http/pull/53\"\u003elostisland/faraday-net_http#53\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/RDeckard\"\u003e\u003ccode\u003e@​RDeckard\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/lostisland/faraday-net_http/pull/53\"\u003elostisland/faraday-net_http#53\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/lostisland/faraday-net_http/compare/v3.4.1...v3.4.2\"\u003ehttps://github.com/lostisland/faraday-net_http/compare/v3.4.1...v3.4.2\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/lostisland/faraday-net_http/commit/821a73a0f1fb2fd109b3ef58312b6ee10b4f2944\"\u003e\u003ccode\u003e821a73a\u003c/code\u003e\u003c/a\u003e Update ci.yml to allow manual runs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lostisland/faraday-net_http/commit/d71af6b6da15597311c59c90a02a4fe27013fb4a\"\u003e\u003ccode\u003ed71af6b\u003c/code\u003e\u003c/a\u003e Version bump to 3.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lostisland/faraday-net_http/commit/9c90d68d674de4f1a0d24f13cf05169816773840\"\u003e\u003ccode\u003e9c90d68\u003c/code\u003e\u003c/a\u003e Use more conservative net-http version constraint (\u003ca href=\"https://redirect.github.com/lostisland/faraday-net_http/issues/53\"\u003e#53\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lostisland/faraday-net_http/commit/2047b9ab36a25b595b9f444e3b12d7661c2fa818\"\u003e\u003ccode\u003e2047b9a\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 4 to 5 (\u003ca href=\"https://redirect.github.com/lostisland/faraday-net_http/issues/51\"\u003e#51\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/lostisland/faraday-net_http/compare/v3.4.1...v3.4.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io-console` from 0.8.1 to 0.8.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/io-console/releases\"\u003eio-console's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.8.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump step-security/harden-runner from 2.12.2 to 2.13.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/ruby/io-console/pull/98\"\u003eruby/io-console#98\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/checkout from 4 to 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/ruby/io-console/pull/99\"\u003eruby/io-console#99\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump step-security/harden-runner from 2.13.0 to 2.13.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/ruby/io-console/pull/101\"\u003eruby/io-console#101\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd a workflow to sync commits to ruby/ruby by \u003ca href=\"https://github.com/k0kubun\"\u003e\u003ccode\u003e@​k0kubun\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/io-console/pull/102\"\u003eruby/io-console#102\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReorder dispatching by host_os by \u003ca href=\"https://github.com/nobu\"\u003e\u003ccode\u003e@​nobu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/io-console/pull/103\"\u003eruby/io-console#103\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/upload-artifact from 4 to 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/ruby/io-console/pull/104\"\u003eruby/io-console#104\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump rubygems/release-gem from 1.1.1 to 1.1.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/ruby/io-console/pull/106\"\u003eruby/io-console#106\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump step-security/harden-runner from 2.13.1 to 2.13.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/ruby/io-console/pull/108\"\u003eruby/io-console#108\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/ruby/io-console/pull/109\"\u003eruby/io-console#109\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump step-security/harden-runner from 2.13.2 to 2.13.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/ruby/io-console/pull/110\"\u003eruby/io-console#110\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix set winsize on windows by \u003ca href=\"https://github.com/YO4\"\u003e\u003ccode\u003e@​YO4\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/io-console/pull/111\"\u003eruby/io-console#111\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/YO4\"\u003e\u003ccode\u003e@​YO4\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/io-console/pull/111\"\u003eruby/io-console#111\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ruby/io-console/compare/v0.8.1...v0.8.2\"\u003ehttps://github.com/ruby/io-console/compare/v0.8.1...v0.8.2\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/ruby/io-console/commit/fbc7e1f31f1fc2cf21baf96a845bfdbc88e47f95\"\u003e\u003ccode\u003efbc7e1f\u003c/code\u003e\u003c/a\u003e bump up to 0.8.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/io-console/commit/04fbf93609312bab0db6b6f35643f15d2af96a4e\"\u003e\u003ccode\u003e04fbf93\u003c/code\u003e\u003c/a\u003e [ci skip] wip\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/io-console/commit/379e7c17ed27af9e7ec90f5994a566b9770f6777\"\u003e\u003ccode\u003e379e7c1\u003c/code\u003e\u003c/a\u003e strip trailing spaces [ci skip]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/io-console/commit/ae337858205871ba252c934e8d095340bfe19787\"\u003e\u003ccode\u003eae33785\u003c/code\u003e\u003c/a\u003e console_cursor_pos respects scroll position on windows\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/io-console/commit/d2a6c69697c95411faf5dd69731a9d3deb056103\"\u003e\u003ccode\u003ed2a6c69\u003c/code\u003e\u003c/a\u003e console_goto respects scroll position on windows\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/io-console/commit/817aa65ea3feab358d50f7dfb70087523dd84314\"\u003e\u003ccode\u003e817aa65\u003c/code\u003e\u003c/a\u003e avoid jumping scroll position when winsize changed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/io-console/commit/df444b93f1e74322bf6d3a7c8fbbfd794c78c1e3\"\u003e\u003ccode\u003edf444b9\u003c/code\u003e\u003c/a\u003e Remove useless rb_check_arity() call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/io-console/commit/78858b0324a2abd7c6bdb8f8c4e9b92cf60370e3\"\u003e\u003ccode\u003e78858b0\u003c/code\u003e\u003c/a\u003e Bump step-security/harden-runner from 2.13.2 to 2.13.3 (\u003ca href=\"https://redirect.github.com/ruby/io-console/issues/110\"\u003e#110\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/io-console/commit/ba83488a9fe222d4cd55d8f3a321aefe25b0cdc8\"\u003e\u003ccode\u003eba83488\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 5 to 6 (\u003ca href=\"https://redirect.github.com/ruby/io-console/issues/109\"\u003e#109\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/io-console/commit/961e4a535811fd917847e60eba77ba6f9ae58c68\"\u003e\u003ccode\u003e961e4a5\u003c/code\u003e\u003c/a\u003e Bump step-security/harden-runner from 2.13.1 to 2.13.2 (\u003ca href=\"https://redirect.github.com/ruby/io-console/issues/108\"\u003e#108\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby/io-console/compare/v0.8.1...v0.8.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `net-http` from 0.7.0 to 0.9.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/net-http/releases\"\u003enet-http's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.9.1\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRaise \u003ccode\u003eNet::OpenTimeout\u003c/code\u003e when \u003ccode\u003eTCPSocket.open\u003c/code\u003e raises \u003ccode\u003eIO::TimeoutError\u003c/code\u003e. by \u003ca href=\"https://github.com/shioimm\"\u003e\u003ccode\u003e@​shioimm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-http/pull/263\"\u003eruby/net-http#263\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFreeze more constants for Ractor compatibility by \u003ca href=\"https://github.com/rhenium\"\u003e\u003ccode\u003e@​rhenium\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-http/pull/256\"\u003eruby/net-http#256\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/shioimm\"\u003e\u003ccode\u003e@​shioimm\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/net-http/pull/263\"\u003eruby/net-http#263\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ruby/net-http/compare/v0.9.0...v0.9.1\"\u003ehttps://github.com/ruby/net-http/compare/v0.9.0...v0.9.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.9.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eopen: Never call Timeout.timeout in rescue clause by \u003ca href=\"https://github.com/osyoyu\"\u003e\u003ccode\u003e@​osyoyu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-http/pull/250\"\u003eruby/net-http#250\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed by \u003ccode\u003emisspell -w -error -source=text\u003c/code\u003e by \u003ca href=\"https://github.com/hsbt\"\u003e\u003ccode\u003e@​hsbt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-http/pull/254\"\u003eruby/net-http#254\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCheck whether TCPSocket#initialize supports open_timeout once and without exceptions by \u003ca href=\"https://github.com/eregon\"\u003e\u003ccode\u003e@​eregon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-http/pull/252\"\u003eruby/net-http#252\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRefactor HTTPS tests by \u003ca href=\"https://github.com/rhenium\"\u003e\u003ccode\u003e@​rhenium\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-http/pull/255\"\u003eruby/net-http#255\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/eregon\"\u003e\u003ccode\u003e@​eregon\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/net-http/pull/252\"\u003eruby/net-http#252\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ruby/net-http/compare/v0.8.0...v0.9.0\"\u003ehttps://github.com/ruby/net-http/compare/v0.8.0...v0.9.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.8.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eBreaking changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMinimum Ruby version raised to 2.7 along with the raise of minimum \u003ccode\u003euri\u003c/code\u003e gem version (0.11.1)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e[DOC] Fix too stopped documentations by \u003ca href=\"https://github.com/nobu\"\u003e\u003ccode\u003e@​nobu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-http/pull/244\"\u003eruby/net-http#244\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReplace Timeout.timeout with TCPSocket.open(open_timeout:) when available by \u003ca href=\"https://github.com/osyoyu\"\u003e\u003ccode\u003e@​osyoyu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-http/pull/224\"\u003eruby/net-http#224\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReplace Ruby 3.5 with Ruby 4.0 by \u003ca href=\"https://github.com/yahonda\"\u003e\u003ccode\u003e@​yahonda\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-http/pull/246\"\u003eruby/net-http#246\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix handling of IPv6 literal hosts in \u003ccode\u003eNet::HTTPGenericRequest\u003c/code\u003e by \u003ca href=\"https://github.com/taketo1113\"\u003e\u003ccode\u003e@​taketo1113\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-http/pull/237\"\u003eruby/net-http#237\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003eThis fixes compatibility issue with \u003ccode\u003euri\u003c/code\u003e gem 1.1.0+, which made relevant validations strict.\u003c/li\u003e\n\u003c/ul\u003e\n\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/yahonda\"\u003e\u003ccode\u003e@​yahonda\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/net-http/pull/246\"\u003eruby/net-http#246\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/taketo1113\"\u003e\u003ccode\u003e@​taketo1113\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/net-http/pull/237\"\u003eruby/net-http#237\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ruby/net-http/compare/v0.7.0...v0.8.0\"\u003ehttps://github.com/ruby/net-http/compare/v0.7.0...v0.8.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/ruby/net-http/commit/8cee86e939f69bd0906864e7eb740bb471a205bd\"\u003e\u003ccode\u003e8cee86e\u003c/code\u003e\u003c/a\u003e v0.9.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-http/commit/76978323d43cf96e057a16adfd72c9d4e6373279\"\u003e\u003ccode\u003e7697832\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/net-http/issues/256\"\u003e#256\u003c/a\u003e from rhenium/ky/freeze-more-constants\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-http/commit/ce9ac4765a891589bc5e524d2b877dec3c6d60fd\"\u003e\u003ccode\u003ece9ac47\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/net-http/issues/263\"\u003e#263\u003c/a\u003e from shioimm/catch-ETIMEDOUT-or-IOTimeoutError\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-http/commit/f64109e1cff0b640ff6eba1bff441c229d8a2012\"\u003e\u003ccode\u003ef64109e\u003c/code\u003e\u003c/a\u003e Raise \u003ccode\u003eNet::OpenTimeout\u003c/code\u003e when \u003ccode\u003eTCPSocket.open\u003c/code\u003e raises \u003ccode\u003eIO::TimeoutError\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-http/commit/3ccf0c8e6add12f2d99062e5a1575d63ced36c1a\"\u003e\u003ccode\u003e3ccf0c8\u003c/code\u003e\u003c/a\u003e v0.9.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-http/commit/e8e37bbdfbb5684aa6a86abdbb25b3ebf3c27be4\"\u003e\u003ccode\u003ee8e37bb\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/net-http/issues/257\"\u003e#257\u003c/a\u003e from ruby/dependabot/github_actions/step-security/har...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-http/commit/f4b30da864f3bc20b60a93838e8f34e6d207b717\"\u003e\u003ccode\u003ef4b30da\u003c/code\u003e\u003c/a\u003e Bump step-security/harden-runner from 2.13.3 to 2.14.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-http/commit/836ad704fc8066d30aade68d5015e7010057c83d\"\u003e\u003ccode\u003e836ad70\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/net-http/issues/255\"\u003e#255\u003c/a\u003e from rhenium/ky/refactor-https-tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-http/commit/f24b3b358b161f84b855da36e36029fb1bea904e\"\u003e\u003ccode\u003ef24b3b3\u003c/code\u003e\u003c/a\u003e Freeze more constants for Ractor compatibility\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-http/commit/35c1745a2602f73036661a0bb070e989c33a0052\"\u003e\u003ccode\u003e35c1745\u003c/code\u003e\u003c/a\u003e Refactor HTTPS tests\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby/net-http/compare/v0.7.0...v0.9.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `oauth2` from 2.0.17 to 2.0.18\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby-oauth/oauth2/releases\"\u003eoauth2's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.0.18\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/compare/v2.0.17...v2.0.18\"\u003e2.0.18\u003c/a\u003e - 2025-11-08\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eTAG: \u003ca href=\"https://github.com/ruby-oauth/oauth2/releases/tag/v2.0.18\"\u003ev2.0.18\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCOVERAGE: 100.00% -- 526/526 lines in 14 files\u003c/li\u003e\n\u003cli\u003eBRANCH COVERAGE: 100.00% -- 178/178 branches in 14 files\u003c/li\u003e\n\u003cli\u003e90.48% documented\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/683\"\u003egh!683\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/684\"\u003egh!684\u003c/a\u003e - Improve documentation by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/686\"\u003egh!686\u003c/a\u003e- Add Incident Response Plan by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/687\"\u003egh!687\u003c/a\u003e- Add Threat Model by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/685\"\u003egh!685\u003c/a\u003e - upgrade kettle-dev v1.1.24 by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eupgrade kettle-dev v1.1.52 by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003eAdd open collective donors to README\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/690\"\u003egh!690\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/691\"\u003egh!691\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/692\"\u003egh!692\u003c/a\u003e - Add yard-fence\n\u003cul\u003e\n\u003cli\u003ehandle braces within code fences in markdown properly by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cp\u003eOfficial Discord 👉️ [![Live Chat on Discord][✉️discord-invite-img]][✉️discord-invite]\u003c/p\u003e\n\u003cp\u003eMany paths lead to being a sponsor or a backer of this project. Are you on such a path?\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://opencollective.com/ruby-oauth#backer\"\u003e![OpenCollective Backers][🖇osc-backers-i]\u003c/a\u003e [![OpenCollective Sponsors][🖇osc-sponsors-i]][🖇osc-sponsors] [![Sponsor Me on Github][🖇sponsor-img]][🖇sponsor] \u003ca href=\"https://liberapay.com/pboling/donate\"\u003e\u003cimg src=\"https://img.shields.io/liberapay/goal/pboling.svg?logo=liberapay\u0026amp;color=a51611\u0026amp;style=flat\" alt=\"Liberapay Goal Progress\" /\u003e\u003c/a\u003e [![Donate on PayPal][🖇paypal-img]][🖇paypal]\u003c/p\u003e\n\u003cp\u003e[![Buy me a coffee][🖇buyme-small-img]][🖇buyme] [![Donate on Polar][🖇polar-img]][🖇polar] [![Donate to my FLOSS efforts at ko-fi.com][🖇kofi-img]][🖇kofi] [![Donate to my FLOSS efforts using Patreon][🖇patreon-img]][🖇patreon]\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\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby-oauth/oauth2/blob/main/CHANGELOG.md\"\u003eoauth2's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[2.0.18] - 2025-11-08\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eTAG: [v2.0.18][2.0.18t]\u003c/li\u003e\n\u003cli\u003eCOVERAGE: 100.00% -- 526/526 lines in 14 files\u003c/li\u003e\n\u003cli\u003eBRANCH COVERAGE: 100.00% -- 178/178 branches in 14 files\u003c/li\u003e\n\u003cli\u003e90.48% documented\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/683\"\u003egh!683\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/684\"\u003egh!684\u003c/a\u003e - Improve documentation by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/686\"\u003egh!686\u003c/a\u003e- Add Incident Response Plan by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/687\"\u003egh!687\u003c/a\u003e- Add Threat Model by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/685\"\u003egh!685\u003c/a\u003e - upgrade kettle-dev v1.1.24 by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eupgrade kettle-dev v1.1.52 by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003eAdd open collective donors to README\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/690\"\u003egh!690\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/691\"\u003egh!691\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/692\"\u003egh!692\u003c/a\u003e - Add yard-fence\n\u003cul\u003e\n\u003cli\u003ehandle braces within code fences in markdown properly by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSecurity\u003c/h3\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/ruby-oauth/oauth2/commit/b5753116121553d56937039dafc5ea472d9a99ed\"\u003e\u003ccode\u003eb575311\u003c/code\u003e\u003c/a\u003e 🔖 Prepare release v2.0.18\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/b5af77ba42ec111dda68abdee33d631e27fdfe61\"\u003e\u003ccode\u003eb5af77b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/issues/693\"\u003e#693\u003c/a\u003e from ruby-oauth/feat/docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/cf2853d9fa05999f88c9df8b1b3a8a3ed21c64e8\"\u003e\u003ccode\u003ecf2853d\u003c/code\u003e\u003c/a\u003e 📝 Update docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/18434156bfc988527d2453b2174e6356e233757d\"\u003e\u003ccode\u003e1843415\u003c/code\u003e\u003c/a\u003e ⬆️ kettle-dev v1.1.52, yard-fence v0.8.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/f592dd8753966a30671ebc2e8a28ab26138b6c2b\"\u003e\u003ccode\u003ef592dd8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/issues/692\"\u003e#692\u003c/a\u003e from ruby-oauth/feat/docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/2095732d7cd4eeb80fe74c89e2a2d012517e40d6\"\u003e\u003ccode\u003e2095732\u003c/code\u003e\u003c/a\u003e ⬆️ yard-fence v0.7.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/50f3fd08e733ed75b2cc99e077e9ea9d64a3d5d5\"\u003e\u003ccode\u003e50f3fd0\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/issues/691\"\u003e#691\u003c/a\u003e from ruby-oauth/feat/docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/bcb0e40bfca989f164a04cbf46a4175822b7cb28\"\u003e\u003ccode\u003ebcb0e40\u003c/code\u003e\u003c/a\u003e ✏️ Fix typos in docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/f24f1a8bfbf546595aa16cd6fa82119c8218c1d3\"\u003e\u003ccode\u003ef24f1a8\u003c/code\u003e\u003c/a\u003e Create CNAME\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/bff58e1afec541feca2a337664d09c58b8a22419\"\u003e\u003ccode\u003ebff58e1\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/issues/690\"\u003e#690\u003c/a\u003e from ruby-oauth/feat/yard-fence\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby-oauth/oauth2/compare/v2.0.17...v2.0.18\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `openapi_parser` from 2.3.0 to 2.3.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ota42y/openapi_parser/blob/master/CHANGELOG.md\"\u003eopenapi_parser's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.1 (2025-11-14)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eadd optional date coercion with behavior matching existing datetime coercion\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/ota42y/openapi_parser/commit/0b68c8c019b9201911b41fb0fc86717f1372ca72\"\u003e\u003ccode\u003e0b68c8c\u003c/code\u003e\u003c/a\u003e v2.3.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ota42y/openapi_parser/commit/2e4e4403b548030fcf941cbddff9424703cab575\"\u003e\u003ccode\u003e2e4e440\u003c/code\u003e\u003c/a\u003e Add date coercion (\u003ca href=\"https://redirect.github.com/ota42y/openapi_parser/issues/188\"\u003e#188\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ota42y/openapi_parser/commit/2361ec7e94a8d4d3e4b179853c64acdc68a2073e\"\u003e\u003ccode\u003e2361ec7\u003c/code\u003e\u003c/a\u003e ci: expand workflow trigger events\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/ota42y/openapi_parser/compare/v2.3.0...v2.3.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `public_suffix` from 6.0.2 to 7.0.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/weppos/publicsuffix-ruby/blob/main/CHANGELOG.md\"\u003epublic_suffix's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e7.0.0\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated definitions.\u003c/li\u003e\n\u003cli\u003eMinimum Ruby version is 3.2\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/weppos/publicsuffix-ruby/commit/af45298523be055dd86ec9d7bac1bb26621ddbb2\"\u003e\u003ccode\u003eaf45298\u003c/code\u003e\u003c/a\u003e Release 7.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weppos/publicsuffix-ruby/commit/93b01019a89a226d4b59a7d0203d9c19eec18ee0\"\u003e\u003ccode\u003e93b0101\u003c/code\u003e\u003c/a\u003e Create RELEASING.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weppos/publicsuffix-ruby/commit/0b56a7c26fedd381f1bc50269dfcd17b51ca8c62\"\u003e\u003ccode\u003e0b56a7c\u003c/code\u003e\u003c/a\u003e Cleanup README\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weppos/publicsuffix-ruby/commit/12fc739d726b8e4de1b40b7e9a7860c1b8bd2a5e\"\u003e\u003ccode\u003e12fc739\u003c/code\u003e\u003c/a\u003e Reorganize README\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weppos/publicsuffix-ruby/commit/193be1d045a8e935ff80457c6cd81c497d0b8b11\"\u003e\u003ccode\u003e193be1d\u003c/code\u003e\u003c/a\u003e Minimum Ruby version is 3.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weppos/publicsuffix-ruby/commit/8e8bf6b4724a21ef07f653c879d6bad0f63e8f44\"\u003e\u003ccode\u003e8e8bf6b\u003c/code\u003e\u003c/a\u003e build(deps): update mocha requirement from ~\u0026gt; 2.7.0 to ~\u0026gt; 2.8.2 (\u003ca href=\"https://redirect.github.com/weppos/publicsuffix-ruby/issues/476\"\u003e#476\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weppos/publicsuffix-ruby/commit/f0553bfcc529d05ce5bac951cf735a147c6a417a\"\u003e\u003ccode\u003ef0553bf\u003c/code\u003e\u003c/a\u003e Updated list from source (\u003ca href=\"https://redirect.github.com/weppos/publicsuffix-ruby/issues/475\"\u003e#475\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weppos/publicsuffix-ruby/commit/34ea4ed4ae67afb24c6b0dbc09669ecc8e362156\"\u003e\u003ccode\u003e34ea4ed\u003c/code\u003e\u003c/a\u003e Updated list from source (\u003ca href=\"https://redirect.github.com/weppos/publicsuffix-ruby/issues/474\"\u003e#474\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weppos/publicsuffix-ruby/commit/0f5aace9b679d9f9a3ad2a8564454726a3cdb2e5\"\u003e\u003ccode\u003e0f5aace\u003c/code\u003e\u003c/a\u003e Updated list from source (\u003ca href=\"https://redirect.github.com/weppos/publicsuffix-ruby/issues/473\"\u003e#473\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weppos/publicsuffix-ruby/commit/a6c373a2265863d7463e81e52dceada6202ab2e4\"\u003e\u003ccode\u003ea6c373a\u003c/code\u003e\u003c/a\u003e Updated list from source (\u003ca href=\"https://redirect.github.com/weppos/publicsuffix-ruby/issues/472\"\u003e#472\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/weppos/publicsuffix-ruby/compare/v6.0.2...v7.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rqrcode_core` from 2.0.0 to 2.0.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/whomwah/rqrcode_core/releases\"\u003erqrcode_core's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.0.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ev2.0.0 Release mergeback by \u003ca href=\"https://github.com/whomwah\"\u003e\u003ccode\u003e@​whomwah\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/whomwah/rqrcode_core/pull/46\"\u003ewhomwah/rqrcode_core#46\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix compare link for version 2.0.0 [ci skip] by \u003ca href=\"https://github.com/prognostikos\"\u003e\u003ccode\u003e@​prognostikos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/whomwah/rqrcode_core/pull/47\"\u003ewhomwah/rqrcode_core#47\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate required_ruby_version to Ruby 4.0 by \u003ca href=\"https://github.com/k0kubun\"\u003e\u003ccode\u003e@​k0kubun\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/whomwah/rqrcode_core/pull/48\"\u003ewhomwah/rqrcode_core#48\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReleases/v2.0.1 by \u003ca href=\"https://github.com/whomwah\"\u003e\u003ccode\u003e@​whomwah\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/whomwah/rqrcode_core/pull/49\"\u003ewhomwah/rqrcode_core#49\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/prognostikos\"\u003e\u003ccode\u003e@​prognostikos\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/whomwah/rqrcode_core/pull/47\"\u003ewhomwah/rqrcode_core#47\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/k0kubun\"\u003e\u003ccode\u003e@​k0kubun\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/whomwah/rqrcode_core/pull/48\"\u003ewhomwah/rqrcode_core#48\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/whomwah/rqrcode_core/compare/v2.0.0...v2.0.1\"\u003ehttps://github.com/whomwah/rqrcode_core/compare/v2.0.0...v2.0.1\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/whomwah/rqrcode_core/blob/main/CHANGELOG.md\"\u003erqrcode_core's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[2.0.1] - 2025-11-25\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate required_ruby_version to support \u0026gt;= rather than ~\u0026gt; ready for Ruby 4\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/whomwah/rqrcode_core/commit/e90cd933aca95575367bbc267b22cc04fce4ec4f\"\u003e\u003ccode\u003ee90cd93\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/whomwah/rqrcode_core/issues/49\"\u003e#49\u003c/a\u003e from whomwah/releases/v2.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/whomwah/rqrcode_core/commit/5e48a2f0a007d35ce169f6d4d45ae60f528c2f72\"\u003e\u003ccode\u003e5e48a2f\u003c/code\u003e\u003c/a\u003e release: Bump version to 2.0.1 and update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/whomwah/rqrcode_core/commit/a35eebde0f650074331206ccc7c6dc39a3fbb664\"\u003e\u003ccode\u003ea35eebd\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/whomwah/rqrcode_core/issues/48\"\u003e#48\u003c/a\u003e from k0kubun/ruby-4-0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/whomwah/rqrcode_core/commit/5108d47343eac062b5d8bb2526425575f1b645f5\"\u003e\u003ccode\u003e5108d47\u003c/code\u003e\u003c/a\u003e Update required_ruby_version to Ruby 4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/whomwah/rqrcode_core/commit/ccf2c64185c9c22c9e55ebaedcf61cc45d5addad\"\u003e\u003ccode\u003eccf2c64\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/whomwah/rqrcode_core/issues/47\"\u003e#47\u003c/a\u003e from prognostikos/patch-1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/whomwah/rqrcode_core/commit/4ad199bb61771d06da4401d06d8b7b70d791db25\"\u003e\u003ccode\u003e4ad199b\u003c/code\u003e\u003c/a\u003e Fix compare link for version 2.0.0 [ci skip]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/whomwah/rqrcode_core/commit/c1dc8b2daaea5fe35f92416ab0d22ea25fc790aa\"\u003e\u003ccode\u003ec1dc8b2\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/whomwah/rqrcode_core/issues/46\"\u003e#46\u003c/a\u003e from whomwah/release\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/whomwah/rqrcode_core/compare/v2.0.0...v2.0.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `timeout` from 0.4.4 to 0.6.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/timeout/releases\"\u003etimeout's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.6.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSuppress warnings in two tests by \u003ca href=\"https://github.com/olleolleolle\"\u003e\u003ccode\u003e@​olleolleolle\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/timeout/pull/71\"\u003eruby/timeout#71\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRevert \u0026quot;Suppress warnings in two tests\u0026quot; by \u003ca href=\"https://github.com/nobu\"\u003e\u003ccode\u003e@​nobu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/timeout/pull/74\"\u003eruby/timeout#74\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOnly the timeout method should be public on the Timeout module by \u003ca href=\"https://github.com/eregon\"\u003e\u003ccode\u003e@​eregon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/timeout/pull/76\"\u003eruby/timeout#76\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003esupport Ractor by \u003ca href=\"https://github.com/ko1\"\u003e\u003ccode\u003e@​ko1\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/timeout/pull/75\"\u003eruby/timeout#75\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTest that Timeout does not expose extra constants by \u003ca href=\"https://github.com/eregon\"\u003e\u003ccode\u003e@​eregon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/timeout/pull/77\"\u003eruby/timeout#77\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRevert \u0026quot;Exclude constantly-failing test on x86_64-darwin\u0026quot; by \u003ca href=\"https://github.com/ko1\"\u003e\u003ccode\u003e@​ko1\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/timeout/pull/79\"\u003eruby/timeout#79\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReset the interrupt mask when creating the Timeout thread by \u003ca href=\"https://github.com/eregon\"\u003e\u003ccode\u003e@​eregon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/timeout/pull/80\"\u003eruby/timeout#80\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake Timeout.timeout work in a trap handler on CRuby by \u003ca href=\"https://github.com/eregon\"\u003e\u003ccode\u003e@​eregon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/timeout/pull/81\"\u003eruby/timeout#81\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSkip signal test on windows by \u003ca href=\"https://github.com/byroot\"\u003e\u003ccode\u003e@​byroot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/timeout/pull/82\"\u003eruby/timeout#82\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd windows to CI matrix by \u003ca href=\"https://github.com/byroot\"\u003e\u003ccode\u003e@​byroot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/timeout/pull/83\"\u003eruby/timeout#83\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix failing timeout test by \u003ca href=\"https://github.com/luke-gruber\"\u003e\u003ccode\u003e@​luke-gruber\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/timeout/pull/85\"\u003eruby/timeout#85\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRestore original signal handler in test_timeout_in_trap_handler by \u003ca href=\"https://github.com/eregon\"\u003e\u003ccode\u003e@​eregon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/timeout/pull/87\"\u003eruby/timeout#87\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRun on Windows for all versions and remove old excludes by \u003ca href=\"https://github.com/eregon\"\u003e\u003ccode\u003e@​eregon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/timeout/pull/84\"\u003eruby/timeout#84\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/ko1\"\u003e\u003ccode\u003e@​ko1\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/timeout/pull/75\"\u003eruby/timeout#75\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/byroot\"\u003e\u003ccode\u003e@​byroot\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/timeout/pull/82\"\u003eruby/timeout#82\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/luke-gruber\"\u003e\u003ccode\u003e@​luke-gruber\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/timeout/pull/85\"\u003eruby/timeout#85\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ruby/timeout/compare/v0.4.4...v0.6.0\"\u003ehttps://github.com/ruby/timeout/compare/v0.4.4...v0.6.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.5.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSuppress warnings in two tests by \u003ca href=\"https://github.com/olleolleolle\"\u003e\u003ccode\u003e@​olleolleolle\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/timeout/pull/71\"\u003eruby/timeout#71\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRevert \u0026quot;Suppress warnings in two tests\u0026quot; by \u003ca href=\"https://github.com/nobu\"\u003e\u003ccode\u003e@​nobu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/timeout/pull/74\"\u003eruby/timeout#74\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOnly the timeout method should be public on the Timeout module by \u003ca href=\"https://github.com/eregon\"\u003e\u003ccode\u003e@​eregon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/timeout/pull/76\"\u003eruby/timeout#76\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003esupport Ractor by \u003ca href=\"https://github.com/ko1\"\u003e\u003ccode\u003e@​ko1\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/timeout/pull/75\"\u003eruby/timeout#75\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTest that Timeout does not expose extra constants by \u003ca href=\"https://github.com/eregon\"\u003e\u003ccode\u003e@​eregon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/timeout/pull/77\"\u003eruby/timeout#77\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/ko1\"\u003e\u003ccode\u003e@​ko1\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/timeout/pull/75\"\u003eruby/timeout#75\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ruby/timeout/compare/v0.4.4...v0.5.0\"\u003ehttps://github.com/ruby/timeout/compare/v0.4.4...v0.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/ruby/timeout/commit/ab79dfff47092008ce08520763c846eba3a3a5f1\"\u003e\u003ccode\u003eab79dff\u003c/code\u003e\u003c/a\u003e v0.6.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/timeout/commit/2eb16dc3c02387fcdd3de265e755fc6956c0bf51\"\u003e\u003ccode\u003e2eb16dc\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/timeout/issues/88\"\u003e#88\u003c/a\u003e from ruby/dependabot/github_actions/step-security/hard...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/timeout/commit/179ea36ef1849c7fe1bd72c4ecd418f2bba5bb3e\"\u003e\u003ccode\u003e179ea36\u003c/code\u003e\u003c/a\u003e Bump step-security/harden-runner from 2.13.3 to 2.14.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/timeout/commit/549605db39602a4fc351165d061e70953b03bb9c\"\u003e\u003ccode\u003e549605d\u003c/code\u003e\u003c/a\u003e Run on Windows for all versions and remove old excludes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/timeout/commit/4ae8631acfe8fb94964b8f3c56c1d3b4e8a92be7\"\u003e\u003ccode\u003e4ae8631\u003c/code\u003e\u003c/a\u003e Restore original signal handler in test_timeout_in_trap_handler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/timeout/commit/e5bc1de901ed40227c462863a16f1e13715f9228\"\u003e\u003ccode\u003ee5bc1de\u003c/code\u003e\u003c/a\u003e Fix failing timeout test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/timeout/commit/d95f1b8e6e9100e0ee62611c9c6b7cbb7fe9dd23\"\u003e\u003ccode\u003ed95f1b8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/timeout/issues/83\"\u003e#83\u003c/a\u003e from byroot/test-on-windows\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/timeout/commit/c8d63ce3fecc201cc19303f766cfc81f0cada921\"\u003e\u003ccode\u003ec8d63ce\u003c/code\u003e\u003c/a\u003e Add windows to CI matrix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/timeout/commit/069b3a0538a53e7c6441fa2a7dbbf1fec19b8441\"\u003e\u003ccode\u003e069b3a0\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/timeout/issues/82\"\u003e#82\u003c/a\u003e from byroot/no-sigusr1-win32\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/timeout/commit/b19043e8d03811f6a2a0d67e07a9da302c2ad352\"\u003e\u003ccode\u003eb19043e\u003c/code\u003e\u003c/a\u003e Skip signal test on windows\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby/timeout/compare/v0.4.4...v0.6.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 merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\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/ubicloud/ubicloud/pull/4432","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/ubicloud%2Fubicloud/issues/4432","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/4432/packages"}},{"old_version":"2.0.17","new_version":"2.0.18","update_type":"patch","path":null,"pr_created_at":"2025-12-17T03:07:10.000Z","version_change":"2.0.17 → 2.0.18","issue":{"uuid":"3737144783","node_id":"PR_kwDODLuhc865Rz9m","number":1024,"state":"closed","title":"Bump the bundler group across 1 directory with 60 updates","user":"dependabot[bot]","labels":["dependencies","ruby"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2025-12-24T03:04:59.000Z","author_association":null,"state_reason":null,"created_at":"2025-12-17T03:07:10.000Z","updated_at":"2025-12-24T03:05:00.000Z","time_to_close":604669,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"bundler","update_count":60,"packages":[{"name":"rails","old_version":"8.0.3","new_version":"8.1.1","repository_url":"https://github.com/rails/rails"},{"name":"puma","old_version":"7.0.4","new_version":"7.1.0","repository_url":"https://github.com/puma/puma"},{"name":"bootsnap","old_version":"1.18.6","new_version":"1.19.0","repository_url":"https://github.com/rails/bootsnap"},{"name":"faker","old_version":"3.5.2","new_version":"3.5.3","repository_url":"https://github.com/faker-ruby/faker"},{"name":"faraday","old_version":"2.13.4","new_version":"2.14.0","repository_url":"https://github.com/lostisland/faraday"},{"name":"oauth2","old_version":"2.0.17","new_version":"2.0.18","repository_url":"https://github.com/ruby-oauth/oauth2"},{"name":"dotenv-rails","old_version":"3.1.8","new_version":"3.2.0","repository_url":"https://github.com/bkeepers/dotenv"},{"name":"sinatra","old_version":"4.1.1","new_version":"4.2.1","repository_url":"https://github.com/sinatra/sinatra"},{"name":"webmock","old_version":"3.25.1","new_version":"3.26.1","repository_url":"https://github.com/bblimke/webmock"},{"name":"brakeman","old_version":"7.1.0","new_version":"7.1.1","repository_url":"https://github.com/presidentbeef/brakeman"},{"name":"shoulda-matchers","old_version":"6.5.0","new_version":"7.0.1","repository_url":"https://github.com/thoughtbot/shoulda-matchers"},{"name":"factory_bot","old_version":"6.5.5","new_version":"6.5.6","repository_url":"https://github.com/thoughtbot/factory_bot"},{"name":"parser","old_version":"3.3.9.0","new_version":"3.3.10.0","repository_url":"https://github.com/whitequark/parser"},{"name":"prism","old_version":"1.5.1","new_version":"1.6.0","repository_url":"https://github.com/ruby/prism"},{"name":"rspec","old_version":"3.13.1","new_version":"3.13.2","repository_url":"https://github.com/rspec/rspec"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps the bundler group with 15 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [rails](https://github.com/rails/rails) | `8.0.3` | `8.1.1` |\n| [puma](https://github.com/puma/puma) | `7.0.4` | `7.1.0` |\n| [bootsnap](https://github.com/rails/bootsnap) | `1.18.6` | `1.19.0` |\n| [faker](https://github.com/faker-ruby/faker) | `3.5.2` | `3.5.3` |\n| [faraday](https://github.com/lostisland/faraday) | `2.13.4` | `2.14.0` |\n| [oauth2](https://github.com/ruby-oauth/oauth2) | `2.0.17` | `2.0.18` |\n| [dotenv-rails](https://github.com/bkeepers/dotenv) | `3.1.8` | `3.2.0` |\n| [sinatra](https://github.com/sinatra/sinatra) | `4.1.1` | `4.2.1` |\n| [webmock](https://github.com/bblimke/webmock) | `3.25.1` | `3.26.1` |\n| [brakeman](https://github.com/presidentbeef/brakeman) | `7.1.0` | `7.1.1` |\n| [shoulda-matchers](https://github.com/thoughtbot/shoulda-matchers) | `6.5.0` | `7.0.1` |\n| [factory_bot](https://github.com/thoughtbot/factory_bot) | `6.5.5` | `6.5.6` |\n| [parser](https://github.com/whitequark/parser) | `3.3.9.0` | `3.3.10.0` |\n| [prism](https://github.com/ruby/prism) | `1.5.1` | `1.6.0` |\n| [rspec](https://github.com/rspec/rspec) | `3.13.1` | `3.13.2` |\n\n\nUpdates `rails` from 8.0.3 to 8.1.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003erails's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.1.1\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Record\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction View\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eRespect \u003ccode\u003eremove_hidden_field_autocomplete\u003c/code\u003e config in form builder \u003ccode\u003ehidden_field\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction Pack\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAllow methods starting with underscore to be action methods.\u003c/p\u003e\n\u003cp\u003eDisallowing methods starting with an underscore from being action methods\nwas an unintended side effect of the performance optimization in\n207a254.\u003c/p\u003e\n\u003cp\u003eFixes \u003ca href=\"https://redirect.github.com/rails/rails/issues/55985\"\u003e#55985\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Job\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eOnly index new serializers.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eJesse Sharps\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction Mailer\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction Cable\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/rails/rails/commit/90a1eaa1b30ba1f2d524e197460e549c03cf5698\"\u003e\u003ccode\u003e90a1eaa\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.1 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/0ce0ce1ca2da1d36cdc149a72a777a956ea45dc7\"\u003e\u003ccode\u003e0ce0ce1\u003c/code\u003e\u003c/a\u003e Upgrade sigstore gem to 0.2.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/271acd57d1430be8c92fbd8f19a2069e62425803\"\u003e\u003ccode\u003e271acd5\u003c/code\u003e\u003c/a\u003e Sync CHANGELOG\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/7574698226c364ab98e69188539e2cf27517ef1f\"\u003e\u003ccode\u003e7574698\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56020\"\u003e#56020\u003c/a\u003e from harsh183/hd/getting_started/fix_line_num_typo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/89cb7bff192ce71267ae76f38942ca8f306ce273\"\u003e\u003ccode\u003e89cb7bf\u003c/code\u003e\u003c/a\u003e Fix railties/CHANGELOG.md offense at 8-1-stable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/7919bdab44688f1e7f121bc36a76169787cdfe60\"\u003e\u003ccode\u003e7919bda\u003c/code\u003e\u003c/a\u003e Restore header\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/f007f9ca53448379246a1901b213bd57955af26c\"\u003e\u003ccode\u003ef007f9c\u003c/code\u003e\u003c/a\u003e Disable SSL default config for out of the box Kamal deployments (\u003ca href=\"https://redirect.github.com/rails/rails/issues/56010\"\u003e#56010\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/234b56973bb453bb50850a1be07a2fcad7331592\"\u003e\u003ccode\u003e234b569\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56008\"\u003e#56008\u003c/a\u003e from chaadow/fix_nesting_loop_rails\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/21a8742bb6bb5720f0e67d67fe26874598d1afbe\"\u003e\u003ccode\u003e21a8742\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55992\"\u003e#55992\u003c/a\u003e from jsharpify/jsharpify-reduce-deprecation-warnings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/a7ba88b04e935d2a9cbc205382d6cd7c514f425c\"\u003e\u003ccode\u003ea7ba88b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56001\"\u003e#56001\u003c/a\u003e from hachi8833/update_wishlists\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/rails/compare/v8.0.3...v8.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `puma` from 7.0.4 to 7.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/puma/puma/releases\"\u003epuma's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev7.1.0\u003c/h2\u003e\n\u003ch2\u003e7.1.0 / 2025-10-16 - Neon Witch\u003c/h2\u003e\n\u003cp\u003e\u003cimg src=\"https://github.com/user-attachments/assets/6f013211-35fb-46ce-84d8-00794e020294\" alt=\"neon_witch\" /\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFeatures\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eIntroduce \u003ccode\u003eafter_worker_shutdown\u003c/code\u003e hook (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3707\"\u003e#3707\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReintroduce keepalive \u0026quot;fast inline\u0026quot; behavior. Provides faster (8x on JRuby \u0026amp; 1.4x on Ruby) pipeline processing  (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3794\"\u003e#3794\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eBugfixes\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eSkip reading zero bytes when request body is buffered (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3795\"\u003e#3795\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003ePUMA_LOG_CONFIG=1\u003c/code\u003e logging twice with prune_bundler enabled (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3778\"\u003e#3778\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix prune_bundler not showing in \u003ccode\u003ePUMA_LOG_CONFIG=1\u003c/code\u003e output (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3779\"\u003e#3779\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGuard ThreadPool method call, which may be nil during shutdown (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3791\"\u003e#3791\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/puma/puma/issues/3790\"\u003e#3790\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSet \u003ccode\u003eThread.current.puma_server\u003c/code\u003e in Thread init code, not every request (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3774\"\u003e#3774\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix race condition while deleting pidfile (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3657\"\u003e#3657\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\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/nerdrew\"\u003e\u003ccode\u003e@​nerdrew\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/puma/puma/pull/3707\"\u003epuma/puma#3707\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mopp\"\u003e\u003ccode\u003e@​mopp\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/puma/puma/pull/3783\"\u003epuma/puma#3783\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marksmith\"\u003e\u003ccode\u003e@​marksmith\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/puma/puma/pull/3657\"\u003epuma/puma#3657\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Nymuxyzo\"\u003e\u003ccode\u003e@​Nymuxyzo\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/puma/puma/pull/3762\"\u003epuma/puma#3762\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/puma/puma/compare/v7.0.4...v7.1.0\"\u003ehttps://github.com/puma/puma/compare/v7.0.4...v7.1.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/puma/puma/blob/main/History.md\"\u003epuma's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e7.1.0 / 2025-10-16\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFeatures\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eIntroduce \u003ccode\u003eafter_worker_shutdown\u003c/code\u003e hook (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3707\"\u003e#3707\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReintroduce keepalive \u0026quot;fast inline\u0026quot; behavior. Provides faster (8x on JRuby \u0026amp; 1.4x on Ruby) pipeline processing  (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3794\"\u003e#3794\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eBugfixes\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eSkip reading zero bytes when request body is buffered (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3795\"\u003e#3795\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003ePUMA_LOG_CONFIG=1\u003c/code\u003e logging twice with prune_bundler enabled (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3778\"\u003e#3778\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix prune_bundler not showing in \u003ccode\u003ePUMA_LOG_CONFIG=1\u003c/code\u003e output (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3779\"\u003e#3779\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGuard ThreadPool method call, which may be nil during shutdown (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3791\"\u003e#3791\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/puma/puma/issues/3790\"\u003e#3790\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSet \u003ccode\u003eThread.current.puma_server\u003c/code\u003e in Thread init code, not every request (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3774\"\u003e#3774\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix race condition while deleting pidfile (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3657\"\u003e#3657\u003c/a\u003e)\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/puma/puma/commit/fb2a0733e938c8786e033f22dc5bf66727dddb3a\"\u003e\u003ccode\u003efb2a073\u003c/code\u003e\u003c/a\u003e v7.1.0 (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3797\"\u003e#3797\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/4edb9e9b16835aa24bd037a88dad4d34a76952e4\"\u003e\u003ccode\u003e4edb9e9\u003c/code\u003e\u003c/a\u003e \u003ccode\u003eclient.rb\u003c/code\u003e - \u003ccode\u003eread_body\u003c/code\u003e - cleanup last lines of method (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3798\"\u003e#3798\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/84a568ab1c4d0c5cd0d29a167f5facba9699a35c\"\u003e\u003ccode\u003e84a568a\u003c/code\u003e\u003c/a\u003e Update wait_for_less_busy_worker docs (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3757\"\u003e#3757\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/e59a6049c3fc08ac2bd906a10d199bdf3949eb04\"\u003e\u003ccode\u003ee59a604\u003c/code\u003e\u003c/a\u003e Initialize only essential \u003ccode\u003eLauncher\u003c/code\u003e state before \u003ccode\u003eprune_bundler\u003c/code\u003e restart (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3\"\u003e#3\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/6844de7c4f2503751bad5e9c141de2bdb067f452\"\u003e\u003ccode\u003e6844de7\u003c/code\u003e\u003c/a\u003e client.rb - Skip reading zero bytes when request body is buffered (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3795\"\u003e#3795\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/1d3d6b792cdc870171d27cafbd0b7ceaf5e2dfb7\"\u003e\u003ccode\u003e1d3d6b7\u003c/code\u003e\u003c/a\u003e Set \u003ccode\u003eThread.current.puma_server\u003c/code\u003e in Thread init code, not every request (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3774\"\u003e#3774\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/9b34cde2c5ddf7fd65bfd5f8aea811659226662e\"\u003e\u003ccode\u003e9b34cde\u003c/code\u003e\u003c/a\u003e Adding syntax highlighting in k8s docs (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3782\"\u003e#3782\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/a2bd2f63476a719faa02eacac94b274d0cee1f6d\"\u003e\u003ccode\u003ea2bd2f6\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003eprune_bundler\u003c/code\u003e to \u003ccode\u003eConfiguration::DEFAULTS\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3779\"\u003e#3779\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/d7a0854a39bbb3f06f12c4a180e42ee6d36f7985\"\u003e\u003ccode\u003ed7a0854\u003c/code\u003e\u003c/a\u003e ci: Update hey benchmark files, minor fixes and formatting (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3796\"\u003e#3796\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/ff08099b1fc702093261a90e92da09feb577c683\"\u003e\u003ccode\u003eff08099\u003c/code\u003e\u003c/a\u003e ci: Update Update test/rackup/sleep_fibonacci.ru, add test script (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3793\"\u003e#3793\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/puma/puma/compare/v7.0.4...v7.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `actionpack` from 8.0.3 to 8.1.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003eactionpack's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.1.1\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Record\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction View\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eRespect \u003ccode\u003eremove_hidden_field_autocomplete\u003c/code\u003e config in form builder \u003ccode\u003ehidden_field\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction Pack\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAllow methods starting with underscore to be action methods.\u003c/p\u003e\n\u003cp\u003eDisallowing methods starting with an underscore from being action methods\nwas an unintended side effect of the performance optimization in\n207a254.\u003c/p\u003e\n\u003cp\u003eFixes \u003ca href=\"https://redirect.github.com/rails/rails/issues/55985\"\u003e#55985\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Job\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eOnly index new serializers.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eJesse Sharps\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction Mailer\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction Cable\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/rails/rails/blob/v8.1.1/actionpack/CHANGELOG.md\"\u003eactionpack's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRails 8.1.1 (October 28, 2025)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAllow methods starting with underscore to be action methods.\u003c/p\u003e\n\u003cp\u003eDisallowing methods starting with an underscore from being action methods\nwas an unintended side effect of the performance optimization in\n207a254.\u003c/p\u003e\n\u003cp\u003eFixes \u003ca href=\"https://redirect.github.com/rails/rails/issues/55985\"\u003e#55985\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRails 8.1.0 (October 22, 2025)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eSubmit test requests using \u003ccode\u003eas: :html\u003c/code\u003e with \u003ccode\u003eContent-Type: x-www-form-urlencoded\u003c/code\u003e\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eSean Doyle\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd link-local IP ranges to \u003ccode\u003eActionDispatch::RemoteIp\u003c/code\u003e default proxies.\u003c/p\u003e\n\u003cp\u003eLink-local addresses (\u003ccode\u003e169.254.0.0/16\u003c/code\u003e for IPv4 and \u003ccode\u003efe80::/10\u003c/code\u003e for IPv6)\nare now included in the default trusted proxy list, similar to private IP ranges.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eAdam Daniels\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003eremote_ip\u003c/code\u003e will no longer ignore IPs in X-Forwarded-For headers if they\nare accompanied by port information.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eDuncan Brown\u003c/em\u003e, \u003cem\u003ePrevenios Marinos\u003c/em\u003e, \u003cem\u003eMasafumi Koba\u003c/em\u003e, \u003cem\u003eAdam Daniels\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd \u003ccode\u003eaction_dispatch.verbose_redirect_logs\u003c/code\u003e setting that logs where redirects were called from.\u003c/p\u003e\n\u003cp\u003eSimilar to \u003ccode\u003eactive_record.verbose_query_logs\u003c/code\u003e and \u003ccode\u003eactive_job.verbose_enqueue_logs\u003c/code\u003e, this adds a line in your logs that shows where a redirect was called from.\u003c/p\u003e\n\u003cp\u003eExample:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eRedirected to http://localhost:3000/posts/1\n↳ app/controllers/posts_controller.rb:32:in `block (2 levels) in create'\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003cem\u003eDennis Paagman\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd engine route filtering and better formatting in \u003ccode\u003ebin/rails routes\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eAllow engine routes to be filterable in the routing inspector, and\nimprove formatting of engine routing output.\u003c/p\u003e\n\u003cp\u003eBefore:\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/rails/rails/commit/90a1eaa1b30ba1f2d524e197460e549c03cf5698\"\u003e\u003ccode\u003e90a1eaa\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.1 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/271acd57d1430be8c92fbd8f19a2069e62425803\"\u003e\u003ccode\u003e271acd5\u003c/code\u003e\u003c/a\u003e Sync CHANGELOG\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/df9f43214c637c54773581c85c910b356b16fa44\"\u003e\u003ccode\u003edf9f432\u003c/code\u003e\u003c/a\u003e Allow methods starting with underscore to be action methods.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/53c4ed887450cc2dee4b373148162c485999a400\"\u003e\u003ccode\u003e53c4ed8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55973\"\u003e#55973\u003c/a\u003e from rails/fix-ci\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/f77a1c3654afdf599fa927e7910d6e9c5e9df7cf\"\u003e\u003ccode\u003ef77a1c3\u003c/code\u003e\u003c/a\u003e Require 'rails' at the top of railltie files to ensure Rails is loaded first\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/1cdd190a25e483b65f1f25bbd0f13a25d696b461\"\u003e\u003ccode\u003e1cdd190\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.0 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/62a109a53f1471274a150a267239441d0592f389\"\u003e\u003ccode\u003e62a109a\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55947\"\u003e#55947\u003c/a\u003e from c0nspiracy/patch-1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/0777f23945aa498c280279b16091789b402daa64\"\u003e\u003ccode\u003e0777f23\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55921\"\u003e#55921\u003c/a\u003e from skipkayhil/hm-ykpyzlmxovpttksv\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/4663af7e5c5263fa7b5ec5cdd529fc0c357ae037\"\u003e\u003ccode\u003e4663af7\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55922\"\u003e#55922\u003c/a\u003e from Shopify/event_subscriber_additionss\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/ca45ef19a745b1283ba3bf6b1076c998a3e559e4\"\u003e\u003ccode\u003eca45ef1\u003c/code\u003e\u003c/a\u003e Remove mention of raise_on_open_redirects from doc\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/rails/compare/v8.0.3...v8.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `actionview` from 8.0.3 to 8.1.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003eactionview's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.1.1\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Record\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction View\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eRespect \u003ccode\u003eremove_hidden_field_autocomplete\u003c/code\u003e config in form builder \u003ccode\u003ehidden_field\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction Pack\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAllow methods starting with underscore to be action methods.\u003c/p\u003e\n\u003cp\u003eDisallowing methods starting with an underscore from being action methods\nwas an unintended side effect of the performance optimization in\n207a254.\u003c/p\u003e\n\u003cp\u003eFixes \u003ca href=\"https://redirect.github.com/rails/rails/issues/55985\"\u003e#55985\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Job\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eOnly index new serializers.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eJesse Sharps\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction Mailer\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction Cable\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/rails/rails/blob/v8.1.1/actionview/CHANGELOG.md\"\u003eactionview's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRails 8.1.1 (October 28, 2025)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eRespect \u003ccode\u003eremove_hidden_field_autocomplete\u003c/code\u003e config in form builder \u003ccode\u003ehidden_field\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRails 8.1.0 (October 22, 2025)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eThe BEGIN template annotation/comment was previously printed on the same line as the following element. We now insert a newline inside the comment so it spans two lines without adding visible whitespace to the HTML output to enhance readability.\u003c/p\u003e\n\u003cp\u003eBefore:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\u0026lt;!-- BEGIN /Users/siaw23/Desktop/rails/actionview/test/fixtures/actionpack/test/greeting.html.erb --\u0026gt;\u0026lt;p\u0026gt;This is grand!\u0026lt;/p\u0026gt;\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eAfter:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\u0026lt;!-- BEGIN /Users/siaw23/Desktop/rails/actionview/test/fixtures/actionpack/test/greeting.html.erb\n--\u0026gt;\u0026lt;p\u0026gt;This is grand!\u0026lt;/p\u0026gt;\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003cem\u003eEmmanuel Hayford\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd structured events for Action View:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eaction_view.render_template\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eaction_view.render_partial\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eaction_view.render_layout\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eaction_view.render_collection\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eaction_view.render_start\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cem\u003eGannon McGibbon\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix label with \u003ccode\u003efor\u003c/code\u003e option not getting prefixed by form \u003ccode\u003enamespace\u003c/code\u003e value\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eAbeid Ahmed\u003c/em\u003e, \u003cem\u003eHartley McGuire\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd \u003ccode\u003efetchpriority\u003c/code\u003e to Link headers to match HTML generated by \u003ccode\u003epreload_link_tag\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eGuillermo Iguaran\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd CSP \u003ccode\u003enonce\u003c/code\u003e to Link headers generated by \u003ccode\u003epreload_link_tag\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eAlexander Gitter\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAllow \u003ccode\u003ecurrent_page?\u003c/code\u003e to match against specific HTTP method(s) with a \u003ccode\u003emethod:\u003c/code\u003e option.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eBen Sheldon\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove \u003ccode\u003eautocomplete=\u0026quot;off\u0026quot;\u003c/code\u003e on hidden inputs generated by the following\ntags:\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/rails/rails/commit/90a1eaa1b30ba1f2d524e197460e549c03cf5698\"\u003e\u003ccode\u003e90a1eaa\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.1 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/271acd57d1430be8c92fbd8f19a2069e62425803\"\u003e\u003ccode\u003e271acd5\u003c/code\u003e\u003c/a\u003e Sync CHANGELOG\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/ae6c5a23948f0a5c02a19ce625048b4579eace7d\"\u003e\u003ccode\u003eae6c5a2\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55989\"\u003e#55989\u003c/a\u003e from rails/rm-fix-remove_hidden_field_autocomplete\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/53c4ed887450cc2dee4b373148162c485999a400\"\u003e\u003ccode\u003e53c4ed8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55973\"\u003e#55973\u003c/a\u003e from rails/fix-ci\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/f77a1c3654afdf599fa927e7910d6e9c5e9df7cf\"\u003e\u003ccode\u003ef77a1c3\u003c/code\u003e\u003c/a\u003e Require 'rails' at the top of railltie files to ensure Rails is loaded first\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/1cdd190a25e483b65f1f25bbd0f13a25d696b461\"\u003e\u003ccode\u003e1cdd190\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.0 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/1ace68361ed9e87fecbf32604c087d096f7b7f8a\"\u003e\u003ccode\u003e1ace683\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.0.rc1 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/d6f9f62d49750fee6a45f3672e2227d5c4198a62\"\u003e\u003ccode\u003ed6f9f62\u003c/code\u003e\u003c/a\u003e Make the Structured Event Subscriber emit events in format that are useful fo...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/4ae5bfc3a04db36d0f274b272eb68d6136ffb63b\"\u003e\u003ccode\u003e4ae5bfc\u003c/code\u003e\u003c/a\u003e Place template annotation on a separate line\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/7d12071e9fe94bd5c01a488ef61718fe88de65b4\"\u003e\u003ccode\u003e7d12071\u003c/code\u003e\u003c/a\u003e Micro optimize ActiveRecord::RuntimeRegistry\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/rails/compare/v8.0.3...v8.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `activemodel` from 8.0.3 to 8.1.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003eactivemodel's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.1.1\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Record\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction View\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eRespect \u003ccode\u003eremove_hidden_field_autocomplete\u003c/code\u003e config in form builder \u003ccode\u003ehidden_field\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction Pack\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAllow methods starting with underscore to be action methods.\u003c/p\u003e\n\u003cp\u003eDisallowing methods starting with an underscore from being action methods\nwas an unintended side effect of the performance optimization in\n207a254.\u003c/p\u003e\n\u003cp\u003eFixes \u003ca href=\"https://redirect.github.com/rails/rails/issues/55985\"\u003e#55985\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Job\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eOnly index new serializers.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eJesse Sharps\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction Mailer\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction Cable\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/rails/rails/blob/v8.1.1/activemodel/CHANGELOG.md\"\u003eactivemodel's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRails 8.1.1 (October 28, 2025)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRails 8.1.0 (October 22, 2025)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd \u003ccode\u003ereset_token: { expires_in: ... }\u003c/code\u003e option to \u003ccode\u003ehas_secure_password\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eAllows configuring the expiry duration of password reset tokens (default remains 15 minutes for backwards compatibility).\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003ehas_secure_password reset_token: { expires_in: 1.hour }\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003cem\u003eJevin Sew\u003c/em\u003e, \u003cem\u003eAbeid Ahmed\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd \u003ccode\u003eexcept_on:\u003c/code\u003e option for validation callbacks.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eBen Sheldon\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eBackport \u003ccode\u003eActiveRecord::Normalization\u003c/code\u003e to \u003ccode\u003eActiveModel::Attributes::Normalization\u003c/code\u003e\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eclass User\n  include ActiveModel::Attributes\n  include ActiveModel::Attributes::Normalization\n\u003cp\u003eattribute :email, :string\u003c/p\u003e\n\u003cp\u003enormalizes :email, with: -\u0026gt; email { email.strip.downcase }\u003cbr /\u003e\nend\u003c/p\u003e\n\u003cp\u003euser = User.new\u003cbr /\u003e\nuser.email =    \u0026quot; \u003ca href=\"mailto:CRUISE-CONTROL@EXAMPLE.COM\"\u003eCRUISE-CONTROL@EXAMPLE.COM\u003c/a\u003e\\n\u0026quot;\u003cbr /\u003e\nuser.email # =\u0026gt; \u0026quot;\u003ca href=\"mailto:cruise-control@example.com\"\u003ecruise-control@example.com\u003c/a\u003e\u0026quot;\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eSean Doyle\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003ePlease check \u003ca href=\"https://github.com/rails/rails/blob/8-0-stable/activemodel/CHANGELOG.md\"\u003e8-0-stable\u003c/a\u003e for previous changes.\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/rails/rails/commit/90a1eaa1b30ba1f2d524e197460e549c03cf5698\"\u003e\u003ccode\u003e90a1eaa\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.1 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/53c4ed887450cc2dee4b373148162c485999a400\"\u003e\u003ccode\u003e53c4ed8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55973\"\u003e#55973\u003c/a\u003e from rails/fix-ci\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/f77a1c3654afdf599fa927e7910d6e9c5e9df7cf\"\u003e\u003ccode\u003ef77a1c3\u003c/code\u003e\u003c/a\u003e Require 'rails' at the top of railltie files to ensure Rails is loaded first\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/1cdd190a25e483b65f1f25bbd0f13a25d696b461\"\u003e\u003ccode\u003e1cdd190\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.0 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/1ace68361ed9e87fecbf32604c087d096f7b7f8a\"\u003e\u003ccode\u003e1ace683\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.0.rc1 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/b182bc607041b640f1e5f51e678f3ca4ab077920\"\u003e\u003ccode\u003eb182bc6\u003c/code\u003e\u003c/a\u003e Give credit to the first author of this feature\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/d0486d0aefc8a487a20a582868df7e0662fd3520\"\u003e\u003ccode\u003ed0486d0\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55574\"\u003e#55574\u003c/a\u003e from jevin/feature/reset-password-token-duration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/ee29930f58bf125763aeecedaa5048d95f3f1d4b\"\u003e\u003ccode\u003eee29930\u003c/code\u003e\u003c/a\u003e ActiveModel::SecurePassword: configurable reset token expiry\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/2446a70b0eee6424c90e5a262600c337006096ad\"\u003e\u003ccode\u003e2446a70\u003c/code\u003e\u003c/a\u003e Removing the string option for validations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/80827ca7ff33ca3026f2c74fe8249ccc6f513318\"\u003e\u003ccode\u003e80827ca\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.0.beta1 release\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/rails/compare/v8.0.3...v8.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `activerecord` from 8.0.3 to 8.1.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003eactiverecord's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.1.1\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Record\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction View\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eRespect \u003ccode\u003eremove_hidden_field_autocomplete\u003c/code\u003e config in form builder \u003ccode\u003ehidden_field\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction Pack\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAllow methods starting with underscore to be action methods.\u003c/p\u003e\n\u003cp\u003eDisallowing methods starting with an underscore from being action methods\nwas an unintended side effect of the performance optimization in\n207a254.\u003c/p\u003e\n\u003cp\u003eFixes \u003ca href=\"https://redirect.github.com/rails/rails/issues/55985\"\u003e#55985\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Job\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eOnly index new serializers.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eJesse Sharps\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction Mailer\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction Cable\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/rails/rails/blob/v8.1.1/activerecord/CHANGELOG.md\"\u003eactiverecord's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRails 8.1.1 (October 28, 2025)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRails 8.1.0 (October 22, 2025)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix SQLite3 data loss during table alterations with CASCADE foreign keys.\u003c/p\u003e\n\u003cp\u003eWhen altering a table in SQLite3 that is referenced by child tables with\n\u003ccode\u003eON DELETE CASCADE\u003c/code\u003e foreign keys, ActiveRecord would silently delete all\ndata from the child tables. This occurred because SQLite requires table\nrecreation for schema changes, and during this process the original table\nis temporarily dropped, triggering CASCADE deletes on child tables.\u003c/p\u003e\n\u003cp\u003eThe root cause was incorrect ordering of operations. The original code\nwrapped \u003ccode\u003edisable_referential_integrity\u003c/code\u003e inside a transaction, but\n\u003ccode\u003ePRAGMA foreign_keys\u003c/code\u003e cannot be modified inside a transaction in SQLite -\nattempting to do so simply has no effect. This meant foreign keys remained\nenabled during table recreation, causing CASCADE deletes to fire.\u003c/p\u003e\n\u003cp\u003eThe fix reverses the order to follow the official SQLite 12-step ALTER TABLE\nprocedure: \u003ccode\u003edisable_referential_integrity\u003c/code\u003e now wraps the transaction instead\nof being wrapped by it. This ensures foreign keys are properly disabled\nbefore the transaction starts and re-enabled after it commits, preventing\nCASCADE deletes while maintaining data integrity through atomic transactions.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRuy Rocha\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd replicas to test database parallelization setup.\u003c/p\u003e\n\u003cp\u003eSetup and configuration of databases for parallel testing now includes replicas.\u003c/p\u003e\n\u003cp\u003eThis fixes an issue when using a replica database, database selector middleware,\nand non-transactional tests, where integration tests running in parallel would select\nthe base test database, i.e. \u003ccode\u003edb_test\u003c/code\u003e, instead of the numbered parallel worker database,\ni.e. \u003ccode\u003edb_test_{n}\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eAdam Maas\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSupport virtual (not persisted) generated columns on PostgreSQL 18+\u003c/p\u003e\n\u003cp\u003ePostgreSQL 18 introduces virtual (not persisted) generated columns,\nwhich are now the default unless the \u003ccode\u003estored: true\u003c/code\u003e option is explicitly specified on PostgreSQL 18+.\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003ecreate_table :users do |t|\n  t.string :name\n  t.virtual :lower_name,  type: :string,  as: \u0026quot;LOWER(name)\u0026quot;, stored: false\n  t.virtual :name_length, type: :integer, as: \u0026quot;LENGTH(name)\u0026quot;\n\u003c/code\u003e\u003c/pre\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/rails/rails/commit/90a1eaa1b30ba1f2d524e197460e549c03cf5698\"\u003e\u003ccode\u003e90a1eaa\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.1 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/fe609bf5ac0e61f445de9bea40f89a058b465ead\"\u003e\u003ccode\u003efe609bf\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/50598\"\u003e#50598\u003c/a\u003e from lucasmazza/lm/upsert_all-skip\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/53c4ed887450cc2dee4b373148162c485999a400\"\u003e\u003ccode\u003e53c4ed8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55973\"\u003e#55973\u003c/a\u003e from rails/fix-ci\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/f77a1c3654afdf599fa927e7910d6e9c5e9df7cf\"\u003e\u003ccode\u003ef77a1c3\u003c/code\u003e\u003c/a\u003e Require 'rails' at the top of railltie files to ensure Rails is loaded first\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/334ed8f172d6e77516e9832567626af9965d435d\"\u003e\u003ccode\u003e334ed8f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55969\"\u003e#55969\u003c/a\u003e from rails/fix-explain-tests-mysql-9.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/1cdd190a25e483b65f1f25bbd0f13a25d696b461\"\u003e\u003ccode\u003e1cdd190\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.0 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/bffa22d59214a125add8385e12ec691ed623aff7\"\u003e\u003ccode\u003ebffa22d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55949\"\u003e#55949\u003c/a\u003e from ima1zumi/revert-53969-and-add-test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/be5e9fc703ee86a6ba12bbd7256c43142a3d07dc\"\u003e\u003ccode\u003ebe5e9fc\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55945\"\u003e#55945\u003c/a\u003e from claudiob/create_enum\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/04c6f1497eb3cd0f21449113747f2b72862a0937\"\u003e\u003ccode\u003e04c6f14\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55938\"\u003e#55938\u003c/a\u003e from aidanharan/truthy-condition-mssql\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/d4fb183ac2d8f6a3fad83e160c435ef4dbe9c149\"\u003e\u003ccode\u003ed4fb183\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55925\"\u003e#55925\u003c/a\u003e from flavorjones/flavorjones/shard-swap-prohibition...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/rails/compare/v8.0.3...v8.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `activesupport` from 8.0.3 to 8.1.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003eactivesupport's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.1.1\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Record\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction View\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eRespect \u003ccode\u003eremove_hidden_field_autocomplete\u003c/code\u003e config in form builder \u003ccode\u003ehidden_field\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction Pack\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAllow methods starting with underscore to be action methods.\u003c/p\u003e\n\u003cp\u003eDisallowing methods starting with an underscore from being action methods\nwas an unintended side effect of the performance optimization in\n207a254.\u003c/p\u003e\n\u003cp\u003eFixes \u003ca href=\"https://redirect.github.com/rails/rails/issues/55985\"\u003e#55985\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Job\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eOnly index new serializers.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eJesse Sharps\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction Mailer\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction Cable\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/rails/rails/blob/v8.1.1/activesupport/CHANGELOG.md\"\u003eactivesupport's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRails 8.1.1 (October 28, 2025)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRails 8.1.0 (October 22, 2025)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eRemove deprecated passing a Time object to \u003ccode\u003eTime#since\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove deprecated \u003ccode\u003eBenchmark.ms\u003c/code\u003e method. It is now defined in the \u003ccode\u003ebenchmark\u003c/code\u003e gem.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove deprecated addition for \u003ccode\u003eTime\u003c/code\u003e instances with \u003ccode\u003eActiveSupport::TimeWithZone\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove deprecated support for \u003ccode\u003eto_time\u003c/code\u003e to preserve the system local time. It will now always preserve the receiver\ntimezone.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDeprecate \u003ccode\u003econfig.active_support.to_time_preserves_timezone\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eStandardize event name formatting in \u003ccode\u003eassert_event_reported\u003c/code\u003e error messages.\u003c/p\u003e\n\u003cp\u003eThe event name in failure messages now uses \u003ccode\u003e.inspect\u003c/code\u003e (e.g., \u003ccode\u003ename: \u0026quot;user.created\u0026quot;\u003c/code\u003e)\nto match \u003ccode\u003eassert_events_reported\u003c/code\u003e and provide type clarity between strings and symbols.\nThis only affects tests that assert on the failure message format itself.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eGeorge Ma\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eEnumerable#sole\u003c/code\u003e to return the full tuple instead of just the first element of the tuple.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eOlivier Bellone\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix parallel tests hanging when worker processes die abruptly.\u003c/p\u003e\n\u003cp\u003ePreviously, if a worker process was killed (e.g., OOM killed, \u003ccode\u003ekill -9\u003c/code\u003e) during parallel\ntest execution, the test suite would hang forever waiting for the dead worker.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eJoshua Young\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd \u003ccode\u003econfig.active_support.escape_js_separators_in_json\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eIntroduce a new framework default to skip escaping LINE SEPARATOR (U+2028) and PARAGRAPH SEPARATOR (U+2029) in JSON.\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/rails/rails/commit/90a1eaa1b30ba1f2d524e197460e549c03cf5698\"\u003e\u003ccode\u003e90a1eaa\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.1 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/234b56973bb453bb50850a1be07a2fcad7331592\"\u003e\u003ccode\u003e234b569\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56008\"\u003e#56008\u003c/a\u003e from chaadow/fix_nesting_loop_rails\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/53c4ed887450cc2dee4b373148162c485999a400\"\u003e\u003ccode\u003e53c4ed8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55973\"\u003e#55973\u003c/a\u003e from rails/fix-ci\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/f77a1c3654afdf599fa927e7910d6e9c5e9df7cf\"\u003e\u003ccode\u003ef77a1c3\u003c/code\u003e\u003c/a\u003e Require 'rails' at the top of railltie files to ensure Rails is loaded first\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/cd53d57fe363eef44dd4a58dbe69c77cad041550\"\u003e\u003ccode\u003ecd53d57\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55962\"\u003e#55962\u003c/a\u003e from coderhs/patch-1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/1cdd190a25e483b65f1f25bbd0f13a25d696b461\"\u003e\u003ccode\u003e1cdd190\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.0 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/096f1c7c77cf857a1ca12116678599faac2f0522\"\u003e\u003ccode\u003e096f1c7\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55943\"\u003e#55943\u003c/a\u003e from skipkayhil/hm-oyxvtrxvupxqzprn\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/1ace68361ed9e87fecbf32604c087d096f7b7f8a\"\u003e\u003ccode\u003e1ace683\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.0.rc1 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/d156ee00602eab9044bc23ac8de8f245379d6af5\"\u003e\u003ccode\u003ed156ee0\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55871\"\u003e#55871\u003c/a\u003e from Shopify/refresh_event_reporter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/48ca2f8b91f69ae7c08cc16426481a5e17fd2209\"\u003e\u003ccode\u003e48ca2f8\u003c/code\u003e\u003c/a\u003e Load core extensions with require_relative\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/rails/compare/v8.0.3...v8.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `railties` from 8.0.3 to 8.1.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003erailties's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.1.1\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Record\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction View\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eRespect \u003ccode\u003eremove_hidden_field_autocomplete\u003c/code\u003e config in form builder \u003ccode\u003ehidden_field\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction Pack\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAllow methods starting with underscore to be action methods.\u003c/p\u003e\n\u003cp\u003eDisallowing methods starting with an underscore from being action methods\nwas an unintended side effect of the performance optimization in\n207a254.\u003c/p\u003e\n\u003cp\u003eFixes \u003ca href=\"https://redirect.github.com/rails/rails/issues/55985\"\u003e#55985\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Job\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eOnly index new serializers.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eJesse Sharps\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction Mailer\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction Cable\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/rails/rails/blob/v8.1.1/railties/CHANGELOG.md\"\u003erailties's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRails 8.1.1 (October 28, 2025)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eDo not assume and force SSL in production by default when using Kamal, to allow for out of the box Kamal deployments.\u003c/p\u003e\n\u003cp\u003eIt is still recommended to assume and force SSL in production as soon as you can.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eJerome Dalbert\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRails 8.1.0 (October 22, 2025)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eSuggest \u003ccode\u003ebin/rails action_text:install\u003c/code\u003e from Action Dispatch error page\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eSean Doyle\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove deprecated \u003ccode\u003eSTATS_DIRECTORIES\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove deprecated \u003ccode\u003ebin/rake stats\u003c/code\u003e command.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove deprecated \u003ccode\u003erails/console/methods.rb\u003c/code\u003e file.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDon't generate system tests by default.\u003c/p\u003e\n\u003cp\u003eRails scaffold generator will no longer generate system tests by default. To enable this pass \u003ccode\u003e--system-tests=true\u003c/code\u003e or generate them with \u003ccode\u003ebin/rails generate system_test name_of_test\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eEileen M. Uchitelle\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eOptionally skip bundler-audit.\u003c/p\u003e\n\u003cp\u003eSkips adding the \u003ccode\u003ebin/bundler-audit\u003c/code\u003e \u0026amp; \u003ccode\u003econfig/bundler-audit.yml\u003c/code\u003e if the gem is not installed when \u003ccode\u003ebin/rails app:update\u003c/code\u003e runs.\u003c/p\u003e\n\u003cp\u003ePasses an option to \u003ccode\u003e--skip-bundler-audit\u003c/code\u003e when new apps are generated \u0026amp; adds that same option to the \u003ccode\u003e--minimal\u003c/code\u003e generator flag.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eJill Klang\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eShow engine routes in \u003ccode\u003e/rails/info/routes\u003c/code\u003e as well.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003ePetrik de Heus\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eExclude \u003ccode\u003easset_path\u003c/code\u003e configuration from Kamal \u003ccode\u003edeploy.yml\u003c/code\u003e for API applications.\u003c/p\u003e\n\u003cp\u003eAPI applications don't serve assets, so the \u003ccode\u003easset_path\u003c/code\u003e configuration in \u003ccode\u003edeploy.yml\u003c/code\u003e\nis not needed and can cause 404 errors on in-flight requests. The asset_path is now\nonly included for regular Rails applications that serve assets.\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/rails/rails/commit/90a1eaa1b30ba1f2d524e197460e549c03cf5698\"\u003e\u003ccode\u003e90a1eaa\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.1 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/89cb7bff192ce71267ae76f38942ca8f306ce273\"\u003e\u003ccode\u003e89cb7bf\u003c/code\u003e\u003c/a\u003e Fix railties/CHANGELOG.md offense at 8-1-stable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/7919bdab44688f1e7f121bc36a76169787cdfe60\"\u003e\u003ccode\u003e7919bda\u003c/code\u003e\u003c/a\u003e Restore header\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/f007f9ca53448379246a1901b213bd57955af26c\"\u003e\u003ccode\u003ef007f9c\u003c/code\u003e\u003c/a\u003e Disable SSL default config for out of the box Kamal deployments (\u003ca href=\"https://redirect.github.com/rails/rails/issues/56010\"\u003e#56010\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/29606f8c7b3aea3991343ee2c1aa5dd1860df283\"\u003e\u003ccode\u003e29606f8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55964\"\u003e#55964\u003c/a\u003e from viralpraxis/skip-ci-rb-tests-if-tests-are-skipped\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/1cdd190a25e483b65f1f25bbd0f13a25d696b461\"\u003e\u003ccode\u003e1cdd190\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.0 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/5e231ae6548f1c5686f75e61832638937b134961\"\u003e\u003ccode\u003e5e231ae\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/54914\"\u003e#54914\u003c/a\u003e from chaadow/fix_autoloaded_content_helper\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/1a8109e0fe8f10fa38a8f6c7fb11daf8a09394d5\"\u003e\u003ccode\u003e1a8109e\u003c/code\u003e\u003c/a\u003e Actually turn this off by default too\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/25af9250bf072ac24df2ea058c12284da5a99948\"\u003e\u003ccode\u003e25af925\u003c/code\u003e\u003c/a\u003e Kamal localhost registry (\u003ca href=\"https://redirect.github.com/rails/rails/issues/55934\"\u003e#55934\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/f58a75a5cf35a94cbf8a45fa64b95a0ea9055e64\"\u003e\u003ccode\u003ef58a75a\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55940\"\u003e#55940\u003c/a\u003e from jeromedalbert/fix-ci-yml-whitespace\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/rails/compare/v8.0.3...v8.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `bootsnap` from 1.18.6 to 1.19.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/bootsnap/blob/main/CHANGELOG.md\"\u003ebootsnap's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e1.19.0\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eRemove JSON parsing cache. Recent versions of the \u003ccode\u003ejson\u003c/code\u003e gem are as fast as \u003ccode\u003emsgpack\u003c/code\u003e if not faster.\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/rails/bootsnap/commit/d4ad1673943b416cd46491ffe236df29862ce37f\"\u003e\u003ccode\u003ed4ad167\u003c/code\u003e\u003c/a\u003e Release 1.19.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/4a0f8e62788d6e6304be06de5d4a313a94291492\"\u003e\u003ccode\u003e4a0f8e6\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/bootsnap/issues/508\"\u003e#508\u003c/a\u003e from byroot/remove-json-caching\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/5df6e04afd8cb8c9463d219518baaffaf2c48b6e\"\u003e\u003ccode\u003e5df6e04\u003c/code\u003e\u003c/a\u003e Remove Bootsnap::CompileCache::JSON\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/e6272f8c7f2935efc1000ec654da2d196e91f4e2\"\u003e\u003ccode\u003ee6272f8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/bootsnap/issues/506\"\u003e#506\u003c/a\u003e from rails/dependabot/github_actions/actions/checkout-5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/89879b4161b6e62bbb0d139208e1eb8cb30c1b40\"\u003e\u003ccode\u003e89879b4\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 4 to 5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/55d663fbc419d3a4ad32d200f7ba45c64e04d772\"\u003e\u003ccode\u003e55d663f\u003c/code\u003e\u003c/a\u003e Move bootsnap to the Rails org\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/03629f633ee1e591d4d9f3c351406465c3cf3ead\"\u003e\u003ccode\u003e03629f6\u003c/code\u003e\u003c/a\u003e Add devcontainer config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/037ad17aa546c080238a979fce8b393b4fc7f577\"\u003e\u003ccode\u003e037ad17\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/bootsnap/issues/505\"\u003e#505\u003c/a\u003e from beauraF/add-know-issues-note-to-readme\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/3019588dd3823dcdfbb24dd950cfba1516c2e662\"\u003e\u003ccode\u003e3019588\u003c/code\u003e\u003c/a\u003e Add a knows issues note into README.md related to QEMU\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/b3333f644b4bd0c82a3ec52a3fdd3c9752abcf71\"\u003e\u003ccode\u003eb3333f6\u003c/code\u003e\u003c/a\u003e Add Ruby 3.4 to CI\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/bootsnap/compare/v1.18.6...v1.19.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `faker` from 3.5.2 to 3.5.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/faker-ruby/faker/releases\"\u003efaker's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.5.3\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/faker-ruby/faker/tree/v3.5.3\"\u003ev3.5.3\u003c/a\u003e (2025-12-02)\u003c/h2\u003e\n\u003cp\u003eWishing you a cozy and calm Holiday season ☃️\u003c/p\u003e\n\u003cp\u003eThis version adds and improves some locales, fixes some bugs, and deprecates some generators.\u003c/p\u003e\n\u003cp\u003eThanks to all contributors!\u003c/p\u003e\n\u003ch2\u003eDeprecated generators\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRefactor: move \u003ccode\u003eFaker::BossaNova\u003c/code\u003e under \u003ccode\u003eFaker::Music::BossaNova\u003c/code\u003e by \u003ca href=\"https://github.com/thdaraujo\"\u003e\u003ccode\u003e@​thdaraujo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3140\"\u003efaker-ruby/faker#3140\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDeprecate \u003ccode\u003eFaker::Twitter\u003c/code\u003e in favor of \u003ccode\u003eFaker::X\u003c/code\u003e and update attributes by \u003ca href=\"https://github.com/stefannibrasil\"\u003e\u003ccode\u003e@​stefannibrasil\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3138\"\u003efaker-ruby/faker#3138\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eImprovements \u0026amp; Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRemove duplicate entry \u003ccode\u003eamateur radio\u003c/code\u003e from \u003ccode\u003elocales/en/hobby.yml\u003c/code\u003e by \u003ca href=\"https://github.com/Leenday\"\u003e\u003ccode\u003e@​Leenday\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3099\"\u003efaker-ruby/faker#3099\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix \u003ca href=\"https://redirect.github.com/faker-ruby/faker/issues/3114\"\u003e#3114\u003c/a\u003e: prevent scientific notation when generating bank account number by \u003ca href=\"https://github.com/AhmedHisham552\"\u003e\u003ccode\u003e@​AhmedHisham552\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3118\"\u003efaker-ruby/faker#3118\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix: typos in locales for \u003ccode\u003eoverwatch.yml\u003c/code\u003e, \u003ccode\u003erajnikanth.yml\u003c/code\u003e and \u003ccode\u003estreet_fighter.ym\u003c/code\u003e by \u003ca href=\"https://github.com/smorttey\"\u003e\u003ccode\u003e@​smorttey\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3106\"\u003efaker-ruby/faker#3106\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eArtist\u003c/code\u003e translations for the japanese locale by \u003ca href=\"https://github.com/neco-nico\"\u003e\u003ccode\u003e@​neco-nico\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3110\"\u003efaker-ruby/faker#3110\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003ecountry_code\u003c/code\u003e to Estonia locale (\u003ccode\u003elocales/ee.yml\u003c/code\u003e) by \u003ca href=\"https://github.com/HassanAkbar\"\u003e\u003ccode\u003e@​HassanAkbar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3111\"\u003efaker-ruby/faker#3111\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReformat Arabic locale (\u003ccode\u003elocales/ar.yml\u003c/code\u003e) by \u003ca href=\"https://github.com/ramzieus\"\u003e\u003ccode\u003e@​ramzieus\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3130\"\u003efaker-ruby/faker#3130\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRefactor: Improve UK Phone number false failure hit-rate by \u003ca href=\"https://github.com/luke-hill\"\u003e\u003ccode\u003e@​luke-hill\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3136\"\u003efaker-ruby/faker#3136\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprovements and fixes for Elder Scrolls locale (\u003ccode\u003eelder_scrolls.yml\u003c/code\u003e) by \u003ca href=\"https://github.com/SleekMutt\"\u003e\u003ccode\u003e@​SleekMutt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3129\"\u003efaker-ruby/faker#3129\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd en-GB ID Numbers (aka National Insurance Numbers) by \u003ca href=\"https://github.com/stefanjcollier\"\u003e\u003ccode\u003e@​stefanjcollier\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3032\"\u003efaker-ruby/faker#3032\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate ukrainian city locales to the modern ones by \u003ca href=\"https://github.com/SleekMutt\"\u003e\u003ccode\u003e@​SleekMutt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3127\"\u003efaker-ruby/faker#3127\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRevamp the docs to make them easier to find by \u003ca href=\"https://github.com/stefannibrasil\"\u003e\u003ccode\u003e@​stefannibrasil\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3151\"\u003efaker-ruby/faker#3151\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChores\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003etest: fix flaky test on \u003ccode\u003eFaker::IdNumber\u003c/code\u003e by \u003ca href=\"https://github.com/thdaraujo\"\u003e\u003ccode\u003e@​thdaraujo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3126\"\u003efaker-ruby/faker#3126\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove minitest dependency on i18n reload test by \u003ca href=\"https://github.com/stefannibrasil\"\u003e\u003ccode\u003e@​stefannibrasil\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3149\"\u003efaker-ruby/faker#3149\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove unused release workflow by \u003ca href=\"https://github.com/stefannibrasil\"\u003e\u003ccode\u003e@​stefannibrasil\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3133\"\u003efaker-ruby/faker#3133\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eUpdate local dependencies\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump benchmark from 0.4.1 to 0.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/faker-ruby/faker/pull/3122\"\u003efaker-ruby/faker#3122\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump rake from 13.3.0 to 13.3.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/faker-ruby/faker/pull/3124\"\u003efaker-ruby/faker#3124\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump test-unit from 3.7.0 to 3.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/faker-ruby/faker/pull/3128\"\u003efaker-ruby/faker#3128\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump rubocop-minitest from 0.38.1 to 0.38.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/faker-ruby/faker/pull/3116\"\u003efaker-ruby/faker#3116\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edeps: bump dependencies by \u003ca href=\"https://github.com/thdaraujo\"\u003e\u003ccode\u003e@​thdaraujo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3141\"\u003efaker-ruby/faker#3141\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edeps: bump Minitest version to \u003ccode\u003ev5.26.1\u003c/code\u003e and fix issues by \u003ca href=\"https://github.com/stefannibrasil\"\u003e\u003ccode\u003e@​stefannibrasil\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3144\"\u003efaker-ruby/faker#3144\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edeps: bump rubocop version to \u003ccode\u003ev1.81.7\u003c/code\u003e by \u003ca href=\"https://github.com/thdaraujo\"\u003e\u003ccode\u003e@​thdaraujo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3143\"\u003efaker-ruby/faker#3143\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/Leenday\"\u003e\u003ccode\u003e@​Leenday\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3099\"\u003efaker-ruby/faker#3099\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/AhmedHisham552\"\u003e\u003ccode\u003e@​AhmedHisham552\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3118\"\u003efaker-ruby/faker#3118\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/smorttey\"\u003e\u003ccode\u003e@​smorttey\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3106\"\u003efaker-ruby/faker#3106\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/neco-nico\"\u003e\u003ccode\u003e@​neco-nico\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3110\"\u003efaker-ruby/faker#3110\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HassanAkbar\"\u003e\u003ccode\u003e@​HassanAkbar\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3111\"\u003efaker-ruby/faker#3111\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ramzieus\"\u003e\u003ccode\u003e@​ramzieus\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3130\"\u003efaker-ruby/faker#3130\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/luke-hill\"\u003e\u003ccode\u003e@​luke-hill\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3136\"\u003efaker-ruby/faker#3136\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/SleekMutt\"\u003e\u003ccode\u003e@​SleekMutt\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3129\"\u003efaker-ruby/faker#3129\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/stefanjcollier\"\u003e\u003ccode\u003e@​stefanjcollier\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3032\"\u003efaker-ruby/faker#3032\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/faker-ruby/faker/blob/main/CHANGELOG.md\"\u003efaker's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/faker-ruby/faker/tree/v3.5.3\"\u003ev3.5.3\u003c/a\u003e (2025-12-02)\u003c/h2\u003e\n\u003cp\u003eWishing you a cozy and calm Holiday season ☃️\u003c/p\u003e\n\u003cp\u003eThis version adds and improves some locales, fixes some bugs, and deprecates some generators.\u003c/p\u003e\n\u003cp\u003eThanks to all contributors!\u003c/p\u003e\n\u003ch3\u003eDeprecated generators\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRefactor: move \u003ccode\u003eFaker::BossaNova\u003c/code\u003e under \u003ccode\u003eFaker::Music::BossaNova\u003c/code\u003e by \u003ca href=\"https://github.com/thdaraujo\"\u003e\u003ccode\u003e@​thdaraujo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3140\"\u003efaker-ruby/faker#3140\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDeprecate \u003ccode\u003eFaker::Twitter\u003c/code\u003e in favor of \u003ccode\u003eFaker::X\u003c/code\u003e and update attributes by \u003ca href=\"https://github.com/stefannibrasil\"\u003e\u003ccode\u003e@​stefannibrasil\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3138\"\u003efaker-ruby/faker#3138\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements \u0026amp; Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove duplicate entry \u003ccode\u003eamateur radio\u003c/code\u003e from \u003ccode\u003elocales/en/hobby.yml\u003c/code\u003e by \u003ca href=\"https://github.com/Leenday\"\u003e\u003ccode\u003e@​Leenday\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3099\"\u003efaker-ruby/faker#3099\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix \u003ca href=\"https://redirect.github.com/faker-ruby/faker/issues/3114\"\u003e#3114\u003c/a\u003e: prevent scientific notation when generating bank account number by \u003ca href=\"https://github.com/AhmedHisham552\"\u003e\u003ccode\u003e@​AhmedHisham552\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3118\"\u003efaker-ruby/faker#3118\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix: typos in locales for \u003ccode\u003eoverwatch.yml\u003c/code\u003e, \u003ccode\u003erajnikanth.yml\u003c/code\u003e and \u003ccode\u003estreet_fighter.ym\u003c/code\u003e by \u003ca href=\"https://github.com/smorttey\"\u003e\u003ccode\u003e@​smorttey\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3106\"\u003efaker-ruby/faker#3106\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eArtist\u003c/code\u003e translations for the japanese locale by \u003ca href=\"https://github.com/neco-nico\"\u003e\u003ccode\u003e@​neco-nico\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3110\"\u003efaker-ruby/faker#3110\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003ecountry_code\u003c/code\u003e to Estonia locale (\u003ccode\u003elocales/ee.yml\u003c/code\u003e) by \u003ca href=\"https://github.com/HassanAkbar\"\u003e\u003ccode\u003e@​HassanAkbar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3111\"\u003efaker-ruby/faker#3111\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReformat Arabic locale (\u003ccode\u003elocales/ar.yml\u003c/code\u003e) by \u003ca href=\"https://github.com/ramzieus\"\u003e\u003ccode\u003e@​ramzieus\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3130\"\u003efaker-ruby/faker#3130\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRefactor: Improve UK Phone number false failure hit-rate by \u003ca href=\"https://github.com/luke-hill\"\u003e\u003ccode\u003e@​luke-hill\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3136\"\u003efaker-ruby/faker#3136\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprovements and fixes for Elder Scrolls locale (\u003ccode\u003eelder_scrolls.yml\u003c/code\u003e) by \u003ca href=\"https://github.com/SleekMutt\"\u003e\u003ccode\u003e@​SleekMutt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3129\"\u003efaker-ruby/faker#3129\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd en-GB ID Numbers (aka National Insurance Numbers) by \u003ca href=\"https://github.com/stefanjcollier\"\u003e\u003ccode\u003e@​stefanjcollier\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3032\"\u003efaker-ruby/faker#3032\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate ukrainian city locales to the modern ones by \u003ca href=\"https://github.com/SleekMutt\"\u003e\u003ccode\u003e@​SleekMutt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3127\"\u003efaker-ruby/faker#3127\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRevamp the docs to make them easier to find by \u003ca href=\"https://github.com/stefannibrasil\"\u003e\u003ccode\u003e@​stefannibrasil\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3151\"\u003efaker-ruby/faker#3151\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003etest: fix flaky test on \u003ccode\u003eFaker::IdNumber\u003c/code\u003e by \u003ca href=\"https://github.com/thdaraujo\"\u003e\u003ccode\u003e@​thdaraujo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3126\"\u003efaker-ruby/faker#3126\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove minitest dependency on i18n reload test by \u003ca href=\"https://github.com/stefannibrasil\"\u003e\u003ccode\u003e@​stefannibrasil\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3149\"\u003efaker-ruby/faker#3149\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove unused release workflow by \u003ca href=\"https://github.com/stefannibrasil\"\u003e\u003ccode\u003e@​stefannibrasil\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3133\"\u003efaker-ruby/faker#3133\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eUpdate local dependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBump benchmark from 0.4.1 to 0.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/faker-ruby/faker/pull/3122\"\u003efaker-ruby/faker#3122\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump rake from 13.3.0 to 13.3.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/faker-ruby/faker/pull/3124\"\u003efaker-ruby/faker#3124\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump test-unit from 3.7.0 to 3.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/faker-ruby/faker/pull/3128\"\u003efaker-ruby/faker#3128\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump rubocop-minitest from 0.38.1 to 0.38.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/faker-ruby/faker/pull/3116\"\u003efaker-ruby/faker#3116\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edeps: bump dependencies by \u003ca href=\"https://github.com/thdaraujo\"\u003e\u003ccode\u003e@​thdaraujo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3141\"\u003efaker-ruby/faker#3141\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edeps: bump Minitest version to \u003ccode\u003ev5.26.1\u003c/code\u003e and fix issues by \u003ca href=\"https://github.com/stefannibrasil\"\u003e\u003ccode\u003e@​stefannibrasil\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3144\"\u003efaker-ruby/faker#3144\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edeps: bump rubocop version to \u003ccode\u003ev1.81.7\u003c/code\u003e by \u003ca href=\"https://github.com/thdaraujo\"\u003e\u003ccode\u003e@​thdaraujo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3143\"\u003efaker-ruby/faker#3143\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNew Contributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Leenday\"\u003e\u003ccode\u003e@​Leenday\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3099\"\u003efaker-ruby/faker#3099\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/AhmedHisham552\"\u003e\u003ccode\u003e@​AhmedHisham552\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3118\"\u003efaker-ruby/faker#3118\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/smorttey\"\u003e\u003ccode\u003e@​smorttey\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3106\"\u003efaker-ruby/faker#3106\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/neco-nico\"\u003e\u003ccode\u003e@​neco-nico\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3110\"\u003efaker-ruby/faker#3110\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HassanAkbar\"\u003e\u003ccode\u003e@​HassanAkbar\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3111\"\u003efaker-ruby/faker#3111\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ramzieus\"\u003e\u003ccode\u003e@​ramzieus\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3130\"\u003efaker-ruby/faker#3130\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/luke-hill\"\u003e\u003ccode\u003e@​luke-hill\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3136\"\u003efaker-ruby/faker#3136\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/SleekMutt\"\u003e\u003ccode\u003e@​SleekMutt\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3129\"\u003efaker-ruby/faker#3129\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/stefanjcollier\"\u003e\u003ccode\u003e@​stefanjcollier\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3032\"\u003efaker-ruby/faker#3032\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/faker-ruby/faker/commit/a4d5e503edda970fc085e942018ee235622bfb11\"\u003e\u003ccode\u003ea4d5e50\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/faker-ruby/faker/issues/3152\"\u003e#3152\u003c/a\u003e from faker-ruby/bump-faker-to-v3.5.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/faker-ruby/faker/commit/bf8ca840b0f6904c5d4716399d0635c3af271ef6\"\u003e\u003ccode\u003ebf8ca84\u003c/code\u003e\u003c/a\u003e Bump faker to v3.5.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/faker-ruby/faker/commit/7dbacc0d95150d967f5b3cfc960f46e2c5f1afe6\"\u003e\u003ccode\u003e7dbacc0\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/faker-ruby/faker/issues/3151\"\u003e#3151\u003c/a\u003e from faker-ruby/sb-3150-revamp-docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/faker-ruby/faker/commit/de6e845c44266d0ea481f3a0a47379aeb138fc6f\"\u003e\u003ccode\u003ede6e845\u003c/code\u003e\u003c/a\u003e Update GENERATORS.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/faker-ruby/faker/commit/71e00e7dc465b8a9a5567f8f44b42dd33faac0eb\"\u003e\u003ccode\u003e71e00e7\u003c/code\u003e\u003c/a\u003e Update GENERATORS.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/faker-ruby/faker/commit/c2dafd83c9b79626557b249028f78c302ae8528d\"\u003e\u003ccode\u003ec2dafd8\u003c/code\u003e\u003c/a\u003e Update GENERATORS.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/faker-ruby/faker/commit/1c18dfdb940a1cfff9d1664b9faeb89a977a0552\"\u003e\u003ccode\u003e1c18dfd\u003c/code\u003e\u003c/a\u003e Update GENERATORS.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/faker-ruby/faker/commit/0d85e813020ce3beff112e6e94633fc9618c44cf\"\u003e\u003ccode\u003e0d85...\n\n_Description has been truncated_","html_url":"https://github.com/ministryofjustice/hmcts-common-platform-mock-api/pull/1024","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/ministryofjustice%2Fhmcts-common-platform-mock-api/issues/1024","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1024/packages"}},{"old_version":"2.0.12","new_version":"2.0.18","update_type":"patch","path":null,"pr_created_at":"2025-12-15T16:31:32.000Z","version_change":"2.0.12 → 2.0.18","issue":{"uuid":"3731224269","node_id":"PR_kwDOPvEE5s6490Pb","number":55,"state":"closed","title":"Bump the production-dependencies group across 1 directory with 53 updates","user":"dependabot[bot]","labels":["dependencies","ruby"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2025-12-24T16:21:16.000Z","author_association":null,"state_reason":null,"created_at":"2025-12-15T16:31:32.000Z","updated_at":"2025-12-24T16:21:18.000Z","time_to_close":776984,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"production-dependencies","update_count":53,"packages":[{"name":"acme-client","old_version":"2.0.25","new_version":"2.0.29","repository_url":"https://github.com/unixcharles/acme-client"},{"name":"aws-sdk-ec2","old_version":"1.512.0","new_version":"1.584.0","repository_url":"https://github.com/aws/aws-sdk-ruby"},{"name":"aws-sdk-iam","old_version":"1.123.0","new_version":"1.137.0","repository_url":"https://github.com/aws/aws-sdk-ruby"},{"name":"aws-sdk-s3","old_version":"1.182.0","new_version":"1.206.0","repository_url":"https://github.com/aws/aws-sdk-ruby"},{"name":"bcrypt_pbkdf","old_version":"1.1.1","new_version":"1.1.2","repository_url":"https://github.com/net-ssh/bcrypt_pbkdf-ruby"},{"name":"committee","old_version":"5.5.5","new_version":"5.6.1","repository_url":"https://github.com/interagent/committee"},{"name":"countries","old_version":"7.0.0","new_version":"8.0.4","repository_url":"https://github.com/countries/countries"},{"name":"excon","old_version":"1.3.0","new_version":"1.3.2","repository_url":"https://github.com/excon/excon"},{"name":"forme","old_version":"2.6.0","new_version":"2.7.0","repository_url":"https://github.com/jeremyevans/forme"},{"name":"jwt","old_version":"2.10.2","new_version":"3.1.2","repository_url":"https://github.com/jwt/ruby-jwt"},{"name":"mail","old_version":"2.8.1","new_version":"2.9.0","repository_url":"https://github.com/mikel/mail"},{"name":"nokogiri","old_version":"1.18.9","new_version":"1.18.10","repository_url":"https://github.com/sparklemotion/nokogiri"},{"name":"octokit","old_version":"9.2.0","new_version":"10.0.0","repository_url":"https://github.com/octokit/octokit.rb"},{"name":"puma","old_version":"7.0.0","new_version":"7.1.0","repository_url":"https://github.com/puma/puma"},{"name":"rake","old_version":"13.3.0","new_version":"13.3.1","repository_url":"https://github.com/ruby/rake"},{"name":"reline","old_version":"0.6.2","new_version":"0.6.3","repository_url":"https://github.com/ruby/reline"},{"name":"rodauth","old_version":"2.40.0","new_version":"2.41.0","repository_url":"https://github.com/jeremyevans/rodauth"},{"name":"rqrcode","old_version":"3.1.0","new_version":"3.1.1","repository_url":"https://github.com/whomwah/rqrcode"},{"name":"sequel","old_version":"5.96.0","new_version":"5.99.0","repository_url":"https://github.com/jeremyevans/sequel"},{"name":"sequel_pg","old_version":"1.17.2","new_version":"1.18.0","repository_url":"https://github.com/jeremyevans/sequel_pg"},{"name":"stripe","old_version":"12.6.0","new_version":"18.0.1","repository_url":"https://github.com/stripe/stripe-ruby"},{"name":"oauth2","old_version":"2.0.12","new_version":"2.0.18","repository_url":"https://github.com/ruby-oauth/oauth2"},{"name":"omniauth","old_version":"2.1.3","new_version":"2.1.4","repository_url":"https://github.com/omniauth/omniauth"},{"name":"omniauth-oauth2","old_version":"1.8.0","new_version":"1.9.0","repository_url":"https://github.com/omniauth/omniauth-oauth2"},{"name":"openssl","old_version":"3.3.0","new_version":"4.0.0","repository_url":"https://github.com/ruby/openssl"},{"name":"optparse","old_version":"0.6.0","new_version":"0.8.1","repository_url":"https://github.com/ruby/optparse"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps the production-dependencies group with 26 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [acme-client](https://github.com/unixcharles/acme-client) | `2.0.25` | `2.0.29` |\n| [aws-sdk-ec2](https://github.com/aws/aws-sdk-ruby) | `1.512.0` | `1.584.0` |\n| [aws-sdk-iam](https://github.com/aws/aws-sdk-ruby) | `1.123.0` | `1.137.0` |\n| [aws-sdk-s3](https://github.com/aws/aws-sdk-ruby) | `1.182.0` | `1.206.0` |\n| [bcrypt_pbkdf](https://github.com/net-ssh/bcrypt_pbkdf-ruby) | `1.1.1` | `1.1.2` |\n| [committee](https://github.com/interagent/committee) | `5.5.5` | `5.6.1` |\n| [countries](https://github.com/countries/countries) | `7.0.0` | `8.0.4` |\n| [excon](https://github.com/excon/excon) | `1.3.0` | `1.3.2` |\n| [forme](https://github.com/jeremyevans/forme) | `2.6.0` | `2.7.0` |\n| [jwt](https://github.com/jwt/ruby-jwt) | `2.10.2` | `3.1.2` |\n| [mail](https://github.com/mikel/mail) | `2.8.1` | `2.9.0` |\n| [nokogiri](https://github.com/sparklemotion/nokogiri) | `1.18.9` | `1.18.10` |\n| [octokit](https://github.com/octokit/octokit.rb) | `9.2.0` | `10.0.0` |\n| [puma](https://github.com/puma/puma) | `7.0.0` | `7.1.0` |\n| [rake](https://github.com/ruby/rake) | `13.3.0` | `13.3.1` |\n| [reline](https://github.com/ruby/reline) | `0.6.2` | `0.6.3` |\n| [rodauth](https://github.com/jeremyevans/rodauth) | `2.40.0` | `2.41.0` |\n| [rqrcode](https://github.com/whomwah/rqrcode) | `3.1.0` | `3.1.1` |\n| [sequel](https://github.com/jeremyevans/sequel) | `5.96.0` | `5.99.0` |\n| [sequel_pg](https://github.com/jeremyevans/sequel_pg) | `1.17.2` | `1.18.0` |\n| [stripe](https://github.com/stripe/stripe-ruby) | `12.6.0` | `18.0.1` |\n| [oauth2](https://github.com/ruby-oauth/oauth2) | `2.0.12` | `2.0.18` |\n| [omniauth](https://github.com/omniauth/omniauth) | `2.1.3` | `2.1.4` |\n| [omniauth-oauth2](https://github.com/omniauth/omniauth-oauth2) | `1.8.0` | `1.9.0` |\n| [openssl](https://github.com/ruby/openssl) | `3.3.0` | `4.0.0` |\n| [optparse](https://github.com/ruby/optparse) | `0.6.0` | `0.8.1` |\n\n\nUpdates `acme-client` from 2.0.25 to 2.0.29\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/unixcharles/acme-client/blob/master/CHANGELOG.md\"\u003eacme-client's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ccode\u003e2.0.29\u003c/code\u003e\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eIP support to the CertificateRequest helper\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ccode\u003e2.0.28\u003c/code\u003e\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMake \u003ca href=\"https://datatracker.ietf.org/doc/html/rfc8555/#section-6.6\"\u003eRetry-After\u003c/a\u003e accessible from RateLimited#retry_after exceptions\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ccode\u003e2.0.27\u003c/code\u003e\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Renewal Information (ARI) (RFC 9773)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ccode\u003e2.0.26\u003c/code\u003e\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for dns-account-01 challenge (RFC draft-ietf-acme-dns-account-label-01)\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/unixcharles/acme-client/commit/a60b7b131fcaea4bab124b42a79bd8c6abd149a2\"\u003e\u003ccode\u003ea60b7b1\u003c/code\u003e\u003c/a\u003e bump to 2.0.29\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unixcharles/acme-client/commit/559889f21df6e765152687ffd6a973b61f7befa3\"\u003e\u003ccode\u003e559889f\u003c/code\u003e\u003c/a\u003e Bump to 2.0.28\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unixcharles/acme-client/commit/5e15c9f17d21eef85d01190344aa462191a2b486\"\u003e\u003ccode\u003e5e15c9f\u003c/code\u003e\u003c/a\u003e Add retry_after property to RateLimited client error (\u003ca href=\"https://redirect.github.com/unixcharles/acme-client/issues/260\"\u003e#260\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unixcharles/acme-client/commit/ff515cab615d682cbaaada9ac6ab52dc160e4b01\"\u003e\u003ccode\u003eff515ca\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 5 to 6 (\u003ca href=\"https://redirect.github.com/unixcharles/acme-client/issues/259\"\u003e#259\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unixcharles/acme-client/commit/443a45d2266463b91b5f1935c16139b6021f3c99\"\u003e\u003ccode\u003e443a45d\u003c/code\u003e\u003c/a\u003e Bump to 2.0.27\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unixcharles/acme-client/commit/d32e7f92ad6d542d49b3ed8907e349c109013512\"\u003e\u003ccode\u003ed32e7f9\u003c/code\u003e\u003c/a\u003e Add Renewal Information (ARI) support (RFC 9773) (\u003ca href=\"https://redirect.github.com/unixcharles/acme-client/issues/257\"\u003e#257\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unixcharles/acme-client/commit/efdb724c45d3bca9272eef092d72eb3e346f3e9f\"\u003e\u003ccode\u003eefdb724\u003c/code\u003e\u003c/a\u003e Bump to 2.0.24\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unixcharles/acme-client/commit/c798d60e36acfc9399c07314abdff3af51f11abf\"\u003e\u003ccode\u003ec798d60\u003c/code\u003e\u003c/a\u003e Add dns-account-01 challenge support (\u003ca href=\"https://redirect.github.com/unixcharles/acme-client/issues/256\"\u003e#256\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unixcharles/acme-client/commit/2fd54c770f31c994391e8116e48dceab5316901b\"\u003e\u003ccode\u003e2fd54c7\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 4 to 5 (\u003ca href=\"https://redirect.github.com/unixcharles/acme-client/issues/254\"\u003e#254\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/unixcharles/acme-client/compare/v2.0.25...v2.0.29\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `aws-sdk-ec2` from 1.512.0 to 1.584.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/aws/aws-sdk-ruby/blob/version-3/gems/aws-sdk-ec2/CHANGELOG.md\"\u003eaws-sdk-ec2's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.584.0 (2025-12-08)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Amazon EC2 P6-B300 instances provide 8x NVIDIA Blackwell Ultra GPUs with 2.1 TB high bandwidth GPU memory, 6.4 Tbps EFA networking, 300 Gbps dedicated ENA throughput, and 4 TB of system memory. Amazon EC2 C8a instances are powered by 5th Gen AMD EPYC processors with a maximum frequency of 4.5 GHz.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.583.0 (2025-11-25)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - This release adds support to view Network firewall proxy appliances attached to an existing NAT Gateway via DescribeNatGateways API NatGatewayAttachedAppliance structure.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.582.0 (2025-11-21)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - This release adds a new capability to create and manage interruptible EC2 Capacity Reservations.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.581.0 (2025-11-20)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - This release adds support for multiple features including: VPC Encryption Control for the status of traffic flow; S2S VPN BGP Logging; TGW Flexible Costs; IPAM allocation of static IPs from IPAM pools to CF Anycast IP lists used on CloudFront distribution; and EBS Volume Integration with Recycle Bin\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.580.0 (2025-11-19)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - This launch adds support for two new features: Regional NAT Gateway and IPAM Policies. IPAM policies offers customers central control for public IPv4 assignments across AWS services. Regional NAT is a single NAT Gateway that automatically expands across AZs in a VPC to maintain high availability.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.579.0 (2025-11-18)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - AWS Site-to-Site VPN now supports VPN Concentrator, a new feature that enables customers to connect multiple low-bandwidth sites connections through a single attachment, simplifying multi-site connectivity for distributed enterprises.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.578.0 (2025-11-17)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - This release introduces new APIs: DescribeInstanceSqlHaStates, DescribeInstanceSqlHaHistoryStates, EnableInstanceSqlHaStandbyDetections and DisableInstanceSqlHaStandbyDetections on Amazon EC2, allowing customers to enroll and monitor SQL Server licensing fee savings for their SQL HA EC2 instances.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.577.0 (2025-11-14)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - This release adds AvailabilityZoneId support for CreateInstanceConnectEndpoint, DescribeInstanceConnectEndpoints, and DeleteInstanceConnectEndpoint APIs.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.576.0 (2025-11-13)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Added support for new accelerator types (\u0026quot;media\u0026quot;) and accelerator names (\u0026quot;L4\u0026quot;, \u0026quot;L40s\u0026quot;, \u0026quot;GAUDI_HL_205\u0026quot;, \u0026quot;INFERENTIA2\u0026quot;, \u0026quot;TRAINIUM\u0026quot;, \u0026quot;TRAINIUM2\u0026quot;, \u0026quot;U30\u0026quot;) in Attributes Based Instance Type Selection for launched instance types.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.575.0 (2025-11-12)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Adds complete AMI ancestry tracing from immediate parent through each preceding generation back to the root AMI\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\u003eSee full diff in \u003ca href=\"https://github.com/aws/aws-sdk-ruby/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `aws-sdk-iam` from 1.123.0 to 1.137.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/aws/aws-sdk-ruby/blob/version-3/gems/aws-sdk-iam/CHANGELOG.md\"\u003eaws-sdk-iam's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.137.0 (2025-12-05)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Adding the ExpirationTime attribute to the delegation request resource.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.136.0 (2025-11-21)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Code Generated Changes, see \u003ccode\u003e./build_tools\u003c/code\u003e or \u003ccode\u003eaws-sdk-core\u003c/code\u003e's CHANGELOG.md for details.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.135.0 (2025-11-19)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Added the EnableOutboundWebIdentityFederation, DisableOutboundWebIdentityFederation and GetOutboundWebIdentityFederationInfo APIs for the IAM outbound federation feature.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.134.0 (2025-11-18)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Added the AssociateDelegationRequest, GetDelegationRequest, AcceptDelegationRequest, RejectDelegatonRequest, ListDelegationRequests, UpdateDelegationRequest, SendDelegationToken and GetHumanReadableSummary APIs for the IAM temporary delegation feature.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.133.0 (2025-11-10)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Added CreateDelegationRequest API, which is not available for general use at this time.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.132.0 (2025-10-27)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Fixed missing SummaryMap keys in GetAccountSummary response that were being filtered out during deserialization in AWS Java SDK v2\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.131.0 (2025-10-22)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Updated OIDC and SAML apis to reject multiple simultaneous requests to change a unique object.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.130.0 (2025-10-21)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Code Generated Changes, see \u003ccode\u003e./build_tools\u003c/code\u003e or \u003ccode\u003eaws-sdk-core\u003c/code\u003e's CHANGELOG.md for details.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.129.0 (2025-08-26)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Code Generated Changes, see \u003ccode\u003e./build_tools\u003c/code\u003e or \u003ccode\u003eaws-sdk-core\u003c/code\u003e's CHANGELOG.md for details.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.128.0 (2025-08-20)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Remove incorrect endpoint tests\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\u003eSee full diff in \u003ca href=\"https://github.com/aws/aws-sdk-ruby/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `aws-sdk-s3` from 1.182.0 to 1.206.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/aws/aws-sdk-ruby/blob/version-3/gems/aws-sdk-s3/CHANGELOG.md\"\u003eaws-sdk-s3's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.206.0 (2025-12-02)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - New S3 Storage Class FSX_ONTAP\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.205.0 (2025-11-20)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Enable / Disable ABAC on a general purpose bucket.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.204.0 (2025-11-19)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Adds support for blocking SSE-C writes to general purpose buckets.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.203.1 (2025-11-10)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eIssue - Deprecated \u003ccode\u003e:checksum_mode\u003c/code\u003e parameter in \u003ccode\u003eFileDownloader#download\u003c/code\u003e. When set to \u0026quot;DISABLED\u0026quot;, a deprecation warning is issued and the parameter is ignored. Use \u003ccode\u003e:response_checksum_validation\u003c/code\u003e on the S3 client instead to control checksum validation behavior.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.203.0 (2025-11-05)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Launch IPv6 dual-stack support for S3 Express\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.202.0 (2025-10-28)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Amazon Simple Storage Service / Features: Add conditional writes in CopyObject on destination key to prevent unintended object modifications.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.201.0 (2025-10-21)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFeature - Code Generated Changes, see \u003ccode\u003e./build_tools\u003c/code\u003e or \u003ccode\u003eaws-sdk-core\u003c/code\u003e's CHANGELOG.md for details.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eIssue - Fix multipart upload to respect \u003ccode\u003erequest_checksum_calculation\u003c/code\u003e \u003ccode\u003ewhen_required\u003c/code\u003e mode.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.200.0 (2025-10-15)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFeature - Add lightweight thread pool executor for multipart \u003ccode\u003edownload_file\u003c/code\u003e, \u003ccode\u003eupload_file\u003c/code\u003e and \u003ccode\u003eupload_stream\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFeature - Add custom executor support for \u003ccode\u003eAws::S3::TransferManager\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.199.1 (2025-09-25)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eIssue - Update \u003ccode\u003eTransferManager#download_file\u003c/code\u003e and \u003ccode\u003eObject#download_file\u003c/code\u003e documentation regarding temporary file usage and failure handling for different destination types.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e1.199.0 (2025-09-08)\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\u003eSee full diff in \u003ca href=\"https://github.com/aws/aws-sdk-ruby/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `bcrypt_pbkdf` from 1.1.1 to 1.1.2\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/net-ssh/bcrypt_pbkdf-ruby/commit/e52088f9a28e34321a9b359f30d472097f1d7f01\"\u003e\u003ccode\u003ee52088f\u003c/code\u003e\u003c/a\u003e chore: bump version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/net-ssh/bcrypt_pbkdf-ruby/commit/26919975ca7b77425609387955d31784381c3af6\"\u003e\u003ccode\u003e2691997\u003c/code\u003e\u003c/a\u003e added benchmark gem to gemspec\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/net-ssh/bcrypt_pbkdf-ruby/commit/fc2498597f6f556979ccc8ee58acce10e39ff09a\"\u003e\u003ccode\u003efc24985\u003c/code\u003e\u003c/a\u003e chore: bump version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/net-ssh/bcrypt_pbkdf-ruby/commit/25919bbc4a148ba2031e6c52ec777ded97560df4\"\u003e\u003ccode\u003e25919bb\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/net-ssh/bcrypt_pbkdf-ruby/issues/26\"\u003e#26\u003c/a\u003e from brendon/Ruby-3.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/net-ssh/bcrypt_pbkdf-ruby/commit/77d005a0be09f848cf8838d09e611290b027a791\"\u003e\u003ccode\u003e77d005a\u003c/code\u003e\u003c/a\u003e Add Ruby 3.4 support\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/net-ssh/bcrypt_pbkdf-ruby/compare/v1.1.1...v1.1.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `committee` from 5.5.5 to 5.6.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/interagent/committee/blob/master/CHANGELOG.md\"\u003ecommittee's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e5.6.1 - 2025-10-30\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix content type parsing for complex types \u003ca href=\"https://redirect.github.com/interagent/committee/issues/455\"\u003e#455\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e5.6.0 - 2025-10-01\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ebump actions/checkout \u003ca href=\"https://redirect.github.com/interagent/committee/issues/450\"\u003e#450\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ereplace require with plugins in rubocop config \u003ca href=\"https://redirect.github.com/interagent/committee/issues/451\"\u003e#451\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ereturn to lenient status parsing for hyperschema \u003ca href=\"https://redirect.github.com/interagent/committee/issues/453\"\u003e#453\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/interagent/committee/commit/5866ca8cbe29479a5749b0e505b7ef7c596a80b6\"\u003e\u003ccode\u003e5866ca8\u003c/code\u003e\u003c/a\u003e v5.6.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/interagent/committee/commit/126127134d52bea958bfc7c86a56f6070d5c20cd\"\u003e\u003ccode\u003e1261271\u003c/code\u003e\u003c/a\u003e fix content type split/parsing, using racks implementation (\u003ca href=\"https://redirect.github.com/interagent/committee/issues/455\"\u003e#455\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/interagent/committee/commit/f5f627b9540710f6525657d9543851c6be094ebf\"\u003e\u003ccode\u003ef5f627b\u003c/code\u003e\u003c/a\u003e v5.6.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/interagent/committee/commit/f08b2ba5b0c6265c2a36204e30ea4069335ce87b\"\u003e\u003ccode\u003ef08b2ba\u003c/code\u003e\u003c/a\u003e feat(schema-validator): return to lenient status parsing for hyperschema (\u003ca href=\"https://redirect.github.com/interagent/committee/issues/453\"\u003e#453\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/interagent/committee/commit/ec516b4fa674709809a75a3500631ae943919b48\"\u003e\u003ccode\u003eec516b4\u003c/code\u003e\u003c/a\u003e Replace 'require' with 'plugins' in .rubocop.yml to configure RuboCop plugins...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/interagent/committee/commit/d615a07bae8e256883c957f72ac1e1e90499874e\"\u003e\u003ccode\u003ed615a07\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 4 to 5 (\u003ca href=\"https://redirect.github.com/interagent/committee/issues/450\"\u003e#450\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/interagent/committee/compare/v5.5.5...v5.6.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `countries` from 7.0.0 to 8.0.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/countries/countries/releases\"\u003ecountries's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.0.4\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd the old iso_short_names as unofficial_names. Fixes \u003ca href=\"https://redirect.github.com/countries/countries/issues/923\"\u003e#923\u003c/a\u003e by \u003ca href=\"https://github.com/pmor\"\u003e\u003ccode\u003e@​pmor\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/926\"\u003ecountries/countries#926\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRevert removal of empty keys from country data files. by \u003ca href=\"https://github.com/pmor\"\u003e\u003ccode\u003e@​pmor\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/927\"\u003ecountries/countries#927\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/countries/countries/compare/v8.0.3...v8.0.4\"\u003ehttps://github.com/countries/countries/compare/v8.0.3...v8.0.4\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e8.0.3\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: change french name of France subdivisions by \u003ca href=\"https://github.com/Bertrand-Bichat\"\u003e\u003ccode\u003e@​Bertrand-Bichat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/919\"\u003ecountries/countries#919\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: add guard clause to check if matches is nil by \u003ca href=\"https://github.com/ratheeshaditya\"\u003e\u003ccode\u003e@​ratheeshaditya\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/917\"\u003ecountries/countries#917\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate Estonia standard VAT from 22% to 24% (July 1st 2025 change)  by \u003ca href=\"https://github.com/jarthod\"\u003e\u003ccode\u003e@​jarthod\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/922\"\u003ecountries/countries#922\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/Bertrand-Bichat\"\u003e\u003ccode\u003e@​Bertrand-Bichat\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/countries/countries/pull/919\"\u003ecountries/countries#919\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ratheeshaditya\"\u003e\u003ccode\u003e@​ratheeshaditya\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/countries/countries/pull/917\"\u003ecountries/countries#917\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/countries/countries/compare/v8.0.2...v8.0.3\"\u003ehttps://github.com/countries/countries/compare/v8.0.2...v8.0.3\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e8.0.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: iso short names by \u003ca href=\"https://github.com/sabify\"\u003e\u003ccode\u003e@​sabify\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/907\"\u003ecountries/countries#907\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix error when searching \u003ccode\u003eISO3166::Country[nil]\u003c/code\u003e. Fixes \u003ca href=\"https://redirect.github.com/countries/countries/issues/912\"\u003e#912\u003c/a\u003e by \u003ca href=\"https://github.com/pmor\"\u003e\u003ccode\u003e@​pmor\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/913\"\u003ecountries/countries#913\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/countries/countries/compare/v8.0.1...v8.0.2\"\u003ehttps://github.com/countries/countries/compare/v8.0.1...v8.0.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e8.0.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix error in collect_countries_with and update specs by \u003ca href=\"https://github.com/pmor\"\u003e\u003ccode\u003e@​pmor\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/911\"\u003ecountries/countries#911\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/countries/countries/compare/v8.0.0...v8.0.1\"\u003ehttps://github.com/countries/countries/compare/v8.0.0...v8.0.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev8.0.0\u003c/h2\u003e\n\u003ch1\u003eBreaking Changes\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eDrop support for Ruby 3.1 (EOL 2025-03-26) by \u003ca href=\"https://github.com/pmor\"\u003e\u003ccode\u003e@​pmor\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/909\"\u003ecountries/countries#909\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eExperiment with symbol-keyed translation hashes to reduce string allocations by \u003ca href=\"https://github.com/pmor\"\u003e\u003ccode\u003e@​pmor\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/884\"\u003ecountries/countries#884\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eThis is a potentially breaking change because some translation-related methods return the translation hashes, which now have symbol keys instead of string keys\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFind correct subdivision when searching for Washington by \u003ca href=\"https://github.com/hieuk09\"\u003e\u003ccode\u003e@​hieuk09\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/900\"\u003ecountries/countries#900\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eThis is a potentially breaking change because the behaviour of \u003ccode\u003efind_subdivision_by_name\u003c/code\u003e has changed to fix \u003ca href=\"https://redirect.github.com/countries/countries/issues/888\"\u003ecountries/countries#888\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eupdate CR translations by \u003ca href=\"https://github.com/daviddinis\"\u003e\u003ccode\u003e@​daviddinis\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/892\"\u003ecountries/countries#892\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(data): DK \u003ccode\u003eaddress_format\u003c/code\u003e by \u003ca href=\"https://github.com/mroach\"\u003e\u003ccode\u003e@​mroach\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/890\"\u003ecountries/countries#890\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: the spec breakage in SK by \u003ca href=\"https://github.com/sabify\"\u003e\u003ccode\u003e@​sabify\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/893\"\u003ecountries/countries#893\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/countries/countries/blob/master/CHANGELOG.md\"\u003ecountries's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/countries/countries/releases/tag/v8.0.4\u0026#x27;\"\u003e8.0.4\u003c/a\u003e (2025/08/30 14:36 +00:00)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd the old iso_short_names as unofficial_names. Fixes \u003ca href=\"https://redirect.github.com/countries/countries/issues/923\"\u003e#923\u003c/a\u003e by \u003ca href=\"https://github.com/pmor\"\u003e\u003ccode\u003e@​pmor\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/926\"\u003ecountries/countries#926\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRevert removal of empty keys from country data files. by \u003ca href=\"https://github.com/pmor\"\u003e\u003ccode\u003e@​pmor\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/927\"\u003ecountries/countries#927\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/countries/countries/releases/tag/v8.0.3\u0026#x27;\"\u003e8.0.3\u003c/a\u003e (2025/07/11 14:25 +00:00)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: change french name of France subdivisions by \u003ca href=\"https://github.com/Bertrand-Bichat\"\u003e\u003ccode\u003e@​Bertrand-Bichat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/919\"\u003ecountries/countries#919\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: add guard clause to check if matches is nil by \u003ca href=\"https://github.com/ratheeshaditya\"\u003e\u003ccode\u003e@​ratheeshaditya\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/917\"\u003ecountries/countries#917\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate Estonia standard VAT from 22% to 24% (July 1st 2025 change)  by \u003ca href=\"https://github.com/jarthod\"\u003e\u003ccode\u003e@​jarthod\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/922\"\u003ecountries/countries#922\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/countries/countries/releases/tag/v8.0.2\u0026#x27;\"\u003e8.0.2\u003c/a\u003e (2025/06/01 13:30 +00:00)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: iso short names by \u003ca href=\"https://github.com/sabify\"\u003e\u003ccode\u003e@​sabify\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/907\"\u003ecountries/countries#907\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix error when searching \u003ccode\u003eISO3166::Country[nil]\u003c/code\u003e. Fixes \u003ca href=\"https://redirect.github.com/countries/countries/issues/912\"\u003e#912\u003c/a\u003e by \u003ca href=\"https://github.com/pmor\"\u003e\u003ccode\u003e@​pmor\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/913\"\u003ecountries/countries#913\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/countries/countries/releases/tag/v8.0.1\u0026#x27;\"\u003e8.0.1\u003c/a\u003e (2025/05/31 15:34 +00:00)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix error in collect_countries_with and update specs by \u003ca href=\"https://github.com/pmor\"\u003e\u003ccode\u003e@​pmor\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/911\"\u003ecountries/countries#911\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/countries/countries/releases/tag/v8.0.0\u0026#x27;\"\u003e8.0.0\u003c/a\u003e (2025/05/31 14:35 +00:00)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBreaking Changes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eDrop support for Ruby 3.1 (EOL 2025-03-26) by \u003ca href=\"https://github.com/pmor\"\u003e\u003ccode\u003e@​pmor\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/909\"\u003ecountries/countries#909\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eExperiment with symbol-keyed translation hashes to reduce string allocations by \u003ca href=\"https://github.com/pmor\"\u003e\u003ccode\u003e@​pmor\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/884\"\u003ecountries/countries#884\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eThis is a potentially breaking change because some translation-related methods return the translation hashes, which now have symbol keys instead of string keys\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFind correct subdivision when searching for Washington by \u003ca href=\"https://github.com/hieuk09\"\u003e\u003ccode\u003e@​hieuk09\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/900\"\u003ecountries/countries#900\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eThis is a potentially breaking change because the behaviour of \u003ccode\u003efind_subdivision_by_name\u003c/code\u003e has changed to fix \u003ca href=\"https://redirect.github.com/countries/countries/issues/888\"\u003ecountries/countries#888\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eWhat's Changed\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eupdate CR translations by \u003ca href=\"https://github.com/daviddinis\"\u003e\u003ccode\u003e@​daviddinis\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/892\"\u003ecountries/countries#892\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(data): DK \u003ccode\u003eaddress_format\u003c/code\u003e by \u003ca href=\"https://github.com/mroach\"\u003e\u003ccode\u003e@​mroach\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/890\"\u003ecountries/countries#890\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: the spec breakage in SK by \u003ca href=\"https://github.com/sabify\"\u003e\u003ccode\u003e@​sabify\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/893\"\u003ecountries/countries#893\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: currency code of Sierra Leone and Sao Tome and Principe by \u003ca href=\"https://github.com/sabify\"\u003e\u003ccode\u003e@​sabify\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/895\"\u003ecountries/countries#895\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: normalizing data files by \u003ca href=\"https://github.com/sabify\"\u003e\u003ccode\u003e@​sabify\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/894\"\u003ecountries/countries#894\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix Spanish translation of DZ (Algeria). Fixes \u003ca href=\"https://redirect.github.com/countries/countries/issues/889\"\u003e#889\u003c/a\u003e by \u003ca href=\"https://github.com/pmor\"\u003e\u003ccode\u003e@​pmor\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/896\"\u003ecountries/countries#896\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: currency of Curacao and Saint Maarten by \u003ca href=\"https://github.com/sabify\"\u003e\u003ccode\u003e@​sabify\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/899\"\u003ecountries/countries#899\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix SG - Singapore country name in pt-BR by \u003ca href=\"https://github.com/stephannv\"\u003e\u003ccode\u003e@​stephannv\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/904\"\u003ecountries/countries#904\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCorrect ZA province name by \u003ca href=\"https://github.com/yenshirak\"\u003e\u003ccode\u003e@​yenshirak\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/906\"\u003ecountries/countries#906\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCleanup some reek issues by \u003ca href=\"https://github.com/pmor\"\u003e\u003ccode\u003e@​pmor\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/countries/countries/pull/897\"\u003ecountries/countries#897\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/countries/countries/releases/tag/v7.1.1\u0026#x27;\"\u003e7.1.1\u003c/a\u003e (2025/02/08 18:07 +00:00)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eWhat's Changed\u003c/strong\u003e\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\u003eUpgrade guide\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/countries/countries/blob/master/UPGRADE.md\"\u003ecountries's upgrade guide\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eUpgrading to 4.2 and 5.x\u003c/h1\u003e\n\u003cp\u003eIn release 4.2 the \u003ccode\u003e#name\u003c/code\u003e attribute was deprecated in favour of \u003ccode\u003e#iso_short_name\u003c/code\u003e and we added the \u003ccode\u003e#iso_long_name\u003c/code\u003e attribute, to make it clear that these attributes use the ISO3166 names, and are not the \u0026quot;common names\u0026quot; most people might expect, eg: The ISO name for \u0026quot;United Kingdom\u0026quot; is \u0026quot;United Kingdom of Great Britain and Northern Ireland\u0026quot;, but if you're building a dropdown box to select a country, you're likely expecting to see \u0026quot;United Kingdom\u0026quot; instead.\u003c/p\u003e\n\u003cp\u003e\u0026quot;Common names\u0026quot; in English have been available in the translation data, via \u003ccode\u003e#translation('en')\u003c/code\u003e. As of release 4.2, a shortcut method has been added for simplicity, \u003ccode\u003e#common_name\u003c/code\u003e, which delegates to \u003ccode\u003e#translation('en')\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eFor additional clarity, the \u003ccode\u003e#names\u003c/code\u003e method, which was an alias to \u003ccode\u003e#unofficial_names\u003c/code\u003e has also been deprecated, together with the finder methods that use \u003ccode\u003ename\u003c/code\u003e or \u003ccode\u003enames\u003c/code\u003e attributes.\u003c/p\u003e\n\u003cp\u003eThe \u003ccode\u003e#name\u003c/code\u003e and \u003ccode\u003e#names\u003c/code\u003e attributes, and corresponding finder methods were removed in 5.0.\u003c/p\u003e\n\u003cp\u003eThe replacement finders added in 5.0 are:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e#find_by_name\u003c/code\u003e =\u0026gt; \u003ccode\u003e#find_by_any_name\u003c/code\u003e - Searches all the name attributes, same as before\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e#find_by_names\u003c/code\u003e =\u0026gt; \u003ccode\u003e#find_by_unofficial_names\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e#find_*_by_name\u003c/code\u003e =\u0026gt; \u003ccode\u003e#find_*_by_any_name\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e#find_*_by_names\u003c/code\u003e =\u0026gt; \u003ccode\u003e#find_*_by_unofficial_names\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eWith the addition of the new name attributes, there are now also the following finders:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e#find_by_common_name\u003c/code\u003e/\u003ccode\u003e#find_*_by_common_name\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e#find_by_iso_short_name\u003c/code\u003e/\u003ccode\u003e#find_*_by_iso_short_name\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e#find_by_iso_long_name\u003c/code\u003e/\u003ccode\u003e#find_*_by_iso_long_name\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFor translated country names, we use data originally sourced from \u003ca href=\"https://salsa.debian.org/iso-codes-team/iso-codes\"\u003epkg-isocodes\u003c/a\u003e, via the \u003ca href=\"https://github.com/grosser/i18n_data\"\u003ei18n_data\u003c/a\u003e gem, and these generally correspond to the expected \u0026quot;common names\u0026quot;. Some corrections have been applied to these localized names. The methods to access translated names have not been changed.\u003c/p\u003e\n\u003cp\u003eThe 5.0 release removed support for Ruby 2.5 (EOL 2021-03-01) and 2.6 (EOL 2022-03-31)\u003c/p\u003e\n\u003ch1\u003eUpgrading to 5.1\u003c/h1\u003e\n\u003cp\u003eIn release 5.1 a \u003ccode\u003etype\u003c/code\u003e attribute was added to the subdivisions object, to allow filtering the collection of subdivisions.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eCountry#subdivision_types\u003c/code\u003e returns a list of subdivision types for that country (lowercase, snake_cased)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e#subdivisions_of_types(types)\u003c/code\u003e accepts an array of subdivision types and returns the subdivisions for those types\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThe \u003ccode\u003e#states\u003c/code\u003e method is deprecated to avoid confusion, as this method is an alias to \u003ccode\u003e#subdivisions\u003c/code\u003e and returns all subdivisions, regardless of type.\u003c/p\u003e\n\u003cp\u003eTo get a list of \u003ccode\u003estate\u003c/code\u003e subdivisions (something that was not possible before 5.1), use \u003ccode\u003esubdivisions_of_types(['state'])\u003c/code\u003e\u003c/p\u003e\n\u003cp\u003ePlease note that the subdivision types are obtained from ISO data, and each country defines its own subdivision types, eg: \u003ccode\u003estate\u003c/code\u003e, \u003ccode\u003edistrict\u003c/code\u003e, \u003ccode\u003eregion\u003c/code\u003e, \u003ccode\u003emunicipality\u003c/code\u003e and many others types exist.\u003c/p\u003e\n\u003ch1\u003eUpgrading to 7.0\u003c/h1\u003e\n\u003cp\u003eIn release 7.0, the long-deprecated \u003ccode\u003e#states\u003c/code\u003e method has been removed. More information above (Upgrading to 5.1)\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/countries/countries/commit/08dd4da549357a260a6ae34e11024b780e030559\"\u003e\u003ccode\u003e08dd4da\u003c/code\u003e\u003c/a\u003e Bump version, update cache and CHANGELOG\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/countries/countries/commit/53a4a547a0fa14a64c9ef60359cc0a465b5f9f79\"\u003e\u003ccode\u003e53a4a54\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/countries/countries/issues/927\"\u003e#927\u003c/a\u003e from countries/fix/revert_normalization\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/countries/countries/commit/2aeae5831a7f82c99d05d2e183f3c94957874d07\"\u003e\u003ccode\u003e2aeae58\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/countries/countries/issues/926\"\u003e#926\u003c/a\u003e from countries/fix/short_name_fallback\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/countries/countries/commit/12a3284b28faa1eec8d29ef6737850172e2798a4\"\u003e\u003ccode\u003e12a3284\u003c/code\u003e\u003c/a\u003e Add/update specs. Update cache so the new specs run\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/countries/countries/commit/ee324a448dfcaa6e55f4d710c74f093ca3201640\"\u003e\u003ccode\u003eee324a4\u003c/code\u003e\u003c/a\u003e Revert removal of empty keys from country data files. Fixes \u003ca href=\"https://redirect.github.com/countries/countries/issues/925\"\u003e#925\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/countries/countries/commit/bd66a065b033b6e44416d29ce9ef472d731c3784\"\u003e\u003ccode\u003ebd66a06\u003c/code\u003e\u003c/a\u003e Add the old iso_short_names as unofficial_names. Fixes \u003ca href=\"https://redirect.github.com/countries/countries/issues/923\"\u003e#923\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/countries/countries/commit/ee77f0734faac4ce9e0444113527913a46edb378\"\u003e\u003ccode\u003eee77f07\u003c/code\u003e\u003c/a\u003e Move to Qlty coverage\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/countries/countries/commit/30c88454521961555ef7d26e715ba7f955409a30\"\u003e\u003ccode\u003e30c8845\u003c/code\u003e\u003c/a\u003e Update Gemfile.lock\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/countries/countries/commit/ffb6ee03bbcc7bf20990f9146d26fc2c8a19b419\"\u003e\u003ccode\u003effb6ee0\u003c/code\u003e\u003c/a\u003e Remove CodeClimate badge\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/countries/countries/commit/345f7ea19838f4f0b9354fba0f687efc45f6d79c\"\u003e\u003ccode\u003e345f7ea\u003c/code\u003e\u003c/a\u003e Disable code coverage until the action is updated (codeclimate -\u0026gt; qlty change)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/countries/countries/compare/v7.0.0...v8.0.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `excon` from 1.3.0 to 1.3.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/excon/excon/blob/master/changelog.txt\"\u003eexcon's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e1.3.2 2025-12-03\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eupdate bundled certs\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e1.3.1 2025-11-05\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eupdate bundled certs\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/excon/excon/commit/e94efe6637d9d99a66e8a39b52c0131c706432b7\"\u003e\u003ccode\u003ee94efe6\u003c/code\u003e\u003c/a\u003e v1.3.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/excon/excon/commit/7e858751ff850bafc4000fcca4f3f331c70c07bc\"\u003e\u003ccode\u003e7e85875\u003c/code\u003e\u003c/a\u003e update bundled certs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/excon/excon/commit/f076a7657782c518cbff2c1683309c2c106e6275\"\u003e\u003ccode\u003ef076a76\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 5 to 6 (\u003ca href=\"https://redirect.github.com/excon/excon/issues/893\"\u003e#893\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/excon/excon/commit/fbe4748d49ac87504ee8d3e7352da0de3485144c\"\u003e\u003ccode\u003efbe4748\u003c/code\u003e\u003c/a\u003e adjust ractor usage for Ruby 3.5+\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/excon/excon/commit/7900bec2e4f4916b0d8994e5e7f3b57ca10ddb68\"\u003e\u003ccode\u003e7900bec\u003c/code\u003e\u003c/a\u003e v1.3.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/excon/excon/commit/a18079c2a55780951d61da712d68554217106ede\"\u003e\u003ccode\u003ea18079c\u003c/code\u003e\u003c/a\u003e update bundled certs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/excon/excon/commit/60ac6aa966172e6bd20264366e213943d891329c\"\u003e\u003ccode\u003e60ac6aa\u003c/code\u003e\u003c/a\u003e update bundled certs\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/excon/excon/compare/v1.3.0...v1.3.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `forme` from 2.6.0 to 2.7.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jeremyevans/forme/blob/master/CHANGELOG\"\u003eforme's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e=== 2.7.0 (2025-09-16)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eOmit closing / for void element tags (only used previously for xhtml compliance) (jeremyevans)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAllow emit: false option to work correctly for non-model template forms (jeremyevans)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSupport :label_attr as an option-specific option for radioset/checkboxset options (jeremyevans)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAllow Tag#initialize to accept a block, and treat it the same as the children argument (jeremyevans)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd Labeler::Explicit#id_for_input private method to allow subclasses to easily get the id (jeremyevans)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSupport Sequel::Model#forme_required_abbr_title to control the content of the title attribute for abbr tags (jeremyevans)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd Serializer#self_closing_tag? private method for easier overriding in subclasses (jeremyevans)\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/jeremyevans/forme/commit/388c069f9d5bfc0c9e93623f0b25dcd862150143\"\u003e\u003ccode\u003e388c069\u003c/code\u003e\u003c/a\u003e Bump version to 2.7.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jeremyevans/forme/commit/7ada3d690041111f50d27321ed332afaa21e0b8b\"\u003e\u003ccode\u003e7ada3d6\u003c/code\u003e\u003c/a\u003e Omit closing / for void element tags\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jeremyevans/forme/commit/6277bb1e7dc4b1876a3cae73fe3d6acadeb7617b\"\u003e\u003ccode\u003e6277bb1\u003c/code\u003e\u003c/a\u003e Allow emit: false option to work correctly for non-model template forms\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jeremyevans/forme/commit/fb176155e55819087ca66d11385f08c6b2ae362c\"\u003e\u003ccode\u003efb17615\u003c/code\u003e\u003c/a\u003e Use SimpleCov.add_filter block instead of string\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jeremyevans/forme/commit/f3f2206bdc3d137fba19cb759a38279f0b37c551\"\u003e\u003ccode\u003ef3f2206\u003c/code\u003e\u003c/a\u003e Add JRuby 10.0 to CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jeremyevans/forme/commit/62f43ca72a841eb271bde2d5d7355c65fdcf4f72\"\u003e\u003ccode\u003e62f43ca\u003c/code\u003e\u003c/a\u003e Switch rdoc task to normal rake task, avoid rdoc/task require\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jeremyevans/forme/commit/856e9abe62dde92b1efc1b06297ffaaec912bf27\"\u003e\u003ccode\u003e856e9ab\u003c/code\u003e\u003c/a\u003e Support :label_attr as an option-specific option for radioset/checkboxset opt...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jeremyevans/forme/commit/675c9dedd2d5675c344384f849bda46aa9da74d1\"\u003e\u003ccode\u003e675c9de\u003c/code\u003e\u003c/a\u003e Fix concurrent-ruby version in Ruby 2.5/2.6 CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jeremyevans/forme/commit/124fc548ddc5f32f2ccc3f5f0da200188883bfd8\"\u003e\u003ccode\u003e124fc54\u003c/code\u003e\u003c/a\u003e Allow Tag#initialize to accept a block, and treat it the same as the children...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jeremyevans/forme/commit/954bbeeb6bbd899fc0effa54326d401d9b19c5d8\"\u003e\u003ccode\u003e954bbee\u003c/code\u003e\u003c/a\u003e Add Labeler::Explicit#id_for_input private method to allow subclasses to easi...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jeremyevans/forme/compare/2.6.0...2.7.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `jwt` from 2.10.2 to 3.1.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jwt/ruby-jwt/blob/main/CHANGELOG.md\"\u003ejwt's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/jwt/ruby-jwt/tree/v3.1.2\"\u003ev3.1.2\u003c/a\u003e (2025-06-28)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/jwt/ruby-jwt/compare/v3.1.1...v3.1.2\"\u003eFull Changelog\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFixes and enhancements:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid using the same digest across calls in JWT::JWA::Ecdsa and JWT::JWA::Rsa \u003ca href=\"https://redirect.github.com/jwt/ruby-jwt/pull/697\"\u003e#697\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix signing with a EC JWK \u003ca href=\"https://redirect.github.com/jwt/ruby-jwt/pull/699\"\u003e#699\u003c/a\u003e (\u003ca href=\"https://github.com/anakinj\"\u003e\u003ccode\u003e@​anakinj\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/jwt/ruby-jwt/tree/v3.1.1\"\u003ev3.1.1\u003c/a\u003e (2025-06-24)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/jwt/ruby-jwt/compare/v3.1.0...v3.1.1\"\u003eFull Changelog\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFixes and enhancements:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRequire the algorithm to be provided when signing and verifying tokens using JWKs \u003ca href=\"https://redirect.github.com/jwt/ruby-jwt/pull/695\"\u003e#695\u003c/a\u003e (\u003ca href=\"https://github.com/anakinj\"\u003e\u003ccode\u003e@​anakinj\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/jwt/ruby-jwt/tree/v3.1.0\"\u003ev3.1.0\u003c/a\u003e (2025-06-23)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/jwt/ruby-jwt/compare/v3.0.0...v3.1.0\"\u003eFull Changelog\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFeatures:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for x5t header parameter for X.509 certificate thumbprint verification \u003ca href=\"https://redirect.github.com/jwt/ruby-jwt/pull/669\"\u003e#669\u003c/a\u003e (\u003ca href=\"https://github.com/hieuk09\"\u003e\u003ccode\u003e@​hieuk09\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRaise an error if the ECDSA signing or verification key is not an instance of \u003ccode\u003eOpenSSL::PKey::EC\u003c/code\u003e \u003ca href=\"https://redirect.github.com/jwt/ruby-jwt/pull/688\"\u003e#688\u003c/a\u003e (\u003ca href=\"https://github.com/anakinj\"\u003e\u003ccode\u003e@​anakinj\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow \u003ccode\u003eOpenSSL::PKey::EC::Point\u003c/code\u003e to be used as the verification key in ECDSA \u003ca href=\"https://redirect.github.com/jwt/ruby-jwt/pull/689\"\u003e#689\u003c/a\u003e (\u003ca href=\"https://github.com/anakinj\"\u003e\u003ccode\u003e@​anakinj\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRequire claims to have been verified before accessing the \u003ccode\u003eJWT::EncodedToken#payload\u003c/code\u003e \u003ca href=\"https://redirect.github.com/jwt/ruby-jwt/pull/690\"\u003e#690\u003c/a\u003e (\u003ca href=\"https://github.com/anakinj\"\u003e\u003ccode\u003e@​anakinj\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport signing and verifying tokens using a JWK \u003ca href=\"https://redirect.github.com/jwt/ruby-jwt/pull/692\"\u003e#692\u003c/a\u003e (\u003ca href=\"https://github.com/anakinj\"\u003e\u003ccode\u003e@​anakinj\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/jwt/ruby-jwt/tree/v3.0.0\"\u003ev3.0.0\u003c/a\u003e (2025-06-14)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/jwt/ruby-jwt/compare/v2.10.1...v3.0.0\"\u003eFull Changelog\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eBreaking changes:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRequire token signature to be verified before accessing payload \u003ca href=\"https://redirect.github.com/jwt/ruby-jwt/pull/648\"\u003e#648\u003c/a\u003e (\u003ca href=\"https://github.com/anakinj\"\u003e\u003ccode\u003e@​anakinj\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDrop support for the HS512256 algorithm \u003ca href=\"https://redirect.github.com/jwt/ruby-jwt/pull/650\"\u003e#650\u003c/a\u003e (\u003ca href=\"https://github.com/anakinj\"\u003e\u003ccode\u003e@​anakinj\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove deprecated claim verification methods \u003ca href=\"https://redirect.github.com/jwt/ruby-jwt/pull/654\"\u003e#654\u003c/a\u003e (\u003ca href=\"https://github.com/anakinj\"\u003e\u003ccode\u003e@​anakinj\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove dependency to rbnacl \u003ca href=\"https://redirect.github.com/jwt/ruby-jwt/pull/655\"\u003e#655\u003c/a\u003e (\u003ca href=\"https://github.com/anakinj\"\u003e\u003ccode\u003e@​anakinj\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport only stricter base64 decoding (RFC 4648) \u003ca href=\"https://redirect.github.com/jwt/ruby-jwt/pull/658\"\u003e#658\u003c/a\u003e (\u003ca href=\"https://github.com/anakinj\"\u003e\u003ccode\u003e@​anakinj\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCustom algorithms are required to include \u003ccode\u003eJWT::JWA::SigningAlgorithm\u003c/code\u003e \u003ca href=\"https://redirect.github.com/jwt/ruby-jwt/pull/660\"\u003e#660\u003c/a\u003e (\u003ca href=\"https://github.com/anakinj\"\u003e\u003ccode\u003e@​anakinj\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRequire RSA keys to be at least 2048 bits \u003ca href=\"https://redirect.github.com/jwt/ruby-jwt/pull/661\"\u003e#661\u003c/a\u003e (\u003ca href=\"https://github.com/anakinj\"\u003e\u003ccode\u003e@​anakinj\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBase64 encode and decode the k value for HMAC JWKs \u003ca href=\"https://redirect.github.com/jwt/ruby-jwt/pull/662\"\u003e#662\u003c/a\u003e (\u003ca href=\"https://github.com/anakinj\"\u003e\u003ccode\u003e@​anakinj\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eTake a look at the \u003ca href=\"https://github.com/jwt/ruby-jwt/blob/main/UPGRADING.md\"\u003eupgrade guide\u003c/a\u003e for more details.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFeatures:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eJWT::EncodedToken#verify! method that bundles signature and claim validation \u003ca href=\"https://redirect.github.com/jwt/ruby-jwt/pull/647\"\u003e#647\u003c/a\u003e (\u003ca href=\"https://github.com/anakinj\"\u003e\u003ccode\u003e@​anakinj\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDo not override the alg header if already given \u003ca href=\"https://redirect.github.com/jwt/ruby-jwt/pull/659\"\u003e#659\u003c/a\u003e (\u003ca href=\"https://github.com/anakinj\"\u003e\u003ccode\u003e@​anakinj\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/jwt/ruby-jwt/commit/bbe7ae3786568b041f03f50cb2e48d2b964a4eb4\"\u003e\u003ccode\u003ebbe7ae3\u003c/code\u003e\u003c/a\u003e Version 3.1.2 (\u003ca href=\"https://redirect.github.com/jwt/ruby-jwt/issues/700\"\u003e#700\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jwt/ruby-jwt/commit/205a58d9b65ee337291eadafa274b60f71220c53\"\u003e\u003ccode\u003e205a58d\u003c/code\u003e\u003c/a\u003e Fix signing with EC JWK (\u003ca href=\"https://redirect.github.com/jwt/ruby-jwt/issues/699\"\u003e#699\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jwt/ruby-jwt/commit/7231ef5927b4dcd3da97000b3ba3db9617255ba2\"\u003e\u003ccode\u003e7231ef5\u003c/code\u003e\u003c/a\u003e Avoid using the same digest across calls (\u003ca href=\"https://redirect.github.com/jwt/ruby-jwt/issues/697\"\u003e#697\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jwt/ruby-jwt/commit/9524614ff5135c6fa0e876061ac9280df7c36cb7\"\u003e\u003ccode\u003e9524614\u003c/code\u003e\u003c/a\u003e Re-enable Truffleruby on the CI (\u003ca href=\"https://redirect.github.com/jwt/ruby-jwt/issues/698\"\u003e#698\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jwt/ruby-jwt/commit/ad4fc0439f7ee8a8e8b855dad54bfc5f98bfa65e\"\u003e\u003ccode\u003ead4fc04\u003c/code\u003e\u003c/a\u003e Prepare next iteration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jwt/ruby-jwt/commit/50c01e07b53ea5a33bf29ac08d6c61775b6d5d1e\"\u003e\u003ccode\u003e50c01e0\u003c/code\u003e\u003c/a\u003e Prepare 3.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jwt/ruby-jwt/commit/b45219d7c98473a1a7603d2bf5961f6b5ea89576\"\u003e\u003ccode\u003eb45219d\u003c/code\u003e\u003c/a\u003e Do not automatically trust the JWA in the JWK (\u003ca href=\"https://redirect.github.com/jwt/ruby-jwt/issues/695\"\u003e#695\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jwt/ruby-jwt/commit/5c4fb4cfc6ff823744ce9db4fcf95ad058dc5efe\"\u003e\u003ccode\u003e5c4fb4c\u003c/code\u003e\u003c/a\u003e Prepare next iteration (\u003ca href=\"https://redirect.github.com/jwt/ruby-jwt/issues/694\"\u003e#694\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jwt/ruby-jwt/commit/646febebe8f26f353ce28e86ff9ace0bb0737314\"\u003e\u003ccode\u003e646febe\u003c/code\u003e\u003c/a\u003e Fix date for 3.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jwt/ruby-jwt/commit/a93b803adc6bc698e34e3f8244b26cb8cd40bea5\"\u003e\u003ccode\u003ea93b803\u003c/code\u003e\u003c/a\u003e Prepare release of 3.1.0 (\u003ca href=\"https://redirect.github.com/jwt/ruby-jwt/issues/693\"\u003e#693\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jwt/ruby-jwt/compare/v2.10.2...v3.1.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `mail` from 2.8.1 to 2.9.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mikel/mail/releases\"\u003email's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.9.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix little typo by \u003ca href=\"https://github.com/nbennke\"\u003e\u003ccode\u003e@​nbennke\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1462\"\u003emikel/mail#1462\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e2.8.0.rc1 Regression: Preserve message-level charset when adding parts (related to Rails ActionMailer) by \u003ca href=\"https://github.com/johnnyshields\"\u003e\u003ccode\u003e@​johnnyshields\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1495\"\u003emikel/mail#1495\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse Rake's default rakelib/ directory by \u003ca href=\"https://github.com/olleolleolle\"\u003e\u003ccode\u003e@​olleolleolle\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1488\"\u003emikel/mail#1488\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor: Use Dir.glob only once in gemspec's \u0026quot;files\u0026quot; directive by \u003ca href=\"https://github.com/olleolleolle\"\u003e\u003ccode\u003e@​olleolleolle\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1486\"\u003emikel/mail#1486\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eConfigure RSpec's zero-monkey patching mode by \u003ca href=\"https://github.com/olleolleolle\"\u003e\u003ccode\u003e@​olleolleolle\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1485\"\u003emikel/mail#1485\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove unnecessary gemfile dependency on strscan by \u003ca href=\"https://github.com/deivid-rodriguez\"\u003e\u003ccode\u003e@​deivid-rodriguez\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1483\"\u003emikel/mail#1483\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eREADME: sending multipart mail by \u003ca href=\"https://github.com/kapfenho\"\u003e\u003ccode\u003e@​kapfenho\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1479\"\u003emikel/mail#1479\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003edelivery_interceptors\u003c/code\u003e method to \u003ccode\u003eMail\u003c/code\u003e class to fetch registered interceptors by \u003ca href=\"https://github.com/ghousemohamed\"\u003e\u003ccode\u003e@​ghousemohamed\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1475\"\u003emikel/mail#1475\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate MIME-Version to have correct case per the RFC by \u003ca href=\"https://github.com/mikel\"\u003e\u003ccode\u003e@​mikel\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1503\"\u003emikel/mail#1503\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdding explicit JRuby support by \u003ca href=\"https://github.com/mikel\"\u003e\u003ccode\u003e@​mikel\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1508\"\u003emikel/mail#1508\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor: Use Ruby 2's \u003cstrong\u003edir\u003c/strong\u003e where possible by \u003ca href=\"https://github.com/olleolleolle\"\u003e\u003ccode\u003e@​olleolleolle\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1487\"\u003emikel/mail#1487\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[Corrected] Layout/TrailingWhitespace: Trailing whitespace detected. by \u003ca href=\"https://github.com/mikel\"\u003e\u003ccode\u003e@​mikel\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1510\"\u003emikel/mail#1510\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprove documentation by \u003ca href=\"https://github.com/fwolfst\"\u003e\u003ccode\u003e@​fwolfst\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1371\"\u003emikel/mail#1371\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSpan =\u0026gt; Spam by \u003ca href=\"https://github.com/sebbASF\"\u003e\u003ccode\u003e@​sebbASF\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1320\"\u003emikel/mail#1320\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003euse unpack1 by \u003ca href=\"https://github.com/ahorek\"\u003e\u003ccode\u003e@​ahorek\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1513\"\u003emikel/mail#1513\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLazy-load fields and elements by \u003ca href=\"https://github.com/c960657\"\u003e\u003ccode\u003e@​c960657\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1491\"\u003emikel/mail#1491\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eInstall libyaml-dev for Psych by \u003ca href=\"https://github.com/c960657\"\u003e\u003ccode\u003e@​c960657\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1522\"\u003emikel/mail#1522\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFeature/parse lf by \u003ca href=\"https://github.com/sebbASF\"\u003e\u003ccode\u003e@​sebbASF\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1520\"\u003emikel/mail#1520\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003euse match? by \u003ca href=\"https://github.com/ahorek\"\u003e\u003ccode\u003e@​ahorek\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1514\"\u003emikel/mail#1514\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/checkout to v3 by \u003ca href=\"https://github.com/sebbASF\"\u003e\u003ccode\u003e@​sebbASF\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1535\"\u003emikel/mail#1535\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix for \u003ca href=\"https://redirect.github.com/mikel/mail/issues/1527\"\u003e#1527\u003c/a\u003e by \u003ca href=\"https://github.com/sebbASF\"\u003e\u003ccode\u003e@​sebbASF\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1534\"\u003emikel/mail#1534\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStandardise on WARNING: prefix by \u003ca href=\"https://github.com/sebbASF\"\u003e\u003ccode\u003e@​sebbASF\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1533\"\u003emikel/mail#1533\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChecks are in the wrong place by \u003ca href=\"https://github.com/sebbASF\"\u003e\u003ccode\u003e@​sebbASF\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1531\"\u003emikel/mail#1531\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAllow manual trigger by \u003ca href=\"https://github.com/sebbASF\"\u003e\u003ccode\u003e@​sebbASF\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1524\"\u003emikel/mail#1524\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHandle parsing of LF-only body with separate parts by \u003ca href=\"https://github.com/mikel\"\u003e\u003ccode\u003e@​mikel\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1511\"\u003emikel/mail#1511\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake activesupport gem optional by \u003ca href=\"https://github.com/sebbASF\"\u003e\u003ccode\u003e@​sebbASF\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1532\"\u003emikel/mail#1532\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSMTP: refactor and accept starttls :always and :auto by \u003ca href=\"https://github.com/eval\"\u003e\u003ccode\u003e@​eval\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1536\"\u003emikel/mail#1536\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdds Ruby 3.2 to the CI matrix by \u003ca href=\"https://github.com/petergoldstein\"\u003e\u003ccode\u003e@​petergoldstein\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1552\"\u003emikel/mail#1552\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLayout conventions are not the same as syntax by \u003ca href=\"https://github.com/sebbASF\"\u003e\u003ccode\u003e@​sebbASF\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1558\"\u003emikel/mail#1558\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDon't shadow local variable by \u003ca href=\"https://github.com/sebbASF\"\u003e\u003ccode\u003e@​sebbASF\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1318\"\u003emikel/mail#1318\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRevert PR \u003ca href=\"https://redirect.github.com/mikel/mail/issues/1495\"\u003e#1495\u003c/a\u003e because it is a dupe of \u003ca href=\"https://redirect.github.com/mikel/mail/issues/1470\"\u003e#1470\u003c/a\u003e by \u003ca href=\"https://github.com/johnnyshields\"\u003e\u003ccode\u003e@​johnnyshields\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1559\"\u003emikel/mail#1559\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Ruby 3.3 to CI matrix by \u003ca href=\"https://github.com/m-nakamura145\"\u003e\u003ccode\u003e@​m-nakamura145\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1595\"\u003emikel/mail#1595\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTruffleRuby is flaky by \u003ca href=\"https://github.com/sebbASF\"\u003e\u003ccode\u003e@​sebbASF\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1599\"\u003emikel/mail#1599\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse require_relative where possible by \u003ca href=\"https://github.com/eval\"\u003e\u003ccode\u003e@​eval\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1598\"\u003emikel/mail#1598\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTest string is 1 char short of 78 by \u003ca href=\"https://github.com/sebbASF\"\u003e\u003ccode\u003e@​sebbASF\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1568\"\u003emikel/mail#1568\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate documentation regarding errors array by \u003ca href=\"https://github.com/mikehale\"\u003e\u003ccode\u003e@​mikehale\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1605\"\u003emikel/mail#1605\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix all 'assigned but unused variable' warnings by \u003ca href=\"https://github.com/skipkayhil\"\u003e\u003ccode\u003e@​skipkayhil\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1551\"\u003emikel/mail#1551\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix IMAP search issues by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1611\"\u003emikel/mail#1611\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocument SMTP TLS/STARTTLS settings (cherry-picked from 2.8 stable branch) by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1613\"\u003emikel/mail#1613\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCI: Use checkout@v4 by \u003ca href=\"https://github.com/olleolleolle\"\u003e\u003ccode\u003e@​olleolleolle\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1616\"\u003emikel/mail#1616\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDrop unused \u0026quot;ad hoc\u0026quot; GH Actions workflow by \u003ca href=\"https://github.com/olleolleolle\"\u003e\u003ccode\u003e@​olleolleolle\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1615\"\u003emikel/mail#1615\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003einclude rfc822 as attachments by \u003ca href=\"https://github.com/ahorek\"\u003e\u003ccode\u003e@​ahorek\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1389\"\u003emikel/mail#1389\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAddress \u003ccode\u003ewarning: URI::RFC3986_PARSER\u003c/code\u003e warnings by \u003ca href=\"https://github.com/yahonda\"\u003e\u003ccode\u003e@​yahonda\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1620\"\u003emikel/mail#1620\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd logger as a dependency for Ruby 3.4 warnings by \u003ca href=\"https://github.com/yahonda\"\u003e\u003ccode\u003e@​yahonda\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1619\"\u003emikel/mail#1619\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix regression in content_type for text part after converted to multipart by \u003ca href=\"https://github.com/jeremyevans\"\u003e\u003ccode\u003e@​jeremyevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1330\"\u003emikel/mail#1330\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/nbennke\"\u003e\u003ccode\u003e@​nbennke\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1462\"\u003emikel/mail#1462\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/mikel/mail/blob/master/CHANGELOG.rdoc\"\u003email's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e== Version 2.9.0 (unreleased)\u003c/p\u003e\n\u003cp\u003eBreaking changes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eMail::Field::FIELDS_MAP now contains class names, not Class instances (c960657)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eCompatibility:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate MIME-Version to have correct case per RFC 2045 \u003ca href=\"https://github.com/mikel\"\u003e\u003ccode\u003e@​mikel\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFeatures:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated README to improve around sending multipart mail \u003ca href=\"https://github.com/kapfenho\"\u003e\u003ccode\u003e@​kapfenho\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd delivery_interceptors method to Mail class to fetch registered interceptors \u003ca href=\"https://github.com/ghousemohamed\"\u003e\u003ccode\u003e@​ghousemohamed\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eCode Improvements:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUse Rake's default rakelib/ directory \u003ca href=\"https://github.com/olleolleolle\"\u003e\u003ccode\u003e@​olleolleolle\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor: Use Dir.glob only once in gemspec's \u0026quot;files\u0026quot; directive \u003ca href=\"https://github.com/olleolleolle\"\u003e\u003ccode\u003e@​olleolleolle\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eConfigure RSpec's zero-monkey patching mode \u003ca href=\"https://github.com/olleolleolle\"\u003e\u003ccode\u003e@​olleolleolle\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded support for JRuby 9.4 \u003ca href=\"https://github.com/mikel\"\u003e\u003ccode\u003e@​mikel\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePrefer \u003ccode\u003e__dir__\u003c/code\u003e \u003ca href=\"https://github.com/olleolleolle\"\u003e\u003ccode\u003e@​olleolleolle\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBug Fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRegression: Preserve message-level charset when adding parts (related to Rails ActionMailer) \u003ca href=\"https://github.com/shields\"\u003e\u003ccode\u003e@​shields\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRegression: Adding a part should not reset the mail's charset to nil \u003ca href=\"https://github.com/railsbob\"\u003e\u003ccode\u003e@​railsbob\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003ePerformance:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ereduce object allocations by replacing =~ and Regexp#match by Regexp#match? \u003ca href=\"https://github.com/ahorek\"\u003e\u003ccode\u003e@​ahorek\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ereduce object allocations by replacing String#unpack[0] by String#unpack1 \u003ca href=\"https://github.com/ahorek\"\u003e\u003ccode\u003e@​ahorek\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003ePlease check \u003ca href=\"https://github.com/mikel/mail/blob/2-8-stable/CHANGELOG.rdoc\"\u003e2-8-stable\u003c/a\u003e for previous changes.\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/mikel/mail/commit/490fe219712829ce763fd46eea7fbd3d4eaa102d\"\u003e\u003ccode\u003e490fe21\u003c/code\u003e\u003c/a\u003e Prepare for 2.9.0 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mikel/mail/commit/717f220d2318380cf295ac6745eb1005136b1217\"\u003e\u003ccode\u003e717f220\u003c/code\u003e\u003c/a\u003e Bump to beta2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mikel/mail/commit/d1d65b370b109b98e673a934e8b70a0c1f58cc59\"\u003e\u003ccode\u003ed1d65b3\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/mikel/mail/issues/1330\"\u003e#1330\u003c/a\u003e from jeremyevans/content-type-regression-fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mikel/mail/commit/30302c779d4f3250f6fccbe1361fac54449d7732\"\u003e\u003ccode\u003e30302c7\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/mikel/mail/issues/1619\"\u003e#1619\u003c/a\u003e from yahonda/add_dependency_logger\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mikel/mail/commit/182f2beaeef716f3b003b9916d40251f4ae12317\"\u003e\u003ccode\u003e182f2be\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/mikel/mail/issues/1620\"\u003e#1620\u003c/a\u003e from yahonda/address_uri_rfc_3986_parser_warnings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mikel/mail/commit/73db11a6463ec330a36d68cfb77ef99511126cb0\"\u003e\u003ccode\u003e73db11a\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/mikel/mail/issues/1389\"\u003e#1389\u003c/a\u003e from ahorek/attachments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mikel/mail/commit/26f413e9aa16b652ac38605d063c082c9097cad7\"\u003e\u003ccode\u003e26f413e\u003c/code\u003e\u003c/a\u003e rfc822 attachments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mikel/mail/commit/a2da80f24c680cea0c50cf56655b1a1fce6c013d\"\u003e\u003ccode\u003ea2da80f\u003c/code\u003e\u003c/a\u003e Address \u003ccode\u003ewarning: URI::RFC3986_PARSER\u003c/code\u003e warnings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mikel/mail/commit/98c835a544f6f9697df4719858ba58b4396f2dfb\"\u003e\u003ccode\u003e98c835a\u003c/code\u003e\u003c/a\u003e Add logger as a dependency for Ruby 3.4 warnings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mikel/mail/commit/9a7e2bf499d7a35658113c4042ed7ebb7d9f865e\"\u003e\u003ccode\u003e9a7e2bf\u003c/code\u003e\u003c/a\u003e Drop unused GH Ation workflow (\u003ca href=\"https://redirect.github.com/mikel/mail/issues/1615\"\u003e#1615\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/mikel/mail/compare/2.8.1...2.9.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `nokogiri` from 1.18.9 to 1.18.10\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sparklemotion/nokogiri/releases\"\u003enokogiri's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.18.10 / 2025-09-15\u003c/h2\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[CRuby] Vendored libxml2 is updated to \u003ca href=\"https://gitlab.gnome.org/GNOME/libxml2/-/releases/v2.13.9\"\u003ev2.13.9\u003c/a\u003e. Note that the security fixes published in v2.13.9 were already present in Nokogiri v1.18.9.\u003c/li\u003e\n\u003cli\u003e[CRuby] [Windows and MacOS] Vendored libiconv is updated to \u003ca href=\"https://savannah.gnu.org/news/?id=10703\"\u003ev1.18\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cpre\u003e\u003ccode\u003e7fb87235d729c74a2be635376d82b1d459230cc17c50300f8e4fcaabc6195344  nokogiri-1.18.10-aarch64-linux-gnu.gem\n7e74e58314297cc8a8f1b533f7212d1999dbe2639a9ee6d97b483ea2acc18944  nokogiri-1.18.10-aarch64-linux-musl.gem\n51f4f25ab5d5ba1012d6b16aad96b840a10b067b93f35af6a55a2c104a7ee322  nokogiri-1.18.10-arm-linux-gnu.gem\n1c6ea754e51cecc85c30ee8ab1e6aa4ce6b6e134d01717e9290e79374a9e00aa  nokogiri-1.18.10-arm-linux-musl.gem\nc2b0de30770f50b92c9323fa34a4e1cf5a0af322afcacd239cd66ee1c1b22c85  nokogiri-1.18.10-arm64-darwin.gem\ncd431a09c45d84a2f870ba0b7e8f571199b3727d530f2b4888a73639f76510b5  nokogiri-1.18.10-java.gem\n64f40d4a41af9f7f83a4e236ad0cf8cca621b97e31f727b1bebdae565a653104  nokogiri-1.18.10-x64-mingw-ucrt.gem\n536e74bed6db2b5076769cab5e5f5af0cd1dccbbd75f1b3e1fa69d1f5c2d79e2  nokogiri-1.18.10-x86_64-darwin.gem\nff5ba26ba2dbce5c04b9ea200777fd225061d7a3930548806f31db907e500f72  nokogiri-1.18.10-x86_64-linux-gnu.gem\n0651fccf8c2ebbc2475c8b1dfd7ccac3a0a6d09f8a41b72db8c21808cb483385  nokogiri-1.18.10-x86_64-linux-musl.gem\nd5cc0731008aa3b3a87b361203ea3d19b2069628cb55e46ac7d84a0445e69cc1  nokogiri-1.18.10.gem\n\u003c/code\u003e\u003c/pre\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/sparklemotion/nokogiri/blob/main/CHANGELOG.md\"\u003enokogiri's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.18.10 / 2025-09-15\u003c/h2\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[CRuby] Vendored libxml2 is updated to \u003ca href=\"https://gitlab.gnome.org/GNOME/libxml2/-/releases/v2.13.9\"\u003ev2.13.9\u003c/a\u003e. Note that the security fixes published in v2.13.9 were already present in Nokogiri v1.18.9.\u003c/li\u003e\n\u003cli\u003e[CRuby] [Windows and MacOS] Vendored libiconv is updated to \u003ca href=\"https://savannah.gnu.org/news/?id=10703\"\u003ev1.18\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/sparklemotion/nokogiri/commit/680374099b3570b97471f822acc978cc847fee46\"\u003e\u003ccode\u003e6803740\u003c/code\u003e\u003c/a\u003e version bump to v1.18.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/93337de8323fa5269c07e913495d5d2b2535f912\"\u003e\u003ccode\u003e93337de\u003c/code\u003e\u003c/a\u003e dep: bump vendored libxml2 to v2.13.9 (\u003ca href=\"https://redirect.github.com/sparklemotion/nokogiri/issues/3555\"\u003e#3555\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/15dde1793c81bdffdc173ff975674a6299b65d6c\"\u003e\u003ccode\u003e15dde17\u003c/code\u003e\u003c/a\u003e ci: work around repeated bundler deadlocks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/9906071faef26c6c27452f93780eae9674aed3ec\"\u003e\u003ccode\u003e9906071\u003c/code\u003e\u003c/a\u003e dep: bump vendored libxml2 to v2.13.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/adf72e3e6dda49556f519260406332252f0581c0\"\u003e\u003ccode\u003eadf72e3\u003c/code\u003e\u003c/a\u003e [v1.18.x] backport libiconv upgrade to v1.18 (\u003ca href=\"https://redirect.github.com/sparklemotion/nokogiri/issues/3550\"\u003e#3550\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/92cab09a7dea7ad81c935464c618d7ccb9272ef4\"\u003e\u003ccode\u003e92cab09\u003c/code\u003e\u003c/a\u003e dep: update vendored libiconv to 1.18\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/f1c5ea84ce2805aded8ab625a4b6da177f3a2162\"\u003e\u003ccode\u003ef1c5ea8\u003c/code\u003e\u003c/a\u003e Use mirror site to download libiconv\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/dcd272155c99097068383cc00b79db0bc126f045\"\u003e\u003ccode\u003edcd2721\u003c/code\u003e\u003c/a\u003e ci: stop testing Ruby 3.1 windows source builds\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/cf856e626748655f81f35449f67822c472a9b707\"\u003e\u003ccode\u003ecf856e6\u003c/code\u003e\u003c/a\u003e ci: fix the aarch64 segfault by using a more modern qemu\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/6d77443f359588c113c043c22ba4c38c8dff27a1\"\u003e\u003ccode\u003e6d77443\u003c/code\u003e\u003c/a\u003e Fix errors building Ruby 3.1 on windows\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sparklemotion/nokogiri/compare/v1.18.9...v1.18.10\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `octokit` from 9.2.0 to 10.0.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/octokit/octokit.rb/releases\"\u003eoctokit's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev10.0.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBREAKING CHANGE: Remove app methods that have been deprecated since v4.8.0 by \u003ca hr...\n\n_Description has been truncated_","html_url":"https://github.com/NameawaShinderu/ubicloud-main/pull/55","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/NameawaShinderu%2Fubicloud-main/issues/55","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/55/packages"}},{"old_version":"2.0.17","new_version":"2.0.18","update_type":"patch","path":null,"pr_created_at":"2025-12-10T03:07:20.000Z","version_change":"2.0.17 → 2.0.18","issue":{"uuid":"3713378602","node_id":"PR_kwDODLuhc864C7na","number":1021,"state":"closed","title":"Bump the bundler group across 1 directory with 55 updates","user":"dependabot[bot]","labels":["dependencies","ruby"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2025-12-17T03:04:50.000Z","author_association":null,"state_reason":null,"created_at":"2025-12-10T03:07:20.000Z","updated_at":"2025-12-17T03:04:52.000Z","time_to_close":604650,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"bundler","update_count":55,"packages":[{"name":"rails","old_version":"8.0.3","new_version":"8.1.1","repository_url":"https://github.com/rails/rails"},{"name":"puma","old_version":"7.0.4","new_version":"7.1.0","repository_url":"https://github.com/puma/puma"},{"name":"bootsnap","old_version":"1.18.6","new_version":"1.19.0","repository_url":"https://github.com/rails/bootsnap"},{"name":"faker","old_version":"3.5.2","new_version":"3.5.3","repository_url":"https://github.com/faker-ruby/faker"},{"name":"faraday","old_version":"2.13.4","new_version":"2.14.0","repository_url":"https://github.com/lostisland/faraday"},{"name":"oauth2","old_version":"2.0.17","new_version":"2.0.18","repository_url":"https://github.com/ruby-oauth/oauth2"},{"name":"dotenv-rails","old_version":"3.1.8","new_version":"3.2.0","repository_url":"https://github.com/bkeepers/dotenv"},{"name":"sinatra","old_version":"4.1.1","new_version":"4.2.1","repository_url":"https://github.com/sinatra/sinatra"},{"name":"webmock","old_version":"3.25.1","new_version":"3.26.1","repository_url":"https://github.com/bblimke/webmock"},{"name":"brakeman","old_version":"7.1.0","new_version":"7.1.1","repository_url":"https://github.com/presidentbeef/brakeman"},{"name":"shoulda-matchers","old_version":"6.5.0","new_version":"7.0.1","repository_url":"https://github.com/thoughtbot/shoulda-matchers"},{"name":"factory_bot","old_version":"6.5.5","new_version":"6.5.6","repository_url":"https://github.com/thoughtbot/factory_bot"},{"name":"parser","old_version":"3.3.9.0","new_version":"3.3.10.0","repository_url":"https://github.com/whitequark/parser"},{"name":"prism","old_version":"1.5.1","new_version":"1.6.0","repository_url":"https://github.com/ruby/prism"},{"name":"rspec","old_version":"3.13.1","new_version":"3.13.2","repository_url":"https://github.com/rspec/rspec"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps the bundler group with 15 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [rails](https://github.com/rails/rails) | `8.0.3` | `8.1.1` |\n| [puma](https://github.com/puma/puma) | `7.0.4` | `7.1.0` |\n| [bootsnap](https://github.com/rails/bootsnap) | `1.18.6` | `1.19.0` |\n| [faker](https://github.com/faker-ruby/faker) | `3.5.2` | `3.5.3` |\n| [faraday](https://github.com/lostisland/faraday) | `2.13.4` | `2.14.0` |\n| [oauth2](https://github.com/ruby-oauth/oauth2) | `2.0.17` | `2.0.18` |\n| [dotenv-rails](https://github.com/bkeepers/dotenv) | `3.1.8` | `3.2.0` |\n| [sinatra](https://github.com/sinatra/sinatra) | `4.1.1` | `4.2.1` |\n| [webmock](https://github.com/bblimke/webmock) | `3.25.1` | `3.26.1` |\n| [brakeman](https://github.com/presidentbeef/brakeman) | `7.1.0` | `7.1.1` |\n| [shoulda-matchers](https://github.com/thoughtbot/shoulda-matchers) | `6.5.0` | `7.0.1` |\n| [factory_bot](https://github.com/thoughtbot/factory_bot) | `6.5.5` | `6.5.6` |\n| [parser](https://github.com/whitequark/parser) | `3.3.9.0` | `3.3.10.0` |\n| [prism](https://github.com/ruby/prism) | `1.5.1` | `1.6.0` |\n| [rspec](https://github.com/rspec/rspec) | `3.13.1` | `3.13.2` |\n\n\nUpdates `rails` from 8.0.3 to 8.1.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003erails's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.1.1\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Record\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction View\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eRespect \u003ccode\u003eremove_hidden_field_autocomplete\u003c/code\u003e config in form builder \u003ccode\u003ehidden_field\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction Pack\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAllow methods starting with underscore to be action methods.\u003c/p\u003e\n\u003cp\u003eDisallowing methods starting with an underscore from being action methods\nwas an unintended side effect of the performance optimization in\n207a254.\u003c/p\u003e\n\u003cp\u003eFixes \u003ca href=\"https://redirect.github.com/rails/rails/issues/55985\"\u003e#55985\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Job\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eOnly index new serializers.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eJesse Sharps\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction Mailer\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction Cable\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/rails/rails/commit/90a1eaa1b30ba1f2d524e197460e549c03cf5698\"\u003e\u003ccode\u003e90a1eaa\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.1 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/0ce0ce1ca2da1d36cdc149a72a777a956ea45dc7\"\u003e\u003ccode\u003e0ce0ce1\u003c/code\u003e\u003c/a\u003e Upgrade sigstore gem to 0.2.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/271acd57d1430be8c92fbd8f19a2069e62425803\"\u003e\u003ccode\u003e271acd5\u003c/code\u003e\u003c/a\u003e Sync CHANGELOG\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/7574698226c364ab98e69188539e2cf27517ef1f\"\u003e\u003ccode\u003e7574698\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56020\"\u003e#56020\u003c/a\u003e from harsh183/hd/getting_started/fix_line_num_typo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/89cb7bff192ce71267ae76f38942ca8f306ce273\"\u003e\u003ccode\u003e89cb7bf\u003c/code\u003e\u003c/a\u003e Fix railties/CHANGELOG.md offense at 8-1-stable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/7919bdab44688f1e7f121bc36a76169787cdfe60\"\u003e\u003ccode\u003e7919bda\u003c/code\u003e\u003c/a\u003e Restore header\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/f007f9ca53448379246a1901b213bd57955af26c\"\u003e\u003ccode\u003ef007f9c\u003c/code\u003e\u003c/a\u003e Disable SSL default config for out of the box Kamal deployments (\u003ca href=\"https://redirect.github.com/rails/rails/issues/56010\"\u003e#56010\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/234b56973bb453bb50850a1be07a2fcad7331592\"\u003e\u003ccode\u003e234b569\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56008\"\u003e#56008\u003c/a\u003e from chaadow/fix_nesting_loop_rails\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/21a8742bb6bb5720f0e67d67fe26874598d1afbe\"\u003e\u003ccode\u003e21a8742\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55992\"\u003e#55992\u003c/a\u003e from jsharpify/jsharpify-reduce-deprecation-warnings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/a7ba88b04e935d2a9cbc205382d6cd7c514f425c\"\u003e\u003ccode\u003ea7ba88b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56001\"\u003e#56001\u003c/a\u003e from hachi8833/update_wishlists\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/rails/compare/v8.0.3...v8.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `puma` from 7.0.4 to 7.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/puma/puma/releases\"\u003epuma's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev7.1.0\u003c/h2\u003e\n\u003ch2\u003e7.1.0 / 2025-10-16 - Neon Witch\u003c/h2\u003e\n\u003cp\u003e\u003cimg src=\"https://github.com/user-attachments/assets/6f013211-35fb-46ce-84d8-00794e020294\" alt=\"neon_witch\" /\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFeatures\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eIntroduce \u003ccode\u003eafter_worker_shutdown\u003c/code\u003e hook (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3707\"\u003e#3707\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReintroduce keepalive \u0026quot;fast inline\u0026quot; behavior. Provides faster (8x on JRuby \u0026amp; 1.4x on Ruby) pipeline processing  (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3794\"\u003e#3794\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eBugfixes\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eSkip reading zero bytes when request body is buffered (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3795\"\u003e#3795\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003ePUMA_LOG_CONFIG=1\u003c/code\u003e logging twice with prune_bundler enabled (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3778\"\u003e#3778\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix prune_bundler not showing in \u003ccode\u003ePUMA_LOG_CONFIG=1\u003c/code\u003e output (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3779\"\u003e#3779\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGuard ThreadPool method call, which may be nil during shutdown (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3791\"\u003e#3791\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/puma/puma/issues/3790\"\u003e#3790\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSet \u003ccode\u003eThread.current.puma_server\u003c/code\u003e in Thread init code, not every request (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3774\"\u003e#3774\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix race condition while deleting pidfile (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3657\"\u003e#3657\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\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/nerdrew\"\u003e\u003ccode\u003e@​nerdrew\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/puma/puma/pull/3707\"\u003epuma/puma#3707\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mopp\"\u003e\u003ccode\u003e@​mopp\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/puma/puma/pull/3783\"\u003epuma/puma#3783\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marksmith\"\u003e\u003ccode\u003e@​marksmith\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/puma/puma/pull/3657\"\u003epuma/puma#3657\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Nymuxyzo\"\u003e\u003ccode\u003e@​Nymuxyzo\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/puma/puma/pull/3762\"\u003epuma/puma#3762\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/puma/puma/compare/v7.0.4...v7.1.0\"\u003ehttps://github.com/puma/puma/compare/v7.0.4...v7.1.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/puma/puma/blob/main/History.md\"\u003epuma's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e7.1.0 / 2025-10-16\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFeatures\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eIntroduce \u003ccode\u003eafter_worker_shutdown\u003c/code\u003e hook (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3707\"\u003e#3707\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReintroduce keepalive \u0026quot;fast inline\u0026quot; behavior. Provides faster (8x on JRuby \u0026amp; 1.4x on Ruby) pipeline processing  (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3794\"\u003e#3794\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eBugfixes\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eSkip reading zero bytes when request body is buffered (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3795\"\u003e#3795\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003ePUMA_LOG_CONFIG=1\u003c/code\u003e logging twice with prune_bundler enabled (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3778\"\u003e#3778\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix prune_bundler not showing in \u003ccode\u003ePUMA_LOG_CONFIG=1\u003c/code\u003e output (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3779\"\u003e#3779\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGuard ThreadPool method call, which may be nil during shutdown (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3791\"\u003e#3791\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/puma/puma/issues/3790\"\u003e#3790\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSet \u003ccode\u003eThread.current.puma_server\u003c/code\u003e in Thread init code, not every request (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3774\"\u003e#3774\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix race condition while deleting pidfile (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3657\"\u003e#3657\u003c/a\u003e)\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/puma/puma/commit/fb2a0733e938c8786e033f22dc5bf66727dddb3a\"\u003e\u003ccode\u003efb2a073\u003c/code\u003e\u003c/a\u003e v7.1.0 (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3797\"\u003e#3797\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/4edb9e9b16835aa24bd037a88dad4d34a76952e4\"\u003e\u003ccode\u003e4edb9e9\u003c/code\u003e\u003c/a\u003e \u003ccode\u003eclient.rb\u003c/code\u003e - \u003ccode\u003eread_body\u003c/code\u003e - cleanup last lines of method (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3798\"\u003e#3798\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/84a568ab1c4d0c5cd0d29a167f5facba9699a35c\"\u003e\u003ccode\u003e84a568a\u003c/code\u003e\u003c/a\u003e Update wait_for_less_busy_worker docs (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3757\"\u003e#3757\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/e59a6049c3fc08ac2bd906a10d199bdf3949eb04\"\u003e\u003ccode\u003ee59a604\u003c/code\u003e\u003c/a\u003e Initialize only essential \u003ccode\u003eLauncher\u003c/code\u003e state before \u003ccode\u003eprune_bundler\u003c/code\u003e restart (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3\"\u003e#3\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/6844de7c4f2503751bad5e9c141de2bdb067f452\"\u003e\u003ccode\u003e6844de7\u003c/code\u003e\u003c/a\u003e client.rb - Skip reading zero bytes when request body is buffered (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3795\"\u003e#3795\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/1d3d6b792cdc870171d27cafbd0b7ceaf5e2dfb7\"\u003e\u003ccode\u003e1d3d6b7\u003c/code\u003e\u003c/a\u003e Set \u003ccode\u003eThread.current.puma_server\u003c/code\u003e in Thread init code, not every request (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3774\"\u003e#3774\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/9b34cde2c5ddf7fd65bfd5f8aea811659226662e\"\u003e\u003ccode\u003e9b34cde\u003c/code\u003e\u003c/a\u003e Adding syntax highlighting in k8s docs (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3782\"\u003e#3782\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/a2bd2f63476a719faa02eacac94b274d0cee1f6d\"\u003e\u003ccode\u003ea2bd2f6\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003eprune_bundler\u003c/code\u003e to \u003ccode\u003eConfiguration::DEFAULTS\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3779\"\u003e#3779\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/d7a0854a39bbb3f06f12c4a180e42ee6d36f7985\"\u003e\u003ccode\u003ed7a0854\u003c/code\u003e\u003c/a\u003e ci: Update hey benchmark files, minor fixes and formatting (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3796\"\u003e#3796\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/ff08099b1fc702093261a90e92da09feb577c683\"\u003e\u003ccode\u003eff08099\u003c/code\u003e\u003c/a\u003e ci: Update Update test/rackup/sleep_fibonacci.ru, add test script (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3793\"\u003e#3793\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/puma/puma/compare/v7.0.4...v7.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `actionpack` from 8.0.3 to 8.1.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003eactionpack's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.1.1\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Record\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction View\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eRespect \u003ccode\u003eremove_hidden_field_autocomplete\u003c/code\u003e config in form builder \u003ccode\u003ehidden_field\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction Pack\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAllow methods starting with underscore to be action methods.\u003c/p\u003e\n\u003cp\u003eDisallowing methods starting with an underscore from being action methods\nwas an unintended side effect of the performance optimization in\n207a254.\u003c/p\u003e\n\u003cp\u003eFixes \u003ca href=\"https://redirect.github.com/rails/rails/issues/55985\"\u003e#55985\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Job\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eOnly index new serializers.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eJesse Sharps\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction Mailer\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction Cable\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/rails/rails/blob/v8.1.1/actionpack/CHANGELOG.md\"\u003eactionpack's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRails 8.1.1 (October 28, 2025)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAllow methods starting with underscore to be action methods.\u003c/p\u003e\n\u003cp\u003eDisallowing methods starting with an underscore from being action methods\nwas an unintended side effect of the performance optimization in\n207a254.\u003c/p\u003e\n\u003cp\u003eFixes \u003ca href=\"https://redirect.github.com/rails/rails/issues/55985\"\u003e#55985\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRails 8.1.0 (October 22, 2025)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eSubmit test requests using \u003ccode\u003eas: :html\u003c/code\u003e with \u003ccode\u003eContent-Type: x-www-form-urlencoded\u003c/code\u003e\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eSean Doyle\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd link-local IP ranges to \u003ccode\u003eActionDispatch::RemoteIp\u003c/code\u003e default proxies.\u003c/p\u003e\n\u003cp\u003eLink-local addresses (\u003ccode\u003e169.254.0.0/16\u003c/code\u003e for IPv4 and \u003ccode\u003efe80::/10\u003c/code\u003e for IPv6)\nare now included in the default trusted proxy list, similar to private IP ranges.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eAdam Daniels\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003eremote_ip\u003c/code\u003e will no longer ignore IPs in X-Forwarded-For headers if they\nare accompanied by port information.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eDuncan Brown\u003c/em\u003e, \u003cem\u003ePrevenios Marinos\u003c/em\u003e, \u003cem\u003eMasafumi Koba\u003c/em\u003e, \u003cem\u003eAdam Daniels\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd \u003ccode\u003eaction_dispatch.verbose_redirect_logs\u003c/code\u003e setting that logs where redirects were called from.\u003c/p\u003e\n\u003cp\u003eSimilar to \u003ccode\u003eactive_record.verbose_query_logs\u003c/code\u003e and \u003ccode\u003eactive_job.verbose_enqueue_logs\u003c/code\u003e, this adds a line in your logs that shows where a redirect was called from.\u003c/p\u003e\n\u003cp\u003eExample:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eRedirected to http://localhost:3000/posts/1\n↳ app/controllers/posts_controller.rb:32:in `block (2 levels) in create'\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003cem\u003eDennis Paagman\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd engine route filtering and better formatting in \u003ccode\u003ebin/rails routes\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eAllow engine routes to be filterable in the routing inspector, and\nimprove formatting of engine routing output.\u003c/p\u003e\n\u003cp\u003eBefore:\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/rails/rails/commit/90a1eaa1b30ba1f2d524e197460e549c03cf5698\"\u003e\u003ccode\u003e90a1eaa\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.1 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/271acd57d1430be8c92fbd8f19a2069e62425803\"\u003e\u003ccode\u003e271acd5\u003c/code\u003e\u003c/a\u003e Sync CHANGELOG\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/df9f43214c637c54773581c85c910b356b16fa44\"\u003e\u003ccode\u003edf9f432\u003c/code\u003e\u003c/a\u003e Allow methods starting with underscore to be action methods.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/53c4ed887450cc2dee4b373148162c485999a400\"\u003e\u003ccode\u003e53c4ed8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55973\"\u003e#55973\u003c/a\u003e from rails/fix-ci\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/f77a1c3654afdf599fa927e7910d6e9c5e9df7cf\"\u003e\u003ccode\u003ef77a1c3\u003c/code\u003e\u003c/a\u003e Require 'rails' at the top of railltie files to ensure Rails is loaded first\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/1cdd190a25e483b65f1f25bbd0f13a25d696b461\"\u003e\u003ccode\u003e1cdd190\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.0 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/62a109a53f1471274a150a267239441d0592f389\"\u003e\u003ccode\u003e62a109a\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55947\"\u003e#55947\u003c/a\u003e from c0nspiracy/patch-1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/0777f23945aa498c280279b16091789b402daa64\"\u003e\u003ccode\u003e0777f23\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55921\"\u003e#55921\u003c/a\u003e from skipkayhil/hm-ykpyzlmxovpttksv\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/4663af7e5c5263fa7b5ec5cdd529fc0c357ae037\"\u003e\u003ccode\u003e4663af7\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55922\"\u003e#55922\u003c/a\u003e from Shopify/event_subscriber_additionss\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/ca45ef19a745b1283ba3bf6b1076c998a3e559e4\"\u003e\u003ccode\u003eca45ef1\u003c/code\u003e\u003c/a\u003e Remove mention of raise_on_open_redirects from doc\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/rails/compare/v8.0.3...v8.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `actionview` from 8.0.3 to 8.1.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003eactionview's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.1.1\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Record\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction View\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eRespect \u003ccode\u003eremove_hidden_field_autocomplete\u003c/code\u003e config in form builder \u003ccode\u003ehidden_field\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction Pack\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAllow methods starting with underscore to be action methods.\u003c/p\u003e\n\u003cp\u003eDisallowing methods starting with an underscore from being action methods\nwas an unintended side effect of the performance optimization in\n207a254.\u003c/p\u003e\n\u003cp\u003eFixes \u003ca href=\"https://redirect.github.com/rails/rails/issues/55985\"\u003e#55985\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Job\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eOnly index new serializers.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eJesse Sharps\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction Mailer\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction Cable\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/rails/rails/blob/v8.1.1/actionview/CHANGELOG.md\"\u003eactionview's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRails 8.1.1 (October 28, 2025)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eRespect \u003ccode\u003eremove_hidden_field_autocomplete\u003c/code\u003e config in form builder \u003ccode\u003ehidden_field\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRails 8.1.0 (October 22, 2025)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eThe BEGIN template annotation/comment was previously printed on the same line as the following element. We now insert a newline inside the comment so it spans two lines without adding visible whitespace to the HTML output to enhance readability.\u003c/p\u003e\n\u003cp\u003eBefore:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\u0026lt;!-- BEGIN /Users/siaw23/Desktop/rails/actionview/test/fixtures/actionpack/test/greeting.html.erb --\u0026gt;\u0026lt;p\u0026gt;This is grand!\u0026lt;/p\u0026gt;\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eAfter:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\u0026lt;!-- BEGIN /Users/siaw23/Desktop/rails/actionview/test/fixtures/actionpack/test/greeting.html.erb\n--\u0026gt;\u0026lt;p\u0026gt;This is grand!\u0026lt;/p\u0026gt;\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003cem\u003eEmmanuel Hayford\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd structured events for Action View:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eaction_view.render_template\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eaction_view.render_partial\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eaction_view.render_layout\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eaction_view.render_collection\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eaction_view.render_start\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cem\u003eGannon McGibbon\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix label with \u003ccode\u003efor\u003c/code\u003e option not getting prefixed by form \u003ccode\u003enamespace\u003c/code\u003e value\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eAbeid Ahmed\u003c/em\u003e, \u003cem\u003eHartley McGuire\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd \u003ccode\u003efetchpriority\u003c/code\u003e to Link headers to match HTML generated by \u003ccode\u003epreload_link_tag\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eGuillermo Iguaran\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd CSP \u003ccode\u003enonce\u003c/code\u003e to Link headers generated by \u003ccode\u003epreload_link_tag\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eAlexander Gitter\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAllow \u003ccode\u003ecurrent_page?\u003c/code\u003e to match against specific HTTP method(s) with a \u003ccode\u003emethod:\u003c/code\u003e option.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eBen Sheldon\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove \u003ccode\u003eautocomplete=\u0026quot;off\u0026quot;\u003c/code\u003e on hidden inputs generated by the following\ntags:\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/rails/rails/commit/90a1eaa1b30ba1f2d524e197460e549c03cf5698\"\u003e\u003ccode\u003e90a1eaa\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.1 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/271acd57d1430be8c92fbd8f19a2069e62425803\"\u003e\u003ccode\u003e271acd5\u003c/code\u003e\u003c/a\u003e Sync CHANGELOG\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/ae6c5a23948f0a5c02a19ce625048b4579eace7d\"\u003e\u003ccode\u003eae6c5a2\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55989\"\u003e#55989\u003c/a\u003e from rails/rm-fix-remove_hidden_field_autocomplete\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/53c4ed887450cc2dee4b373148162c485999a400\"\u003e\u003ccode\u003e53c4ed8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55973\"\u003e#55973\u003c/a\u003e from rails/fix-ci\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/f77a1c3654afdf599fa927e7910d6e9c5e9df7cf\"\u003e\u003ccode\u003ef77a1c3\u003c/code\u003e\u003c/a\u003e Require 'rails' at the top of railltie files to ensure Rails is loaded first\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/1cdd190a25e483b65f1f25bbd0f13a25d696b461\"\u003e\u003ccode\u003e1cdd190\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.0 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/1ace68361ed9e87fecbf32604c087d096f7b7f8a\"\u003e\u003ccode\u003e1ace683\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.0.rc1 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/d6f9f62d49750fee6a45f3672e2227d5c4198a62\"\u003e\u003ccode\u003ed6f9f62\u003c/code\u003e\u003c/a\u003e Make the Structured Event Subscriber emit events in format that are useful fo...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/4ae5bfc3a04db36d0f274b272eb68d6136ffb63b\"\u003e\u003ccode\u003e4ae5bfc\u003c/code\u003e\u003c/a\u003e Place template annotation on a separate line\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/7d12071e9fe94bd5c01a488ef61718fe88de65b4\"\u003e\u003ccode\u003e7d12071\u003c/code\u003e\u003c/a\u003e Micro optimize ActiveRecord::RuntimeRegistry\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/rails/compare/v8.0.3...v8.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `activemodel` from 8.0.3 to 8.1.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003eactivemodel's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.1.1\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Record\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction View\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eRespect \u003ccode\u003eremove_hidden_field_autocomplete\u003c/code\u003e config in form builder \u003ccode\u003ehidden_field\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction Pack\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAllow methods starting with underscore to be action methods.\u003c/p\u003e\n\u003cp\u003eDisallowing methods starting with an underscore from being action methods\nwas an unintended side effect of the performance optimization in\n207a254.\u003c/p\u003e\n\u003cp\u003eFixes \u003ca href=\"https://redirect.github.com/rails/rails/issues/55985\"\u003e#55985\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Job\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eOnly index new serializers.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eJesse Sharps\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction Mailer\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction Cable\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/rails/rails/blob/v8.1.1/activemodel/CHANGELOG.md\"\u003eactivemodel's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRails 8.1.1 (October 28, 2025)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRails 8.1.0 (October 22, 2025)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd \u003ccode\u003ereset_token: { expires_in: ... }\u003c/code\u003e option to \u003ccode\u003ehas_secure_password\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eAllows configuring the expiry duration of password reset tokens (default remains 15 minutes for backwards compatibility).\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003ehas_secure_password reset_token: { expires_in: 1.hour }\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003cem\u003eJevin Sew\u003c/em\u003e, \u003cem\u003eAbeid Ahmed\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd \u003ccode\u003eexcept_on:\u003c/code\u003e option for validation callbacks.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eBen Sheldon\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eBackport \u003ccode\u003eActiveRecord::Normalization\u003c/code\u003e to \u003ccode\u003eActiveModel::Attributes::Normalization\u003c/code\u003e\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eclass User\n  include ActiveModel::Attributes\n  include ActiveModel::Attributes::Normalization\n\u003cp\u003eattribute :email, :string\u003c/p\u003e\n\u003cp\u003enormalizes :email, with: -\u0026gt; email { email.strip.downcase }\u003cbr /\u003e\nend\u003c/p\u003e\n\u003cp\u003euser = User.new\u003cbr /\u003e\nuser.email =    \u0026quot; \u003ca href=\"mailto:CRUISE-CONTROL@EXAMPLE.COM\"\u003eCRUISE-CONTROL@EXAMPLE.COM\u003c/a\u003e\\n\u0026quot;\u003cbr /\u003e\nuser.email # =\u0026gt; \u0026quot;\u003ca href=\"mailto:cruise-control@example.com\"\u003ecruise-control@example.com\u003c/a\u003e\u0026quot;\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eSean Doyle\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003ePlease check \u003ca href=\"https://github.com/rails/rails/blob/8-0-stable/activemodel/CHANGELOG.md\"\u003e8-0-stable\u003c/a\u003e for previous changes.\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/rails/rails/commit/90a1eaa1b30ba1f2d524e197460e549c03cf5698\"\u003e\u003ccode\u003e90a1eaa\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.1 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/53c4ed887450cc2dee4b373148162c485999a400\"\u003e\u003ccode\u003e53c4ed8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55973\"\u003e#55973\u003c/a\u003e from rails/fix-ci\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/f77a1c3654afdf599fa927e7910d6e9c5e9df7cf\"\u003e\u003ccode\u003ef77a1c3\u003c/code\u003e\u003c/a\u003e Require 'rails' at the top of railltie files to ensure Rails is loaded first\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/1cdd190a25e483b65f1f25bbd0f13a25d696b461\"\u003e\u003ccode\u003e1cdd190\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.0 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/1ace68361ed9e87fecbf32604c087d096f7b7f8a\"\u003e\u003ccode\u003e1ace683\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.0.rc1 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/b182bc607041b640f1e5f51e678f3ca4ab077920\"\u003e\u003ccode\u003eb182bc6\u003c/code\u003e\u003c/a\u003e Give credit to the first author of this feature\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/d0486d0aefc8a487a20a582868df7e0662fd3520\"\u003e\u003ccode\u003ed0486d0\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55574\"\u003e#55574\u003c/a\u003e from jevin/feature/reset-password-token-duration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/ee29930f58bf125763aeecedaa5048d95f3f1d4b\"\u003e\u003ccode\u003eee29930\u003c/code\u003e\u003c/a\u003e ActiveModel::SecurePassword: configurable reset token expiry\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/2446a70b0eee6424c90e5a262600c337006096ad\"\u003e\u003ccode\u003e2446a70\u003c/code\u003e\u003c/a\u003e Removing the string option for validations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/80827ca7ff33ca3026f2c74fe8249ccc6f513318\"\u003e\u003ccode\u003e80827ca\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.0.beta1 release\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/rails/compare/v8.0.3...v8.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `activerecord` from 8.0.3 to 8.1.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003eactiverecord's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.1.1\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Record\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction View\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eRespect \u003ccode\u003eremove_hidden_field_autocomplete\u003c/code\u003e config in form builder \u003ccode\u003ehidden_field\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction Pack\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAllow methods starting with underscore to be action methods.\u003c/p\u003e\n\u003cp\u003eDisallowing methods starting with an underscore from being action methods\nwas an unintended side effect of the performance optimization in\n207a254.\u003c/p\u003e\n\u003cp\u003eFixes \u003ca href=\"https://redirect.github.com/rails/rails/issues/55985\"\u003e#55985\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Job\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eOnly index new serializers.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eJesse Sharps\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction Mailer\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction Cable\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/rails/rails/blob/v8.1.1/activerecord/CHANGELOG.md\"\u003eactiverecord's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRails 8.1.1 (October 28, 2025)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRails 8.1.0 (October 22, 2025)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix SQLite3 data loss during table alterations with CASCADE foreign keys.\u003c/p\u003e\n\u003cp\u003eWhen altering a table in SQLite3 that is referenced by child tables with\n\u003ccode\u003eON DELETE CASCADE\u003c/code\u003e foreign keys, ActiveRecord would silently delete all\ndata from the child tables. This occurred because SQLite requires table\nrecreation for schema changes, and during this process the original table\nis temporarily dropped, triggering CASCADE deletes on child tables.\u003c/p\u003e\n\u003cp\u003eThe root cause was incorrect ordering of operations. The original code\nwrapped \u003ccode\u003edisable_referential_integrity\u003c/code\u003e inside a transaction, but\n\u003ccode\u003ePRAGMA foreign_keys\u003c/code\u003e cannot be modified inside a transaction in SQLite -\nattempting to do so simply has no effect. This meant foreign keys remained\nenabled during table recreation, causing CASCADE deletes to fire.\u003c/p\u003e\n\u003cp\u003eThe fix reverses the order to follow the official SQLite 12-step ALTER TABLE\nprocedure: \u003ccode\u003edisable_referential_integrity\u003c/code\u003e now wraps the transaction instead\nof being wrapped by it. This ensures foreign keys are properly disabled\nbefore the transaction starts and re-enabled after it commits, preventing\nCASCADE deletes while maintaining data integrity through atomic transactions.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRuy Rocha\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd replicas to test database parallelization setup.\u003c/p\u003e\n\u003cp\u003eSetup and configuration of databases for parallel testing now includes replicas.\u003c/p\u003e\n\u003cp\u003eThis fixes an issue when using a replica database, database selector middleware,\nand non-transactional tests, where integration tests running in parallel would select\nthe base test database, i.e. \u003ccode\u003edb_test\u003c/code\u003e, instead of the numbered parallel worker database,\ni.e. \u003ccode\u003edb_test_{n}\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eAdam Maas\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSupport virtual (not persisted) generated columns on PostgreSQL 18+\u003c/p\u003e\n\u003cp\u003ePostgreSQL 18 introduces virtual (not persisted) generated columns,\nwhich are now the default unless the \u003ccode\u003estored: true\u003c/code\u003e option is explicitly specified on PostgreSQL 18+.\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003ecreate_table :users do |t|\n  t.string :name\n  t.virtual :lower_name,  type: :string,  as: \u0026quot;LOWER(name)\u0026quot;, stored: false\n  t.virtual :name_length, type: :integer, as: \u0026quot;LENGTH(name)\u0026quot;\n\u003c/code\u003e\u003c/pre\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/rails/rails/commit/90a1eaa1b30ba1f2d524e197460e549c03cf5698\"\u003e\u003ccode\u003e90a1eaa\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.1 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/fe609bf5ac0e61f445de9bea40f89a058b465ead\"\u003e\u003ccode\u003efe609bf\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/50598\"\u003e#50598\u003c/a\u003e from lucasmazza/lm/upsert_all-skip\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/53c4ed887450cc2dee4b373148162c485999a400\"\u003e\u003ccode\u003e53c4ed8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55973\"\u003e#55973\u003c/a\u003e from rails/fix-ci\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/f77a1c3654afdf599fa927e7910d6e9c5e9df7cf\"\u003e\u003ccode\u003ef77a1c3\u003c/code\u003e\u003c/a\u003e Require 'rails' at the top of railltie files to ensure Rails is loaded first\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/334ed8f172d6e77516e9832567626af9965d435d\"\u003e\u003ccode\u003e334ed8f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55969\"\u003e#55969\u003c/a\u003e from rails/fix-explain-tests-mysql-9.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/1cdd190a25e483b65f1f25bbd0f13a25d696b461\"\u003e\u003ccode\u003e1cdd190\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.0 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/bffa22d59214a125add8385e12ec691ed623aff7\"\u003e\u003ccode\u003ebffa22d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55949\"\u003e#55949\u003c/a\u003e from ima1zumi/revert-53969-and-add-test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/be5e9fc703ee86a6ba12bbd7256c43142a3d07dc\"\u003e\u003ccode\u003ebe5e9fc\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55945\"\u003e#55945\u003c/a\u003e from claudiob/create_enum\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/04c6f1497eb3cd0f21449113747f2b72862a0937\"\u003e\u003ccode\u003e04c6f14\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55938\"\u003e#55938\u003c/a\u003e from aidanharan/truthy-condition-mssql\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/d4fb183ac2d8f6a3fad83e160c435ef4dbe9c149\"\u003e\u003ccode\u003ed4fb183\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55925\"\u003e#55925\u003c/a\u003e from flavorjones/flavorjones/shard-swap-prohibition...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/rails/compare/v8.0.3...v8.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `activesupport` from 8.0.3 to 8.1.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003eactivesupport's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.1.1\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Record\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction View\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eRespect \u003ccode\u003eremove_hidden_field_autocomplete\u003c/code\u003e config in form builder \u003ccode\u003ehidden_field\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction Pack\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAllow methods starting with underscore to be action methods.\u003c/p\u003e\n\u003cp\u003eDisallowing methods starting with an underscore from being action methods\nwas an unintended side effect of the performance optimization in\n207a254.\u003c/p\u003e\n\u003cp\u003eFixes \u003ca href=\"https://redirect.github.com/rails/rails/issues/55985\"\u003e#55985\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Job\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eOnly index new serializers.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eJesse Sharps\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction Mailer\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction Cable\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/rails/rails/blob/v8.1.1/activesupport/CHANGELOG.md\"\u003eactivesupport's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRails 8.1.1 (October 28, 2025)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRails 8.1.0 (October 22, 2025)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eRemove deprecated passing a Time object to \u003ccode\u003eTime#since\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove deprecated \u003ccode\u003eBenchmark.ms\u003c/code\u003e method. It is now defined in the \u003ccode\u003ebenchmark\u003c/code\u003e gem.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove deprecated addition for \u003ccode\u003eTime\u003c/code\u003e instances with \u003ccode\u003eActiveSupport::TimeWithZone\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove deprecated support for \u003ccode\u003eto_time\u003c/code\u003e to preserve the system local time. It will now always preserve the receiver\ntimezone.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDeprecate \u003ccode\u003econfig.active_support.to_time_preserves_timezone\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eStandardize event name formatting in \u003ccode\u003eassert_event_reported\u003c/code\u003e error messages.\u003c/p\u003e\n\u003cp\u003eThe event name in failure messages now uses \u003ccode\u003e.inspect\u003c/code\u003e (e.g., \u003ccode\u003ename: \u0026quot;user.created\u0026quot;\u003c/code\u003e)\nto match \u003ccode\u003eassert_events_reported\u003c/code\u003e and provide type clarity between strings and symbols.\nThis only affects tests that assert on the failure message format itself.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eGeorge Ma\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eEnumerable#sole\u003c/code\u003e to return the full tuple instead of just the first element of the tuple.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eOlivier Bellone\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix parallel tests hanging when worker processes die abruptly.\u003c/p\u003e\n\u003cp\u003ePreviously, if a worker process was killed (e.g., OOM killed, \u003ccode\u003ekill -9\u003c/code\u003e) during parallel\ntest execution, the test suite would hang forever waiting for the dead worker.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eJoshua Young\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd \u003ccode\u003econfig.active_support.escape_js_separators_in_json\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eIntroduce a new framework default to skip escaping LINE SEPARATOR (U+2028) and PARAGRAPH SEPARATOR (U+2029) in JSON.\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/rails/rails/commit/90a1eaa1b30ba1f2d524e197460e549c03cf5698\"\u003e\u003ccode\u003e90a1eaa\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.1 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/234b56973bb453bb50850a1be07a2fcad7331592\"\u003e\u003ccode\u003e234b569\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56008\"\u003e#56008\u003c/a\u003e from chaadow/fix_nesting_loop_rails\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/53c4ed887450cc2dee4b373148162c485999a400\"\u003e\u003ccode\u003e53c4ed8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55973\"\u003e#55973\u003c/a\u003e from rails/fix-ci\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/f77a1c3654afdf599fa927e7910d6e9c5e9df7cf\"\u003e\u003ccode\u003ef77a1c3\u003c/code\u003e\u003c/a\u003e Require 'rails' at the top of railltie files to ensure Rails is loaded first\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/cd53d57fe363eef44dd4a58dbe69c77cad041550\"\u003e\u003ccode\u003ecd53d57\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55962\"\u003e#55962\u003c/a\u003e from coderhs/patch-1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/1cdd190a25e483b65f1f25bbd0f13a25d696b461\"\u003e\u003ccode\u003e1cdd190\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.0 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/096f1c7c77cf857a1ca12116678599faac2f0522\"\u003e\u003ccode\u003e096f1c7\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55943\"\u003e#55943\u003c/a\u003e from skipkayhil/hm-oyxvtrxvupxqzprn\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/1ace68361ed9e87fecbf32604c087d096f7b7f8a\"\u003e\u003ccode\u003e1ace683\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.0.rc1 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/d156ee00602eab9044bc23ac8de8f245379d6af5\"\u003e\u003ccode\u003ed156ee0\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55871\"\u003e#55871\u003c/a\u003e from Shopify/refresh_event_reporter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/48ca2f8b91f69ae7c08cc16426481a5e17fd2209\"\u003e\u003ccode\u003e48ca2f8\u003c/code\u003e\u003c/a\u003e Load core extensions with require_relative\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/rails/compare/v8.0.3...v8.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `railties` from 8.0.3 to 8.1.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003erailties's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.1.1\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Record\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction View\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eRespect \u003ccode\u003eremove_hidden_field_autocomplete\u003c/code\u003e config in form builder \u003ccode\u003ehidden_field\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction Pack\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAllow methods starting with underscore to be action methods.\u003c/p\u003e\n\u003cp\u003eDisallowing methods starting with an underscore from being action methods\nwas an unintended side effect of the performance optimization in\n207a254.\u003c/p\u003e\n\u003cp\u003eFixes \u003ca href=\"https://redirect.github.com/rails/rails/issues/55985\"\u003e#55985\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Job\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eOnly index new serializers.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eJesse Sharps\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction Mailer\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction Cable\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/rails/rails/blob/v8.1.1/railties/CHANGELOG.md\"\u003erailties's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRails 8.1.1 (October 28, 2025)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eDo not assume and force SSL in production by default when using Kamal, to allow for out of the box Kamal deployments.\u003c/p\u003e\n\u003cp\u003eIt is still recommended to assume and force SSL in production as soon as you can.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eJerome Dalbert\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRails 8.1.0 (October 22, 2025)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eSuggest \u003ccode\u003ebin/rails action_text:install\u003c/code\u003e from Action Dispatch error page\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eSean Doyle\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove deprecated \u003ccode\u003eSTATS_DIRECTORIES\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove deprecated \u003ccode\u003ebin/rake stats\u003c/code\u003e command.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove deprecated \u003ccode\u003erails/console/methods.rb\u003c/code\u003e file.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDon't generate system tests by default.\u003c/p\u003e\n\u003cp\u003eRails scaffold generator will no longer generate system tests by default. To enable this pass \u003ccode\u003e--system-tests=true\u003c/code\u003e or generate them with \u003ccode\u003ebin/rails generate system_test name_of_test\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eEileen M. Uchitelle\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eOptionally skip bundler-audit.\u003c/p\u003e\n\u003cp\u003eSkips adding the \u003ccode\u003ebin/bundler-audit\u003c/code\u003e \u0026amp; \u003ccode\u003econfig/bundler-audit.yml\u003c/code\u003e if the gem is not installed when \u003ccode\u003ebin/rails app:update\u003c/code\u003e runs.\u003c/p\u003e\n\u003cp\u003ePasses an option to \u003ccode\u003e--skip-bundler-audit\u003c/code\u003e when new apps are generated \u0026amp; adds that same option to the \u003ccode\u003e--minimal\u003c/code\u003e generator flag.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eJill Klang\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eShow engine routes in \u003ccode\u003e/rails/info/routes\u003c/code\u003e as well.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003ePetrik de Heus\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eExclude \u003ccode\u003easset_path\u003c/code\u003e configuration from Kamal \u003ccode\u003edeploy.yml\u003c/code\u003e for API applications.\u003c/p\u003e\n\u003cp\u003eAPI applications don't serve assets, so the \u003ccode\u003easset_path\u003c/code\u003e configuration in \u003ccode\u003edeploy.yml\u003c/code\u003e\nis not needed and can cause 404 errors on in-flight requests. The asset_path is now\nonly included for regular Rails applications that serve assets.\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/rails/rails/commit/90a1eaa1b30ba1f2d524e197460e549c03cf5698\"\u003e\u003ccode\u003e90a1eaa\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.1 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/89cb7bff192ce71267ae76f38942ca8f306ce273\"\u003e\u003ccode\u003e89cb7bf\u003c/code\u003e\u003c/a\u003e Fix railties/CHANGELOG.md offense at 8-1-stable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/7919bdab44688f1e7f121bc36a76169787cdfe60\"\u003e\u003ccode\u003e7919bda\u003c/code\u003e\u003c/a\u003e Restore header\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/f007f9ca53448379246a1901b213bd57955af26c\"\u003e\u003ccode\u003ef007f9c\u003c/code\u003e\u003c/a\u003e Disable SSL default config for out of the box Kamal deployments (\u003ca href=\"https://redirect.github.com/rails/rails/issues/56010\"\u003e#56010\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/29606f8c7b3aea3991343ee2c1aa5dd1860df283\"\u003e\u003ccode\u003e29606f8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55964\"\u003e#55964\u003c/a\u003e from viralpraxis/skip-ci-rb-tests-if-tests-are-skipped\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/1cdd190a25e483b65f1f25bbd0f13a25d696b461\"\u003e\u003ccode\u003e1cdd190\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.0 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/5e231ae6548f1c5686f75e61832638937b134961\"\u003e\u003ccode\u003e5e231ae\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/54914\"\u003e#54914\u003c/a\u003e from chaadow/fix_autoloaded_content_helper\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/1a8109e0fe8f10fa38a8f6c7fb11daf8a09394d5\"\u003e\u003ccode\u003e1a8109e\u003c/code\u003e\u003c/a\u003e Actually turn this off by default too\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/25af9250bf072ac24df2ea058c12284da5a99948\"\u003e\u003ccode\u003e25af925\u003c/code\u003e\u003c/a\u003e Kamal localhost registry (\u003ca href=\"https://redirect.github.com/rails/rails/issues/55934\"\u003e#55934\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/f58a75a5cf35a94cbf8a45fa64b95a0ea9055e64\"\u003e\u003ccode\u003ef58a75a\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55940\"\u003e#55940\u003c/a\u003e from jeromedalbert/fix-ci-yml-whitespace\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/rails/compare/v8.0.3...v8.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `bootsnap` from 1.18.6 to 1.19.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/bootsnap/blob/main/CHANGELOG.md\"\u003ebootsnap's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e1.19.0\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eRemove JSON parsing cache. Recent versions of the \u003ccode\u003ejson\u003c/code\u003e gem are as fast as \u003ccode\u003emsgpack\u003c/code\u003e if not faster.\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/rails/bootsnap/commit/d4ad1673943b416cd46491ffe236df29862ce37f\"\u003e\u003ccode\u003ed4ad167\u003c/code\u003e\u003c/a\u003e Release 1.19.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/4a0f8e62788d6e6304be06de5d4a313a94291492\"\u003e\u003ccode\u003e4a0f8e6\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/bootsnap/issues/508\"\u003e#508\u003c/a\u003e from byroot/remove-json-caching\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/5df6e04afd8cb8c9463d219518baaffaf2c48b6e\"\u003e\u003ccode\u003e5df6e04\u003c/code\u003e\u003c/a\u003e Remove Bootsnap::CompileCache::JSON\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/e6272f8c7f2935efc1000ec654da2d196e91f4e2\"\u003e\u003ccode\u003ee6272f8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/bootsnap/issues/506\"\u003e#506\u003c/a\u003e from rails/dependabot/github_actions/actions/checkout-5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/89879b4161b6e62bbb0d139208e1eb8cb30c1b40\"\u003e\u003ccode\u003e89879b4\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 4 to 5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/55d663fbc419d3a4ad32d200f7ba45c64e04d772\"\u003e\u003ccode\u003e55d663f\u003c/code\u003e\u003c/a\u003e Move bootsnap to the Rails org\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/03629f633ee1e591d4d9f3c351406465c3cf3ead\"\u003e\u003ccode\u003e03629f6\u003c/code\u003e\u003c/a\u003e Add devcontainer config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/037ad17aa546c080238a979fce8b393b4fc7f577\"\u003e\u003ccode\u003e037ad17\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/bootsnap/issues/505\"\u003e#505\u003c/a\u003e from beauraF/add-know-issues-note-to-readme\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/3019588dd3823dcdfbb24dd950cfba1516c2e662\"\u003e\u003ccode\u003e3019588\u003c/code\u003e\u003c/a\u003e Add a knows issues note into README.md related to QEMU\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/b3333f644b4bd0c82a3ec52a3fdd3c9752abcf71\"\u003e\u003ccode\u003eb3333f6\u003c/code\u003e\u003c/a\u003e Add Ruby 3.4 to CI\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/bootsnap/compare/v1.18.6...v1.19.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `faker` from 3.5.2 to 3.5.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/faker-ruby/faker/releases\"\u003efaker's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.5.3\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/faker-ruby/faker/tree/v3.5.3\"\u003ev3.5.3\u003c/a\u003e (2025-12-02)\u003c/h2\u003e\n\u003cp\u003eWishing you a cozy and calm Holiday season ☃️\u003c/p\u003e\n\u003cp\u003eThis version adds and improves some locales, fixes some bugs, and deprecates some generators.\u003c/p\u003e\n\u003cp\u003eThanks to all contributors!\u003c/p\u003e\n\u003ch2\u003eDeprecated generators\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRefactor: move \u003ccode\u003eFaker::BossaNova\u003c/code\u003e under \u003ccode\u003eFaker::Music::BossaNova\u003c/code\u003e by \u003ca href=\"https://github.com/thdaraujo\"\u003e\u003ccode\u003e@​thdaraujo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3140\"\u003efaker-ruby/faker#3140\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDeprecate \u003ccode\u003eFaker::Twitter\u003c/code\u003e in favor of \u003ccode\u003eFaker::X\u003c/code\u003e and update attributes by \u003ca href=\"https://github.com/stefannibrasil\"\u003e\u003ccode\u003e@​stefannibrasil\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3138\"\u003efaker-ruby/faker#3138\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eImprovements \u0026amp; Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRemove duplicate entry \u003ccode\u003eamateur radio\u003c/code\u003e from \u003ccode\u003elocales/en/hobby.yml\u003c/code\u003e by \u003ca href=\"https://github.com/Leenday\"\u003e\u003ccode\u003e@​Leenday\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3099\"\u003efaker-ruby/faker#3099\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix \u003ca href=\"https://redirect.github.com/faker-ruby/faker/issues/3114\"\u003e#3114\u003c/a\u003e: prevent scientific notation when generating bank account number by \u003ca href=\"https://github.com/AhmedHisham552\"\u003e\u003ccode\u003e@​AhmedHisham552\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3118\"\u003efaker-ruby/faker#3118\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix: typos in locales for \u003ccode\u003eoverwatch.yml\u003c/code\u003e, \u003ccode\u003erajnikanth.yml\u003c/code\u003e and \u003ccode\u003estreet_fighter.ym\u003c/code\u003e by \u003ca href=\"https://github.com/smorttey\"\u003e\u003ccode\u003e@​smorttey\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3106\"\u003efaker-ruby/faker#3106\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eArtist\u003c/code\u003e translations for the japanese locale by \u003ca href=\"https://github.com/neco-nico\"\u003e\u003ccode\u003e@​neco-nico\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3110\"\u003efaker-ruby/faker#3110\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003ecountry_code\u003c/code\u003e to Estonia locale (\u003ccode\u003elocales/ee.yml\u003c/code\u003e) by \u003ca href=\"https://github.com/HassanAkbar\"\u003e\u003ccode\u003e@​HassanAkbar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3111\"\u003efaker-ruby/faker#3111\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReformat Arabic locale (\u003ccode\u003elocales/ar.yml\u003c/code\u003e) by \u003ca href=\"https://github.com/ramzieus\"\u003e\u003ccode\u003e@​ramzieus\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3130\"\u003efaker-ruby/faker#3130\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRefactor: Improve UK Phone number false failure hit-rate by \u003ca href=\"https://github.com/luke-hill\"\u003e\u003ccode\u003e@​luke-hill\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3136\"\u003efaker-ruby/faker#3136\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprovements and fixes for Elder Scrolls locale (\u003ccode\u003eelder_scrolls.yml\u003c/code\u003e) by \u003ca href=\"https://github.com/SleekMutt\"\u003e\u003ccode\u003e@​SleekMutt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3129\"\u003efaker-ruby/faker#3129\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd en-GB ID Numbers (aka National Insurance Numbers) by \u003ca href=\"https://github.com/stefanjcollier\"\u003e\u003ccode\u003e@​stefanjcollier\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3032\"\u003efaker-ruby/faker#3032\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate ukrainian city locales to the modern ones by \u003ca href=\"https://github.com/SleekMutt\"\u003e\u003ccode\u003e@​SleekMutt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3127\"\u003efaker-ruby/faker#3127\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRevamp the docs to make them easier to find by \u003ca href=\"https://github.com/stefannibrasil\"\u003e\u003ccode\u003e@​stefannibrasil\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3151\"\u003efaker-ruby/faker#3151\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChores\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003etest: fix flaky test on \u003ccode\u003eFaker::IdNumber\u003c/code\u003e by \u003ca href=\"https://github.com/thdaraujo\"\u003e\u003ccode\u003e@​thdaraujo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3126\"\u003efaker-ruby/faker#3126\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove minitest dependency on i18n reload test by \u003ca href=\"https://github.com/stefannibrasil\"\u003e\u003ccode\u003e@​stefannibrasil\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3149\"\u003efaker-ruby/faker#3149\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove unused release workflow by \u003ca href=\"https://github.com/stefannibrasil\"\u003e\u003ccode\u003e@​stefannibrasil\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3133\"\u003efaker-ruby/faker#3133\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eUpdate local dependencies\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump benchmark from 0.4.1 to 0.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/faker-ruby/faker/pull/3122\"\u003efaker-ruby/faker#3122\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump rake from 13.3.0 to 13.3.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/faker-ruby/faker/pull/3124\"\u003efaker-ruby/faker#3124\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump test-unit from 3.7.0 to 3.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/faker-ruby/faker/pull/3128\"\u003efaker-ruby/faker#3128\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump rubocop-minitest from 0.38.1 to 0.38.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/faker-ruby/faker/pull/3116\"\u003efaker-ruby/faker#3116\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edeps: bump dependencies by \u003ca href=\"https://github.com/thdaraujo\"\u003e\u003ccode\u003e@​thdaraujo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3141\"\u003efaker-ruby/faker#3141\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edeps: bump Minitest version to \u003ccode\u003ev5.26.1\u003c/code\u003e and fix issues by \u003ca href=\"https://github.com/stefannibrasil\"\u003e\u003ccode\u003e@​stefannibrasil\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3144\"\u003efaker-ruby/faker#3144\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edeps: bump rubocop version to \u003ccode\u003ev1.81.7\u003c/code\u003e by \u003ca href=\"https://github.com/thdaraujo\"\u003e\u003ccode\u003e@​thdaraujo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3143\"\u003efaker-ruby/faker#3143\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/Leenday\"\u003e\u003ccode\u003e@​Leenday\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3099\"\u003efaker-ruby/faker#3099\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/AhmedHisham552\"\u003e\u003ccode\u003e@​AhmedHisham552\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3118\"\u003efaker-ruby/faker#3118\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/smorttey\"\u003e\u003ccode\u003e@​smorttey\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3106\"\u003efaker-ruby/faker#3106\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/neco-nico\"\u003e\u003ccode\u003e@​neco-nico\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3110\"\u003efaker-ruby/faker#3110\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HassanAkbar\"\u003e\u003ccode\u003e@​HassanAkbar\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3111\"\u003efaker-ruby/faker#3111\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ramzieus\"\u003e\u003ccode\u003e@​ramzieus\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3130\"\u003efaker-ruby/faker#3130\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/luke-hill\"\u003e\u003ccode\u003e@​luke-hill\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3136\"\u003efaker-ruby/faker#3136\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/SleekMutt\"\u003e\u003ccode\u003e@​SleekMutt\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3129\"\u003efaker-ruby/faker#3129\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/stefanjcollier\"\u003e\u003ccode\u003e@​stefanjcollier\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3032\"\u003efaker-ruby/faker#3032\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/faker-ruby/faker/blob/main/CHANGELOG.md\"\u003efaker's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/faker-ruby/faker/tree/v3.5.3\"\u003ev3.5.3\u003c/a\u003e (2025-12-02)\u003c/h2\u003e\n\u003cp\u003eWishing you a cozy and calm Holiday season ☃️\u003c/p\u003e\n\u003cp\u003eThis version adds and improves some locales, fixes some bugs, and deprecates some generators.\u003c/p\u003e\n\u003cp\u003eThanks to all contributors!\u003c/p\u003e\n\u003ch3\u003eDeprecated generators\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRefactor: move \u003ccode\u003eFaker::BossaNova\u003c/code\u003e under \u003ccode\u003eFaker::Music::BossaNova\u003c/code\u003e by \u003ca href=\"https://github.com/thdaraujo\"\u003e\u003ccode\u003e@​thdaraujo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3140\"\u003efaker-ruby/faker#3140\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDeprecate \u003ccode\u003eFaker::Twitter\u003c/code\u003e in favor of \u003ccode\u003eFaker::X\u003c/code\u003e and update attributes by \u003ca href=\"https://github.com/stefannibrasil\"\u003e\u003ccode\u003e@​stefannibrasil\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3138\"\u003efaker-ruby/faker#3138\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements \u0026amp; Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove duplicate entry \u003ccode\u003eamateur radio\u003c/code\u003e from \u003ccode\u003elocales/en/hobby.yml\u003c/code\u003e by \u003ca href=\"https://github.com/Leenday\"\u003e\u003ccode\u003e@​Leenday\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3099\"\u003efaker-ruby/faker#3099\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix \u003ca href=\"https://redirect.github.com/faker-ruby/faker/issues/3114\"\u003e#3114\u003c/a\u003e: prevent scientific notation when generating bank account number by \u003ca href=\"https://github.com/AhmedHisham552\"\u003e\u003ccode\u003e@​AhmedHisham552\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3118\"\u003efaker-ruby/faker#3118\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix: typos in locales for \u003ccode\u003eoverwatch.yml\u003c/code\u003e, \u003ccode\u003erajnikanth.yml\u003c/code\u003e and \u003ccode\u003estreet_fighter.ym\u003c/code\u003e by \u003ca href=\"https://github.com/smorttey\"\u003e\u003ccode\u003e@​smorttey\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3106\"\u003efaker-ruby/faker#3106\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eArtist\u003c/code\u003e translations for the japanese locale by \u003ca href=\"https://github.com/neco-nico\"\u003e\u003ccode\u003e@​neco-nico\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3110\"\u003efaker-ruby/faker#3110\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003ecountry_code\u003c/code\u003e to Estonia locale (\u003ccode\u003elocales/ee.yml\u003c/code\u003e) by \u003ca href=\"https://github.com/HassanAkbar\"\u003e\u003ccode\u003e@​HassanAkbar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3111\"\u003efaker-ruby/faker#3111\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReformat Arabic locale (\u003ccode\u003elocales/ar.yml\u003c/code\u003e) by \u003ca href=\"https://github.com/ramzieus\"\u003e\u003ccode\u003e@​ramzieus\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3130\"\u003efaker-ruby/faker#3130\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRefactor: Improve UK Phone number false failure hit-rate by \u003ca href=\"https://github.com/luke-hill\"\u003e\u003ccode\u003e@​luke-hill\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3136\"\u003efaker-ruby/faker#3136\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprovements and fixes for Elder Scrolls locale (\u003ccode\u003eelder_scrolls.yml\u003c/code\u003e) by \u003ca href=\"https://github.com/SleekMutt\"\u003e\u003ccode\u003e@​SleekMutt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3129\"\u003efaker-ruby/faker#3129\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd en-GB ID Numbers (aka National Insurance Numbers) by \u003ca href=\"https://github.com/stefanjcollier\"\u003e\u003ccode\u003e@​stefanjcollier\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3032\"\u003efaker-ruby/faker#3032\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate ukrainian city locales to the modern ones by \u003ca href=\"https://github.com/SleekMutt\"\u003e\u003ccode\u003e@​SleekMutt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3127\"\u003efaker-ruby/faker#3127\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRevamp the docs to make them easier to find by \u003ca href=\"https://github.com/stefannibrasil\"\u003e\u003ccode\u003e@​stefannibrasil\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3151\"\u003efaker-ruby/faker#3151\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003etest: fix flaky test on \u003ccode\u003eFaker::IdNumber\u003c/code\u003e by \u003ca href=\"https://github.com/thdaraujo\"\u003e\u003ccode\u003e@​thdaraujo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3126\"\u003efaker-ruby/faker#3126\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove minitest dependency on i18n reload test by \u003ca href=\"https://github.com/stefannibrasil\"\u003e\u003ccode\u003e@​stefannibrasil\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3149\"\u003efaker-ruby/faker#3149\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove unused release workflow by \u003ca href=\"https://github.com/stefannibrasil\"\u003e\u003ccode\u003e@​stefannibrasil\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3133\"\u003efaker-ruby/faker#3133\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eUpdate local dependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBump benchmark from 0.4.1 to 0.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/faker-ruby/faker/pull/3122\"\u003efaker-ruby/faker#3122\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump rake from 13.3.0 to 13.3.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/faker-ruby/faker/pull/3124\"\u003efaker-ruby/faker#3124\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump test-unit from 3.7.0 to 3.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/faker-ruby/faker/pull/3128\"\u003efaker-ruby/faker#3128\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump rubocop-minitest from 0.38.1 to 0.38.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/faker-ruby/faker/pull/3116\"\u003efaker-ruby/faker#3116\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edeps: bump dependencies by \u003ca href=\"https://github.com/thdaraujo\"\u003e\u003ccode\u003e@​thdaraujo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3141\"\u003efaker-ruby/faker#3141\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edeps: bump Minitest version to \u003ccode\u003ev5.26.1\u003c/code\u003e and fix issues by \u003ca href=\"https://github.com/stefannibrasil\"\u003e\u003ccode\u003e@​stefannibrasil\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3144\"\u003efaker-ruby/faker#3144\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edeps: bump rubocop version to \u003ccode\u003ev1.81.7\u003c/code\u003e by \u003ca href=\"https://github.com/thdaraujo\"\u003e\u003ccode\u003e@​thdaraujo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3143\"\u003efaker-ruby/faker#3143\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNew Contributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Leenday\"\u003e\u003ccode\u003e@​Leenday\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3099\"\u003efaker-ruby/faker#3099\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/AhmedHisham552\"\u003e\u003ccode\u003e@​AhmedHisham552\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3118\"\u003efaker-ruby/faker#3118\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/smorttey\"\u003e\u003ccode\u003e@​smorttey\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3106\"\u003efaker-ruby/faker#3106\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/neco-nico\"\u003e\u003ccode\u003e@​neco-nico\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3110\"\u003efaker-ruby/faker#3110\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HassanAkbar\"\u003e\u003ccode\u003e@​HassanAkbar\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3111\"\u003efaker-ruby/faker#3111\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ramzieus\"\u003e\u003ccode\u003e@​ramzieus\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3130\"\u003efaker-ruby/faker#3130\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/luke-hill\"\u003e\u003ccode\u003e@​luke-hill\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3136\"\u003efaker-ruby/faker#3136\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/SleekMutt\"\u003e\u003ccode\u003e@​SleekMutt\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3129\"\u003efaker-ruby/faker#3129\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/stefanjcollier\"\u003e\u003ccode\u003e@​stefanjcollier\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3032\"\u003efaker-ruby/faker#3032\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/faker-ruby/faker/commit/a4d5e503edda970fc085e942018ee235622bfb11\"\u003e\u003ccode\u003ea4d5e50\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/faker-ruby/faker/issues/3152\"\u003e#3152\u003c/a\u003e from faker-ruby/bump-faker-to-v3.5.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/faker-ruby/faker/commit/bf8ca840b0f6904c5d4716399d0635c3af271ef6\"\u003e\u003ccode\u003ebf8ca84\u003c/code\u003e\u003c/a\u003e Bump faker to v3.5.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/faker-ruby/faker/commit/7dbacc0d95150d967f5b3cfc960f46e2c5f1afe6\"\u003e\u003ccode\u003e7dbacc0\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/faker-ruby/faker/issues/3151\"\u003e#3151\u003c/a\u003e from faker-ruby/sb-3150-revamp-docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/faker-ruby/faker/commit/de6e845c44266d0ea481f3a0a47379aeb138fc6f\"\u003e\u003ccode\u003ede6e845\u003c/code\u003e\u003c/a\u003e Update GENERATORS.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/faker-ruby/faker/commit/71e00e7dc465b8a9a5567f8f44b42dd33faac0eb\"\u003e\u003ccode\u003e71e00e7\u003c/code\u003e\u003c/a\u003e Update GENERATORS.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/faker-ruby/faker/commit/c2dafd83c9b79626557b249028f78c302ae8528d\"\u003e\u003ccode\u003ec2dafd8\u003c/code\u003e\u003c/a\u003e Update GENERATORS.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/faker-ruby/faker/commit/1c18dfdb940a1cfff9d1664b9faeb89a977a0552\"\u003e\u003ccode\u003e1c18dfd\u003c/code\u003e\u003c/a\u003e Update GENERATORS.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/faker-ruby/faker/commit/0d85e813020ce3beff112e6e94633fc9618c44cf\"\u003e\u003ccode\u003e0d85...\n\n_Description has been truncated_","html_url":"https://github.com/ministryofjustice/hmcts-common-platform-mock-api/pull/1021","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/ministryofjustice%2Fhmcts-common-platform-mock-api/issues/1021","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1021/packages"}}]}